Twitter removing the #dickbar from the iPhone app - <AUTHOR> http://blog.twitter.com/2011/03/so-bar-walks-into-app.html

<comment><USER2> _"We believe there are still significant benefits to increasing awareness of what's happening outside the home timeline."_

Significant benefits like increasing the adoption rate for third-party twitter clients, perhaps.

 _"Evidence of the incredibly high usage metrics for the QuickBar support this."_

I tapped it once by accident while trying to swipe to see if I could delete it.

If twitter want to turn a spammy feature into a useful one, they need to start asking users about their interests, or else attempt to determine them algorithmically.

</comment><comment><USER3> "we will frequently experiment by trying new things, adding new features"

I can't remember any features that were tested publicly and weren't kept. Can anyone help me out here?

<comment><USER4> I don't know if one can count the IM client as a tested-then-removed feature. It was shut down for "maintenance" or something and never brought back to life…</comment></comment>


How to Protect Your Home Network - <AUTHOR> http://techcombo.com/how-to-protect-your-home-network We have all heard of hackers, and what they are capable of doing, the simple way to prevent them is not to give them anything to feed off. If you are not familiar with the term "hacker", an example in the tech industry is the Mikeyy worm (hacker name: Michael Mooney) who breached the popular micro-blogging service, Twitter.
You would be quite amazed at how easily you can be compromised, lots of computer networks tend to be vulnerable and are so easily hacked.
You would have thought that, the way technology is advancing, the networking region would have become more efficient and safe. But you would be mistaken. A few years ago, only people who were advanced and cautious about their computer networking and had sufficient know-how, would set up networks. Therefore, they could keep to keep any hackers at bay, at least from their network.
Nowadays, anyone and everyone set up home networks. There are now, many more "newbie's" in comparison to advanced networkers. People tend to go through the network installation process ignoring any software/hardware protection; likely to be using a basic set-up which, as we know can be their biggest downfall. Another 10 minutes of a user's time, exploring how to secure their network, is the defining moment which makes your network hack-proof or not. <comment><USER2> This article was not of the caliber I expect at HN.

Much more useful would be recommendations for cheap, robust home firewall options that surpass the average consumer-grade without being ridiculously expensive.

<comment><USER3> pfsense! <http://www.pfsense.org/> you can put pfsense or its sister project, m0n0wall (scaled down version), on any machine or an embedded machine. Really extensive feature list, reduces costs to hardware.

There's also DD-WRT (which you install onto commercial appliances, then overwrite their firmware), but I haven't tried it out yet.

Didn't upvote the article, you're absolutely right about it being fluff.</comment></comment>


Show HN: User Script to fold HN comment subtrees - <AUTHOR> https://greasyfork.org/en/scripts/12493-hacker-news-folding-subtrees <comment><AUTHOR> Warning: I left a few ugly hacks[1][2] in it (and not nearly enough comments), and I've only tested it under a recent-ish firefix+greasemonkey. There could easily be bugs, especially in the layout.

That said, I _think_ I'm using features that should be standard everywhere (e.g. querySelect). The icon for the voting triangle is repurposed with a 90deg rotation and some opacity. This could probably use it's own icon(s)? I'm not sure.

Anyway, I wanted a quick method to collapse comment theads, and I ended up with a tool that lets you fold/unfold any subtree (as determined by the indent width).

[1] I'm sure there are better ways to handle the CSS for the fold-icon. The <div style="width: ..."> hack seems to be necessary or the icon wraps to the next line. This might be completely unnecessary if the icon was placed somewhere saner.

[2] I should be binding the click handler once above all the posts. Probably not a hard change, but for now the per-comment closure seems to work fine.</comment>


Ask HN: Do coding bootcamps mostly teach JavaScript? - <AUTHOR> I run a bootstrapped SAAS company and lately have been interviewing developers who are entry level. Getting quite a few bootcampers which I don't mind but almost none of them have any experience with a backend server side language like PHP, Python etc that are still widely used in real world. I see quite a few of them hitting the whole MEAN stack thing keeping everything in Javascript. This is troubling because it seems like most bootcamps are looking to make a quick buck keeping everything in Javascript and students are oblivious to what actually happens in real world.<p>I have talked to a few and they had no idea that there is anything else other than React and Node and they are hoping to get a job quickly. Am I crazy or what ? <comment><USER2> A bunch of my current company's backend is in JS on node. I'm not sure it's so bad.

I've had a different experience that most didn't know much programming, but understood some typical webapp patterns.

If more bootcampers came out with a solid understanding of programming principles and software engineering basics, the language they knew wouldn't matter as much.

Edit: I'll also add that yes, they probably are looking for a job quickly, and that should be OK. Many bootcampers are trying to improve their lives by making a drastic change in their career. I think bootcamps set students' expectations too high. They apply for as many jobs as they can without really knowing if they are a good fit. Often they're not but there is some company out there that needs a jr web dev who would love to help them develop their skills and career. It's just probably a bad idea to go for early and mid stage startups.

<comment><AUTHOR> You have made some good points. I agree that it is not about the language but more about the programming principles and understanding. I guess I am not seeing that enough from bootcamp graduates. It seems more like a problem with bootcamps than the students themselves.

<comment><USER2> Yep, I completely agree. I think that a lot of the folks coming out of the bootcamps will be fine in a dev job somewhere, just not at at a high growth startup with a lot of university trained software engineers. It's really disappointing that bootcamps aren't doing more to help funnel their graduates into the best roles for their skillsets.

</comment></comment></comment><comment><USER3> Curriculum varies by the bootcamp. The best ones design and iterate their curriculums based on feedback from the local job market, as they know they won't be in business long if they're not putting forward qualified candidates.

Also, a willingness to mentor is important when hiring any entry level developer. Bootcampers can require different mentoring, but in my experience so far they're not wholly worse off than a CS grad with no life experience to lean on. Focus on the fit of the person, first.

To be fair, I am biased - I completed a bootcamp 3 years ago after 15 years in hardware/networking. Bootcamp tought me the fundmentals of OOO using the .NET/C# stack. Focus on JS technology was much lighter. I joined a backend ETL & Data API team with high coding standards and high empathy for mentoring. I now pass that training and mentality onto others - mostly CS grads.

</comment><comment><USER4> > students are oblivious to what actually happens in real world.

Is Node not happening in the real world? Most job ads I see look for node, far more than python or php, so it makes perfect sense for bootcamps to teach that, not to mention keeping everything in one language.

<comment><USER5> I believe this question is not quite accurate. Node is happening in the real world, yes. But often companies with a couple of years in the market would have a different stack that isn't that hyped like JavaScript stuff.

They require actual programming skills, not programming language skills. And this I think is the most important part. I'm just not sure if we could ask this from Bootcampers, since their learning process is just sufficient to spit them out to the market.

</comment></comment><comment><USER5> From what I understand it is simply not useful to expect Bootcampers to have such knowledge. These courses are made to spit people out to the easiest part of the market: start ups and other (small) businesses willing to pay little and receive a lot.

Learning PHP, Python or Java for back-end development is ineffective for Bootcamp courses and bootcampers. They require you to understand programming instead of programming languages, for a quick and functional delivery.

IMHO: It is the role of such companies hiring these people to actually teach them how the "real world" looks like and shape them accordingly.

</comment><comment><USER6> Actually, I am planning to start a service similar to Bootcamp which focuses purely on Python. I have picked Python after a lot of consideration.

</comment><comment><USER7> If you were going to teach people one language today that is commercially useful it probably would be Javascript.

People who are leaning toward scientific or data analysis stuff might do Python.

Languages with a more static type system or that require OO design to do anything add a whole new bunch of skills to be learned. That goes double for real systems languages like C/C++/Rust.

</comment><comment><USER8> Most recent bootcamp grads I've encountered were taught basic Ruby on Rails with a small amount of JavaScript (usually some React as well), HTML, and CSS.</comment>


MathJax: convert LaTeX to HTML on the client - <AUTHOR> http://www.mathjax.org/?page_id=13

<comment><USER2> Does anyone know if this is going to be released as an open source Project, I couldn't find any info on the site.

<comment><USER3> They said they're setting up a SourceForge project for it.

See <http://www.mathjax.org/?p=200> .

<comment><USER2> Thanks, I somehow missed it.</comment></comment></comment>


Ask HN: How should developers talk to designers? - <AUTHOR>

We've all seen clueless MBA's looking for developers to "just code my idea", and there's a lot of advice out there to help business people talk to technical people.  As a technical person looking for a designer, how do I manage the problem? <comment><USER2> It sounds simple, but telling them you trust them to make a better product than your mockup helps a lot.

Give them creative freedom to solve your idea in their own way. You may understand the technical specifics and big picture of what you're trying to do, but acknowledging that they know their craft better than you do (that's why you're talking to them) and that you want them to design it out in the way they think is best - just saying that will go a long way. Giving them a mockup helps - but let them know you're ok with their interpretation veering from that.

Obviously if the person you're talking to is an awful designer, nothing will fix it; but if you have a good one - the ideas that will flow will make your product awesome (even if they aren't implemented in the end).

<comment><USER3> I can't agree enough. You're looking for a designer because you don't have the skills so the more you let them make informed design decisions, the better result you'll get. This doesn't mean let them do anything and use it even if you hate it but try to refrain from making design suggestions and instead ask for reasoning behind decisions you're not thrilled with. To find a good designer, try enlisting a designer to help.

</comment></comment><comment><USER4> You could try mocking out your idea using something like <http://www.balsamiq.com/> or <http://www.axure.com/> (I'm not trying to push any specific mocking software).

This allows you to describe how you want the system to behave without getting into the nitty gritty on how to make it look good: that is why these mocking systems look as pencil like as possible. Iterate with a designer a few times with these mockups.

I would also recommend showing the mockups to your stakeholders and/or customers and ask them what they think. Do they like the flow, etc.

Another advantage using mockups is that once you have your mockups finalized, you can start implementing the behavior of each mockup while the designer designs.

