Why isn't there a glut of good software engineers? - <AUTHOR> http://blogs.law.harvard.edu/philg/2013/05/01/why-isnt-there-a-glut-of-good-software-engineers/ <comment><USER2> Because there's a longstanding view that since programmers love what they do, they shouldn't be compensated as highly as other fields with demanding requirements. Employees at large tech firms are as profitable as bankers, yet they get paid a fraction as much compensation. Not to mention that it generally takes years and years of _unpaid_ homework / hobby work to learn how to be a good software developer - just taking four years of college CS with no outside hobby work will not prepare you in any way. Nobody expects that from doctors, lawyers or bankers.

So the pool of great programmers is generally limited to those who love the job _so much_ that they're willing to forgo income to do it. Someone with a "125 IQ" and strong math abilities could get a job on Wall Street, or as an actuary, etc and make more money for less frustration.

At Amazon, they target 75th percentile comp – but I really doubt they also target hiring 75th percentile developers on average. So they're basically trying to hire 90th percentile employees for 75th percentile comp. I'd argue the entire industry does that in comparison to non-engineering industries.

The next time a CEO complains they can't hire enough engineers, ask them how much over market they're offering.

<comment><USER3> I see your point but I think "forgo" is a strong word. I have made and will continue to make a great salary with great benefits and be able to choose companies based on cultural fit.

That's something that I would never give up for an extra 50k a year.

<comment><USER2> Yes, but you're also hanging around on HN. :) I'm thinking more of the other guy, who was just as smart as you but perhaps not in love with tech, and had to decide if he wants to give up 50K to be an engineer. (I think you're referring to choosing between engineering jobs - I meant choosing between career paths.)

Also: it's sad that beyond the comp issue, they're often sacrificing prestige, at least in the US. It's just as hard to become a qualified engineer at top firm, but the general public just doesn't find that as impressive as being a lawyer, doctor or banker. I know lots of lawyers and bankers for whom a big reason they're in that job was the prestige and ego-boost associated with it.

<comment><USER4> That's why you need to move to Silicon Valley, where being a programmer is considered prestigious by people in barbershops.

<comment><USER2> I did.

</comment></comment></comment></comment></comment><comment><USER5> _by now most of the world's programming would be happening in low-to-medium- wage countries and that customers wouldn't have to pay a lot for high quality software. But it hasn't happened (e.g., see my posting about California's state government spending $327 million on a straightforward ecommerce site_

Uh, the reasons government IT projects are typically huge wasteful boondoggles are _not_ because programmer salaries are too high or programmer talent is mediocre.

<comment><USER6> I was puzzeled over that number too, as putting up a site like that, even if you are buying the servers from scratch and hire a first rate web dev, shouldn't cost more than 10-20k$. I went through to the linked artice, and appeareantly, most of it went for consultants. I mean there are consultants out there that are worth their money, and I bet the site is kai-zen optimized very nicely, even though I can't tell, but 327 million $ is quite a hump for that website. The main problem seems to be that government contracting is not a regular market, else joe's jquerry shack would have ourrun and outpaced accenture in both cost and quality.

<comment><USER7> "if you are buying the servers from scratch and hire a first rate web dev, shouldn't cost more than 10-20k$"

this number is just as absurd as the $327 million.

<comment><USER8> At $125/hour and $5000 for servers, $10-20k could be spent up in a couple weeks or so. That seems pretty reasonable, and certainly not as absurd as $327 million, which would amount to about 1200 years of FTE effort.

<comment><USER7> If you were the government or a big company with a reputation would you call up 1 guy and say "you've got a few weeks and 120/hr, make a site and well run it in our data enter"?

Think of all the things that can go wrong! Security, PII, etc.

<comment><USER8> Ah, I thought your remark was suggesting that it should be even cheaper than $10-20k.

</comment></comment></comment></comment></comment></comment><comment><USER9> The article starts with the primary assumption that programming is a commodity skill, then is astounded when the world doesn't back up his theory. Not exactly going to learn a lot like that.

<comment><USER10> Why programming isn't a commodity skill? Or will become such commodity soon? Programming is like a house builder. Yes there are better and more experienced builders, but most of them can build a house top to bottom with no problem.

<comment><USER11> Programming is not like building houses. The computers on which the software runs are the "house builders"-- the parts of the system doing the repetitive work. Programmers are the architects and civil engineers who are tasked with inventing new types of houses every time.

<comment><USER12> Not that I disagree with you, but have you looked at a typical architect's salary and job prospects?

<comment><USER11> It seems there's a lot more demand for different types of software than there is for different types of houses.

<comment><USER13> Especially since most of the house design is now done by software.

</comment></comment></comment></comment></comment></comment><comment><USER4> 1) I'd imagine programming ability is fairly correlated with IQ, which puts a limit on the percentage of the population that has the requisite analytical skills to be effective programmers.

2) Programming is as much about communication as it is about writing code. People have this idea that you can reduce a program to a precise set of specifications that can be formulated by non-programmers and shipped off to China to be coded up. I find the idea ridiculous. People don't come with to lawyers with the precise contours of the case they want to build and simply ask for the lawyer to write up the briefs. They don't come up to doctors with a precise treatment plan and simply ask them to administer the medications. Programmers are problem-solvers, and that's a two-way street, and that makes shipping critical programming work over to China and India untenable because of communications barriers.

<comment><USER2> "People have this idea that you can reduce a program to a precise set of specifications that can be formulated by non-programmers and shipped off to China to be coded up."

Yup... If this was actually possible, we could just write software to do it and not need programmers at all.

</comment></comment><comment><USER14> "But that doesn't explain why people in the Philippines or China aren't training themselves en masse to be able to soak up the $30-100/hour jobs that would be readily available to them"

Rentacoder is readily available, its just that word on the street was most jobs paid about $5/hr.

Amazon's Mechanical Turk has some extremely fuzzy stats and not much more than anecdotes but earning around $7/hr has been reported. Higher pay, more fun, less effort?

Waiter/bartender at a tourist restaurant is probably the most fun and could pay even more.

Why is the market so fuzzy and illiquid? Why aren't there ten places I can go to find "write perl to import this old fashioned CSV file into that database" and see exactly what thats worth? Fix that and then wonder where the people are.(edited to rephrase there's no market, so no one plays the market)

<comment><USER15> Being a waiter at a tourist restaurant is pretty much an 'on/off' occupation.

You need a small amount of specific knowledge to start working (at a specific place), and leaving the job takes almost no knowledge away.

Software development is a _very slow_ start, depending on the project.

Just try and see how long until a developer has the development environment. Yes, it should be a 'turn key' solution but that's often not the case.

<comment><USER16> Check out vagrant[1]. I can have a new developer set up in about 30-60 minutes.

[1] <http://www.vagrantup.com/>

<comment><USER15> Well, you're assuming that

1 - All projects can be run in a VM 2 - Setting the development environment is all a new developer needs

Let me try to instil some expanded vision into things:

\- I can't have a VM for our specific embedded hardware with its specific devices

\- I haven't seen a VM for AIX on Power (maybe except running on Power HW)

But most importantly, Vagrant can't put on the developer's head everything specific (s)he needs to know to do the job. Like how to use the proprietary utils that we need to integrate in a project. Or what the project is all about.

<comment><USER16> I didn't mean to imply that Vagrant is appropriate for all situations. However, it has certainly been a boon to my web project.

I hope you'll forgive me for misunderstanding "Just try and see how long until a developer has the development environment." -- The language is ambiguous, but "until a developer has the development environment" means software to me. That is, that the developer has the tools he needs to make changes to a code base. You're right that I may have taken too narrow of a view, but my interpretation also seems reasonable.

</comment></comment></comment></comment></comment><comment><USER17> Its easy to run, all you need is a pair of shoes(not even that in the extreme case) and a bit of open space. I wonder why we don't have olympic runners in every neighbourhood ?

More seriously, I suspect its a consequence of the 10000 hour rule applied to a discipline which builds some of the most complicated structures known to man. It takes a lot of training, formal or informal and a lot of good feedback to make a good software engineer. Plus, CS is not the easiest of disciplines to study.

That, along with the fact that good practitioners, in almost any discipline are by definition the top few percentage.

The bigger question would be, as the profession matures and builds up an institutional body of knowledge like civil engineering, would the number of 'good enough' engineers rise.

</comment><comment><USER18> The author of this would have his answer if he understood the IQ floor necessary to be a good engineer, access to computers at a young age and willingness to troubleshoot obscure problems is relatively rare in the population.

There are far less high IQ individuals in the world than the world needs right now.

We can teach coding to young people, but as of now we can't reliably increase IQ.

We have studies that prove agents such as piracetam administered to pregnant rats increase the intelligence of their offspring.

If the Tech titans that want cheaper labor really want to solve the problem of lack of quality engineers they could think long term and throw massive amounts of funding at neuroscience and nootropic research.

In the information age we all live and die by our wits. Policy and R&D money should be directed at raising the mean intelligence of the population through novel scientific breakthroughs.

Far easier though to just lobby for government policies that make it easier to import the rare kind of people Google, Microsoft and Facebook need.

So we have a situation where no one is focused on solving the root of the problem (a need to increase the cognitive abilities of humans) and no one is lobbying to protect the financial interests of working coders in the United States.

<comment><USER6> Isn't Silicon Valled allready hooked on a constant supply of aderall and modafil? Now add Hydergine, Piracetam and Deprenyl into school lunches, and you've got your super children.

Or hack whatever is broken with the educational systems around the world. I'm still in school (technical highschool, programming focus), and none of my friends that is worth his salt in programming is good in school, and that puzzles me because they keep telling us that they're desperate for good coders. D is one of the best js coders I personally know, and he raves about it all the time. He dropped out of the part of the school that I go to (which would lead up to college), and likely won't stay in cs due to that. B is one of the best php coders I know. He's also a D student. A's good too, but had a 2.0 GPA as well.

There's a fair share of good potential programmers around (even though my observation might be somewhat biased), but many of them won't ever get into college. And how do you face HR without a degree? Go to hell kid, we want credentials.

I'm pretty sure you don't need more leads, you need better conversion, or else we're all going into marketing.

<comment><USER19> Speaking as the only person in my office who was a degree in CS (one has a geology degree, the other dropped out half-way through his graphic design degree, both make more than I do), no, you don't need a degree to get a job as a software engineer. The job I had previously wasn't altogether different, either. I think less than half of us had degrees in CS.

<comment><USER6> At least that leaves me with a spark of hope, but it's still quite discouraging that you could be the best programmer in your entire school, and still not be admitted for a CS degree. It kinda defeats the whole point of school, degree, job.

<comment><USER19> If schools judged CS applicants by their ability to program, I'd agree, but they don't. They judge them based upon their likelihood to succeed in the program (amongst other things, like building a diverse student body or whatever). That is, they judge them by their ability to be a good student. If all of the evidence goes to show that a prospect is a terrible student, why would a University accept them knowing that they are likely to fail?

Now, your friends may be more than capable at succeeding in university, and if a school only took the time to get to know them, they might see that, but, on paper, they look the same as someone who likely couldn't succeed in school (because they haven't, really, up to that point).

That all sounds all horrible about universities, disregarding these capable students because of an inability to really get to know prospects, but that's not on them. If you want to get into a good school, try harder.

As far as it defeating the point of getting an education, I'd wholly agree that college is not a worthwhile pursuit for a future-SE if your only reason for going is to get a job. You'll spend a lot of time in college learning skills that are not directly applicable to your future employment. You could arguably get to a point where you're good enough to hire more efficiently by skipping school. Whether or not it's worth passing on the things you really won't experience outside of school in exchange for a more efficient route to money is really up to you.

</comment></comment></comment></comment></comment><comment><USER20> Why isn't there a glut of baseball players who hit .408 in the major leagues? Because it's a rare person who can hit a ball thrown at nearly 100 MPH 40% of the time. Software engineers are common but people who deliver quality product after product is a rare bird. Programming at a high level is not as easy as this author seems to think.

<comment><USER21> Philip Greenspun, aka "this person", has a pretty solid resume when it comes to programming. <http://philip.greenspun.com/personal/resume>

<comment><USER22> And like many brilliant and talented people, they're completely clueless that in the real world, many other people just don't have the natural abilities that they themselves have, thus they are repeatedly perplexed that others just can't do the "easy" things they do. Often I've seen instead that they will instead ascribe others' failures as moral failures, which bites doubly against those that are trying hard but can't measure up.

<comment><USER23> I struggle with that myself. My attitude toward people who aren't accomplishing much with their lives is "Well, work harder!" But while much of my own success is due to hard, focused work, much of it is also due to raw intelligence and talent. Not everyone has that.

</comment></comment></comment></comment><comment><USER24> I think there may be a glut of potentially good software engineers. In fact, I know several high-IQ programmers who are skilled, but sadly, probably unemployable.

I think the problem seems to be (at least) four-fold. 1. They don't have the prerequisite cultural background. 2. They are self-motivated to pursue their own creativity but less interested in others'. 3. They don't have a fondness for excess money. 4. They have a hard time being obedient and subordinate.

Maybe controversial, but the way I see it.

<comment><USER11> There is absolutely a market for really good creative people who aren't obedient or subordinate. You have to be able to back up your disobedience with results, though.

</comment></comment><comment><USER25> It just irks me when people come to me and offer me an idea, then say they'll give me 1% of a company that I build all the software to it. Either I don't understand why that happens or it's just plan greedy. I'd rather work in a company that pays me well now while playing with my own ideas in parallel.

<comment><USER6> And likely, they'll want you to take over the financing and distribution, as well as the marketing and accounting as well, because those are all hard things they don't want to deal with. They just want to have the idea. And they stay blissfully unaware that with just the idea (and maybe a patent pending), it's be 3-10%....of wholesale price for them.

</comment></comment><comment><USER26> By good, it is often meant to be in the 5% of the standard normal distribution. So "good" is an infinite shifting condition. When there are more developers, it becomes just harder to be good enough. This scares therefore often novice off. They implicitly think that they have to be "really" smart to retain a life long job.

I think that there are enough developers. But everybody is searching for the geniuses that can create a competitive advantage.

</comment><comment><USER27> For the same reason there isn't a glut of NBA players. Anyone can play, few people can become good enough. Next question.

Edit: disagree? Downvote if you want, but please counterpoint.

<comment><USER28> I didn't downvote, but programming is nothing like playing in the NBA. The NBA is zero-sum: There are by definition (15 players per team * 30 teams) NBA players in the world. There exists no such hard limit on "good programmers"; if there were more good programmers people would pay them to solve problems that currently go unsolved.

</comment></comment><comment><USER29> Why doesn't the pay reflect the supply and demand? I consider myself a decent developer with 9 years of industry experience in several domains and my salary is only $88k. It sounds like based on the demand, I should be pulling in a lot more.

<comment><USER11> Where are you located? Geography is still a big factor in hiring decisions, so demand is not evenly distributed. In Silicon Valley, $88k is what good-but- not-great fresh college graduates get paid.

<comment><USER30> The point still stands, unless you work for the handful (or less) of companies that pay FU money to their engineers, you're still paid equivalent of what a Dentist makes, and much less than what a good salesperson makes in a much much smaller city.

I think the answer is that the demand isn't actually very high. Programming is still considered a cost center for most companies, the quality of the product is determined by how much they are willing to spend on salary, not vice versa.

<comment><USER11> Judging from how much attention all the good software engineers I know get from recruiters and from conversations I've had with people actively hiring, the demand in SF/Silicon Valley is incredibly high. I have personally taken advantage of this demand through lucrative contracting gigs.

Sure, crappy companies in dying industries might not be able to compete, or might not even realize that they're failing to compete, but why care about them? They don't make the market for people who are actually good at software.

</comment></comment></comment></comment><comment><USER31> I"m not a software engineer, but I wish I had learned it in college instead of studying business. Now as a startup founder I'm at a disadvantage because I can't just start building products I see, I need a team just to start.

As the CEO of Contour it wasn't about pay for great engineers. It was about having an interesting problem to work on and a company culture they wanted to be a part of. Yes you compete on pay, but for a start-up, everything else you offer is as important.

Growing up I didn't even know what you could do with engineering. I loved math, but had no idea what you could do by being an engineer. I think a lot of kids don't realize the creativity you can harness with engineering and how you can "build" real things. It was always presented to me in terms of math and being nerdy. Just like writing, I hated it because it was about "grammar" and not about expressing yourself. Now I love to write.

For kids I think it is framed up wrong and until more engineers have kids and teach their kids just what you can do, we will be short software engineers.

I'm now trying to teach myself with codeacademy and it's hard.

</comment><comment><USER32> _Why wouldn't the millions of unemployed Americans train themselves to code?_

I'd say this is exactly what my friends and I have done. We had been nerds growing up but the majority of us went into liberal arts majors in college. After graduating and finding out that our slips of paper were meaningless, a few of us taught ourselves how to program and a few of us built upon college IT jobs to go into system administration.

When we were younger, I think we generally had some pretty bad misconceptions about the software development as a whole, especially regarding relative difficulty compared to other careers. While the money and job security were the things that drove (most of) us in that direction originally, we've all become completely obsessed with a tech world that we generally misunderstood when we were younger. I've spent a lot of time trying to convince other out- of-work nerds to do what we did but I think most either don't believe you can get work without a CS degree (by assuming that we just got lucky) or think that it is well beyond their mental capacities. I'm not surprised a lot of unemployed americans are scared of trying something intimidating, but I think you'll see more and more young un(der)employed americans start learning code, especially as the learning resources become more and more available and more and more accessible.

<comment><USER33> I don't know about how other schools approached programming careers, but I know my school tried to make it out like you had to be some crazy math genius in order to do basic programming. Compound that with the fact that my school didn't offer any programming classes for people to even see if it was something they would be interested in, and we're left with me being the lone software engineer in from my school for the past several years. They scared everyone else away.

</comment></comment><comment><USER34> Because businesses want to cut corners and ignore the good practices and disciplines of software. Then they complain that it's the software engineers' fault.

</comment><comment><USER35> _I am left to wonder how everyone could have been so wrong in predicting that the world would be glutted with good programmers and sysadmins by now_

I stopped reading the article at this point. Seriously. I've been programming for nearly 30 years and in that time no one ever thought there was a risk of our having a glut of good programmers. Ever.

Hell, finding good talent back then was _much more difficult_ than it is now. So stop your whining.

</comment><comment><USER36> There is another force in the market that the author is missing; there are a lot of quality engineers doing their own thing or starting their own company.

</comment><comment><USER37> There is a tremendous difference between being able to "program" (the ability to type out syntax that will execute) and being able to design large, complex systems. Stop and think for a moment about the complexity in interaction between components in a modestly complex software product. I know plenty of people who can write code competently, but cannot design software very well.

</comment><comment><USER38> > _Why isn't there a glut of good software engineers?_