For this phase, I would recommend using Feature/Behavior Driven Development to drive the development of your code based on the mockups. Use Test Driven Development to fill out the units of your program.

Just a suggestion and I hope this helps.

</comment><comment><USER5> Try to communicate visually within a framework.

+1 for the idea by @ericHosick. We use balsamiq to wireframe the details. We take inputs from team to review the details of fields & overall menu placements etc.,

And then we let our designer take it up from there with freedom to come up with various options on his own within the framework. It really helps the designer to work with freedom knowing that the overall content is "almost" set and he is free to implement thoughts based on usability and design aspects.

</comment><comment><USER6> I think the first part of "looking for a designer" is the hardest and most important part. As with any profession, not all designers are created equal. I would look for a designer who emphasizes user experience, not just someone who makes pretty pictures. I would make that the first topic in any discussion with a potential designer. If they have no experience or regards to UX, then keep looking.

<comment><AUTHOR> Once you meet some designers who do have experience with UI, how do you evaluate them? It's not as hard as evaluating a programmer with no knowledge of coding - design is much less of a black box, and it's at least possible to tell when a design is bad - but how do you tell a good designer from a mediocre one, and a great designer from a good one?

<comment><USER6> I don't think there are any hard and fast rules, but I think a simple question that will give you an immediate sense on whether a designer knows their sh*t (pardon my French) is to ask them what their design process is. If there's any hesitation, or if there's a pause and you can tell they're trying to make something up as they go along, they don't have one. Move on. But just pay attention to what they're saying and you'll likely be able to tell how experienced they are and how confident they are of their skills.

Edited to add: this is where you'll find out if UX is part of their process. If they begin with things like mood boards, font selections, color palettes, look & feel, no, no and no. It needs to begin with some form of audience/customer, business goals, content strategy, user flows, functionality. Those other things come after, not first.

</comment></comment></comment><comment><USER7> Assuming you are referring to graphic design and not product design, this is how I work with a graphic designer friend on all my apps. After many iterations, we've found the method that seems to work best between us is that I code up a functional prototype and then we have frequent intense on-the-spot design sessions with a lot of back and forth. This was initially quite unnatural for my friend, who preferred doing elaborate design explorations on his own, but we now agree this new method works best.

The reason I like to work like this is because until I work out how the software use actually flows, it's pointless to make it look shiny. And working out that flow itself is a rapid iterative process, which changes the UI many times over. I hate to make my friend design stuff which I will then throw away the next day, although some of that is inevitable.

Over time as the design gets clearer, we work out a visual grammar of sorts, which I can then just draw from as I build more features.

See <http://giniji.com> for an example of a work-in-progress.</comment>


AWS Amplify Console - <AUTHOR> http://console.amplify.aws <comment><USER2> What does this add over the MobileHub?

<comment><USER3> [https://aws.amazon.com/amplify/faqs/](https://aws.amazon.com/amplify/faqs/)

<comment><USER2> Oh I know Amplify, I just wanted to know what this console brings :)

<comment><USER4> Mobile Hub is now part of AWS Amplify. The Console brings continuous deployment and hosting (with features like easy custom domain setup, atomic deploys, rewrites/redirects, feature branch environments) to Amplify.

<comment><USER2> Ah, nice!

Is this also available via the CLI?