Because a career in computer programming (still) sucks: <http://www.halfsigma.com/2007/03/why_a_career_in.html>

> _Programming is easier to learn than a foreign language_

Maybe 'coding' but not programming and definitely not software engineering.

<comment><USER39> The advantage older coders bring to the table is full-stack understanding, at least at the moment. Sure, maybe not as useful to bring your site off the ground, but MUCH more useful for any kind of optimization.

</comment></comment><comment><USER40> Because most software engineers aren't very good.

<comment><USER41> ...and they do not want to be better.

</comment></comment><comment><USER42> Because people great and small are afraid of programming. It is the big hidden terror inside of a circus box that grown-ups use to terrify children and village idiots.

Serious applications seem so complex with their millions of lines of code that people are simply scared off.

I know that the industry is now trying to entice youth and professionals to begin learning code with things like <http://code.org>, but they need to focus more on the rewards (i.e. like how much money you can make, and job stability even during economic crises).

Learning to code is hard, and you need to commit your brain to 3 years of serious edumacation, and then 5 years of industry experience if you want it to succeed.

That's a tough bill for anyone to swallow.

</comment><comment><USER41> "As Google hires all of the world's good software engineers" - probably an exaggeration, but definitely not true. At least in UK salaries there are lagging, only good for experience and to have it on your CV. Any company is only hiring the best people they could identify of those who applied.</comment>


Ask HN: Most flexible open source e-commerce platform? - <AUTHOR>

I'm exploring about open source e-commerce platforms for one of my e-commerce ventures. Please suggest me which one is best in terms of -
1. Flexibility in customization.
2. Simplicity in UI/UX.
3. Active community.
4. Plugin architecture and available plugins.
5. Technology - PHP or Python <comment><USER2> If your experienced with PHP, I'd highly recommend litecommerce which runs on Drupal. It's relatively flexible to customize; it's extremely simple in the front-end - in fact I fell in love with litecommerce mainly because of its UI. Well, the community is not as active as other platforms, but the the drupal community can definitely make up for it. I believe it does utilize a plugin architecture. It has some pre-made plugins that you can use. Although a lot of common features need to be achieved with plugins, but they are quite accessible. One thing to note is that it only runs on PHP 5.3 or above.

And if you are more experienced with Python, you can find a lot of flexible platforms that run on Django.

</comment><comment><USER3> It's been a few months since I utilized Magento in a project, but I was very impressed (from a end-user perspective) with its UI/UX and feature set. It's based on the LAMP stack and has a very active community and a variety of plug- ins.

The downsides were that it is a little bloated, and the code isn't extremely well documented or developer friendly.

Of course that was a few releases back, and I'm sure a lot has changed since then, but I would definitely recommend you at least see if it meets your needs.</comment>


FTL: WebKit's LLVM-based JIT - <AUTHOR> http://blog.llvm.org/2014/07/ftl-webkits-llvm-based-jit.html <comment><USER2> Unfortunately I think the increased complexity in javascript engines is also a security risk.

Fuzzing and other techniques may be able to cause all sorts of crashes and memory corruptions in the jit compilers code or in the generated code. This issue may have just been amplified by the extra complexity in the massive amount of LLVM C++ code added.

This is less of an issue for llvm when used as a static compiler, but as a jit on untrusted code, I don't know.

Time will tell, but I wonder if Rusts memory safety will make it a better candidate for implementing advanced JIT engines that process untrusted code than C++ like in LLVM.

<comment><USER3> And Apple is forcing all other browsers to use its JS engine on iOS - so when Safara/its JS engine falls, they all fall.

<comment><USER4> But that misses the other side of the argument, a fix for them is a fix for everyone and improvements to core are free improvements for everyone.

<comment><USER3> By that logic we should all be happy that Flash isn't a spec implemented in 4 different browsers, but rather on monolithic monster from one company, in all of them.

</comment></comment></comment></comment><comment><USER5> I'm intrigued that they keep pointing out that it's not using any asm.js optimisations, but still "performs well".

"Performing well" in this case still means significantly slower than Firefox does on the same code:

[http://arewefastyet.com/#machine=12&view=breakdown&suite=asm...](http://arewefastyet.com/#machine=12&view=breakdown&suite=asmjs- apps)

Which isn't to say that it's not a big improvement over where it was. But there's still a way to go on making it competitive, so far as I can see.

Edit: Got name of the original engine wrong.

<comment><USER6> Personally, I am more interested in improvements to asm.js like code. The limitations of asm.js, in particular the inability to allocate memory, greatly limits its usefulness for many applications.

<comment><USER7> A work around is to pass a foreign function into your asm.js module to do allocations for you, but then you have to either implement your own GC, do reference counting, or just come up with some hand rolled lifetime management.

I'm also interested in how asm.js could be improved in this regard without moving away from its existing barebones model. Would love to hear ideas.

I think the first thing we will see is shared array buffers between workers because games really need that.

</comment></comment></comment><comment><USER8> It seems there were a lot of new "features" in LLVM to get this right. Where previously most of the Dynamic Script replying on LLVM hoping to speeds things up simply wasn't possible. ( Project Unladen Swallow. )

Dropbox's Pyston seems to have it this round.

Will Rubinius get any more substantial improvement? It seems to be in maintenance mode rather then development mode.

</comment><comment><USER9> Some of the google documnets were not shared probably, would you please share them? like the "FTL Performance" one it gives me:

"Your current account ( __ __ email@example.com) does not have access to view this page. Click here to logout and change accounts. "

<comment><USER10> They're just broken anchor links – intended to take you to the section headings further down the page, I think.

</comment></comment><comment><USER11> Not sure if I understand the technical jargon in the article, can someone tell me what the implication of this LLVM engine is?

Will we finally see cross platform Javascript mobile apps that runs like native apps?</comment>


Facebook wants to 'listen' to your music and TV - <AUTHOR> http://www.bbc.co.uk/news/technology-27517817 <comment><USER3> I think I read about this in a book once...

"The iPhone received and transmitted simultaneously. Any sound that Winston made, above the level of a very low whisper, would be picked up by it, moreover, so long as he remained within the field of vision which the helpful sign suggested, he could be seen as well as heard. There was of course no way of knowing whether you were being checked-in on social media any given moment. How often, or on what system, the service provider plugged in on any individual wire was guesswork. It was even conceivable that they included everybody all the time. But at any rate they could connect you whenever they wanted to. You had to live -- did live, from habit that became instinct -- in the assumption that every sound you made was overheard, and, except in darkness, every movement scrutinized."

<comment><USER4> It is fairly ironic that you use iPhone in your example considering that with side loading and permission over reach any talented hacker can access an Android phone to the level you describe while you would almost have to be a nation state to pull it off on a non-jailbroken iPhone.

<comment><USER5> _with side loading and permission over reach_

 _a non-jailbroken iPhone_

You don't think it's a little unfair to compare a sideloaded (thus, compromised) Android phone with a non-compromised, non-jailbroken iPhone?

<comment><USER4> Side-loading and non-jailbroken are the defaults. Google is warning everyone to only download from the Play Store but few pay attention and everyone wants something for free.

<comment><USER6> Every android phone I've owned has required me to check a box hidden in the settings before I could install from outwith the Play store. My current phone gives me an additional pop-up warning that this is a security risk which I have to agree to before it will enable side-loading.

Ultimately you can't completely protect users from their own stupidity. You have to make the security vs usability tradeoff somewhere. I appreciate that my phone allows me to manually install applications - it is in fact one of the reasons I chose it.

</comment></comment></comment></comment></comment><comment><USER7> Oh, you mean scrobbling? That thing last.fm has done forever? And it only activates when you go into the status update UI?

Sad that there's not a single, not even _one_ positive mention of this feature here. I'm starting to think this whole privacy thing has turned a lot of you into luddites. I'm serious. The highest rated fucking comment is a post that takes a line from 1984 and replaces "telescreen" with "iphone". Yes, very clever and completely relevant.

I remember a time when this would have generated discussion on how cool it is or what technology they're using to accomplish it, but instead, it's PRIVACY PRIVACY PRIVACY (even when it's an irrelevant concern, such as this) - <USER2> same reaction I'd expect had this been posted to 4chan /g/.

<comment><USER8> Oh, and this has nothing to do with Facebook's atrocious behavior in all things privacy?

<comment><USER7> Unless your fear is that Facebook wants to record your conversations on the sly, then yes, that is a completely insane thing to be worried about, and I'd ask for proof.

Facebook doing what Shazam does doesn't somehow make it more skeevy.

<comment><USER9> Or, you know, just track everything you do by listening, building up ever more details on you.

>> Facebook doing what Shazam does doesn't somehow make it more skeevy.

Of course it does.

<comment><USER10> I'm sure Shazam and SoundHound just throw away all that useful metadata too...

<comment><USER8> I'm sure they don't.

On the other hand they are not in a position to combine it with a truckload of your (partially at least) most intimate data, sucked up with all their other data gathering ventures.

For what it's worth: I'm putting my money where my mouth is and "deleted" my Facebook account years ago.

</comment></comment></comment></comment></comment></comment><comment><USER11> It amazes me that people are so willing to give these "services" so much access to their lives. It creeped me out when facebook used to ask me what I thought about a place I had been to. This is a whole new level of creepy, why don't people care?

<comment><USER12> It's not really a new level. People have been doing it with Last.fm since before Facebook existed.

<comment><USER13> Last.fm isn't so bad though because they do not also have a massive collection of photos of you, your social graph, your location, your phone number, etc...

</comment></comment></comment><comment><USER14> "Can be turned off at any time" means "will never be turned off by 99.99% of our users".

<comment> andrey-p "...it starts currently as opt-in". Not a massive fan of that "currently".

I don't own a smartphone and deleted my FB account years ago, but this still makes me squirm.

</comment></comment><comment><USER15> Situational awareness and semi-passive alternative inputs is being added to more and more devices. The always waiting your command "Ok Google" thing that Android phones and "Ok Glass" that Google Glass do comes to mind. Same for the XBOX One, only in that case it's also got a camera aimed at your livingroom. The Nest knows when there are people present. And now Facebook can listen to your surroundings while you post a status update. Any others I'm not thinking of?

Edit: Chrome now lets you use "Ok Google" as well.

[http://www.theverge.com/2014/5/22/5740946/chrome-ok- google-v...](http://www.theverge.com/2014/5/22/5740946/chrome-ok-google-voice- search)

<comment><USER16> I wish "Ok Google" was always waiting - Instead you have to initiate it.

It's pretty awesome when you've dirty hands and can't touch the phone, but you need to turn it on, and unlock it first.

<comment><USER17> I have a Moto X, it does have touchless always-on voice control: [https://www.youtube.com/watch?v=YOr8Wxcc0Gs](https://www.youtube.com/watch?v=YOr8Wxcc0Gs) (I don't have it enabled, though)

</comment></comment></comment><comment><USER18> Facebook wants to listen to your brainwaves but are thwarted by reality. So far.

</comment><comment><USER19> Beside the privacy concerns, it's sad that most people feel the need to share every little detail of their life with everyone, 24/7\. What's the point?

<comment><USER12> Branding (signalling). Same reason people post pictures of their desserts with the restaurant's name, announce party affiliation, and tell you about a band you have never heard.

</comment></comment><comment><USER20> I'm sure we could just ask the NSA to identify all that fluff for us. And while they're at it, they could do our backups, too.

</comment><comment><USER21> I'm about ready to ditch my phone and swap it for a Morse key.

</comment><comment><USER22> So what happens when the MPAA buys access to the data and cross references everybody that is watching Game of Thrones with the HBO subscriber list?

</comment><comment> k-mcgrady Seems like this thread is full of people typing while wearing tinfoil hats.

They have added a feature which works the same way Shazam et al do. You want to share what you're listening to? Press a button, the mic gets activated, and Facebook ID's the song for you to save you typing it out and searching yourself.

They are not listening to you all the time, even when you're in the Facebook app.

<comment><USER23> Shazam doesn't try to run itself passively and report back to HQ when I don't need it to run.

Shazam also isn't the same level of data mining/profiling.

</comment></comment><comment><USER24> This app requires the following permissions: read you thoughts.

</comment><comment><USER25> Remember those scripts that changed your instant messenger status when you started listening to a song? Or posted in IRC about it?

Automated narcissism doesn't exactly make for good conversation. People will get bored of it after a day or two.

</comment><comment><USER26> this will be a fantastic data collection tool to allow advertisers to target user's tastes that they don't "like" on fb.</comment>


Valuation as a Scorecard - <AUTHOR> http://avc.com/2015/05/valuation-as-a-scorecard/

<comment><USER3> I was going to say something trite like "Money is the number boring people use to keep score."

But the piece near the end on other measurements reminded me of a key piece of advice I learnt from my amazing sister Millie (founder of www.iamlovable.com):

"Don't place your happiness in other people or other things. If you need them to make you happy, then they can also make you sad."

</comment><comment><USER4> As much as I agree with the author's point, it's misleading to refer to "the market" when you're really talking about a very small subgroup of people. Much of the distortion and irreality in startup world stems from the fact that companies are not selling to a broad market, but trying to tell persuasive stories to a small group of wealthy investors. Using "the market" to refer to that small group creates confusion that I worry is intentional.

<comment><USER5> IMO that is still a market (if you have 1 buyer and 1 seller, you have a market), albeit a small and illiquid one.

I think what you are getting at is that because the market for private companies is illiquid, rife with information asymmetry, and is opaque, it is difficult to gauge true market price.

<comment><USER4> Yes, but I mean something else as well. We're taught that free enterprise is the socially optimal way to allocate resources. Part of that is the assumption that 'the market' that is doing the allocating represents a wide cross-section of society. In this case it's a very small clique, and it takes advantage of our cultural esteem for free enterprise and capitalism to mask the fact that there's not a lot of contact with "the market" as we normally understand it.

<comment><USER6> There are so many assumptions to unpack in this comment.

1) Some people think that free enterprise is the socially optimal way to allocate resources. Many people don't. I think free enterprise allocates resources in a financially optimal way - sometimes that lines up with socially optimal and sometimes it does not.

2) I think it's a bad assumption to think that anything smaller than the consumer goods market or the public stock market is "not a real market". There are hundreds of VC firms and thousands of startups. It's a much bigger market than most B2B products, it's probably as (in?)efficient as the job market.

3) Given the way public companies are plowing their profits into share buybacks rather than investment, I generally hold private companies in higher esteem than the average public company at the moment.

</comment></comment></comment></comment><comment><USER7> Yeah, valuation is nothing. But there are numbers like cash flow, cash reserve, company book value, and even relations like earnings to cost, earnings to book value which can give a good inside about how strong your company is. These numbers are much smaller than valuation, but they give a more reliable picture. Don't evaluate like an investor, but like a (long term) stock trader would.

PS: Sorry if the terms are wrong. There are actual terms for these numbers, but I never learned them in English. Hope from the descriptions you can make out which numbers I mean.

</comment><comment><USER8> I agree with Fred that it's a hypothetical number much like the unicorn and shouldn't be used as a scorecard. :)

Having said that I wonder how the drawbacks compare with merits of raising money at a higher valuation (not for ego boost) such as:

\- Legitimization of the business in the eyes of the customers being onboarded,

\- Creating a buzz which introduces the company to new user base funneling more users,

\- Providing a longer runway and helping the founders from being distracted and wasting precious cycles trying to raise money in near future.

<comment><USER9> Also recruiting, especially for senior positions.

<comment><USER8> Agreed.

</comment></comment></comment><comment><USER5> _> "And the markets can move on you and one day you are worth $2bn and the next day your are worth $500mm. Did you just mess up by 75%? No. The market moved on you.

>But please don't measure yourself on valuation. It might make you feel good today. But it won't make you feel good every day."_

I wish we could give this perspective to the CEOs of Fortune 500 companies as well.

</comment><comment><USER10> While broadly I have to agree with much of what Fred said there, I do have some qualifications.

At the end Fred did mention family, etc. Here he was way too weak: A recent phrase is "The greatest prize life has to offer", and that's husband and wife, house and home, mother and father, with everyone busy, productive, and, thus, happy.

"Thus happy"? One of the standard ways to be unhappy is to be idle, doing nothing. One of the best ways to be happy is to be busy and productive.

All that said, I have three points of qualification:

(1) It can be a bit _self-serving_ for a venture partner to tell everyone else, especially entrepreneurs, that they should not think too much about _valuation_.

(2) I have wondered if the recent _late stage_ equity fundings with high valuations have a _dark_ side: Maybe the end of that little process over time stands on average to favor the venture firm: If (A) the company does not do really well, then the venture firm still stands to get their money back via the _term sheet liquidation preferences_. And (B) if the company does do well, then the high _valuation_ might be seen as a starting point for negotiations with the investment bankers on the offering price of the IPO or an M&A exit in which case the venture firm not only gets their money back but makes a bundle (big ROI).

(3) As has become more common recently in the press on startups, now the way may be clear for some significant number of solo entrepreneurs with little or no equity funding to create a company worth $1 billion just from net present value of after tax earnings in which case all the discussion about equity funding is next to moot.

The common example is the Canadian romantic match making site Plenty of Fish which was long just one guy, two old Dell servers, and revenue of $10 million a year just from ads via Google. So, that's about $10 million a year pre-tax earnings and, thus, maybe, a company worth $1 billion.

I know; I know: From none other than John Doerr at KPCB, "Ideas are easy and worthless. Execution is everything.". Hmm ...: Given an _idea_ , now plug together a development computer, install a lot of free infrastructure software, use some frameworks, etc. to write the routine software, write the rest, the _secret sauce_ , as just ordinary code, plug together a server, plug into an ISP, get ads from ad servers on-line, use a _content distribution network_ (CDN) to handle much of the Internet traffic, go live, get some revenue and earnings, maybe expand to a local colocation site or to the _cloud_ , and grow.

So, where's this _execution_ that is not routine!

Or, for such a scenario, given a good _idea_ , the rest is routine. Then the _idea_ and associated _secret sauce_ are "everything" and likely challenging.

Or, for a venture partner to claim that ideas are worthless looks like an initial negotiating position to claim that what the entrepreneur has before a term sheet is worthless.

Cute. Silly, insulting, dysfunctional, but cute.

</comment><comment><USER11> I think it's important for you and your competitors to be aware of how much value you've added to society at any given time - Your company's valuation does that pretty well. It holds people accountable. I'm sick of hearing the "it's outside of my control" argument when things go bad - The moment you "lose control" of the market, that's the moment you failed. When you are a leader in your field, there is no excuse for not understanding the market - <USER2> just means you got lazy.

<comment><USER11> Oops I forgot to add <sarcasm></sarcasm> tags around it. My bad.</comment></comment>


Bayesian Deep Learning - <AUTHOR> http://twiecki.github.io/blog/2016/06/01/bayesian-deep-learning/ <comment><USER2> Very nice article!