<comment><USER3> Yeah there was actually a blog on this: [https://aws.amazon.com/blogs/mobile/aws-mobile-gets- amplifie...](https://aws.amazon.com/blogs/mobile/aws-mobile-gets-amplified/)

"What's happening with AWS Mobile Hub?

In the three years since we introduced AWS Mobile Hub, we've spoken to many developers. We listened to the feedback about what was difficult or confusing about developing mobile and web applications within the AWS ecosystem, and distilled that down to two problems:

Provisioning and maintenance of the mobile backend. Solved by using the Amplify CLI. Secure hosting and continuous deployment of web applications. Solved by using AWS Amplify Console. We took the great things that AWS Mobile Hub offered and added them to the Amplify CLI and the AWS Amplify Console. All of AWS Mobile Hub's functionality and much more, are now part of AWS Amplify. Over the coming months, we will be encouraging all our developers to move their apps from AWS Mobile Hub to AWS Amplify."</comment></comment></comment></comment></comment></comment>


On dashes, hyphens, and other important aspects of life. - <AUTHOR> https://medium.com/typography/989bb7902cf3 <comment><USER2> That guy's wrong about double-hyphens. That's historically been MLA and APA style for an em dash, and it's also an adequate substitute in cases where the full em dash is unavailable or when the software doesn't support extended characters. Sounds lame, but it happens. The company I work for has an e-mail provider that doesn't support extended characters at all. Dashes, curly quotes, ellipses — all of those turn to gobblety-goop. So we have to use alternatives.

It's also worth noting that the em dash is used primarily for apposition, not simply as a pause in the sentence and not as a replacement for a conjunction.</comment>


Ask HN: Where does one find a remarkable designer co-founder? - <AUTHOR>

My partner and I have worked together for while now, both in grad school and on our startup projects. We have a reasonable amount of industry experience and get along very well. We're both rather technical, each focusing on different parts of the stack, both decent at hustling and customer development (although we've only done the latter for a limited amount of time, so we're still learning a lot as we go)
We are somewhat lacking from the design standpoint: our web / graphic / interaction design is at best "meh". The best solution out there will unfortunately often fall flat if presented inadequately. At this stage we believe in keeping the team to at most 3 people, and that we would be at the strongest with an additional designer-founder.
We would love to find a 3rd founder (SF area, although remote could work) who would take full ownership of the aesthetics of any project we undertake. He/she would own everything, from the logo of the product, to the optimal screenflow, to the pitch deck, to the MVP video. Nobody already knows everything, we certainly learn a lot as we go, but it'd still have to be someone extremely competent and flexible.
Where do we go about finding this unicorn? I feel like the problem is that as techies we're stuck in the universe of developers, with very little intermingling with the art people. It's similar to when business people complain about never finding available developers to work with (I, for example, know tons, but that's because most of my network is made of developers).
Are there online hangouts for that kind of folks? Meetups? Anywhere else where we could locate someone like that?
Thanks a lot! <comment><USER2> As a UI designer, let me speak for most of the designers out there. Designers =! Tech people. Probably they will know some html, css and hopefully js with a little understanding of php. (Man, that's a keeper!) BUT, in order to actually "pick up" a talented designer you need to "paint" your idea in a different way that you are already telling it. What I mean by that. We, designers don't have our logical part of our brain developed as well as you have, so what I'm saying by this is you need to figure out a more "emotional"/creative way to sell your idea to the designers. For instance you can tell them "how this ugly ass looking app made millions or had so many people using it".

<comment><AUTHOR> Great advice, thanks!

On the skillset note, having never worked very closely with real web designers, what should be my expectations? Is it realistic to be looking for someone who's both artistically capable and is great at the technologies you mentioned?

We can generally take care of anything on the front-end that's code related, but we basically don't have a good sense of aesthetics, color, style and so on. If you can draw something, we can most likely stitch it together on the site/app/whatever.

<comment><USER2> I believ "Not all designers are created equal". For instance, I have a very deep understanding of SEO, some dont. Some may code much better than I do, some are better at illustrations, some are better at web and some are better at iOS designing.

Simply check their portfolio and see if you "match" his or her style. If you are into minimalism you dont want to work with a designer that really likes to put tons of fancy effects on their design.

</comment></comment></comment><comment><USER3> If I was in the SF area I would be contacting you. This description is very enticing for someone like me, and I know I'm no unicorn. Good luck finding a person in in your area! Keep putting your feelers out, just like this post.. Look for a unique individual work you love, (who is also in your area) on sites like Dribbble.com and Behance.net.

Reach out to that individual and kiss their ass, maybe you'll find someone "remarkable" enough for you ;)

</comment><comment><USER4> I think you might be discounting the potential for finding that co-founder here on Ask HN. Consider adding an email address to your profile.

<comment><AUTHOR> Touche'. Thanks for the tip.

</comment></comment><comment><USER5> I propose <http://dribbble.com/>, <http://zerply.com/> and this brand new social network for professionals : <http://www.linkedin.com/> :)

</comment><comment><USER6> I found a phoenix on Zaarly.</comment>


Spuds with everything - <AUTHOR> https://thecritic.co.uk/issues/july-august-2020/spuds-with-everything/ <comment><USER2> Anyone have any small scale potato harvest success stories?</comment>


Object-Oriented Game Design - <AUTHOR> http://www.devmaster.net/articles/oo-game-design/

<comment><USER2> I guess I was under the impression that most sane game programmers -did- use OO for game programming. At least these days.

<comment><USER3> It looks to me that a lot of game programmers are moving away from OO in favour of data-oriented approaches, emphasizing things like structures of arrays (while OOP more or less emphasizes arrays of structures), entity systems (they are becoming increasingly popular, a lot of engines now contain some kind of ES layer) and other similar concepts.

Why? Because OO isn't a perfect fit to modern hardware, is often not the most cache or out-of-order-execution friendly way to organise code and data, doesn't lend itself well to parallelism and isn't suited for stream processors (GPU, PS3's SPEs...)

Actually, the PS3 pretty much forces data to be organised in structures of arrays for the SPEs, as far as I know.

So, yes, as far as I can tell, games do use some form of OO these days, but they also seem to be moving more and more to a data-oriented parallel/streamcache friendly non-OO architecture. I don't think OOP will be forgotten any time soon, of course, as it is still a useful means of modelling games and code, but I do think OO will become increasingly less important.

[http://research.scee.net/files/presentations/gcapaustralia09...](http://research.scee.net/files/presentations/gcapaustralia09/Pitfalls_of_Object_Oriented_Programming_GCAP_09.pdf)

<http://gamesfromwithin.com/category/data-oriented-design>

[http://t-machine.org/index.php/2007/09/03/entity-systems- are...](http://t-machine.org/index.php/2007/09/03/entity-systems-are-the- future-of-mmog-development-part-1/)

<http://entity-systems.wikidot.com/start>

<http://justinliew.com/blog/?p=2890>

</comment></comment><comment><USER4> For anyone interested in this, David Eberly's series on 3D engine architecture and design are great resources that include working code, theoretical overview and insights about data structures and composition:

<http://www.amazon.com/David-H.-Eberly/e/B001IQW5L2/></comment>


Show HN: Stream – Twitter Firehose for iPhone - <AUTHOR> https://itunes.apple.com/app/stream-for-twitter/id1053443074 <comment><AUTHOR> Hi, developer here!

I've always enjoyed Live Data Visualization [1].

Last year I bought my first macbook and started learning Swift and iOS App Development. After 3 months my app was ready and after _3 more months_ [2] the app is finally live on the App Store!

Stream for Twitter shows you new Tweets LIVE from all over the world: just input anything you're interested in and let the Stream flow.

Any feedback is welcome, thanks!

[1]: [https://www.reddit.com/r/dataisbeautiful/comments/435g7b/i_l...](https://www.reddit.com/r/dataisbeautiful/comments/435g7b/i_love_live_data_visualizations_heres_every_one/)

[2]: [https://medium.com/kimchi-media/my-first-app-journey-to- the-...](https://medium.com/kimchi-media/my-first-app-journey-to-the-apple- store-44c764042960#.82toi9whw)

</comment><comment> atom-x "Twitter Firehose for iPhone" is really a misnomer. There is no way that this is a true implementation of a realtime feed of the full Twitter data stream...

<comment><AUTHOR> Hi atom-x, thanks for your interest!

It actually really is what the title says: you can have a look at the public Twitter Streaming API here [1].

Obviously you won't receive 100% of Twitter's Tweets (I dare any iPhone to receive _every_ Tweet that contains the character 'o' in real time, for example) but as many Tweets as Twitter Servers decide to send you (depending on multiple factors, not publicly known, but I guess your connection speed is one).

Also you won't receive 100% of the Tweets because you have to pay Twitter for that service. Still, you'll get plenty of new Tweets live: just give it a try! It's quite cool to see it in action [2].

I'm happy to answer to any other of your concerns :)

[1]: [https://dev.twitter.com/streaming/overview](https://dev.twitter.com/streaming/overview)

[2]: [https://www.youtube.com/watch?v=756d2fXJjas](https://www.youtube.com/watch?v=756d2fXJjas)</comment></comment>


Confessions of a Necromancer - <AUTHOR> http://hintjens.com/blog:125 <comment><USER2> Great content, specially for those who are in a similar path.

<comment><USER3> It's very long because I didn't have time to write a short version.

<comment><USER4> Covering ~35 years, there's already a pretty high compression ratio even without zipping the text.</comment></comment></comment>


UNSW researchers set record in solar energy efficiency - <AUTHOR> http://newsroom.unsw.edu.au/news/science-technology/unsw-researchers-set-world-record-solar-energy-efficiency <comment><USER2> Much better source, which means, the journalist who actually checks and provides the sources and doesn't just retype the press release of UNSW is here:

[http://www.semiconductor- today.com/news_items/2014/DEC/unsw_...](http://www.semiconductor- today.com/news_items/2014/DEC/unsw_121214.shtml)

"This exceeds the record solar photovoltaic module efficiency of 36.7% reported in July by Fraunhofer Institute for Solar Energy Systems ISE of Freiburg, Germany, using four-junction solar cells of concentrated photovoltaic (CPV) solar system maker Soitec of Bernin, France. The 40% efficiency is the latest achievement by UNSW solar researchers spanning four decades, including the first photovoltaic system with over 20% efficiency in 1989."

"The new results are based on the use of focused sunlight, and are particularly relevant to photovoltaic power towers being developed in Australia" (note the comment from adwn here about that!)

The general and technical background of his field was delivered by the UNSW's leading researcher here:

[https://www.youtube.com/watch?v=FomSzmIezVQ](https://www.youtube.com/watch?v=FomSzmIezVQ)

<comment><USER3> Life imitating art. [https://www.google.com/search?espv=2&q=helios+one](https://www.google.com/search?espv=2&q=helios+one)

<comment><USER4> Actually HELIOS One was based on [http://en.wikipedia.org/wiki/The_Solar_Project](http://en.wikipedia.org/wiki/The_Solar_Project) .

</comment></comment></comment><comment><USER5> From the original press release ([http://newsroom.unsw.edu.au/news/science- technology/unsw-res...](http://newsroom.unsw.edu.au/news/science- technology/unsw-researchers-set-world-record-solar-energy-efficiency)):

 _" The new results are based on the use of focused sunlight [...]"_

So it has the usual drawbacks of focused photovoltaics: you need tracking in two dimensions, scaffolding, and active cooling of the PV cells.

<comment><USER6> Exactly, and what does '40%' conversion mean in this case? Are you collecting twice as much light and focussing it on half the number of cells? Or is there a silicon junction that can convert 40% of the light energy that is incident on it?

<comment><USER5> > _Or is there a silicon junction that can convert 40% of the light energy > that is incident on it?_

This. The main benefit of concentrated solar power is that the area of the photovoltaic cells can be a lot smaller than the area of the collector (on the order of 100-1000 times). This in turn allows having expensive, but highly efficient PV cells, so you can convert 40% of the insolation on a given area to electricity, instead of only 20%.

A side-benefit is that you can actually use the waste heat from cooling the cells. The ETH Zürich is doing research on this, I think.

</comment></comment></comment><comment><USER7> We've gotten above 40% before... [http://upload.wikimedia.org/wikipedia/commons/a/a5/PVeff%28r...](http://upload.wikimedia.org/wikipedia/commons/a/a5/PVeff%28rev141208%29.jpg)

<comment><USER8> "We used commercial solar cells, but in a new way, so these efficiency improvements are readily accessible to the solar industry,"

<comment><USER7> Thank you, I knew I had to have overlooked some aspect.

</comment></comment></comment><comment><USER9> Slowly but surely we're getting there. I look forward to an inevitable time in the future where the yield will be great and we'll know how to deal with the panels (how to recycle them, etc). It'll be grand.

<comment><USER10> This is why I've always dismissed and gotten annoyed by comments from fossil or nuclear lovers who were saying for years that "solar is just not there". Of course solar wasn't there where there wasn't even a tiny fraction of investment into it as there is for fossils or nuclear. Put tens of billions of dollars into researching solar, and let's see what we get then.

<comment><USER11> In recent decades renewable have enjoyed much more investment than nuclear. People love renewables, so governments love renewables, so industry builds renewables.

However, they aren't going to displace coal any time soon, which is what we need to do to avoid the catastrophe we're heading for.

Transmission, storage and integration are all problems that will certainly be solved, with time and many billions spent on research and new infrastructure. Nuclear gives us drop-in zero-carbon replacements for coal plants _today_ , without major changes to existing grids.

If we're going to avoid disaster, 0% fossil fuels must take priority over 100% renewables. I hope and pray that the green movement embraces nuclear as a brother in arms soon.

<comment><USER12> The green movement will not embrace nuclear for two reasons: One is that nuclear produces highly toxic waste with a very long half life. And two, we have already seen that we are not good at making our sites safe and resilient to disaster, nor containing waste post disasters.

It is really to bad because without these facts nuclear would have solved our energy problems long ago.

</comment></comment></comment></comment><comment><USER13> Instead of electrical or equivalent power efficiency numbers I would like to see benchmarks in terms of $ per KwH after installation. Or in other terms what would be the current sunk cost to get to 40% efficiency.

I mean no disrespect to the scientists and engineers that are working on solar efficiency. They are doing amazing work. I think journalists are seizing headlines for sensational value (i.e. ad revenue) and not doing worthy research.

<comment><USER14> There is no way to actually calculate that based on lab results. So, it would just end up as a question of who was willing to fudge the numbers more.

</comment></comment><comment><USER15> I can't quite grasp this - 40% to what?

Availability of photons?

What is 20% vs 40%? Same size cell putting out twice the power for the same sunlight? Okay, but what makes the 20% ?

<comment><USER16> 40% of the total electromagnetic radiation that reaches the cell is converted to electricity.

<comment><USER17> What happens with the other 60%? Turns into heat and/or is reflected?

<comment><USER18> Yup, same as solar energy hitting any surface. It becomes heat.

<comment><USER19> ...or is reflected off...

</comment></comment></comment></comment></comment><comment><USER20> I don't understand exactly what the purpose of the bandpass filter is. Why does it improve efficiency by only allowing transmission of frequencies that can actually be converted to electricity by the photovoltaics? Wouldn't that light already be falling on the cells? My best guess is that by using the bandpass filter, the temperature of the panels is lower than it would be without them.

<comment><USER21> There was an interesting discussion about this exact topic on /r/science [1]. Layperson me's (likely mis-)translation of what they were talking about in that thread: the optical bandpass filter might not be a filter in front of all the cells, but the actual cells themselves; or the optical bandpass filter might be on the backs of the cells, reflecting what wavelengths would normally heat up the cells onto a solar thermal collection mechanism.

The concentrated PV+solar thermal designs can get pretty intense: the high concentration designs use liquid metal to carry away a 1600°C heat difference. [2] If the UNSW team has hit upon a way to avoid most of that heat from hitting the cells themselves and redirect it straight into the thermal collection system, instead of trying to absorb the heat away from the cells through thermal conduction, then that is a big win.

[1] [http://www.reddit.com/r/science/comments/2okaxt/researchers_...](http://www.reddit.com/r/science/comments/2okaxt/researchers_convert_sunlight_to_electricity_with/)

[2] [http://www.greenrhinoenergy.com/solar/technologies/pv_concen...](http://www.greenrhinoenergy.com/solar/technologies/pv_concentration.php)

</comment></comment><comment><USER22> Solar panels (stock image). Find the rest of our content somewhere after this pointless image. It's not even an ad...

</comment><comment><USER23> This article is rather lacking in details.

</comment><comment><USER24> Is this an end of the year cause to show what scientist are doing with grants?

This month we have had so many "Breakthrough" Scientific articles that basically don't match up.

We had super conductor that wasn't 0 Celsius for room temperature. That would be a game changer.

This is focused light requiring active cooling and X and Y axis control.

Graphene article that actually shows that the title wasn't true since we are still at the beginning of the graphene stages without much real world impact.

We also had the carbon filters for use around the world that also is far from being practical or usable yet contrary to its title.</comment>


A new way to do code reviews - <AUTHOR> http://www.codebrag.com

<comment><USER2> All the code review tools focus on commits, which is probably the most common use case.

Is anyone aware of tools that let me do the code reviews of the whole code base in a simple way? I don't want to focus on the commits/pull-requests in this case.

<comment><USER3> We created one in-house in GWT in which a whole project review is quick to setup but the development is in halt. The UI would need some love, and unfortunately there's other things to do.

<comment><USER2> Sounds interesting. I'd be interested to see some screenshots of how you approached the problem.

</comment></comment></comment><comment><AUTHOR> Hey guys, We are developing a tool for the developers, which will simplify the process of code reviews, but also make it more social. We would appreciate your feedback.</comment>


YC CEO: "Not Drowning in Demand? You Don't Have Product-Market Fit" (2017) - <AUTHOR> https://capitalandgrowth.org/michael-seibel/ <comment><USER2> This is 80% advice. 80% of the time it is good advice. Like "you don't have to wear a raincoat today". YMMV.

</comment><comment><USER3> There was overwhelming demand for faster horses, not cars, when the car was invented.

The more interesting things are done technology push, not pull.

</comment><comment><USER4> ... or you haven't figured out how to reach potential customers!

<comment><USER5> Or customers don't _yet_ know they need your product</comment></comment>


Run Docker on any OS in a Headless Hypervisor - <AUTHOR> http://continuousdelivery.uglyduckling.nl/docker/run-docker-on-any-os-in-a-headless-hypervisor/

<comment><USER2> This is exactly what boot2docker[1] is set to achieve. It's a 23mb VM that boots in 6s, based on Tiny Core Linux, and runs from RAM.

Full disclosure: is you haven't guessed it by my name, I maintain boot2docker.

[1] [https://github.com/steeve/boot2docker](https://github.com/steeve/boot2docker)</comment>


Ask HN: Any Experiences with 97cents.net Hosting? - <AUTHOR>

I just came across this hosting provider being recommended for tight budgets. It's no-frills non-static website hosting, which is what I'm after. But the old saying "You get what you pay for" comes to mind. Unsure if I would run into annoyances if I were to go this route. Their promises are nice, for such a rate. I'd just like to hear from their current/former users to know what to expect.
http://www.97cents.net/
Thanks,
-c <comment><USER2> Have used them personally, support was responsive when required and the limits are more than enough for my WordPress site.

</comment><comment><AUTHOR> The voltdns behind 97cents are full-on superb support! #BiggestFan</comment>


We need to talk about AirPods Pro - <AUTHOR> https://medium.com/macoclock/we-need-to-talk-about-airpods-pro-4bbd2533e031 <comment><USER2> I'm personally a fan of the conspiracy theory that because multiple ANC products have had their abilities reduced in firmware updates over the past couple years, research teams have been independently finding out that user's hearing are being damaged by highly effective ANC and have had to turn them down without admitting fault.

Although I'm not even sure if that's how sound waves work, and recently there was Bose's investigation into their firmware update that didn't actually reduce their ANC despite user perspective. It's a fun theory up there with the fake existence of Finland.

<comment><USER3> The other option is that Bose, Sony or some other high-end audio company has a patent on whatever noise cancellation system was in place originally. A decision was made to avoid a legal battle (or a deal fell through at the last minute) and the feature was nerfed until Apple can strong arm the patent holder into a better deal.

<comment><USER4> this is exactly what happened.

<comment><USER5> source?

<comment><USER6> Finland

</comment></comment></comment></comment></comment><comment><USER7> Mine are on 2B588 and I think I bought them late enough that I never even had the original firmware to compare. I do know that when I first put them in I thought the power went out in my house (due the sudden lack of noise). I would like to know if I'm crazy or if these don't stay in ears well at all. Kind of the opposite of what you would expect from an earpod like this but I can get them to fall out in <10 seconds when eating with them in. Even when I'm not moving my jaw they have a habit of slowly sliding out.

And before I get asked about tip size, I've tried all of them and done fit tests on all of them. Fit tests always pass, and the pods always fall out. I even tried different sizes on different ears over time to compare the two but they seem to fall out at the same rate. I just (like as in 2 hours ago) broke down and bought some foam tips from Amazon to see if that helps.

It's really disappointing because my original AirPods were so magical and now I kind of don't like wearing the Pro's. I've considered more than once just buying AirPod 2's and giving up.

<comment><USER8> I've had the same issue. I've thought that maybe my ears are just too greasy. I'm constantly fidgeting with them. With the original AirPods I would forget I had them on.

They also seem to take longer to disconnect/switch to different devices.

<comment><USER7> I've has the same thought on my ears... yeah OG AirPods I would constantly forget I had them on or think I had them on, these and just a source of annoyance. I just got off a call, I was laying in bed and I had to readjust them 10+ times in the span of as many minutes... really annoying.

</comment></comment></comment><comment><USER9> > We need

I think this problem is pretty far down the list of World's Top Problems

<comment><USER10> It's an interesting hardware bug, but the author's writing and saying "This story should not be allowed to die" makes me see him as a huge self-important first world prick.

</comment></comment><comment><USER11> There has been also some comments about people feeling "pressure" with the noise cancelling headphones. Couple of old articles mentioning this [1] and [2].

It's not about pressure as having something tucked into your ears, but related to the noise cancelling: "You may notice a pressure-like feeling in your ears when you first put noise-cancelling headphones on, like when you want to 'pop' your ears. This is caused by your brain perceiving the lack of low low- frequency sound as a pressure differential between your inner and outer ear, just like when you ascend in an airplane." If you search for Airpods and pressure, there are also comments on Reddit etc. I did not investigate if those are referring to this phenomenon.

Something like this could explain why Apple would like to tweak with the noise cancelling.

[1][https://www.mcgill.ca/oss/article/did-you-know- technology/no...](https://www.mcgill.ca/oss/article/did-you-know- technology/noise-cancelling-headphones) [2] [https://www.nytimes.com/2009/12/03/technology/personaltech/0...](https://www.nytimes.com/2009/12/03/technology/personaltech/03pogue.html?mtrref=www.google.com)

<comment><USER12> I have this problem with noise canceling headphones.

When I first tried the Bose headphones, I immediately felt an uncomfortable pressure on my ear drums. I can only wear them in airplanes and have to take breaks. I tried other headphones and none are perfect for me but I did buy the Sennheiser ones. It has okay noise canceling with only minimal pressure for me and with stellar audio performance. The noise canceling is noticeably worse than the Bose's but at least I can wear them longer. I also tried the AirPod Pros when they came out and felt very little pressure so from that angle I would have been comfortable with wearing them for an extended period. (I can't say for sure but it might not have been the launch firmware) As with all Apple headphones they just don't stay in my ears so sadly I passed them up.

</comment></comment><comment><USER5> > I actually told myself I would need to be extra careful from now on crossing > the road. The noise cancellation was so good, I thought I might be hit by a > car.

Sounds like the author hasn't ever used any other good ANC cans? Both the Bose and Sony pose the same hazard.

</comment><comment><USER13> I can't imagine Scenario #1 being the issue. It should have been the first thing they looked at when designing it. If it is, it's a new level of terrible QA that Apple has been plagued with in recent years.

My lack of faith in humanity can see #4. Another great thing nerfed by dumb people.

Regardless, the firmware releases are an embarassing fiasco that demonstrates a lack of coordination and communication within Apple.

<comment><USER14> I can. Make a big splash with amazing ANC at launch, hope news media picks up stories about how awesome it is, then nerf it before that same media starts picking up stories about the crappy battery life.

</comment></comment><comment><USER12> I never noticed the "whoosh" silence with the AirPod Pros when I tried them BUT I noticed something like that on my iPhone XR. Sometimes when I am on a call and hold/press the phone to my ear in a certain way I have the sensation of losing most of my hearing in that ear with only the voice remaining. The sensation never lasts longer than a couple of seconds but it's only on phone calls that I ever noticed this. I never had that with any other smartphone, even ones claiming to have noise canceling during calls. Reading this article makes me belobe that the iPhone still has the original AirPod ANC which is just less effective due to the bad seal.

Did anyone else notice this?

</comment><comment><USER15> I've bought AirPods Pro in early November right after they were released. From my personal experience, the background firmware updates have had a very noticeable effect. I can attest to the perceived weakening of ANC (as opposed to the initial firmware) the article mentions.

One firmware update has even rendered one of my AirPods Pro practically unusable due to a strange clicking noise that would occur whenever I was walking/running with ANC enabled, likely due to accelerations acting upon it. I was convinced it was a hardware fault and was ready to return them until another firmware update fixed the problem (until now at least).

</comment><comment><USER16> Maybe litigation about the earbuds being too quiet might happen if someone doesn't hear something behind them like a car horn or oncoming something. I used to wear noise cancelling headphones while walking to work in downtown SF. It was too much cancellation that bothered me because I couldn't hear anything approaching me from behind. I can easily see the opposite happen if someone was killed with the OG firmware. "Are AirPods too quiet? Do they put you at risk?"

<comment><USER17> Wouldn't that also apply to earplugs?

<comment><USER16> I don't know. I'm not Apple's lawyers.

I would assume wearing earplugs you have the intent of reducing the sound coming in. AirPods you are blocking external sound and replacing it with audio of some sort.

With earplugs you could still hear things but at a reduced level. AirPods you're covering up and external sound that could come through.

</comment></comment></comment><comment><USER18> I got a pair of Pros as soon as they came out. The fit was weird (maybe I got used to regular Airpods), but what made me return them is I ALWAYS got nausea after a few minutes with the noise cancelling turned on. It's anecdotal of course, but maybe there was something on v1 that added latency/something to the external noise, thus inducing motion sickness? (Never got to try the new firmware to confirm the theory)

</comment><comment><USER19> Ive stopped buying anything with non replaceable batteries after noticing how much junk I accumulated just coz the batteries died. Anyone know of good bluetooth receivers (the types that clip to your pocket) that take an AA or AAA battery?

I am just absolutely fed up of the battery situation. By the time the devices are broken in and you are comfortable, it's time to buy another pair. I am not that rich.

</comment><comment><USER20> I got mine in December (I believe this means I had the "bad" firmware), but I still loved them immediately.

However, about 1 month later I noticed that noise cancelling (and passthrough as well, which was even more annoying) wasn't really working on one side. I tried factory-resetting them, tried everything I could think of, and nothing helped. So I scheduled an Apple Store appointment. To Apple's credit, they replaced the one on the side that wasn't working, for free, with very few questions asked.

However, that's when things got weird.

Now the older one wasn't cancelling/passing-through as well as the brand new one. It was doing _something_ , just not as much, which led to a really distracting audible asymmetry. This was confirmed by the fit test not working in just that one ear. Again I tried updating the firmware, factory-resetting, etc.

Eventually I found this thread on MacRumors: [https://forums.macrumors.com/threads/airpod-pro-ear-tip- fit-...](https://forums.macrumors.com/threads/airpod-pro-ear-tip-fit-test-not- working-not-the-only-one.2208392/post-27997343)

tl;dr, it seems that some of the meshed gaps/microphones the Airpods Pro use to calibrate their various special audio features get very easily clogged by ear wax, skin oil, etc. And they're extremely sensitive to this, to the point where you have to clean them out very frequently to prevent degradation. I went through and rigorously cleaned them - rubbing alcohol, cotton swaps, etc. - and even then mine still have problems. The only way I can prevent the asymmetry it is to turn off the "active sound" features altogether. But this means that not only don't I get full noise-cancelling, I can't even safely use them just to listen to music in any spaces where I need to be able to hear my surroundings. They are now _worse_ than the regular Airpods that I gave up when I got them.

This is completely unacceptable for a product that costs $250, but at this point I'm exasperated. I'm tired of going to the Apple Store, and it's presumably not even open right now with the virus going. I wish I could just turn them in and get a refund, but I think it's been too long. If I could do that I'd probably even buy a new pair of the regular ones and just go back to those; mine had worked mostly without problems for over a year. At this point I don't know what to do about it all except hope there's a recall-like process like they did with the butterfly keyboards.

<comment><USER21> Some credit cards offer extended warranties - maybe worth a look if the card you purchased with offers some sort of purchase protection. You'd need the receipt, of course.

<comment><USER20> Alas, they were a gift :/

</comment></comment></comment><comment><USER22> > AirPods firmware updates happen automatically. And unlike with iOS and macOS > updates, they can't be stopped. You're getting the update whether you like > it or not.</comment>


Risk of Acute MI After the Death of a Significant Person in One's Life (2012) - <AUTHOR> https://ahajournals.org/doi/full/10.1161/circulationaha.111.061770 <comment><USER2> Can we change "Acute MI" to "heart attack" in the title? "MI" isn't necessary straightforward to understand even for those that are aware of what myocardial infarction is.

<comment><AUTHOR> Original title as published in Circulation: "Acute Myocardial Infarction." HN 80 character title limit forced me to abbreviate it.

<comment><USER3> Changing "Acute MI" to "heart attack" and deleting "the" would work.

<comment><AUTHOR> At the price of making the rhythm of the title less pleasing.

<comment><USER4> What's the point of a pleasing rhythm if its not clear what its about. If I'm just scrolling through the front page and I don't understand what a title means, I often don't even bother. Clarity first, aesthetics second.

<comment><USER5> Clarity is an aesthetic. Rhythm contributes to clarity.

</comment></comment></comment></comment></comment></comment><comment><USER6> My dad has this happen shortly after Christmas the year my mom died. They'd been together nearly 50 years, and I don't think he ever really considered that she might die first. After Christmas, after we kids had all gone home, he woke up one morning knowing something wasn't right. He took some aspirin, and drove himself to the hospital. He'd had a massive heart attack, and was in that mid-60's age range where they often kill you. His doctor asked him if he believed in the afterlife, and told him if he did, he must've had someone looking out for him, because he was very lucky to survive. I think a few other things may have contributed, like the fact he was very athletic most of his life, to the point his heart was more efficient than most, and that he helped take care of one of his grandkids regularly, which gave him a reason to want to continue on.

</comment><comment><USER7> There is a TED talk titled "How to make stress your friend" [1]. It quotes several studies that indicate those who believe their stress response is helpful for them (it is the body gearing up for an important challenge, etc.) have significantly lower risk of a stress-induced medical problem, perhaps even as low as those who had minimal stress levels. The talk also mentions a study that found those who spend time helping others also received similar benefits.

I'd love to learn more about these ideas and the extent to which it is true. It definitely make some sense to me, but I still have a bit of skepticism. Anecdotally, I did feel less anxious than usual in the days after I first watched the video.

[1] [https://m.youtube.com/watch?v=RcGyVTAoXEU](https://m.youtube.com/watch?v=RcGyVTAoXEU)

<comment><USER8> I saw this talk years ago and it had a profound effect on me. Every time the stress gets overwhelming, I try to identify the reasons behind it, and channel it towards my biggest concern. The stress hasn't changed, but my ability to manage it certainly improved after taking on the mindset of "my body is responding this way to help me achieve my tasks".

In a similar vein, pill bottles labeled "placebo" are helpful treatments [0], which goes further to show our minds and bodies are very interconnected. [https://time.com/5375724/placebo-bill-health- problems/](https://time.com/5375724/placebo-bill-health-problems/)

</comment></comment><comment><USER9> This confirms similar observations that have been made since the 1960s: many kinds of stressful life events elevate the risks of getting many kinds of illnesses.

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

</comment><comment><USER10> Wow... literally dying of a broken heart. :(

<comment><USER11> Also called "taktsubo cardiomyopathy" or "heartbreak syndrome".

<comment><AUTHOR> [https://www.health.harvard.edu/heart-health/takotsubo- cardio...](https://www.health.harvard.edu/heart-health/takotsubo- cardiomyopathy-broken-heart-syndrome)</comment></comment></comment>


Steve Blank: Don't Be the Next Intel - <AUTHOR> https://medium.com/startup-grind/dont-be-the-next-intel-what-huge-companies-must-do-to-avoid-being-disrupted-9c8671336a14#.ecuyleoo9 <comment><USER2> Big companies can do things smaller companies can't do.

The only company that makes server chips that are truly competitive with Intel now is IBM. Big company.

ARM based chips come from a complex ecosystem that involves big companies. (i.e. Softbank bought ARM for $30B, Apple develops chips, phone modems come from Qualcomm, you get your chips fabbed at TSMC or Samsung...)

I know somebody who has an innovative but risky idea for a new kind of parallel processor. He is looking at a budget in the $10M-$50M range depending on if he's making an FPGA or ASIC design.

Nobody is going to give him that kind of money unless he's got a customer lined up.

Intel on the other hand can soak $200M into a risky chip, and pretty frequently does. In fact, Intel can make multiple generations of a chip when the first generation fails in the market.

Big companies regularly lay off 10% of their work force; it isn't necessary a sign of real trouble.

There are plenty of business ideas that can be done on the small but some ideas take big money; look at Magic Leap, which got $1.4B of investment (not valuation!)

</comment><comment><USER3> way to take some facts and complete rearrange them to fit your narrative. ARM was founded in 1990 and Nvidia 1993. Probably a good 15 years before the market found it's way to their technology. Also I doubt if Apple hadn't picked ARM as a supplier would we be having this conversation about them. Also, Tesla is building a giga factory which would be much closer to intel's business model than any other. None of which supports or doesn't lean methodology. If your a giant company, a good model to look at is facebook and microsoft. Buy competitors before they become dominate.</comment>


The Art of Debating for Software Developers - <AUTHOR> https://thevaluable.dev/guide-debate-software-developer-skill/ <comment><USER2> Observation: rigorous debate, the kind of debate that generates advances in understanding and better software, involves LISTENING to the one I'm debating. It involves thinking "This person I'm talking to could be at least partially right".

The article linked here is actually about the art of rhetoric: about convincing someone I'm right. And, as it happens, it's mostly about marshaling my arguments about why I'm right and biding my time. Those are good. But in a good debate, both I and the person I'm debating marshal our arguments.

The old slogan is true: we have two ears and only one mouth. Listen more, talk less.

<comment><USER3> I've always believed that you should adopt the attitude that winning an argument is a waste of time. If you win an argument, you don't know any more than you knew before the argument. You should always go into an argument with the goal to lose because losing means you're marginally smarter now than you were before.

<comment><USER4> My goal in an argument is not to _win_ or _lose_.

My goal is to come out with a plan that works best. That almost always involves taking criticism and advice into consideration, and sometimes involves not doing things my way. Sometimes I'm even completely wrong. But sometimes I'm completely right. There's no way to _know_ before having the "argument".

<comment><USER5> That's not an argument though, that's a discussion.

<comment><USER6> A good argument is nothing but a discussion.

<comment><USER5> I just mean that having a technical discussion is not an argument. There will be disagreements, but that doesn't make it an argument unless someone involved is taking things too far.

<comment><USER6> There is another sense of the word argument where it simply means a well reasoned defence of something. This is the sense in which it is used within Philosophy and Mathematics.

<comment><USER5> fair enough.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER7> If your goal is to convince people and agree with your position, feel free to read the article but understand this is getting you nowhere close to your goal.

Convincing people of anything at a company starts way before by building rapport with people and other techniques. It is largely proven than with most people it is your current standing, perceived intent and subtle speech/visual cues that are more important than the actual content.

Want make it more likely people agree with you? Try to be helpful, ensure people consistently think they are better off agreeing with you. Ensure people are safe investing in cooperation with you (so no talking behind their backs, ensure if somebody achieved something you will attribute it to them even if they are not present). Ensure you _listen_ to people and they don't get impression you are welcoming their point of view. Let people know when you make mistakes (I like to use this as learning opportunities). Congratulate people on their achievements even small, but never do this if you are going to sound banal.

Do this and you might be able to convince people of about everything and even if you make some mistakes they will let it slide.

(If it felt like "How to win friends and influence people" then it wasn't an accident. Developers are like any other people and same timeless tips apply.)

<comment><AUTHOR> I thought that too, till I bumped into the "I'm right and you're wrong because my ego is huge" kind of person. Even worse: when they are higher in the hierarchy, they use their power to impose whatever they want. No tests, using jQuery 'cause it's the best, microservises are good even if it's a distributed ball of mud (named after Stark Trek starships), and so on.

I agree with you in theory, but in practice, sometimes, with some people, this strategy will tend to infinity on a time scale.

<comment><USER8> Here's how you deal with someone who is "always right" and has more clout than you:

1) Try to be friendly, try to create a mentor/mentee relationship with them, and get on their good side. If that works, maybe they will be _slightly_ receptive to what you say. Regardless of the outcome, though:

2) Ultimately just do what they say.

I know that's anathema to many people in the field -- and it was a damn hard lesson for me to learn -- but you have to understand when you're picking a fight, and who stands to lose. (Hint: you're picking a fight by disagreeing with an Ego Monster, and if you have less clout than them, you're going to lose.)

By losing, maybe you'll get less favorable work and less recognition. Or maybe they will eventually "manage you out" of the organization. But you will not get what you want in any sense of the word.

Swallow your pride, go along with it, and maybe look for a workplace that's more accepting of new ideas. There is no winning.

<comment><USER9> Or the risky approach: Find someone with more clout than them that can actually listen and think. Go to them. Show them what the Ego Monster is doing, and have them get rid of the Ego Monster.

But as I said, it's very risky. You could lose your job. If the Ego Monster has a lot of clout, you might suffer permanent career damage. Think well before taking this approach. But it's the only one that offers any hope for your current workplace.

<comment><USER8> Perhaps, but as you said, do it with great care.

So many people, many of them younger, do not seem to realize there isn't an objective arbiter of what is right and wrong -- there's only politics -- and you aren't going to be rewarded for being right. And most people of higher level don't really give enough of a damn about your petty code problems (oh no, he likes inhertiance and I read something that asserts composition is better) to stick their neck out for you.

<comment><USER9> Don't do it for a petty code problem. Suck it up and deal with it if he likes a different approach than you do.

I meant it only for something big enough that it's threatening or damaging to the organization as a whole. That is, it's not just causing problems for _you_. It may not be right or wrong, but it's definitely better or worse, and not just for you. People above the Ego Monster care if the Ego Monster makes it harder for the team to deliver.

And why would it make it harder for the team to deliver? Because the Ego Monster doesn't listen, and isn't omniscient. That leads to the Ego Monster making dumb decisions - decisions that don't actually work in the real world.

<comment><USER8> That's the key difference. People will care if it actually impacts the org.

But so many juniors are convinced they need to fight seniors and management based on things they read a medium article about. I try to tell them to stop on the internet all the time. I wonder if they ever actually listen.

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> Productive workplace discussion is not "the art of debating". Just listen respectfully and ask others to do the same. If you need to convince someone of something you should be able to ask them simple questions that lead them to your opinion. If you can't do that, you might not have the better idea. This approach will convince them and let them feel that it was their idea.

Debate is structured and, importantly, proctored to adhere to a rigorous set of standards for which the participants have prepared. It is helpful on an individual level but often not a good way to inform decisions.

<comment><AUTHOR> I agree in theory, but I saw as well strong opinions held without real arguments, throwing "we always did that this way", or because the person is higher in the hierarchy so he's right. I think, in these cases, it can be useful to try at least to bring more solid arguments in the conversation.

<comment><USER11> Add to that list of strong opinions without real arguments: "It's standard/industry practise" or "because it's Agile", without a breakdown of merits as to _why_ that is.

</comment></comment></comment><comment><USER12> The allure of free speech and debate is that the best ideas win.

But what I have often found is that the best debater wins.

And some debaters are so good they can win both sides of a debate.

This wouldnt be that much of a problem if you assume verbal iq is an independent variable uniformly distributed through the population. But I have often found verbal iq is highly co-related with other biological traits and markers. This creates a biased situation where debates often lead to erroneous conclusions and bad results.

<comment><USER8> I'm not sure how much verbal IQ has to do with it. Everything in life is a matter of practice and study. For instance, there's difference in musical ability between people, but the guy who practices guitar every day is going to be better than the guy who doesn't, 100 times out of 100.

I actually have a considerably higher test verbal IQ than mathematical and have perfect verbal section test scores to show it. However, I used to really suck at debates because I was naïve and unpracticed.

I went through a few years of spending too much time on reddit, though, and now I can wallop most average people. The most important thing BY FAR is to immediately establish definitions and frame the debate. You force your opponent to operate in the tiny amount of air space that you've given them, and constrain them to talk about things that you've chosen so you probably know more about them.

<comment><USER13>
      > You force your opponent to operate in the tiny amount of air space that you've given them, and constrain them to talk about things that you've chosen so you probably know more about them.

That's a good way to repel people from ever engaging with you and instead find ways to work around you. Moreover, you can't actually "constrain" the discussion unless it's deliberately structured that way (like what lawyers do in a court).

You've got to respect and address any alternative framing that your "opponent" is operating under, they're not going to comply with an arbitrary framing of an argument that you provide, just because.

<comment><USER8> I find it's pretty easy to frame the debate, generally, though. When they bring up off-topic points, you say "There's plenty of room to discuss those issues you brought up, but I'm still interested in your thoughts on my original question."

Now, you become an annoying ass when you try to turn every discussion into a debate, and try to win every time. Don't do that. Sometimes it's better to let other people win or just feel heard. But if you want to win, that's how you do it.

<comment><USER13>
      > ... you say "There's plenty of room to discuss those issues you brought up, but I'm still interested in your thoughts on my original question."

But you just said your M.O. is to deliberately force the opponent to operate in a "tiny airspace" that you define. So, there's _not really_ "plenty of room" to discuss those issues they brought up.

That pisses people off, it's seen as an aggressive move and can easily backfire.

Framing the debate is perhaps the most difficult task towards "winning" a debate.

<comment><USER8> I think you might be misinterpreting what I'm actually describing. I agree -- you should not try to debate people in casual conversation with the goal of winning. Even if they're logically incorrect in a few places, their underlying values are still valid, so you need to work with them to find a solution that works for everyone.

Trying to "win" can definitely backfire, so you should do it sparingly. In truth, the only place I really debate people is on the internet, most visibly with my pro-Trump relatives on Facebook :).

However, the person I was responding to was talking about "how to win debates," and that's how you do it. Yes, if you want to win, you do need to be hard nosed and aggressive (I prefer gently guiding them down the garden path until they realize it's too late to turn back). _Whether or not you should do_ it is a different point entirely, and to be frank, I completely agree with you there.

(Meta note: do you see how I'm actually making a belated attempt to frame the debate right here, and it's not necessarily as aggressive as I describe? Really sometimes it's just needed to establish clarity.)

</comment></comment></comment></comment></comment></comment><comment><USER14> I initially read the title as The Art of Debating Software Developers. Which I would also find very interesting.

<comment><USER15> Do they make the art while debating? It seems the debating would distract from the painting (or poetry, or music, etc)

Maybe it's art _about_ debating software developers? You could probably write a good short story about it.

<comment><USER16> The prize for winning is several software developers.

</comment></comment></comment><comment><USER17> Tangentially, the adage "strong opinions, weakly held" is nonsense. If you have a strong opinion, you look like a fool if you change your mind when evidence is shown to you.

It is much better to just stay humble. Show your insecurities and lack of knowledge openly and early, you'll be surprised to see how people reactions change from hostile/confrontational to outright helpful.

<comment><USER18> I've always been a fan of "strong opinions held weakly" and the rebuttals I read to it so far were, to me, weird straw man articles about assholes at work and not being one.

But your comment totally convinced me, thanks. There's no need for strong opinions, even when weakly held. It adds nothing.

Amazing how a few sentences can do more than entire blog posts sometimes.

<comment><USER19> >Amazing how a few sentences can do more than entire blog posts sometimes.

A long form article is more likely to try to make many points at the same time, some strong, some weak, some wrong ones.

Comments are usually short, making only one point. Furthermore they're sorted and filtered by popularity. This means that strong, pithy statements are displayed much more prominently.

Likewise this article could use some editing.

<comment><AUTHOR> What do you mean by "this article could use some editing"? It should have less ideas, fixing the spelling and grammar mistakes, or something else?

<comment><USER19> Spelling and grammar mistakes are one thing. Mainly though the article lacked focus.

</comment></comment></comment></comment></comment><comment><USER20> I am disappointed this article does not mention any of the philosophical theory about debates (arguments), namely the logical fallacies that are so common in all sorts of conversations/debates (straw man, ad hominem, black- and-white, authority, no-true-scotsman, fallacy-fallacy, moving goal posts, Texas-sharpshooters) as well as the types of arguments (deductive, inductive, abductive, analogy, reductio ad absurdum).

Politicians, for example, are masters in using fallacies to make arguments that less educated people find persuasive.

Here's a good video about argument types:

[https://www.youtube.com/watch?v=NKEhdsnKKHs](https://www.youtube.com/watch?v=NKEhdsnKKHs)

And this one (and follow ups) about logical fallacies:

[https://www.youtube.com/watch?v=8qb-h0sXkH4](https://www.youtube.com/watch?v=8qb-h0sXkH4)

Knowing these I think is more important than using the more vague advice this blog post mentions.

<comment><USER21> In a complex discussion, these devices are rarely useful. And the fallacies are only meant to invalidate your opponent's arguments, and sometimes incorrectly: e.g. a debate on the merits of refactoring ultimately has no logical resolution, only reasonable expectations based on experience and authority.

On contrast, the article is more about maintaining relations and work culture than deciding a debate, which is indeed vague, but at least as valuable.

<comment><USER20> > And the fallacies are only meant to invalidate your opponent's arguments

Not only your opponent's but your own also! That's very important... knowing the fallacies you're less likely to use them, which I think many people do out of their ignorance of the topic.

</comment></comment></comment><comment><USER14> While I found a lot of what's written in the article worthwhile, the advice of using argument from authority as a debating strategy is just bad.

<comment><USER22> But they aren't really advocating argument from authority e.g.

> Be careful though: not everything from evangelists will apply to your > specific problem. Don't invoke the Single Responsibility Principle spell > without any argument why it's useful and valid. Opinion leaders should > provide you these concrete arguments; if they don't, their names alone > shouldn't influence your decisions.

</comment></comment><comment><USER23> Why debate when you have the ear of the engineering manager/product manager/VP and can back channel everything without consensus among your peers? Or on the flip side, make someone's life a living hell by having a nitpick debate in a PR but act like everything is fine with the PR during meetings.

Software development has an ego problem, and I wish there were more resources out there to address it.

<comment><USER24> > Why debate when you have the ear of the engineering manager/product > manager/VP and can back channel everything without consensus among your > peers

I think this is a good point. Not everybody wants to debate and reach consensus if they can find other means.

Also, some people don't like debating because it makes them uncomfortable for some reason. Debating should be done in good faith with the goal of reaching the best outcome, but some people take it personally and see it as an attack against themselves and their values.

</comment></comment><comment> ainar-g The article mentions not taking things personally, but doesn't go into detail on _how_ are you supposed to do that. Developers, myself included, are often very passionate about their favourite tools and practices, so when the environment changes from the one that encouraged them to the one that discourages them (for example, when switching teams or when new management arrives), it may become a ticking bomb of anger and frustration for some.

On an unrelated note, the page uses:

      hyphens: auto;

Which is good, I love hyphenation! But text that is hyphenated but not justified is less legible, in my opinion. Hyphenation works best when you know where to expect it. I would add:

      text-align: justify;

<comment><AUTHOR> I'm the author of the article. I'm struggling with that myself. I don't have any solution tailored to everybody, because I think everybody is different on that. I'm the type of developer speaking loudly when I try to defend my idea, and I improved a lot over the years, but others won't have any difficulties to argue in a calm fashion, and there is a whole spectrum between.

The only things which helped me was meditation and trying, again and again, to breath and trying calm done when I see myself too passionate. But again, I think it's really personal.

Thanks for your comment on the formatting! I'll try to justify the text see how it goes.

<comment> ainar-g Thanks for the response! I almost think that during debates people should be required to breathe deeply after every couple of phrases, heh.

</comment></comment></comment><comment><USER25> > _As a general rule, when you're proven right, don't claim loudly through > your open office: "I told you so, you miserable pig! I was right! Therefore, > I curse you and all your family on three generations!"_

Well, that was unexpected

<comment><USER26> of course you just dont do that. Your boss might not be in the same office, so one should also put it in writing with boss in cc.

</comment></comment><comment><USER27> I think it's important to be wrong and have the humility and confidence to be wrong. Throughout school and, in particular, university I would often try and avoid discussion with teachers/lecturers/seminar groups etc. for fear of being wrong and for whatever judgement would follow that. Part of that was anxiety/impostor syndrome, but also condescending lecturers and teachers.

When I got to my first job, I was hugely fortunate to have colleagues that wouldn't judge anyone for their views/opinions, whether right or wrong (technically, obviously they were expected to be respectful). As such I found myself learning and growing so to such a greater extent, and quicker, in those first couple of years of employment.

It's something that goes both ways, if you're respectful and positive of colleagues who may be wrong, you'll help them to learn and develop, which in turn will contribute to a better team overall, more collaborative and more competent. I think it's especially important to try and include the quiet ones, again they may be wrong, but as long as you impress that it's fine to be wrong and work with them to improve their knowledge and understanding, that bit of extra effort will go so far.

</comment><comment><USER28> By far the most important technique for effectively engaging in such a debate is the Socratic method (AKA "precision questioning" at Microsoft - if you work there and you haven't taken this class, you should, if it's still being offered). Basically you just carefully ask questions which, little by little, bring the things to the point where both sides could accept the resolution. Note that this works both ways, and the other side could (and IMO should) do the same to you, and _you_ could very well discover that your assumptions were wrong. That way instead of engaging in a battle of egos (which almost never works), you get to engage in removing unjustified assumptions and finding the mutually acceptable solution. This does require some skill, and more so if the other side also knows these techniques, but I'd argue that this is the most respectful and effective way to argue at work, and the only one I know which nearly always produces good outcomes.

This does assume the argument is being conducted in good faith though. If it's not, you'll only irritate the opponent as their logic gaps and lack of good faith will become blindingly clear.

</comment><comment><USER29> Like many commenters here I am disappointed by the lack of emphasis in this article of listening to the other side. Which is strange because at the end it concedes that it is not about winning the argument but gaining insight, valuable ideas, a sensible course.

One of the smartest ways I know to approach a discussion with insight in mind, is called steelmanning. It is the opposite of strawmanning. In strawmanning you attack altered, weakened versions of the other side's argument. In steelmanning you attack its best, most convincing version. You even seek to corroborate the argument and verify it with your opponent before attacking it. The benefit is that you genuinely have to understand the other's arguments before arguing against them.

The following blogpost explains it very well. [https://themerelyreal.wordpress.com/2012/12/07/steelmanning/](https://themerelyreal.wordpress.com/2012/12/07/steelmanning/)

</comment><comment><USER30> > If you need to follow a golden rule when debating, take this one: don't take > it personally. In other words: don't feel attacked directly, as a person.

There are situations where you are attacked personally and need to respond. Whether the attack is direct or through sleazy implications. This is not some kind of rare occurrence, people who try to use debate to either show/gain dominance, get equal or just try to win by sleazy tactics exists. Pretending this does not exists does not make you win the debate, it makes the sleaze personal attack stick and makes you look bad (less capable or weak).

And I know, because when I was younger I listened to advice like this and that is exactly what happened.

Nowdays, I call it kindergarten rules of behavior. They sound good and are sort of what adults say to kids. Except that they assume that you are put in an idealized situation. They miss crucial "how to recognize and react when the sleazy tactic was used" and instead pretend it is not happening.

<comment><USER31> Calling out bad-faith arguments just seems to make things worse (at least in the current US political/social climate). I usually just ghost people who engage in ad hominem attacks, lies, and deception in their arguments because I have no idea what else to do.

</comment></comment><comment><USER32> I strongly disagree about quoting thought leaders as an appeal to authority. It's ok to quote thought leaders but focus on the tradeoffs. Most thought leaders embellish things for more clicks, or speak in generalizations that are easily misapplied. Telling your coworkers to do something because Martin Fowler "said so" is not a good argument

<comment><AUTHOR> I agree, I hesitated to put it in the article. I decided to do so at the end, but I've added that too:

> Be careful though: not everything from evangelists will apply to your > specific problem. Don't invoke the Single Responsibility Principle spell > without any argument why it's useful and valid. Opinion leaders should > provide you these concrete arguments; if they don't, their names alone > shouldn't influence your decisions.

</comment></comment><comment><USER33> People like to listen to charismatic people, and being one some times involves being pushy, emotional, able to dispense punishment, and throwing insults when needed.

The author sounds to me exactly like the guy who likes to run talkshops, for the sake of talkshops.

Your ideas work, if you can push them through, largely regardless of their merit.

</comment><comment><USER34> One thing I find is that academic-oriented debaters often view the criteria for the value of a tool/language/system/etc. very different than those used to thinking in terms of business (profit, resources, deadlines, etc.).

For example, assuming easy access to elite staff (dev & users) and having lots of time for perfecting a domain model is often unrealistic in business. Getting the "right" answer seems more important to them than resource constraints a typical business faces. They are perfectionists in their models and tools but not perfectionists in resource management because they either don't have enough practice there, or are rusty.

One has to agree on resource metrics up front, otherwise the debate won't get anywhere.

</comment><comment><USER11> > It's not your ideas against somebody else's anymore, it's influencer's > proven-to-be-right-ideas against ideas with less weight

Or in other words, argument from authority/popularity over ideas / merit. This is the opposite of good debate, even more so with the dubious distinction of a tech "influencer" being an authority.

By all means, borrow arguments if they are good, but please do not promote them because of who said them.

</comment><comment><USER35> The biggest mindset change is to consider a debate a problem-solving exercise where both parties are in the same team, instead of a competition with the person you are arguing with. (Same goes for arguing with significant other and to some extend, to any negotiation).

</comment><comment><USER36> The most important thing is knowing your statistics based on sources. When your opponent makes a vague claim about some increase/decrease, you ask what the precise numbers are. If they don't know, you point out that they don't know.

</comment><comment><USER37> I've observed that the ability to win a debate is often orthogonal to the ability to write good software. Both as an individual contributor and as a manager I've tried to avoid the use of debating as a decision-making tool.

</comment><comment><USER38> I like to repeat the other point of view in my own words before I offer my own. This has two effects:

1\. It ensures I actually understand the other person

2\. The other side is more likely to listen

</comment><comment><USER39> Disagree efficiently over debating. Most software choices are reversible

</comment><comment><USER40> _" Spaces instead of tabs in a codebase won't bring any value to a company."_

This is wrong. If your company is still using tabs, it is already at a competitive disadvantage. If you force me to use tabs, I will be unhappy about that, because it greatly affects the mechanical part of my work. I will perform worse at my job and probably create debates about this very issue, all the time. I _insist_ on spaces. I am the majority of programmers, because the ergonomic benefits of spaces are obvious.

If, for some odd reason, you have team members that insist _on tabs_ \- a position that I have never encountered in the wild - then make _them_ change, not me.

<comment><USER41> The most important thing about spaces vs tabs is to have consistency. If some people use tabs and some use spaces the code becomes unreadable. However, should you find yourself dropped into a codebase that uses tabs you might be wise to adopt that standard rather than argue about it. Tabs still lead to issues, but not as bad as mixed use.

<comment><USER40> > However, should you find yourself dropped into a codebase that uses tabs you > might be wise to adopt that standard rather than argue about it.

The wise thing would be to _find another job_ , because this codebase and the company that maintains it is a sinking ship.</comment></comment></comment>


TL;DR Rust - <AUTHOR> https://christine.website/blog/TLDR-rust-2020-09-19 <comment><USER2> This is the first Go-to-Rust post I've seen! Are there others? This one is especially good too, lots of practical examples with their sublety explained well.</comment>


NTSB Revokes Tesla's Party Status to March 23 Fatal Crash Investigation - <AUTHOR> https://ntsb.gov/news/press-releases/Pages/NR20180412.aspx <comment><AUTHOR> This is the official statement from NTSB following Bloomberg's earlier report: [https://www.bloomberg.com/news/articles/2018-04-12/tesla- wit...](https://www.bloomberg.com/news/articles/2018-04-12/tesla-withdraws- from-ntsb-crash-probe-over-autopilot-data-flap)

with previous discussion here: [https://news.ycombinator.com/item?id=16821054](https://news.ycombinator.com/item?id=16821054)</comment>


Inspiration vs. Imitation - <AUTHOR> http://cushionapp.com/journal/inspiration-vs-imitation/

<comment><USER2> While I do empathize with the author, all the comparison screenshots were just Bootstrap. There wasn't anything custom designed, just a few color changes. That said, it feels strange to call someone out for copying when you are just using a library that everyone else has access to.

On another note, what would be a good way to prevent something like this when inviting users in for beta?</comment>


FrostWire Team Calls It Quits After Google Deletes Android App - <AUTHOR> https://torrentfreak.com/frostwire-team-calls-it-quits-after-google-deletes-android-app-180928/ <comment><USER2> This is censorship just like removing opposing opinions for "hate speech".

<comment><AUTHOR> It might also be biased due to Google selling music off their platform. Wouldn't be surprised if other Torrent clients become targets to Google. I wish they had just republished their under F-Droid or similar.</comment></comment>


Profiling Python with cProfile - <AUTHOR> http://yrmichael.com/2014/03/08/profiling-python-with-cprofile.html

<comment><USER2> I'd say you had it right the first time with the list comprehension. List comprehensions in python are way faster than while/append loops because they're implemented in C. The issue is that you had the "not in" which is O(n) over a list (making the comprehension O(n^2) ). If the documents are hashable, I'd suggest making results a set. "not in" is constant time on a set. If a document is something not hashable, you can make results a dictionary and get the same constant time access.

In python function/method calls are expensive, so avoid them at all costs inside tight loops.

<comment><USER3> For fairly small values of "implemented in C". In CPython 2.7.5, the list comprehension

        [doc for doc in all_docs if doc not in results]

generates this bytecode (output by the dis module):

              0 BUILD_LIST               0
              3 LOAD_GLOBAL              0 (all_docs)
              6 GET_ITER
        >>    7 FOR_ITER                24 (to 34)
             10 STORE_FAST               0 (doc)
             13 LOAD_FAST                0 (doc)
             16 LOAD_GLOBAL              1 (results)
             19 COMPARE_OP               7 (not in)
             22 POP_JUMP_IF_FALSE        7
             25 LOAD_FAST                0 (doc)
             28 LIST_APPEND              2
             31 JUMP_ABSOLUTE            7
             34 (whatever comes next in the program)

Let's go through it. Instruction 0 (BUILD_LIST) makes an empty list and puts it on the stack. Instruction 3 (LOAD_GLOBAL) does a global variable lookup and puts it on the stack. (If this occurs in a function it would be a local variable lookup, but this isn't important.) Then we start iterating over an iterable with GET_ITER and FOR_ITER. In the body of the loop we use STORE_FAST to set the topmost stack value to a local variable "doc", then LOAD_FAST to grab its value and put it atop the stack, then LOAD_GLOBAL to get "results", then evaluate the "not in" with a single COMPARISON_OP bytecode, then either go to the beginning of the loop, or load doc onto the stack again and then append it to the list we're building. And then go to the beginning of the loop.

Now, let's compare with the obvious non-list-comprehension version:

        docs = []
        for doc in all_docs:
            if doc not in results:
                docs.append(doc)

This generates some similar bytecode:

             0 BUILD_LIST               0
             3 STORE_FAST               0 (docs)

             6 SETUP_LOOP              42 (to 51)
             9 LOAD_GLOBAL              0 (all_docs)
            12 GET_ITER
       >>   13 FOR_ITER                34 (to 50)
            16 STORE_FAST               1 (doc)

            19 LOAD_FAST                1 (doc)
            22 LOAD_GLOBAL              1 (results)
            25 COMPARE_OP               7 (not in)
            28 POP_JUMP_IF_FALSE       13

            31 LOAD_FAST                0 (docs)
            34 LOAD_ATTR                2 (append)
            37 LOAD_FAST                1 (doc)
            40 CALL_FUNCTION            1
            43 POP_TOP
            44 JUMP_ABSOLUTE           13
            47 JUMP_ABSOLUTE           13
       >>   50 POP_BLOCK
       >>   51 (whatever comes next in the program)

The main difference here is that there's a lot more loading and saving of variables (e.g. the "docs" variable which was implicit in the list comprehension version), and things like the docs.append() method have to be loaded each time through the loop and then called, which slows things down some compared to using a single LIST_APPEND opcode.

I'm not really going anywhere with this; I just think that interpreter internals are fun.

<comment><USER2> Nice! I knew comprehensions were faster, but apparently was mistaken as to why.

</comment></comment></comment><comment><USER4> I'm glad that there wasn't a "complain about the GIL" or "write everything in Go because Python is too slow" step in this optimization workflow

</comment><comment><USER5> Very helpful to have a UI for digging through profiler results. I use the django debug toolbar but I think your profiler will be incredibly helpful for finding bottlenecks. Thanks for posting, thanks for sharing.

<comment><USER6> Then you might _really_ enjoy runsnakerun: [http://www.vrplumber.com/programming/runsnakerun/](http://www.vrplumber.com/programming/runsnakerun/)

</comment></comment><comment><USER7> Kernprof and lineprof are also helpful.

</comment><comment><USER8> You'll perhaps take this as snark, but I am not going to read light gray text on a white background with a poorly rendered font (windows 7, firefox 27, 47yo eyes).

<comment><AUTHOR> Ahh sorry about that. I'm like the most terrible UI person. ever... thanks for the feedback. made the text darker.</comment></comment>


The Moral Animal - <AUTHOR> http://www.nytimes.com/2012/12/24/opinion/the-moral-animal.html

<comment><USER2> I always figured that religious belief might be advantageous as a sort of placebo. If you think that an omnipotent deity is on your side, you won't be paralyzed by fear on the battlefield/looking for a job/etc.

<comment><USER3> I have a pet theory that it is also driven by the subconscious memories of toddler-hood, when the world was a blurry place full of omnipotent beings that magically carried you places, took care of you and told you not to put your hand on the stove.

The article was a pisspoor knocking of strawmen and spouting one's book. The world is not being driven into the ground by individualism - it's being driven into the ground by conformism.

The voids and ennui that are an inevitable part of social change are being filled with new social behaviours and interactions - they may not completely encompass the needs of society yet, but then, religion doesn't any more, as more and more people are learning to think for themselves, rather than falling back on conformist superstitions.

Religion's time has passed, and thank goodness for that.</comment></comment>


Show HN: Feastflow – Handcrafted leads for freelance developers - <AUTHOR> https://www.feastflow.com <comment><AUTHOR> Hey guys I developed Feastflow as a way to help fullstack freelancers make more money and get more clients. I sift through hundreds of leads per day to find the handful that make it onto the list. All of the leads are projects with a budget of 5k+ and have an email attached so you can reach out right from your inbox. This allows you to add thousands of dollars per month to your bottom line without having to spend the hours to find these elusive leads.

Any feedback would be greatly appreciated as I am always trying to learn and improve the experience.</comment>


What kind of geek are you? Nerd, Badass, or Hacker? - <AUTHOR> Bazinga!
My geek lifestyle is Programmer and I love it. And you? ツ
I'm actually 43, enterprise architect... huh, really, geek you said???
Ok, on my spare time, probably like a lot of 40s, I've always wanted to do something fun, you know, like when I was a young intro maker on Amiga. I tried a few stuff, learning Swift and starting often too huge projects while having a life. But then I decided to focus on just getting real fun. That's why, last year, I started developing Geekey, a custom keyboard entirely made for "Geeks" (like me?). At start, it was just a leetspeak helper app... then I couldn't resist to do more and feel the pain with iOS keyboard (cr)API.
Last november, we launched. On ProductHunt mostly. I probably need to write a longer story post on Medium. We'll see. In the meantime, I'd love to get HackerNews community feedback on the app itself and listen to your crazy suggestions as we're already working on next release.
Geekey is a kind of "geek swiss knife". It brings pretty cool fonts in any of your apps like a ŋıƈɛ ɱɛʂʂąɠɛ, Crazy Text Effects like uʍop-ǝpısdn ƃuıʇıɹʍ, Kaomojis (‿), leetspeak, URL/HTML/BAse64 encoders, Photos as ASCII art, International/Dvorak layouts.....
Wanna try and give feedback? You can try it right now for free on the App Store: https://itunes.apple.com/app/geekey/id955821631
Or look to http://geekey.io to know more.
Feel free to ask anything (technical or personal). W00t! <comment><USER2> Looks good. Any droid development planed?

<comment><AUTHOR> Would love to but not planned, not yet. Focus first on iOS then we'll see... that said, Android keyboard API looks easier and there are probably even more geeks!</comment></comment>