But ... You generated your original data from: "sklearn.datasets.make_moons". Then you say that you tested your classifier on a hold-out set with "sample_ppc()".

I don't think that's a true hold-out set. A true hold-out set would be obtained by running "make_moons()" again to generate new data.

Have you tried that? It would be interesting I think.

I'll run the test myself too ...

Again, thanks for a very nice and informative article.

<comment><AUTHOR> Thanks for your comment! I did split the data in two, but it's easy to miss. X_test and X_train are the two sets. ann_input.set_value(X_test) then switches in the test values. That's identical to running make_moons() again.

<comment><USER2> OK, I didn't understand how the "neural_network" was connected to the data.

Thanks for responding.</comment></comment></comment>


Alternative monospace fonts for programmers - <AUTHOR> http://retrocode.blogspot.com/2010/05/10-alternative-monospace-fonts-for.html

<comment><USER2> It's kinda hard to evaluate the fonts when only fully capitalised samples are used. COBOL went out with Clement Atlee - we kinder, gentler Rubyist types like our lower case code.

<comment><USER3> I second the lower case, being a Linux user type. I was also expecting more analysis in this post than just whether the zeros were slashed or not. adg below posted a link to a former and similar article that I think has that analysis I was looking for.

</comment></comment><comment><USER4> Fonts like Consolas or Inconsolata are designed to be used with subpixel rendering, that's why they look all jacked up without it.

If subpixel rendering hurts your eyes, you probably need to tune it to your monitor.

<comment><USER5> Years ago, I remember doing a terrific amount of whining about how sub-pixel font rendering was blurry and pointless. But really it's simply a matter of adjusting to the benefits.

Anyway, I'm using 'Consolas' on Windows and 'Menlo' on Mac and am happy with both.

<comment><USER6> I second the recommendation to tune the subpixel rendering using your OS's wizard. Both Windows 7 and Ubuntu 9.10 make this very easy. The difference is very apparent and worth it.

</comment></comment></comment><comment><USER7> I use consolas on windows and linux and it is by far the nicest programming font I've ever used, surprised it didn't get more of a look-in, though obviously sub-pixel rendering is required for it to not look awful. Pity they didn't compare it with sp-r turned on. Oh well!

<comment><USER6> My pet peeve is that Eclipse crashes when I set Consolas the default font. Crash occurred within libpango. So I'm stuck with Andale Mono (a decent substitute). I will have to look into it again one of these days.

</comment></comment><comment><USER8> Inconsolata is nice, but the angled quotes annoy me. Fortunately, someone fixed that: [http://nodnod.net/2009/feb/12/adding-straight-single-and- dou...](http://nodnod.net/2009/feb/12/adding-straight-single-and-double- quotes-inconsola/)

</comment><comment><USER9> Related discussion on HN:

<http://news.ycombinator.com/item?id=1058946>

I'm still a bit sad Schumacher Clean never shows up in these lists.

</comment><comment><USER10> I recommend Terminus (it's not in the list).

<comment><USER11> ProFontWindows is also not in the list. But it's great for a small font-size but keeping the code readable.

<comment><USER12> Ooo.... thanks for the ProFontWindows recommendation.

<comment><USER11> Just curious: Are you being cynical?

<comment><USER12> Not at all. I switched, and love it. Console windows love the suggestion, and Eclipse is running with it. I'm still debating on the size, but it was a great suggestion. I'm glad you replied, as I can now give you another upvote. =)

</comment></comment></comment></comment></comment><comment><USER13> Since I stare at Terminal.app for 10+ hours a day, I'm nearly obsessive- compulsive about my font setup.

Inconsolata is my font of choice on the list. It looks beautiful, black background, 15pt, antialiased.

</comment><comment><USER14> I've been using the Bitstream Vera fonts for over a year now. The main draws were:

\- zero distinguished from O, lower case L from 1

\- clean, unpixelated characters

\- supports bolding, so I can use that in my editor's styles

\- is part of a family with a serif and sans serif font, so I can use the same fonts as my defaults everywhere (and I now notice that HN uses Courier for its textarea, ick)

</comment><comment><USER15> This is basically of a rip-off of this post: <http://news.ycombinator.com/item?id=615088>.

<comment><AUTHOR> Why is it a rip off? Just because half of the fonts are listed in both articles?

</comment></comment><comment><USER16> I enjoy TheSansMonoCd by LucasFonts. It costs money though.

<http://imgur.com/kBpMI.png>

</comment><comment><USER17> this has been already discussed in detail on SO. link : [http://stackoverflow.com/questions/4689/recommended-fonts- fo...](http://stackoverflow.com/questions/4689/recommended-fonts-for- programming)

</comment><comment><USER18> I will offer a name, see if you can find it: SGIScreen.

<comment><USER16> <http://steveblock.com/r/sgiscreen-ttf.tar.gz>

Looks pretty good at 14pt in Terminal.app. Thanks.

</comment></comment><comment><USER19> If you're going to do a comparison of programming fonts at small sizes, at least bother to get optimal font rendering for small fonts. Your worst looking fonts are the nicest with proper rendering.

Also "alternative"? Every programmer I know has heard of these...

<comment><USER20> "Every programmer I know has heard of these..." - Absolutely.

The frequency of these "lightweight" articles has increased of late (e.g. Linode,Slicehost gets newest release of Ubuntu, JavaScript starter link, etc.).

May be this is an indication of the changing demographics here on HN. It is called Hacker News and calling Consolas, BitStream Vera as alternative is just "newbism".</comment></comment>


iOS Keychain Privacy Issue - <AUTHOR> iOS apps persist keychain data even after the app is deleted.
For example, this allows Facebook to track you across multiple installations even if you intentionally uninstall the app.
There is no way to delete this data without jailbreak.
IMHO this is a huge privacy issue that needs more awareness.
source: https://forums.developer.apple.com/thread/36442
example project: https://github.com/kishikawakatsumi/KeychainAccess/tree/master/Examples/Example-iOS <comment><USER2> Did you file a bug report with Apple?</comment>


Why not just use an IDE if you want IDE features? - <AUTHOR> http://davidlynch.org/blog/2011/09/why-not-just-use-an-ide-if-you-want-ide-features/ <comment><USER3> I think part of it is that a lot of IDEs don't "feel" good. For example, Eclipse doesn't feel like a Mac app. Dragging tabs around works, but is ugly compared to Chrome or similar; the icons used are more utilitarian rather than something someone put thought and care into; often times the advantages it provides for the Java language just aren't as good with scripting languages (less mature support for Python and Ruby, less of a need for an IDE for those languages, and less ability to provide good features since they aren't statically typed).

Sometimes you want every feature. Other times, you want something that might have fewer features, but might feel better. When the iPhone came out, it didn't have a keyboard, it didn't have 3G, etc. Yet, it just felt better - <USER2> size, the icons, the way you interacted with it. I think that editors like Sublime Text and TextMate really go for that feel.

Users seem to see Sublime Text or TextMate as just missing a feature or two while looking at Eclipse and finding that it has the features, but lacks the basic joy of interaction. They also feel that it would be easier to extend something like Sublime Text than to fix the feel of Eclipse. Personally, I'm starting to warm to Eclipse as I use it and I appreciate the features it brings to the table, but I don't ever think I'll see Eclipse as "feeling good" in the way that TextMate feels right.

<comment><USER4> _Users seem to see Sublime Text or TextMate as just missing a feature or two while looking at Eclipse and finding that it has the features, but lacks the basic joy of interaction_

I somehow have this problem with Eclipse too. I really love its features, especially for Java/Android development, but it sometimes handles like you're driving a truck. Even on a fast PC. So its not that much 'fun' to use for me.

Qt Creator is one of the fow IDEs I positively like working with. It is fast, featureful and somehow doesn't get in my way like Eclipse does. The only drawback is that it's very Qt and C++-focused, so outside that area usefulness quickly dwindles.

For the rest I like Sublime Text. ST somehow helps you stay focused on the text. It is very fast and feels smooth. Like other "simple" editors it opens very quickly so can be used for editing independent scripts and configuration as well as source code, and does not impose any kind of framework or project structure.

<comment><USER5> Qt Creator is definitely worth trying out for C++ coding. It has a good Vim mode and makes building (thanks to qmake) and debugging a breeze.

</comment></comment></comment><comment><USER6> It's a trade-off. An IDE will often provide more and better integration, but is usually focused on a small subset of programming languages and is less flexible.

Most editors less integration, but are far more flexible. Take Sublime or Vim, you can customize every bit of the experience with scripts without too much effort.

Also, I think some languages tend to need an IDE more than others. E.g. Java's relatively small feature set increases its verbosity. An IDE is almost required to avoid too much typing and memorizing. Haskell, on the other hand, is very expressive, making it less fit for smart autocompletion.

<comment><USER7> Err, I doubt it takes less effort to customize Vim.

OTOH, I like to use an IDE like NetBeans to navigate Ruby code (go to method implementation, go to class implementation, etc).

I'd say it depends on what kind of project you're working on. If you're writing a small one-off script in Haskell, you probably don't need to use an IDE. The same goes for Java.

Once you integrated 3rd-party libraries (like not just one, but say, 5 of them), you either have to memorize those libraries or be grateful that IDE can help you.

</comment></comment><comment><USER8> I've actually just begun the process of switching from an Eclipse + CDT workflow to Vim in an attempt to understand what attracts people to it. I'm working nearly exclusively in C++ with some python, developing on Linux. Some of the features that I'm not sure I can put up with losing are:

\- Reliable code completion. I have to deal with many different third party libraries and APIs, many of which have their own implementation of basic maths classes. It's just not possible to remember them all. I've tried clang complete and it's ok but nowhere near as nice as CDT in Eclipse.

\- Inline popup of definitions on mouseover.

\- Reliable jump to definition or header.

\- Proper refactoring.

\- Local file versioning on save with diffs. Incredibly useful once in a while.

On the other hand, I'm appreciating having a responsive editor I can run everywhere and I like having text based configuration and plugins.

I agree with the article that if you want an editor that really understands your code (and you're working in a statically typed language) then you need an IDE, not a text editor with plugins.

</comment><comment><USER9> At Microsoft we have all types: IDE diehards and those that are happy staying with vim/emacs. There's also a group that uses a text editor 90% of the time and fires up the IDE only for the debugger and perhaps GUI builder. Which of the 3 buckets you fall into seems to be one of those nature/nurture questions.

Re IDE's being slow/bloated - Our group does a Python IDE (free/oss plug-in) and the performance is pretty decent. If you have SSD's, VS can feel pretty snappy. Here's a video to give you an idea: <http://www.youtube.com/watch?v=7CoGsSlrxKk> . For 1.1 we're working toward becoming more Editor+ like, ie, less Project System overhead - just open a file & go.

</comment><comment><USER10> Used to be a TextMate lover, bought the license at least 3 times. Then I met <http://www.jetbrains.com/webstorm/> \- never touched TextMate again, and don't ever plan to. Just thought I'd share for those who have not tried a JetBrains IDE before. No other IDE I've tried has lasted more than a week.

<comment><USER11> Always wondered who used those things. JetBrains has a good reputation, but text editors and IDEs are a crowded market. Web development needs an IDE.

</comment></comment><comment><USER12> I think a proper response to any question of this form is "why use an X if you can get what you want without an X?"

<comment><USER13> Why use a car for your 100 mile journey when you can get there by bicycle? :-)

<comment><USER14> Try carrying a nontrivial amount of baggage on a bike.

(No, the correct answer to this is not "Don't carry luggage." You can't solve a problem by chopping its legs off so it fits in your problem-solving grid.)

<comment><USER15> So extending your analogy, you prefer travelling by truck over travelling by car ?

</comment></comment></comment></comment><comment><USER16> The same reason I don't use a Space Shuttle to travel to my granny that lives a 100km away.

I don't have to.

But it's got a lot to do with the fact that while IDE's are good for something like Java or C++ programming, they tend to become really crappy once you get into web development and have to regularly work with 5+ different languages at a time.

With most IDE's that would mean I'd have to have 5 of them open to work comfortably with every language.

<comment><USER7> That's because most IDEs don't have good support for web development. (I wonder what would happen if they are good for web development, would people's opinion change?)

I used Vim to modify CSS and JS but I struggled to navigate JS code because I cannot jump to the method implementation with some sort of magical shortcut key easily. This is pretty tough if I want to know why I don't get my intended result out of calling the method.

To add injury to that, I found out that I have to redo the implementation and call the method something else to describe the intent in full. I can't refactor that easily without going to the path of hell: grep, regex, sed.

<comment><USER17> Re: jumping to method definitions, have you tried running ctags on your project directory, then pressing Ctrl-] (go to tag) on the method name? It should work.

</comment></comment></comment><comment><USER18> I distinguish project-oriented IDEs such as Eclipse and IntelliJ from casual IDEs such as Sublime Text.

If I'm looking at something downloaded from GitHub, I use Sublime Text because the focus is on browsing the source quickly. I don't want to have to create or import a project.

Whereas, if I'm actually developing something, I'll use IntelliJ because then I need all the additional build tools.

I think it's a matter of using the right tool for the right job. Opening something in IntelliJ _seems_ like a lot of effort because of the extra step of creating a project, and hence I choose the easier option: Sublime Text.

</comment><comment><USER19> If you're using a programmer's text editor (SimpleText, vim, Emacs), you should be able to touch type your way through committing code. This is a _basic_ operation.

Here's my workflow using Emacs and magit:

1) Right Alt-G to bring up the magit git interface.

2) Down arrow and tab, repeatedly, to review diffs, with "s" to selectively stage part of a change.

3) "c", a commit message, and Control-C, Control-C to commit. Then I'm working on the next feature. This whole process is in muscle memory.

Obviously, the workflow in SimpleText or vim would be different, but there's no reason it shouldn't be just as fast. Fast commits are not just for IDEs.

</comment><comment><USER20> Is there really a clear distinction between IDEs and (some) editors? Eclipse has some language modules that aren't really that great, so would it count as an IDE for those? And Emacs is most definitely an Elisp IDE, nearly a CL IDE with slime and quite close with a few other languages, given enough customization…

And while I haven't looked, I bet you can get enough integration with vim, at least on the level of Visual Studio 5…

Meanwhile, Smalltalkers know where to draw the line and tell us that we never used an IDE at all (or an object-oriented language)…

</comment><comment><USER21> The advantages of IDEs over text editors isn't look or feel. It's code quality.

Especially with statically typed languages, good IDEs make developers significantly more productive.

Programmers spend most time reading code, navigating code, understanding code. Much more than writing code. Unless you've only done greenfield solo projects in your life, you know this is true. IDEs have code navigation features and tooltips over types and methods. Features like this help a developer understand code significantly faster.

Additionally, code occasionally needs refactoring. Most common are the real simple refactorings: A method might grow too hairy and need a split up, maybe a method's name does not correctly convey its meaning anymore, arguments would have to be reordered for consistency, and so on. In a text editor, you have to manually update all references to the changed method. All you can do is compile (or unit test, in case of dynamically typed languages) until all the errors are gone. This is cumbersome, error-prone and time consuming. Search&replace often creates more errors than it fixes. IDEs have direct support for simple operations like these.

Larger refactorings are mostly compositions of smaller, simpler ones like I described above. Being able to trust the tool to have made the change correctly is invaluable in this process; it avoids a full unit test suite run after each step, and significantly speeds up major refactoring work.

The end result is that a team that uses IDEs and understands its navigation and refactoring features find it very easy to increase code quality. A room full of vi users, not so much. A text editor user would prefer to keep things as they are and add new features instead. The cost of minor refactorings, such as method renames, does not weigh up to the gain. This gain is small in the short run, because the developer is actively working with that part of the code. In the long run, repeatedly skipping these improvements makes code ununderstandable.

Also, let's not forget the "not invented here" syndrom. IDEs make it easy to figure out how to use 3rd party libraries and colleague's code with ease. Type the name of the class/object, press "dot" and you get a nice overview of the class's capabilities, including tooltip documentation. A text editor user has to task switch to the browser for docs all the time. If there are docs. Or read the source code that is being used.

This means that for relatively simple operations (say, a Point class, a string operation, etcetera), a text editor user will often find it easier to just write the damn thing right now. Its easier and more fun that scouring the code base for something that looks like it. The result is low code reuse.

In conclusion, correct usage of a decent IDE increases code quality, makes maintenance a blaze and keeps developers happy. Except the first week, when they're not yet used to the slightly odd UI. But if that holds you back, you're not a professional, you're a whiner.

I admit that IDEs have most value for statically typed languages (which, for me, is the strongest case for statically typed languages out there). Dynamically typed languages basically have the problem that they can't get decent IDE support, ever.

<sad rant>Which is why the web crowd keeps using TextMate and vi, keeps using Ruby and Python, and keeps writing increasingly unmaintainable code.</sad rant>

<comment><USER22> The best code I've ever read was written in emacs. The second best code I've ever read was written in vi. I can't think of code I've seen written in an IDE that I considered notably _great_ code.

If the doohickeys your IDE does for you to improve code quality actually do so, I would expect to see evidence of it.

And, regarding your sad rant...The reason the web crowd (and many others) keep using those tools (though I don't understand the appeal of TextMate, in a world with vi and emacs), is because they are more productive with them than alternatives. One of the best Java developers I've known (famously so, he'd written some Open Source libraries that were in very widespread use), turned into one of the best Python programmers I've known nearly overnight when he got hired by a Python shop. And, while he occasionally lamented the loss of some of Java's tooling (mostly for testing and coverage and instrumentation of the running code), he used emacs for both languages.

In short, when I meet a developer that relies on an IDE, I have suspicions that they may be a cargo cult programmer, rather than the kind of programmer I want to work with. It may not be true, and I'm sure there are excellent coders working in IDEs. But, I can't really take your pro-Java/pro-IDE rant seriously, because I know what happens when good developers get the chance to work in a better language (of which there are many; Python and Ruby are among them).

<comment><USER23> So your critique of IDEs is as much about the language as it is the IDE?

As far as your Java programmer, how long did it take him to get emacs in a state with a similar amount of power as an IDE? I'm thinking about compiling, debugging, source control integration, code completion and API hints, and so on? I do a fair amount of C# coding at my day job, and I've tried to work exclusively in vim, and the productivity hit I take trying to get the conveniences of an IDE in vim pushes me to just Visual Studio and install vim emulation.

As far as other text editors go (Sublime, TextMate, Notepad++), aren't the existence of these just proof that programmers like to build things?

<comment><USER24> I would say there are two components to it. Language and project size. Java and C# where designed with IDE use in mind. I am not sure I would want to work in either without an IDE. For smaller languages like C and Python an IDE wouldn't be my first choice of tooling, the cost of using the tool just isn't worth the benefit provided. I could see switching to an IDE if the project got a little too large.

<comment><USER25> C# probably was but I suspect it wasn't a factor in the initial design of Java - I don't even remember there being any IDEs for the first couple of years of Java being widely available.

<comment><USER12> I would say that Java was designed to be used with committees. Basically a language to use if you're in a design by committee situation. IDEs were then introduced to give individuals their own "virtual design committees".

</comment></comment></comment></comment></comment></comment><comment><USER26> I have to say I feel like I'm an oddball here for happily using Eclipse. With an SSD, it's incredibly fast and features like its static analysis (code completion and error checking), debugger, and even 'open resource' improve productivity.

That said for quick scripts I'll just use something like kate or vi, but for a large project, the IDE greatly simplifies things.

<comment><USER7> You're not an oddball.

I use Eclipse heavily with a few plugins: m2eclipse, subclipse, EclEmma (code coverage), FindBugs (static analysis), and CheckStyle (code rule enforcer).

Being able to navigate the codebase blazingly quick (go to method implementation, class definition, etc) and get a better overall picture of the class (Outline provides the list of all methods, constructors, member variables complete with access modifier) is definitely more productive than anything else.

</comment></comment><comment><USER27> I use emacs because then I can learn one thing really well that will work everywhere. Eclipse is a viable option, except it doesn't work in terminals.

P.S. Vim is ok too. D.S.

</comment><comment><USER28> I'm not a huge fan of IDE's in general, but Eclipse w/emacs+ keybindings is actually a pretty good compromise on larger projects. It gives you the nicer feel of navigating the code emacs-style, but you still get all the advanced features like code completion and refactoring that Eclipse provides.

Also, for Java projects Eclipse w/emacs+ is way nicer than vanilla emacs(at least for me)

</comment><comment><USER29> What about code debugging ? How do you guys debug code on vim or ST ? prints, echo, var_dumps?...are you kidding me ?

The main reason I'm still using IDE is mostly because of code debugging and code browsing. If I could debug code on vim or ST and do code browsing I would switch in no time.

<comment><USER30> gdb? ddd?

I don't compile my code inside vim, so why should I expect to be able to debug it there?

Learning that the tools don't have to be integrated with each other to be useful was a major eye-opener for me, after using MSVC for many years.

<comment><USER31> gdb is terrible compared to a good integrated debugger. Honestly, its laughable that people try to compare the two. /coming from someone who used gdb for years

</comment></comment></comment><comment><USER32> Komodo Edit is a really good Open Source editor I recently stumbled into. It gets all the basic editing functionality right (and I am saying this as a VIM user).

For any thing else, I believe the OS is the IDE. An OS is in particular an integrated development environment. It contains all your favorite tools to get the job done.

To insist having all the functionality you need stuffed into a single unified plugin-ed application is like insisting to get the entire web into Facebook - it sucks.

That said, I recently had a surprisingly pleasant experience developing a C# project with VS 2010.

</comment><comment><USER33> As an avid Emacs user, because I like tinkering my development environment. It may not always be productive, but it sure can be fun!

Please do not underestimate the long term benefits of tinkering and discovering new things in the process. For me personally, I noticed that those kind of activities might not seem productive in a short term, but tend to give me important insights (and productivity gains) in other areas of my professional life later on.

</comment><comment><USER34> Why not just use an IDE if you want IDE features? Because Emacs is more general purpose and more flexible.

</comment><comment><USER35> IDEs are slow, and bloated to all hell.

I want an editor that is aware of the language I'm using, syntax highlighting, remote execution, etc. and any other piecemeal features I add.

But I want the editor to be simple. Hello Textmate.

<comment><USER36> That's exactly why I threw away any hopes about Espresso, Coda and perhaps even TextMate, to have more than basic non-semantic features and syntax highlighting. Sure they are pretty and Mac native but I want functionality, not eye candy.

Maybe I'm too used to VS+Resharper and IntelliJ and don't want to waste my time reformatting code by hand. With those two editors I can reformat HTML inter-mixed with Javascript and CSS and even get colored curly waves below spelling errors and calls to functions that do not exist. They are damn good tools for a pedant. :)

Being a Lisp fan for many years(programmed quite a lot in CL, owns every cool book about it), I've come to the conclusion that I think I prefer statically typed languages, especially those with keywords like "var", "val", "def" etc so I don't have to type out something twice. Limitations can be good, it stops me from being too clever "in the small".

Some languages, especially those from Microsoft, are designed to be written in an IDE. That is not a bad thing IMHO. The amount of insight something like Resharper gives you is sometimes totally awesome. On several occasions Resharper has claimed parts of an condition is always true/false, and it's often not obvious but I've never seen Resharper being wrong on those.

I'm now more pedantic than ever with details.

That said, it's very handy to have TextMate in the Dock and in the command line path. I've used vim and emacs a lot in the past and like them too.

</comment></comment><comment><USER37> A couple of observations and questions:

I find it interesting that a lot of folks in this discussion seem to accept that an IDE is advantageous for cases involving a large code base or a statically typed language. Why is an IDE any less appropriate to use with dynamically typed languages? A lot of the niceties provided by a good IDE for statically typed languages are still available for dynamically typed languages. For me, the case in favor of using an IDE is the same regardless of the language. The "killer features" an IDE provides are: autocompletion (i.e. intellisense style) and code analysis as you type. I see no reason an IDE cannot provide these features in a dynamically typed language.

Serious question, to those of you who believe an IDE is not useful for dynamically typed languages: Without intellisense like capabilities, how do you remember everything in the language's standard library and for that matter any non-standard libraries you use? Looking up a method or property in the documentation everytime you want to use it seems horribly inefficient. That's the type of job that is perfectly suited for a computer. It seems incredibly ironic to me that computer programmers are manually performing steps that a computer could easily be performing for them. As Albert Einstein said: "Why should I remember anything if I can just look it up?"

As some background I think Vim is a great editor - I use a Vim plugin in Visual Studio all the time, and I often use Vim for editing simple files. I think the addition of omnifunc in version 7 brings Vim a lot closer towards becoming an IDE. Unfortunately Vim's omnifunc capabilities are limited. Contrary to what you'd be led to believe by a lot of well meaning folks - Vim's omnifunc capabilities w.r.t python are nowhere near as capable as the same functionality found in Visual Studio or Eclipse.

I tried an experiment, wondering if I really was more productive in an IDE, and timed myself coding the solution to a couple of simple problems, using python in Visual Studio - I waited two weeks, so the solution was no longer fresh in my mind, and then coded a solution to the same problem again using Vim (note that I even gave Vim the benefit of the doubt here by using it second). For every one of the problems I tested I was significantly more productive in an IDE - sometimes by a factor as high as 2 or 3 times. Anecdotally I think the two features that make me so much faster are intellisense, and code inspection. Having errors appear automatically without the need to run my code is a huge time saver.

I think in the end it's not really about an IDE - it's about the availability of good intellisense like features, automatic code inspection, good refactoring tools, and a good debugger (integrated or not). If those features are available to me when I'm coding then I'll be happy and productive. If they're not then the tools I'm using are inadequate. As much as I would like to use Vim exclusively - unfortunately those features are not available (or do not work well) for the languages I predominately use (C# and python).

</comment><comment><USER14> Does anyone here consider Emacs an IDE? Because that's my reason: I can give Emacs all the specific 'IDE features' (whatever those are... probably 'enterprisey' things) I want and it's still Emacs.

<comment><USER38> Sure. As soon as you have all development features _integrated_ in your _development_ editor _environment_.

<comment><USER39> You're arguing definitions while the grandparent argues features. I do believe that emacs can be considered on par with an IDE in terms of possible features. I personally prefer vim, but that's a completely different story.</comment></comment></comment>


Most Americans are gender fundamentalists - <AUTHOR> https://qz.com/1148554/most-americans-are-gender-fundamentalists/ <comment><USER2> they forgot the one that pisses my wife off the most calorie burning. hehehe...</comment>


Ask HN: I recently dropped out of school. What should I do in the mean time? - <AUTHOR>

Long story short, I had difficulty in school and recently dropped out. The good news is I already accepted a fulltime CS job. The bad news is that it doesn't start until June.
I've been improving my Python and iOS skills in the past few months, but I feel like I'm not doing anything meaningful with my life?
What should I do in the next 6 months? I'm a bit short on cash, and just feel lost in general.
Thanks <comment><USER2> I'm not sure where you are from, but I would not trust a job offer that is 6 months out. I don't want to discourage you at all. Just show the reality that job offers aren't worth the paper they are written on, so to speak.

Where are you from? In what area of your education did you have difficulty in school? What would you like to do as an engineer? There are plenty of junior/intern positions where you can go without a CS degree and get some great experience and a solid chunk of pay and even benefits. Although this isn't always easy to implement, you must seek out meaning in your life. Meaning won't seek out you. But, there are a lot of us here to help!

<comment><USER3> Agreed, I would heed this warning. It's not that companies (necessarily) intend to make offers they can't keep... it's that unexpected things happen and circumstances change. I always say that the job offer isn't firm until you've received your first paycheck.

<comment><AUTHOR> Is this really a big issue? Im in the US and the offer is from a silicon valley company thats doing ok.

<comment><USER4> Why won't the job start for another 6 months? Get a good answer to that.

And things can move fast in Silicon Valley. Maybe they now think they honestly need you in 6 months, but in 6 months, that could change. And they still have 6 months to find someone better or cheaper.

The same goes the other way aroundd of course. A job offer now is worth a lot more than one in 6 months. You could find a better job and not be available in 6 months. If they really need you, I'd expect them to hire you sooner. Maybe in one or two months. Some companies operate slower than others, but 6 months? That's a lot.

If I were you, I'd try to fill those 6 months with another job or with freelance work. That gets you money and experience. If the other offer is still there in 6 months, you can still quit the temporary job.

</comment></comment></comment></comment><comment> Warewolf-ESB Open source! Find a project you are like and contribute. Your skills and experience will increase, and it's great for your CV for future work. You might even be able to get some freelancing work out of it via an Elance or similar. Whatever you do, don't sit at home and get into a slump. Good luck

</comment><comment><USER5> Learn about a new concept that has always interested you. I just finished finals and am now on winter break. I will be learning about compilers.

</comment><comment><USER6> I have a pretty interesting project Im working on, if you interest in building a super complex website, shoot me an email at email@example.com

</comment><comment><USER7> Start Contracting, launch a blog, release an ios app. Build that personal brand.

</comment><comment><USER8> Enjoy life !!! You might not get a second chance !!</comment>


Where'd our app go? There's No App for That - <AUTHOR> http://www.riverturn.com/blog/?p=455

<comment><USER2> What I don't understand is why iPhone developers expect decent treatment from Apple or continue to be surprised when their apps are removed. This developer considers Apple a "partner" (their words). Apple is not a partner. Apple has opened up an application repository where you can sell your apps through the store, but has not extended any further benefit, or made any apologies for their policy of arbitrarily removing applications that it doesn't want, for any reason. It doesn't want to discuss your applications with you, it doesn't want to hear explanations or reasoning. It makes the rules, and it does what it wants. When you operate within Apple's closed ecosystem, you play by their rules or you don't play at all.</comment>


HRP-4 Humanoid robot unveiled-- will sell for $300k - <AUTHOR> http://robotzeitgeist.com/2010/09/the-hrp-4-humanoid-robot-unveiled.html

<comment><USER2> Impressive.

Still I'd have loved to see this robot actually _do_ something beyond, well, light aerobics.

<comment><USER3> I think this is targeted at people who are trying to make that happen. :)

</comment></comment><comment><USER4> This is what I looked forward to when I was 5. Finally.

<comment><USER3> We're truly living in the future, now.

</comment></comment><comment><USER5> It will cost 1/10 the price in 10-12 years and be a lot more functional. So goes progress.

<comment><USER6> Only if it sells.

eg. electric cars were in production around 1900 [http://en.wikipedia.org/wiki/Electric_car#1890s_to_1900s:_Ea...](http://en.wikipedia.org/wiki/Electric_car#1890s_to_1900s:_Early_history)

</comment></comment><comment><AUTHOR> This robot is skinny enough that I feel like it could be 'skinned' and made to look almost human with just a little work.

<comment><USER7> And then you will run into the <http://en.wikipedia.org/wiki/Uncanny_valley>

</comment></comment><comment><USER8> Somehow the first application that comes to mind is a fashion model. Could end anorexia, perhaps.

<comment><USER9> The first application I thought of was robbing banks... but I guess that would have to wait until there was more than one of these otherwise it would be fairly obvious who did it.

<comment><USER9> Imagine for a moment... An autonomous robot that robs banks until it has enough money to order another copy of itself... while avoiding detection and putting some of the money into hiring coders to improve it's code.... kind of a cross between these 3 things: <http://www.emhsoft.com/singularity/> [http://news.discovery.com/tech/fooled-you-robots-learn- how-t...](http://news.discovery.com/tech/fooled-you-robots-learn-how-to- deceive.html) <http://en.wikipedia.org/wiki/Grey_goo>

</comment></comment></comment><comment><USER10> It's only a matter of time before one of these kills a person.

<comment><USER11> The first time a robot killed a human was all the way back in 1979.

<comment><USER12> What happened?

<comment><USER13> An industrial accident at a major Japanese company close to here, if I remember my history correctly. Someone stood somewhere they shouldn't have and a robot crushed them.

</comment></comment></comment></comment><comment><USER14> Aw, come on! You went through all that, made an awesome robot, and it doesn't _do The Robot_?

* sigh __* we have so far to go.</comment>


The myth of fat burning (why anaerobic exercise is more effective) - <AUTHOR> https://www.youtube.com/watch?v=WubdKkjaLr8 <comment><USER2> (Youtube page text is in Chinese but the talk and graphic content are in English.)

<comment><AUTHOR> This interestingly contradict with most fat burning theories circulating around for the past decades, wondering how true is it?</comment></comment>


Ask HN: Is it OK to flag something you don't like? - <AUTHOR> I posted this.
https://mises.org/library/sweden-myth
It is not inappropriate, and it is on topic, judging from the front page in the past weeks, but it got flagged down. Is flagging a legitimate tool when you don't like content? It had 8 points last time I saw:
https://news.ycombinator.com/item?id=22663131 <comment><USER2> Flagging is for stories and comments that break the site guidelines. Obviously there's a wide range of interpretation there. We sometimes turn flags off, but in that case, I'm not inclined to, because from past experience it seems likely that the thread will just turn into an ideological flamewar.

<comment><AUTHOR> Thanks for clarifying, makes tons of sense to prevent a flame war even if the source is legit.</comment></comment>


Serial's $2,500 Phone Bill and the Prison-Calling Racket - <AUTHOR> http://www.businessweek.com/articles/2014-12-17/serial-podcasts-2-500-phone-bill-and-the-prison-payhone-racket

<comment><USER2> Great post. I know far too well the effects of "reverse competition" on the families of incarcerated individuals. Not being able to call and tell your daughter "Good Job" on her most recent report card, or discuss with your son the consequences of your actions that led to incarceration, are just a few moments that rarely occur due to exorbitant telephone rates for prisoner phone calls. Bi-partisan research supports the fact that the more connected an inmate is to his or her family, the less likely he or she will reoffend upon return to society. While both sides of the political aisle get the key factors to successful reentry, neither has until recently, been willing to tackle the crux of the 'disconnected from society' issue. This is one of the reasons I started Pigeonly - we saw a problem technology and a little bit of creative thinking could help solve.

In Q4 alone our Telepigeon product has provided over 4.5MM low cost phone minutes saving inmates and their family members over $750K in phone cost, that's real money we've been able to put back into people's pockets.</comment>


Alone as a crowd: the latest example of the weirdness of quantum mechanics - <AUTHOR> http://arstechnica.com/science/news/2011/10/another-example-of-the-weirdness-of-quantum-mechanics.ars <comment><USER2> Why does the author insist on using 'we' as if he were an author of the study? I found that very confusing...

(I'd find it more acceptable if a physical experiment were being discussed, but this seems to be a theoretical result.)

Oh, here's the arxiv link: <http://arxiv.org/abs/1101.0199></comment>


Launchpad and Its Processes inside SQL Server ML Services - <AUTHOR> http://www.nielsberglund.com/2017/04/13/microsoft-sql-server-r-services---internals-iii/ <comment><AUTHOR> A deep-dive into Launchpad Service and processes using #WinDbg and ProcessExplorer</comment>


Unreal Engine's latest innovation is about building games while inside VR - <AUTHOR> http://venturebeat.com/2016/02/04/epic-games-lets-you-design-your-game-inside-vr-with-new-edition-of-unreal-engine-editor/ <comment><USER2> This is amazing.

I argue that this will be the future for the majority of tech-related jobs within 5 years. Why buy an expensive monitor when you can get several of them in a virtual environment, basically for free?</comment>


Fuck What Other People Think - <AUTHOR> http://www.maxims.us/fuck-what-other-people-think/ <comment><USER2> I think you're wrong. Progress comes from building a consensus and working together with others of like mind.

But you probably don't care what I think.</comment>


I got sucked into the cryptocurrency craze and walked away with $13M - <AUTHOR> https://thehustle.co/how-i-made-13-million-cryptocurrency-ethereum/ <comment><USER2> One guy's lucky story — I'm glad it worked for him. Others have taken their own lives when they gambled and lost:

[https://www.crushthestreet.com/articles/breaking- news/bitcoi...](https://www.crushthestreet.com/articles/breaking-news/bitcoin- suicides-the-darker-side-of-cryptocurrencies)

</comment><comment><USER3> A gambler who got lucky. The article gives the distinct impression that the fact he invested at the bottom of the market rather than just before a bust cycle was not because of good judgement. There is little else to say about this.</comment>


Qualcomm enters the smartwatch game with Toq - <AUTHOR> http://www.theverge.com/2013/9/4/4694470/qualcomm-enters-the-smartwatch-game-with-toq

<comment><AUTHOR> This is much more interesting than the Sony or Samsung watches, for one reason: the Mirasol display technology. After owning a Pebble, I'm more convinced than ever that an always on display is the most critical feature for any smart watch.</comment>


Tell HN: Potentially impressive meteor shower tonight. Get outside - <AUTHOR>

Looks like it could be a really awesome one. <comment><AUTHOR> Not sure how HN feels about a promotion like this, but I gain nothing from it so I'm going to try: I compiled a list of tips and locations to watch the shower from, and put it on github pages last night.

Also I was pretty happy with the domain name :)

[http://www.meteortime.com/pages/may-2014-camelopardalids- met...](http://www.meteortime.com/pages/may-2014-camelopardalids-meteor- shower/)

<comment><USER2> I think self-promotion like this, where it is relevant and clearly disclosed as such, is good form and very constructive. Additionally, its quite common on HN.

</comment></comment><comment><USER3> Well I think that NASA can stand down the secret military space shuttles and team of oil drillers they had on stand by in case this went sideways.

Went outside for the last hour, not a single one. (Statesboro,GA)

</comment><comment><USER4> Unfortunately there's too many clouds where I am (east bay).</comment>