Show HN: Ora.pm – New task management service - <AUTHOR> https://ora.pm <comment><USER2> Wow, this is so much better than Trello. You implement exactly what's missing: a "planning" view (Trello's card view sucks so much) and task tracking. Congratulations.

However, in order to jump there I'd need an import/export feature. Import because I can't manually add the hundreds of cards and comments I have in Trello. Export because, well, you're a startup and I want to know that if you shut down in the future at least I can export my cards and not lose data.

Are those things planned?

Edit: As general feedback, what I'm missing the most from the product are keyboard shortcuts and a sidebar to move quickly between projects.

<comment><AUTHOR> That is a good point! We have import from Trello, but no exports yet. I will add that to our product backlog. We will add more extensive keyboard support in a future update.

<comment><USER2> Hi uffo, where's the import feature? I couldn't find it.

By the way, I really liked your onboarding. Ora is more complex than other tools (since it is many tools in one) but you make a good job of explaining stuff without being too much "in your face"

</comment></comment></comment><comment><USER3> The signup experience was great! I liked the walkthrough. I'd recommend focusing a bit more on front-end performance though. Dragging cards, for example, was a quite sluggish. Especially compared to Trello. Since that's the thing that we do the most on a storyboard, it makes me want to use your product a bit less. You're also pushing >3MB of JS to the client. Consider trimming that down a bit.

<comment><AUTHOR> Thanks! Thats great advice and I absolutely agree with you. We have some plans in action for both the size and the performance of the app.

</comment></comment><comment><USER4> It looks really great. It would be nice if 2-factor authentication was standard (startup/professional) feature, now it's enterprise only.

<comment><AUTHOR> Good point! We might rethink that.

<comment><USER5> 2 Factor Authentication File encryption

Should not be a Enterprise only feature, it shouldn't be a feature at all it should be standard.

</comment></comment></comment><comment><USER6> Wow, this is incredible.

I'd love to know the following things:

1) Did you just "build it and hope they will come" because it looks like a lot of work?

2) How many of you worked on it and how long did it take you; the finish seems very high (with a few very small weirdnesses - e.g. it stopped allowing me to add new items to a checklist for some reason until I reloaded, in safari the tab crashes when switching from Kanabn view to List view).

3) What's it built in, backend and frontend wise?

4) Do you have funding?

5) I've always wanted Trello to allow me stacked lists within one column for various things (like mental models -> [http://rosenfeldmedia.com/books/mental- models/](http://rosenfeldmedia.com/books/mental-models/)), probably low on your list but for me it would be exceptional.

Thanks!

<comment><AUTHOR> Thanks! I would be happy to answer.

1) More like build it and post in HN :D (just kidding) But we are a product oriented company so we definitely do more development than marketing.

2) We are a small team of 5, it took us ruffly 2 years of development to get Ora where it is today.

3) Backend is python frontend is angular.

4) We are self funded our other app [http://protosketch.io](http://protosketch.io) pays the bills at the moment.

5) This seems pretty cool, I will add it as a feature request.

<comment><USER7> Any plans to switch to Angular 2/4 at some point?

<comment><USER8> React is going to be our next framework ply

<comment><USER9> Serious question, why would you change?

<comment><AUTHOR> AngularJS is great but not without flaws. (cough..watchers) We are either going to jump to Angular 2/4 or React

<comment><USER7> If you can spare the time, would love to hear about the decision making process when you do, if you are open to blogging about it :)

</comment></comment></comment></comment></comment></comment></comment><comment><USER10> The slider at the bottom and the sign in/sign up/reset form are very well made. That's a good design. Good job!

<comment><AUTHOR> Thanks! I made those :D

</comment></comment><comment><USER11> It's quite lovely but I personally can't stand the domain. First impression: people are launching new Perl projects in 2017?

I know that's goofy and utterly subjective, but it was still my initial thought.

<comment><USER12> Hehe for what it's worth as a Perl developer, I read that as ".ProjectManagement" but I can see your point. At ZipRecruiter we're launching stuff all the time. Builtinperl.com lists some more people chugging on quietly with Perl :).

As for the submission itself, it looks pretty good though I'm having a few navigation difficulties on my phone. My mom has been looking for a one stop todo/task/chat/trello solution so it's pretty timely that this showed up. I'm not sure that copying Slack's UI is the most cohesive way to integrate chat into the App but I can see why that would seem like an appealing choice.

<comment><AUTHOR> That was the association we were looking for :) As people that have nothing to do with perl .pm for us is short from "project management" and also we like how short our domain is.

</comment></comment></comment><comment><USER13> This looks really cool. Great job.

One tiny bit of UX feedback... on the pricing page the slider and what the slider changes are too far apart. It took me a while of sliding to figure out it was changing the user count. At first glance it looked like it was changing price (and why would I want to slide price up!)

Also, I'm confused why that one guy is standing off to the right in the homepage graphic. Is that supposed to be me (the manager) just sitting there drinking coffee while the team does real work? :-P

<comment><AUTHOR> Yes, that's you :) Enjoying the life (coffee) while your team is super optimized because they use Ora

</comment></comment><comment><USER14> I noticed a few typos here and there (submitted corrections using Send Feedback) but overall, I like it.

There've been a few services I've tried to use that blended different styles (To Do, Kanban etc) but I found most of them a bit lacking.

I guess it's one of those things where I kind of would want everything including the kitchen sink (or in this case, time tracking, Github integration and so on.

Anyway, I look forward to trying it out with some personal projects

<comment><AUTHOR> Someone send really long email with typos from a "private" email was that you? If so thank you! I think we fixed all typos.

</comment></comment><comment><USER15> On your pricing page it mentions 'basic' add-ons and integrations and 'advanced' add-ons and integrations. What are these? I cannot find any other reference to these on your site.

<comment><AUTHOR> Some future advanced features will be available only to the paid plans. Right now everything is available to everyone. Main restriction in place is the number of allowed users on a free project. (3)

</comment></comment><comment><USER16> Is there an API (even in beta)?

I was going to use Trello for something but I would be happy to give this a shot instead, I did want something more customizable and this seems to be fit that bill (I signed up and everything).

Thanks!

<comment><USER17> An API is a part of our roadmap, but currently we have a lot of features that people would like to see, and we cannot focus on it.

</comment></comment><comment><USER18> would be nice to have gitlab integration as well

<comment><AUTHOR> I will add that to our backlog.

<comment><USER19> And matrix.org? :>

</comment></comment></comment><comment><USER20> Site looks really nice (although I'm getting tired of all this cutesy stuff) - but I found the horizontal scrolling on the main project view a bit strange. And no drag-and-drop?

It looks like you guys have also cloned Slack as yet another feature. I bet that's a huge engineering burden to clone something that everybody is already using - might want to just drop that feature, make a Slack integration and get back to focusing on your One Defining Thing.

<comment><AUTHOR> Hi Mizza, there is no editing on public projects that are shown as demos. And because drag & drop is editing it is disabled there. We have a slack integration already :) It's a good advice, we will see how things go.

</comment></comment><comment><USER21> I'm genuinely astounded how good this is, simply brilliant.

That said UX/UI niggles [http://i.imgur.com/xkjYGf1.png](http://i.imgur.com/xkjYGf1.png) the contrast on the hover elements is far too low, if you have vision issues (or simply a poor screen) they'd be very hard to see.

Otherwise kudos, this is one of the best in-browser apps I've seen in a while!.

<comment><AUTHOR> That's a good point. Thanks!

</comment></comment><comment><USER7> Wish this was bit more affordable for some of us in Asia, would really help get everyone more organized.

</comment><comment><USER22> When I signed up, I got an error saying the password had to contain more than 6 characters. It was 24 characters long. I guess the problem was that the password contained spaces, and the first word was less than 6 characters long. Otherwise, this looks like a great product!

<comment><USER23> Who puts spaces in passwords?

<comment><USER24> Why wouldn't you?

</comment></comment></comment><comment><USER25> Testing right now, feels very snappy. May I ask the tech stack?

Also, you guys are probably trying multiple business models.. I'd say that a free tier for small teams (like Trello, bitbucket) would be super interesting, if you can still make money from the big players (a la github).

<comment><AUTHOR> Tech stack is AngularJS for the frontend with Python (Jango & Tornado) for the backend.

If it was up to me I'll make it completely free but somebody has to pay the bills. Right now limit for the free team is 3 users. We might up that a bit in the future once we feel more financially confident.

</comment></comment><comment><USER26> Very nice work on the site and the app. I understand the handy features it has that Trello hasn't but am not sure if it has enough to convince me to shell out another $30/month subscription for something close that we have free now. But that might be just me!

<comment><USER17> Thanks!

We have many ideas for the future, follow us on social media to be the first that hears about them.

</comment></comment><comment><USER27> More than the product I am more impressed with this post. That is the incredibly lucky and equivalent worth of thousands of dollars to get your product to front page of HN. How else do you market and promote, do you post to Product hunt, do AdWords?

</comment><comment><USER28> This looks nice. Tough space with established players, but you have some UI ideas here that are better than your competitors. I really like the "outline" view of the boards in list view. Impressive work.

</comment><comment><USER29> Very well designed, one "issue" however is when I open cards there is a small delay before the card title is centered, it opens to the extreme left of the modal as if it's waiting for styling.

<comment><AUTHOR> Thanks for the feedback! I will add this as a bug so that we can fix it.

</comment></comment><comment><USER30> Looks awesome, but the landing page takes a really long time to load on my phone - at least 40 seconds or so. On desktop it also feels a bit slow, but it's not nearly as bad.

<comment><AUTHOR> We are planning to add lazy loading in a future update to fix that. Right now the entire app loads so that you can see the landing page and then never even enter the app itself.

</comment></comment><comment><USER31> This tool looks really nice, great design, although the feature set is very similar to Nostromo.io or Trello. Curious to find out what's the difference.

</comment><comment><USER32> Nice art work

I find that swooping sound in the kanban board kind of weird. And when i drag a card it kind of, disappears for a second then appears in the new column?

<comment><AUTHOR> I agree, Sounds need some work! You can stop them from the notifications popover.

</comment></comment><comment><USER33> Nice design, i feel like the marketing homepage feels a little weird, it feels like a poorly coded angular app. But the app itself is awesome!

</comment><comment><USER34> Just wanted to say that the site looks amazing! Loved the animations and the attention to detail!

<comment><AUTHOR> Thank you! That means a lot to us! Attention to detail is a core value for us :)

</comment></comment><comment><USER35> I logged in just to say this. This app is incredible.

I had wanted something like this for a really long time.

</comment><comment><USER36> This seems like a nice and decent product. I hope it takes off. Good luck!

<comment><AUTHOR> Thanks!

</comment></comment><comment><USER37> Needs a self-hosted version.

<comment><USER17> In the works

<comment><USER37> Great to hear. Looks great, I'm interested.

</comment></comment></comment><comment><USER38> 500 Internal Server Error

nginx/1.10.0 (Ubuntu)

Sad

<comment><USER17> Fixed.

</comment></comment><comment><USER39> IMO it is just some mix of Todoist and Trello</comment>


Sabeen Ali v. Gregory Gopman (Former AngelHack CEO) - <AUTHOR> http://www.scribd.com/doc/209226946/Sabeen-Ali-v-Gregory-Gopman

<comment><USER2> power hungry female worker bees, can't come up with an idea to save their lives but once they latch on to your project everything was them from the start.... never again.</comment>


Isn't Your Kid a CEO? - <AUTHOR> http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2007/09/06/bizkid.DTL

<comment><USER2> Great story! Could it be that young people are fearless, ingenuous, and know what they love with nothing to loose?

</comment><comment> daniel-cussen Sounds like a lot of fun.</comment>


Find startups as soon as influential investors follow them - <AUTHOR> http://areyouwhitelisted.com/

<comment><USER2> A wisdom in the crowd approach to sourcing deal flow is pretty interesting, would be keen to know how they do it.</comment>


Mother Teresa's Crisis of Faith [2007] - johnx123-up http://www.time.com/time/printout/0,8816,1655720,00.html

<comment><AUTHOR> "If I ever become a Saint — I will surely be one of 'darkness.' I will continually be absent from Heaven — to [light] the light of those in darkness on earth,"

The force of will involved in turning her depression, spiritually focused or otherwise, into her organizing principal is inspiring.

Really, discounting everything else about the woman, positive, negative, whatever, that she could marshall the "darkness" she felt to become the cornerstone of her sense of self, and use that to advance her work, rather than destroy herself, is breathtaking to me.</comment>


Why I'm sending back Google Glass - <AUTHOR> http://www.computerworld.com/s/article/9248434/Why_I_m_sending_back_Google_Glass

<comment><USER2> Glass is at the stage tablets were at when the Newton arrived: the concept thrills the imagination, but the hardware is so far behind (despite the laudable attempt) expectations that odds are it will fade into oblivion until significant factors (battery capacity vs size, processing power, significant FOV coverage) are improved 100x and the "right" UI/UX is designed (which will look staggeringly obvious _after_ it's invented).

</comment><comment><USER3> One of my friends had one and I got to use it for a few days and I largely agree with the article. It's really a solution look for a problem at this point. It's interesting too that the API has been available for a while now, yet there haven't really been any huge ideas that have really come from that.

I like that Google is trying, but as it stands right now the hardware limitations are just too real. This is by no means a consumer ready product at this point.

</comment><comment><USER4> I am really looking forward to something like the Oculus but combines the virtual world with the real one, not something like Glass,

<comment><USER5> Like Spaceglasses? [https://www.spaceglasses.com/](https://www.spaceglasses.com/)

</comment></comment><comment><USER6> Guy pays for a beta, finds out it's not perfect, and wants his money back? That's really not reasonable.

<comment><USER7> Well, there you go, the first problem is ... "Pays for a beta". Why does Google need to have people pay to be their beta test group?

</comment></comment><comment><USER8> I feel like the section about crooked pictures is disingenuous. The picture in the article is crooked by about 30 degrees clockwise, but then the next picture below, still taken with Glass, is almost perfectly straight. There's no way his ears are that misaligned to take a picture that's rotated by 30 degrees.

</comment><comment><USER9> Another write up on the same topic.

[http://blog.rememberlenny.com/2014/01/05/i-return-ed-my- goog...](http://blog.rememberlenny.com/2014/01/05/i-return-ed-my-google-glass- after-30-days/)

</comment><comment><USER10> I'm waiting for my fully AR capable RayBans. :) Virtual Light was a cool book.

</comment><comment><USER11> Glass is infinitely more useful when you don't have to worry about battery life. I rigged up a Leopow Moonstone to mine and suddenly found myself using it a ton more.

That being said, I looked like a Borg.

</comment><comment><USER12> I have Glass and I have been looking for use cases. The set of real use cases is probably narrower than Google would like, but it's there. You have to be using your hands, and you have to need information without using your hands to access it.

That's interesting, and it is potentially high-value. But it isn't the set of use cases for a consumer product.

<comment><USER13> From your description of the qualifications for the use cases, I can immediately think of several consumer markets, with the right content. There's a chicken-and-egg problem of content and adoption, though.

</comment></comment><comment><USER14> Finally somebody with guts to acknowledge reality.

</comment><comment><USER15> Lots of exaggeration and subsequent backtracking to bring that exaggeration back to reality. But even having not used glass already it's pretty easy to find fault with his points:

1\. Eye Contact - Just don't look at glass while you're talking to people. Problem solved. Why did he begin the article with this again?

2\. Not a good listener - Probably the strongest reason in the article. Not really a surprise having used voice recognition on my phone, but this will definitely cause problems.

3\. Battery death - You knew this before you bought it. Everyone knew this. Google was completely open about this. Meh.

4\. Too big and bulky - He complains that it's too big for a shirt pocket and then shows it inside a shirt pocket. It looks kind of silly there, but having somewhat unsightly bulges is par for the course for anyone fond of carrying gadgets around (the kind of person who'd be interested in an early version of Glass). Basically a non-issue. Also, there's no way it's too big for a purse.

5\. Conspicuous - Another issue he knew from the start. There have been numerous articles on the topic and most people have come to the conclusion that other people would get used to it.

6\. Tilted photos - As others have pointed out, lots of exaggeration here. It's easy enough to fix via software regardless.

7\. Direction drawbacks - You need a data connection to use google's navigation services? No shit. Moving on.

8\. The earbud - It's just an option on the rare occasion that you somehow need slightly better sound for glass. You already have your phone with you, why would you need to use glass to listen to music?

9\. Explorer envy - That's a problem with him, not glass.

10\. Too little, too soon - Yeah, he wasn't a good candidate. There's a reason it's only intended for developers hoping to get a head start at this point.

Pretty disappointing article.

<comment><USER16> Your arguments seem to boil down to saying that the things that he found intolerable are all true, but some other people find them tolerable. That's not very interesting.

Pretty disappointing comment.

<comment><USER15> That isn't an accurate summary of my comment. I'm arguing that this article isn't revealing anything unexpected about the nature of the device and is only a list of reasons why the author made a poor purchasing decision by ignoring readily available information about the device he was purchasing.</comment></comment></comment>


How to Beat Your Competitors Using a React Native Technology - <AUTHOR> https://blog.aurity.co/how-to-beat-your-competitors-using-a-react-native-technology-7c8f658bb24f <comment><USER2> Are there any downsides to RN? The old criticisms used to be: license type, difficulty in publishing to App Store, not full featured.

Any of those still fair or have things evolved to where the author claims it saved 40% on time and budget vs native coding?

<comment><USER3> Having worked on a large native codebase with RN features integrated for a couple of years now, there are a lot of downsides for our particular use case. I am aware that some of these are organizational rather than strictly technical issues, but I think there are very few organizations that would not face similar hurdles:

\- Instead of 2 platforms to support, we now have 3

\- Debugging issues that cross Native <> Javascript is a nightmare. Only a few developers are skilled enough to do it well. Even then, the overhead involved in determining with certainty that the issue is on the native or the JS side and engaging the relevant developers negates most savings.

\- Code that's shared across teams is difficult to share with the JS teams and vice versa. Consistency between native and RN is poor.

\- Adding JS to the codebase exploded our dependency graph. One feature team introduced over 700 (!) dependencies via npm, which brings me to:

\- Enforcing code/quality standards is difficult. Same app, completely different tech stacks

\- Educating JS developers about ensuring compatibility with native dependencies is an ongoing expense

\- Massive new attack surface area is now exposed via the increased dependencies (see [https://hackernoon.com/im-harvesting-credit-card-numbers- and...](https://hackernoon.com/im-harvesting-credit-card-numbers-and- passwords-from-your-site-here-s-how-9a8cb347c5b5))

I can go on. I think it's actually a super cool and ambitious technology. I had the opportunity to hack on some of the internals as part of an exploration to see how easy it'd be to share our native UI components with it, and that was pretty darn fun. It's just very, very poorly suited for integration with an existing large codebase, and decidedly not a miracle solution.

If I were bootstrapping a startup with no existing codebase and needed to target web, Android and iOS it'd be a no-brainer to use RN, but that's a quite different scenario.

<comment><USER4> Is there some subset of native capabilities that one can still attack with an RN codebase and not have to deal with the native <> JS issues you ran into? Say, my app "only" needed to access contacts and images (no GPS; no bluetooth; not take pictures; not worry about accelerometer; etc.) - in your experience, does that put RN back in the picture (somewhat)?

<comment><USER3> You _can_ do just about everything a native app can do with RN. If you have a very small, capable team that's all on the same page, it's a good choice. For large existing codebases in large organizations, it's a very poor choice.

<comment><USER5> Having worked alone with react-native for about 3 months now and building our production application, I'll go further and state that for certain kinds of tasks React Native is definitely the way to go, but if the requirements seek heavy background work or involving multiple threads native code seems to be way to go. I'd love to hear your thoughts on Flutter. Cross compiling to native seems to give us the gains with respect to almost close to native performance too.</comment></comment></comment></comment></comment>


'Bird Man' Hoaxster Comes Clean on Dutch Television - <AUTHOR> http://www.wired.com/wiredscience/2012/03/birdman-admits-hoax/

<comment><USER2> When Jesus Diaz posted it on Gizmodo, the immediate response from commenter's was suspicion. Diaz responded by lambasting the critical readers. Here's a choice quote:

 _"It is doable and he did it. It's not fake. It's been covered by the euro press and it's real."_

Have a read of some of his other choice comments: <http://gizmodo.com/people/jesusdiaz/comments>

</comment><comment><USER3> The most interesting article that I saw that came out of this is Jamie Hyneman from Mythbusters saying the physics is actually feasible.

> The video of Jarno Smeets' flight is cool, and I don't see evidence that it > was faked. It seems reasonable to accomplish, and is something I have wanted > to try for a long time.

[http://www.tested.com/news/articles/43440-thoughts-on-the- me...](http://www.tested.com/news/articles/43440-thoughts-on-the-mechanics-of- assisted-human-flight/)

<comment><USER4> I did really want it to be real, but I now wondering how long till it is. There were enough very clue-y people say "yeah, the physics might actually work". I'm sure it has inspired a lot of people, who will probably now work even harder if they know they can be the first for real.</comment></comment>


Don't build systems, build subsystems - <AUTHOR> https://blog.jessitron.com/2019/10/13/dont-build-systems-build-subsystems/ <comment><USER2> This is sage advice.

There is an anti-pattern, counter to this advice, which I call software- psychopathy.

This is when someone (the psychopath-developer) surveys the entire problem landscape of the full system and identifies a sub-problem, carves out a sub- system that is unnatural but fits their competency and through their position in the software-social-order and/or through personal charisma pushes a solution which makes all surrounding problem space even harder to solve.

The psychopath-developer says, "I see we have problems, A, B, C and D. I will solve B with X and now all that the solutions to A, C and D need to do is satisfy requirements L, M, N, O and certainly Q. Aren't I a genius? Now, excuse me as I leave the details to you and go "help" another group!"

A more charitable term might be "picking low-hanging fruit". Inside this metaphor, by thoughtlessly picking the heavy low-hanging fruit the psychopath- developer unweights the branch sending the rest of the fruit higher, out of easy reach and adding burden to those suckers that come later to actually get all the fruit. Meanwhile, the psychopath-fruit-picker is long gone enjoying the fruits of his easy labor.

<comment><USER3> This exact thing happens when someone undertakes a refactoring without a clear concept of which factor is being separated. I now avoid the word refactoring and say I'm factoring 'thing'. If you'd factored it right the first time you wouldn't have to refactor it. That's not quite true sometimes things can factor further or choose a different factor first. Deduplication isn't factoring unless it's named and salient.

</comment></comment><comment><USER4> I appreciate the sentiment. It's one of the most notable distinctions to be seen between junior and senior positions in almost any area, at least where the titles have been appropriately awarded.

A junior will create the thing or carry out the task that's asked of them with but are often tone deaf to the context that surrounds the request and outcomes desired. A senior will implicitly addresses the wider context, asking probing questions to that end, without prompt.

You can also apply this concept in the opposite direction, to aid in understanding systems you encounter. Considering it within the context it operates in, but also what the intentions were of whomever created/deployed it. Considering both angles usually leads to far better understanding in less time.

</comment><comment><USER5> Amen. This has big implications for artificial intelligence. It's one of the reasons why I prefer to think about building cybernetic systems than AI.. cybernetics is classically all about systems in ecosystems, whereas AI perpetuates the illusion of autonomy.

While this doesn't market well, it is a better tool for thinking. Not creating artificial intelligence, but contributing to smart systems.

</comment><comment><USER6> It's a valuable lesson to be learnt during one's career, especially if one tends to come up with very unique and esoteric solutions, or is heavily into all things novel. Your beautiful system isn't an island, and it's going to have to interface with the rest of the "obviously" much less perfect world at some point sooner rather than later. I've seen lots of middle-of-the-road solutions succeed where more interesting approaches failed because they did not integrate well with the rest of the world.

</comment><comment><USER7> That sounds lot like the UNIX philosophy:

Write programs that do one thing and do it well.

Write programs to work together.

</comment><comment><USER8> In reality there is always a bigger system. The wisdom here is in recognising that.

</comment><comment><USER9> Bigger messages to learn from this:

Build for platforms, don't build in a vacuum. Ie. Use an existing battle- tested framework if you can.

And.. Use existing subsystems if they already exist instead of reinventing the wheel.</comment>


Magnetic graphene created, making possible new spintronics data-storage devices - <AUTHOR> http://www.kurzweilai.net/magnetic-graphene-created-making-possible-new-spintronics-data-storage-devices <comment><USER2> paper on arxiv: [http://arxiv.org/abs/1412.1521](http://arxiv.org/abs/1412.1521)</comment>


Why you should never use two spaces after a period - <AUTHOR> http://www.slate.com/articles/technology/technology/2011/01/space_invaders.single.html

<comment><USER2> The canonical reply to this article, by Steve Losh:

<http://stevelosh.com/blog/2012/10/why-i-two-space/>

Among other things, he points out that computers have a much easier time parsing sentences which are clearly separated by two spaces, and that some features in e.g. vim don't work well with single-spaced sentences.

</comment><comment><USER3> Summary of the article's reasons to use one space between sentences:

1\. Typographers and style manuals tell you to.

2\. Two spaces were necessary when using monospace fonts; but now that everyone uses proportional fonts, it's no longer necessary.

3\. It's ugly.

\---

I don't find these arguments very persuasive. I have my own aesthetic sense, and I don't need some authority to tell me what's ugly or not. I can tell that for myself, thank you very much. To me, two spaces between sentences look just fine.

Second, I find it easier to tell where one sentence ends and another sentence begins when they're separated by two spaces. A single space and a little tiny period is just not enough.. especially when reading at high speed, and when there are really long sentences.

If only one space separates sentences, and I want to skip to the next sentence, I'll have to read a lot more carefully than if there are two spaces -- when it becomes much more obvious where the separation is. Using one space in between sentences makes paragraphs look like one long run-on sentence.

<comment><USER4> Agreed that his arguments don't direct my practice. I have to agree with Steve Losh in that all the tools for publishing now days correct for this. And it makes the source material easier to read and parse.

Why then does he destroy his argument at the end by rallying his claim on the subjectivity of ugliness. To this day I still find the double space prettier and find print that use it easier to read. 3. is too much of an opinion to claim sound reason.

</comment></comment><comment><USER5> I like the aesthetics of two spaces, as well. Especially when using a proportional font since a proportional space is narrower than an average character width. A "." and a skinny space doesn't provide much of a visual separation.

I've gotten over not liking seeing a single space from others, and others can get over seeing my double-spaces :)

</comment><comment><USER6> Yeah. I'm still gonna use 2 spaces. It looks better to me.

</comment><comment><USER7> Robin Williams devotes a chapter of her book, "The PC is not a Typewriter", on the subject. She concurs.

[http://www.amazon.com/Pc-Not-Typewriter-Robin- Williams/dp/09...](http://www.amazon.com/Pc-Not-Typewriter-Robin- Williams/dp/0938151495)

</comment><comment><USER8> I can't stand two spaces after periods. It gives me a weird twitch. I sometimes do a find-replace before even reading a document. It is a superfluous keystroke, but I think what really bothers me is that it just looks ugly and uneven to me.

</comment><comment><USER9> Ironically, we're all reading this on the web, where browsers merrily remove superfluous white space. If every browser can agree on that, given how much they all disagree on, I'll take that as a pretty good endorsement for single- spacing.

</comment><comment><USER10> This guy spent a long time building up a logical argument against using two spaces, then threw all his work out the window in the final paragraphs by concluding that the "aesthetics" of two spaces were too ugly for common use.

</comment><comment><USER11> Never say never. This only applies to WYSIWG. When writing in plain text source formats, the two spaces enable tools to distinguish the end of a sentence from abbreviations and other uses of the period. For example, emacs uses this distinction for column filling and other text manipulations.

Using a single space is ambiguous; ambiguous is bad. Therefore two spaces is best in place text.

</comment><comment><USER12> This, sirs, is why LaTeX asks you to differentiate between sentence-ending periods and non-sentence-ending periods in source code, and adds just a little bit of elasticity to the sentence-ending periods during compilation. The tools that make things beautiful know how to make things beautiful.

The rest of the time, there's:

(setq sentence-end-double-space nil)

</comment><comment><USER13> >Monospaced fonts went out in the 1970s.

except for programmers

</comment><comment><USER14> And you sir, leave punctuations within quotation marks where they do not belong and use serial commas. I believe I need to read no further.</comment>


If We Dig Out All Our Fossil Fuels, Here's How Hot We Can Expect It to Get - <AUTHOR> http://www.nytimes.com/2015/04/09/upshot/if-we-dig-out-all-our-fossil-fuels-heres-how-hot-we-can-expect-it-to-get.html <comment><USER2> The three options in the article are accurate (tax, compete, or capture). I work in solar, and the consensus in the industry is that #2 is happening first (solar and wind are currently replacing coal). #1 will start to happen over the next few decades as the effects of climate change have more of an impact on society (e.g. the California drought). #3 won't likely happen since #1 will probably be cheaper.

Anyway, I'm a chemical engineer from UT-Austin, so most of my graduating class went into oil. I have a standing $100 bet with two of them that they will not retire in the oil industry.

Finally, I don't understand why more entrepreneurs don't do startups in energy. 87% of the world energy sources will have to change in the next 35 years. To most, that sounds scary. However, to an entrepreneur like me, that sounds like a huge ceiling.

<comment><USER3> > I have a standing $100 bet with two of them that they will not retire in the > oil industry.

I'm also in oil & gas right now and I suspect that you're going to lose, though not because the industry is going to grow. It's going to shrink strictly based on out-of-the-ground production.

But the oil companies aren't huge, they're gigantic. And they're not going to just roll over and die. If tomorrow someone gets a working LFTR going you can be sure that all the majors are going to spend a LOT of money trying to buy said company and scale it up.

And the oil companies already own tremendous amounts of assets re: liquid fuels so they'd just start plopping reactors down in the middle of their plants and start producing DME (for diesel) or whatever the gas equivalent is out of various feedstocks.

It'd take a decade or two to finally make the transition, but I really think that's where things are going. The oil companies regularly spend billions getting leases on land, drilling, production assets, etc. To spend $10b (or $100b even) on buying a 'safe nuclear' technology to avoid going out of business I suspect wouldn't generate too many waves.

So they'll be sort-of reinvented, but still largely themselves. The majors aren't necessarily oil companies anymore, but energy companies. We're going to see them slowly change or die, but I suspect most will transition successfully just because they have so much money under "management" that it'll be hard to screw up too badly.

<comment><USER4> That wouldn't be the oil industry anymore.

<comment><USER3> > That wouldn't be the oil industry anymore.

What is the oil industry then? I mean, there are probably a bunch of different definitions. The "oil industry" does a lot of stuff.

1\. explores for oil

2\. obtains mineral rights to the oil it suspects is in the ground

3\. does test drilling to determine if oil is in fact there

4\. does production drilling to make it feasible to extract any oil it does find

5\. sets up production equipment to extract the oil from the ground

6\. establishes a logistics chain to move the crude oil coming out of the ground to a refinery (truck, train, pipeline, etc)

7\. builds and maintains many-multi-billion dollar refineries

8\. uses said refineries to turn crude oil into a multitude of products like various gasses, butane, naptha, grades of gasoline, diesel, jet fuel, greases and lubricants, waxes and various other byproducts

9\. establishes supply lines to ship finished products to various markets domestically and internationally

10\. trades in the energy markets to ensure that prices across the world properly reflect transport and other costs (arbitrage by virtue of known internal costs)

11\. develops new equipment, techniques and strategies to make any of the above mentioned things more efficient, cheaper, easier, etc

So while I agree that 1-5 might end up changing, that's far from the entirety of "the oil industry" and thus I think my statement isn't entirely wrong.

<comment><USER5> I thought the refineries had been turned into separate corporate entities. Which means they have to be profitable. They're having a hard time doing that, with razor-sharp margins and fluctuating demand.

<comment><USER3> Yeah, most of the majors are actually about 20 different companies each now. They're technically separate and they pretend to actually be separate, but people from one company "suggest" what people from another should do and of course they do. Because they're really just one big company in reality.

<comment><USER5> Well, they're 'really' 20 different companies with a long history of cooperation. Refineries pretty much have to pay attention to their suppliers and customers because they're a captive market with no ability to remarket or rebrand.

</comment></comment></comment></comment></comment></comment></comment><comment><USER6> The cheap and easy energy of fossil fuels made the leap to modern civilization possible. Beyond the environmental and social impacts of continuing to use fossil fuels when alternatives exist, would (hypothetically) post-apocalyptic humanity be able to reboot civilization if all the easy fossil fuels have been mined?

<comment><USER7> Probably not. If we fuck this up, no beings around here are going to get another attempt at industrial civilization for millions of years - all the lower rungs on the ladder have been burnt away.

<comment><USER8> Right. And that is the most terrifying piece of it all. Most of the people I know either don't think about it or think the magic of science and innovation will rescue us. But if we fall below a certain level of expertise, we will be gkbers. You can't make solar panels with charcoal fires.

I keep thinking of us as mice munching on grain from an overturned truck. Life is great (and the population explodes) until the grain is gone. Then woe to the mice.

Of course, people point to other great challenges we have overcome as a species. But is this time really different?

<comment><USER9> "mice munching on grain from an overturned truck.... But is this time really different?"

Your metaphor misleads you. It is inaccurate to characterize humanity as passively consuming a single pre-existing resource that it is utterly incapable of recreating. We are generating knowledge as well, and knowledge really is power, and from that we generate yet more resources of other types.

The question of whether we can outrun our own consumption is an interesting question that is not a guaranteed "yes", but the built-in hopelessness of your metaphor isn't part of the answer. It is inaccurate to the point of being anti-knowledge. The universe is awash in negentropy, and the true, physics- based boundaries of our growth are still inconceivably larger than we are right now.

<comment><USER8> I appreciate your comment. Sometimes I feel I am too pessimistic, but either way you're correct that it's not a precise metaphor. I do feel like the majority of humans (including myself, most of the time) are more like the mice than not--from what I see it's a minority that are pushing the bounds of knowledge. Of course, a small percent of 7B people is a large absolute number.

Whenever I get too pessimistic, I think of the gobs and gobs of money to be made solving this issue (while still maintaining or improving our current standard of living). That said, I think many market optimists (not that I'm calling you one) don't really get EROEI: [http://en.wikipedia.org/wiki/Energy_returned_on_energy_inves...](http://en.wikipedia.org/wiki/Energy_returned_on_energy_invested)

Finally, if someone invents a 10x battery at an affordable price, the whole game changes.

</comment></comment></comment></comment></comment><comment><USER10> "An SEP is something we can't see, or don't see, or our brain doesn't let us see, because we think that it's somebody else's problem.... The brain just edits it out, it's like a blind spot. If you look at it directly you won't see it unless you know precisely what it is. Your only hope is to catch it by surprise out of the corner of your eye." [0]

[0] [https://en.wikipedia.org/wiki/Somebody_Else%27s_Problem](https://en.wikipedia.org/wiki/Somebody_Else%27s_Problem)

</comment><comment><USER11> > protecting the world from climate change requires the even more difficult > task of disrupting today's energy markets.

Let's not mince words, the plan is and has been to manipulate the energy market through coercive authority. Calling this "disrupting" is the most cringe-worthy instance of that term I've ever seen in print (and there is a lot of competition).

<comment><USER12> On the flipside, I've always considered 'disruption' in the modern sense to be precisely that: coercive authority. Its what programmers do.

<comment><USER11> Do you mean "hacking"?

<comment><USER12> No, I mean software development efforts which clearly disrupt the target industries of interest. It seems to me that programming is precisely the effort of executing authority over a subject using technology.

<comment><USER11> The object of "coerce" has to be a person or group of people, or maybe any entity that can be intimidated if you prefer. The dictionary isn't totally explicit about this but it's the meaning I'm going for.

<comment><USER12> Well, look at all the Taxi drivers who are being coerced into becoming Uber drivers ..

</comment></comment></comment></comment></comment></comment><comment><USER13> The calculation seems a bit dubious. They apparently assume a linear relationship between carbon emitted and temperature change. "Following the National Academy of Sciences (2011), we take 1.75°C per 1,000 GtC emitted as the central best estimate."

However doubling CO2 does not double the amount of radiation it absorbs. CO2 absorbs at certain particular wavelengths and even if you make the atmosphere 100% CO2 it can only absorb all the light at those wavelengths and remain clear at others. In fact replacing everything in the atmosphere, including water vapour with CO2 would probably make the Earth cooler as the biggest green house effect is from water vapour.

There's some discussion here, admittedly from a skeptical source without full citations suggesting far lower warming from increases in CO2.

[http://wattsupwiththat.com/2013/05/08/the-effectiveness- of-c...](http://wattsupwiththat.com/2013/05/08/the-effectiveness-of-co2-as-a- greenhouse-gas-becomes-ever-more-marginal-with-greater-concentration/)

</comment><comment><USER14> The title says "All Our Fossil Fuels" but they really mean something like "all the fossil fuels we are likely to dig up given reasonable economic assumptions." If they really meant "all" the fossil fuel, the results would be worse than they suggest.

If you consider this:

"The climate of the Cretaceous is less certain and more widely disputed. Average temperatures were higher than today by about 18 degrees F (10 degrees C)."

[http://what-when-how.com/global-warming/mesozoic-era-global-...](http://what- when-how.com/global-warming/mesozoic-era-global-warming/)

Then this seems a bit odd:

"an astonishing 16.2 degrees"

That sounds accurate if they mean Celsius but this is the New York Times, which I believe uses Fahrenheit as a matter of style, and they write: "Scientists predict global disaster at 3.6 degrees Fahrenheit over pre- industrial temperatures; there is enough fossil fuel extracted and within reach to raise temperatures 16.2 degrees" which confirms the use of Fahrenheit.

It's frightening to consider the impact it would have if we really did dig up all the fossil fuel, including the stuff that we probably won't be able to reach. It's worth thinking about, since technological breakthroughs now allow us to reach a great deal of fossil fuel that was considered uneconomic 30 years ago and, likewise, 30 years from now we might be able to reach fossil fuel that we now consider unreachable.

Assuming large concentrations of life, allowing the formation of fossil fuels, starts with the Cambrian, or a bit after, we can say that "all our fossil fuels" refers to the deposits that built up over the course of 500 million years. If we dug all of that up and burned all of it, then we should arrive at a temperature that is a bit hotter than anything that ever occurred before. If the Mesozoic saw average temperatures that were 10 degrees Celsius higher than today, then something like 16 degrees Celsius would be a reasonable guess. Or higher.

<comment><USER15> _> The climate of the Cretaceous_

The Cretaceous isn't when the fossil fuels were formed; that was much earlier, during the Carboniferous. Global temperatures don't actually correlate very well over geologic time scales with the amount of carbon sequestered in fossil fuels:

[http://en.wikipedia.org/wiki/Geologic_temperature_record#Flu...](http://en.wikipedia.org/wiki/Geologic_temperature_record#Fluctuations_during_the_remainder_of_the_Phanerozoic)

<comment><USER14> You misread the sentence. The comparison is being made to the Mesozoic. That is, the Mesozoic was much hotter than the Cretaceous. I can not imagine what you mean when you write "Global temperatures don't correlate ... with the amount of carbon sequestered in fossil fuels." I never suggested any such thing. But we do know that carbon can increase the temperature, and if we dig up an amount of carbon that was buried over 500 million years and we burn it all during a 200 or 300 year time span, then presumably we end up with more carbon in the air, at one time, than ever occurred before, and therefore we should expect the temperature to spike to a level never seen before.

<comment><USER15> _> The comparison is being made to the Mesozoic. That is, the Mesozoic was much hotter than the Cretaceous._

Um, you do know that the Cretaceous is _part of_ the Mesozoic, right? And that our fossil fuels were not formed during any part of the Mesozoic; they were formed during the Carboniferous, which is part of the Paleozoic, right?

 _> I can not imagine what you mean when you write "Global temperatures don't correlate ... with the amount of carbon sequestered in fossil fuels."_

I mean just what I said: global temperatures don't correlate very well with the amount of carbon sequestered in fossil fuels. Even the amount of CO2 in the air, over the last 600 million years or so, does not correlate well with the amount of carbon sequestered in fossil fuels. If that were true, we would expect to see lots of CO2 before the Carboniferous, very little CO2 from then to now, then a lot now. That is not what we see when we look at the record. See, for example, here:

[http://en.wikipedia.org/wiki/Carbon_dioxide_in_Earth%27s_atm...](http://en.wikipedia.org/wiki/Carbon_dioxide_in_Earth%27s_atmosphere#Past_concentration)

 _> if we dig up an amount of carbon that was buried over 500 million years and we burn it all during a 200 or 300 year time span, then presumably we end up with more carbon in the air, at one time, than ever occurred before_

And if you look up the actual levels of CO2 in the atmosphere over the last 600 million years or so, you will see that this is not even close to being true. CO2 levels have been in the _thousands_ of PPM during the period between the Carboniferous and now, even though all that carbon was buried in fossil fuels. The current epoch is one of very low CO2 concentrations in geologic terms, even counting the recent increase due to our burning fossil fuels.

</comment></comment></comment></comment><comment><USER16> I'm not sure this kind of headline is helpful. We should try to stop burning fossil fuels but that will mean that we can use them to produce petrochemicals for longer, the known reserves still have value.

<comment><USER17> Who is "we"? Does that include people living in practically pre-industrial societies in places like parts of Africa?

</comment></comment><comment><USER18> We are going to have waste heat gather in our atmosphere, from whatever energy sources we attempt to capture, and use and store. This move toward renewables, doesn't solve the problem. We need a lever to offload waste heat and we aren't even looking at it in the proper perspective. Eventually, it looks like we'll be living underground, no matter what solutions we devise in this next 1000 year interim.

<comment><USER19> At the moment, human energy utilization barely registers compared to the power of the sun.

It's going to be an awful long time before our energy utilization shows up in the temperature of the atmosphere.</comment></comment>


Track mentions of your startup on Reddit - <AUTHOR> http://www.trackreddit.com

<comment><USER2> This looks pretty cool, but the demo should let you try some custom phrases to see if the value proposition is there. Im not sure if the brand I represent is discussed on reddit enough to warrant tracking...</comment>


Node.js in Production - <AUTHOR> http://blog.carbonfive.com/2014/06/02/node-js-in-production/

<comment><USER2> > Another Note: This runs on port 3000. Making it run on port 80 would be > possible using a reverse proxy (such as nginx), but for this setup we will > actually run the app servers on port 3000 and the load balancer (on a > different server) will run on port 80.

This comes up a lot. In addition to the reverse proxy, you can also:

\-- redirect port 80 to port 3000

      iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3000

\-- use authbind to grant port 80 access to an unprivileged user [http://manpages.ubuntu.com/manpages/hardy/man1/authbind.1.ht...](http://manpages.ubuntu.com/manpages/hardy/man1/authbind.1.html)

<comment><USER3> I can see how this is useful if you are using a single node.js server as you wouldn't need any proxy in front of it.

However if you are using a load balancer in front of a handful of node.js app servers, does this offer any advantage over just using an arbitrary port > 1024?

<comment><USER2> > However if you are using a load balancer in front of a handful of node.js > app servers, does this offer any advantage over just using an arbitrary port > > 1024

Nope. It's only useful if you're using a single server, e.g. on a $5 DigitalOcean droplet.

</comment></comment></comment><comment><USER4> Why is it always the articles that tell you how to do things in production that take multiple seconds to load and/or throw database errors?

<comment><AUTHOR> because wordpress! ugh!!

<comment><USER5> [https://wordpress.org/plugins/tags/wp- cache](https://wordpress.org/plugins/tags/wp-cache)

<comment><USER6> we have super-cache enabled and the apache KeepAliveTimeout down to 1 second (which killed us in the past). but hacker news still sends a crushing amount of traffic.

<comment><USER7> I don't think that's true. I've hit the front page a couple times and actually got very little traffic, and definitely nothing that my $5 vps with no caching couldn't handle.

<comment><USER6> were you running wordpress? i think the traffic that HN sends crushes wordpress specifically. who knows... maybe it's just our wordpress config. we're gonna port it over to a static site generator anyway.

<comment><USER8> Probably should switch to static content, a Raspberry Pi could handle the traffic no sweat.

<comment><USER9> Yes, raspberry pi with handle front page HN. Put free cloudflare in front and you're laughing.

</comment></comment></comment></comment></comment></comment></comment></comment><comment><USER10> thank you for doing this, I was just about to slog through figuring this out for myself using most of these tools. This will save me a lot of trial and error!

Small plug, I wrote a node wrapper for digital ocean's API. [https://github.com/hortinstein/brinydeep](https://github.com/hortinstein/brinydeep) It would be interesting to use it to auto-scale based on feedback from haproxy or the nodes themselves when smashing it with siege.

When i get around to it I might write a followup to your article incorporating that and some of the other features!</comment>


F1000Research – Open and Transparent Peer Review in Science - <AUTHOR> http://f1000research.com/

<comment><AUTHOR> To add some context, F1000Research is one of the few (only?) journals which operates a post-publication, fully open peer review process; articles are published immediately at the point of submission (after a light editorial check for issues such as missing data sources), and are then subjected to invited, open peer review, where the reviews are published alongside the article.

They've just had a major upgrade and now accept slides and posters as well as articles. Details on the upgrade here: [http://blog.f1000research.com/2015/07/09/the- new-f1000resear...](http://blog.f1000research.com/2015/07/09/the- new-f1000research-a-publishing-platform-for-posters-slides-and-articles/)</comment>


Show HN: Proposal for a new 3-pass protocol - <AUTHOR> https://github.com/dosaygo-coder-0/dosy3ppq <comment><AUTHOR> For background on 3-pass protocols, see [1]

This could have some holes, so I'm putting it out there to see if anyone can poke some in it, or seeing if it can stand up. It's flexible enough that it can encompass a family of ways of doing this -- but I'll consider it defeated if there's a fundamental flaw with the central idea of using AONTs to confound adversaries attacks. My plan with this is, if it does work out, not to patent it, but just to implement it securely under MIT license.

[1]: [https://en.wikipedia.org/wiki/Three- pass_protocol](https://en.wikipedia.org/wiki/Three-pass_protocol)

<comment><AUTHOR> I currently consider this broken since, turns out that XOR and permutation do not commute over each other, and anyway to get them do so so requires knowledge of the secrets to be transmitted in a way to the channel that lets attacks recover them.

The need for XOR can be removed, but then each half of the AONT(message) is exposed. I couldn't see a way around this. So even tho I'm sure there is a way to construct a secret exchange on insecure channel mechanism (probably using 3 pass) I do not see it right now.</comment></comment>


Tabs or spaces – Parsing a 1B files among 14 programming languages - <AUTHOR> https://medium.com/@hoffa/400-000-github-repositories-1-billion-files-14-terabytes-of-code-spaces-or-tabs-7cfe0b5dd7fd#.ux86pwfmi <comment><USER2> After 20+ years of listening to the tabs-vs-spaces debate and considering _all_ the legitimate points that _both_ sides have, many have made the following observation and it's what resonates with me the most:

In an ideal perfect world, _all_ of programmers and _all_ text editor tools would use tabs specifically for indentation and spaces specifically for alignment. But, we don't live in that perfectly coordinated world so spaces maintains the most fidelity -- at the expense of programmers not being able to instantly customize the indentation from widths of 2,4,6,8.

Therefore, the _slight_ edge goes to spaces even though I find tabs extremely attractive. (That conclusion is in the context of a team of multiple programmers, using multiple languages, multiple text editors. If you're solo and can maintain "tabs discipline", that's a different scenario.)

<comment><USER3> Personally, I don't find the value in alignment - indentation is all I do. I especially dislike alignment of this sort:

        var a_variable           = 1;
        var another_variable     = 2;
        var yet_another_variable = 3;

which is just too fiddlesome and in fact makes it _harder_ for me to read.

<comment><USER4> That's also hazardous when you later add an_even_longer_variable and then have to modify three extra lines to make them align.

<comment><USER3> Exactly. To be fair, I believe most popular editors have plugins/shortcuts to do this. Or at least I hope people aren't doing this manually.

<comment><USER5> But if anyone looks at a diff, it looks like all the lines have changed, instead of just one, taking just a tiny bit more cognitive overhead.

<comment><USER6> `git diff -w`

<comment><USER7> But `git blame` still sees the whitespace change, right?

Edit: turns out `git blame -w` works as expected, ignoring whitespace. The More You Know™

</comment></comment></comment></comment></comment></comment></comment><comment><USER8> I've always used spaces instead of tabs.

My rationale:

The number of readers of any document will normally be greater than the number of authors. We should give a slight preference for readability and ease of comprehension over writeability, and should certainly not require that our readers adjust their editor settings for each document that they peruse.

In addition, it is useful to use vertical alignment to group related content that spans multiple lines. Although this at least partly an aesthetic choice, and not without drawbacks, I believe that the benefits outweigh the costs.

I believe that it looks neater, improves readability and also makes some errors "pop" out in a way that they don't in unaligned content. I find the ability to visually group related terms and expressions particularly useful.

The downside is that you have to "tidy up" after using refactoring tools or after doing a search-and-replace operation.

However, I believe that this downside is mitigated due to the fact that the very tidying up that is required is a good way of eyeballing the changes and checking to make sure that they are OK.

[http://williamtpayne.blogspot.co.uk/2012/04/spaces-over- tabs...](http://williamtpayne.blogspot.co.uk/2012/04/spaces-over-tabs.html)

<comment><USER9> Hey, a rationale, something I seldom see in those debates :)

I think that if you do want to align, spaces are unavoidable. But I want to reiterate three points against alignment:

\- Alignment creates a maintenance burden. It has to be updated whenever you touch unrelated lines, which creates whitespace noise.

\- Some types of alignments (specifically, method parameter alignment) create extreme horizontal noise. See for yourself: [https://github.com/pennersr/django- allauth/blob/c9b31ddee81d...](https://github.com/pennersr/django- allauth/blob/c9b31ddee81d2cde06c1f686c4eb7703f916681f/allauth/account/views.py#L629-L632)

That stuff's ridiculous. Styleguides are meant to make the code more readable and maintainable - this is neither. Method calls can be defined just like arrays, where the first argument goes on a newline with a single added indent. No need to align anything.

\- Finally, alignment breaks with proportional fonts. This is something someone else brought up on HN in another topic and I think it's a really good point; proportional fonts, like tabs, are an accessibility feature.

<comment><USER10> > \- Some types of alignments (specifically, method parameter alignment) > create extreme horizontal noise. See for yourself: > [https://github.com/pennersr/django- > allauth/blob/c9b31ddee81d...](https://github.com/pennersr/django- > allauth/blob/c9b31ddee81d..).

The answer there would be to put the line break before the . and align the .dispatch under super.

</comment></comment></comment><comment><USER11> Neither!

[http://nickgravgaard.com/elastic-tabstops/](http://nickgravgaard.com/elastic- tabstops/)

" _A better way to indent and align code_ "

When I saw this, it was obvious to me that _this_ was the true solution to the problem which both space and tab proponents try to solve.

<comment><USER12> Yes, this seems like the best approach. The key for this to gain support is for Github's diff system to support it.

</comment></comment><comment><USER13> I've been learning Go in my spare time. One of the things that I've found really refreshing is how the enforced conventions largely eliminate contentious discussions like tabs vs spaces.

For those unfamiliar with Go, the gofmt tool[1] converts indentation to tabs, standardizes brace positioning, etc. Most editors have a plugin that will automatically run the tool on save. An option for programmers using other languages is EditorConfig[2].

[1] [https://blog.golang.org/go-fmt-your-code](https://blog.golang.org/go-fmt- your-code)

[2] [http://editorconfig.org/](http://editorconfig.org/)

</comment><comment><USER14> Some IDEs will convert tabs to spaces when saving and the other way around when editing, so, while your approach is interesting, not really a proof of a majority choice.

Also my beef is specially with people who don't use tabs in files like fstab, like beasts.

<comment><USER9> I'd bet most of the code ever written gets styled however the IDE du jour decides to by default.

If some IDEs decided to switch to tab indent by default, people would suddenly love tabs.

<comment><USER15> I think this definitely applies to xcode, I use tabs everywhere but for xcode it just prints a lot of spaces and I am used to it.

</comment></comment></comment><comment><USER16> I've never really understood why you would use several characters (=spaces) for something that is semantically one indent. Can someone enlighten me? What are the advantages of spaces over tabs?

<comment><USER17>
        def doSomething( parameter1
                       , parameter2
                       , parameter3
                       ):
            pass

How would you make all the punctuation line up using tabs?

<comment><USER9>
        def do_something(
            param1, param2,
            param3, param4
        ):
            ...

It's not that hard. Alignment is generally harmful - it's a maintenance burden which adds whitespace noise on diffs, which means more noise in code reviews. Not to mention how atrociously ugly it is when long variables/method names lead to 5+ lines with 60+ characters of indent for a single variable name per line.

<comment><USER18> Most diff programs have an "ignore whitespace" option. "whitespace noise on diffs" is pretty much a solved problem. You can even add '?w=1' to a Github URL to turn on the feature.

<comment><USER9> 1\. That's a band-aid. The characters have still been changed - the diff still "exists".

2\. Those options are not perfect, they don't always work as expected

3\. Those options are not turned on by default (because that would be INSANE)

4\. Git's not the only VCS, much as I wish it were

5\. Github's not the only Git web UI; that option is not available everywhere.

It's not a "solved problem". It's an artificial problem, that gets solved when you start consistently stripping trailing whitespaces on save and not realigning everything all the time.

<comment><USER18> > It's an artificial problem, that gets solved when you start consistently > stripping trailing whitespaces on save and not realigning everything all the > time.

This is mostly solved via coding standards. If there are no coding standards people will "refactor" the coding style when they touch various pieces of code. If people were following a consistent style, then the alignment wouldn't be changing all of the time.

Although I strongly agree with the trailing whitespace sentiment. The most egregious offender that I've found is Eclipse putting trailing spaces on blank lines to bring them to the indent level of the non-blank lines. Ugh.

<comment><USER9>
        enum {
            NORMAL    = 1
            ABNORMAL  = 2
            IRREGULAR = 3
        }

Now if you're writing like this, what happens when you introduce "EXCEPTIONAL = 4"? You change 3 other unrelated lines. This is something that alignment causes, regardless of "coding standards". Hell, gofmt does that... It looks pretty (to some extent - with long names and lots of members it gets unreadable), but creates so much noise.

</comment></comment></comment></comment></comment></comment></comment><comment><USER19> Both: [https://www.emacswiki.org/emacs/SmartTabs](https://www.emacswiki.org/emacs/SmartTabs)

(Tabs for indenting, spaces for aligning)

<comment><USER20> To me, when people say "tabs", this is what I assume they mean. Using tabs for alignment is TERRIBLE.

</comment></comment><comment><USER21> I hereby declare end of discussion (at least for me), spaces because most other programmers use spaces. Unless you are joining the project that consistently uses tabs, then use tabs. Otherwise spaces.

<comment><USER22> If greater than 58% of all projects you work on mostly use tabs, then use tabs 91% of the time, in 97% of your projects.

</comment></comment><comment><USER23> Now, can we look at the same repositories and look at the number of bugs and correlate it with the use of spaces?

But in all seriousness, how often something is used isn't an indication of how good it is. Spaces are like cigarettes. Just don't start.

<comment><USER24> Yeah, but since in this case it doesn't really matter it's better to just do what most people are doing. There are no serious advantages to either one.

</comment></comment><comment><USER25> I couldn't care less about this, and I generally feel out of place when other programmers ask me about my preferences on this topic. I have written code in different programming languages, and just naming Go and PHP where Tabs and Spaces are the standard respectively — PHP mostly because of PSR — I simply don't pay attention to the character(s) used for the indentation, the tooling already does that for me, being gofmt for Go and PHPCS for PHP, and there is probably the same tools in other languages [1]. I never understood why people complained about this more than other (more important?) things in the code like the position of braces which is also a flame war between developers but it makes more sense than caring about Tabs vs. Spaces.

[1] I say "probably" because even when I have written in Vala, C++, Ruby, Python, JavaScript, I have always relied on the IDE to automatically select the most common indentation in the project, so I never realize if I am using Tabs or Spaces since hitting the Tabulator key while using spaces will simply translate them to the correct indentation.

<comment><USER26> Completely unrelated. Noticed you use Vala. Just curious, how do you find it? Do you just use it for GNOME related things (GUI building) or for other cases as well?

Remember being interested in it a few years back. It seemed to be popular, but haven't followed it since.

<comment><USER25> Vala was my first introduction to OOP and since I was always working in a Unix environment C# was not an option for me. The bindings to develop GTK-based applications were good enough but still today I believe that using tools like Glade writing a GTK-based app in any other language is as easy as it is with Vala, the only advantage is that I can compile to C without having to write C all the time.

It has worked well for me, and was able to create corporate applications in the past. I don't use it with the same frequency now because of my current job, but it is still in my list of programming languages that I want to use for personal projects along with C++ and (recently) Go.

For people interested in the language I suggest them to take a look at Elementary OS documentation, they are one of the most popular projects using Vala in production and I am sure they will appreciate any contribution from beginners and experience developers: [https://elementary.io/developer](https://elementary.io/developer) — [https://github.com/trending/vala](https://github.com/trending/vala)

<comment><USER26> Thanks. Didn't know about Elementary OS and was surprised there is a good number of Vala projects on GH.

Yeah there is something appealing about compiling to C. It is a relatively easier target than LLVM or assembly. Nim is in that space, is making progress but it still suffers from a small community of developers.

</comment></comment></comment></comment><comment><USER27> The biggest problem with the spaces vs tabs debate is that editor presentation is still tightly coupled to file persistence. Imagine an abstraction layer created so that developers might choose to see what they wished, yet have files saved in a standard format it might negate some of the issues people have.

<comment><USER28> That sounds like a really complex solution to a kind of non-problem.

</comment></comment><comment><USER29> Some perl projects carried by teams, use perltidy as pre-commit hook.

It's not as cool as talk about newer languages, but it handles all you may need about code indenting and alignment. And about tabs and about spaces.

Today somebody was asking in planet Debian, about Haskell vertical code alignment... well, again, perltidy has an option to enable/disable that.

I've developed many years without using it... recently I discovered it in first person, now I cannot live without it :) has options even for vertical alignment of indented comments.

I enjoy seeing it in action, after an hour or two of coding $anything. It finds always more inconsistencies than I did expect. And I really _try_ to be consistent.

<comment><USER30> Perltidy is truly amazing. I haven't seen anything that comes close in terms of power and configurability.

</comment></comment><comment><USER31> Parsing files might not be the best way to measure programmer preferences, because in big projects programmer's preferences will be squelched by the coding standard and/or tab/space cargo culting.

</comment><comment><USER32> I wish he'd have also counted the files that use only spaces or only tabs compared to a mixture of both in the indentation.

My reason for being against tabs is that unless you have something like gofmt, somebody will inevitably screw up and put in indentation that mixes tabs and spaces.

The second thing to check would be tabs that aren't in the initial indentation whitespace of the line. The other inevitable screw-up is using tabs to do some kind of vertical layout that shows up right with exactly one tab stop size.

</comment><comment> open-source-ux Obligatory clip from Silicon Valley (Season 3): Tabs vs Spaces

(Some potential storyline spoilers if you haven't seen Silicon Valley) [https://youtu.be/SsoOG6ZeyUI](https://youtu.be/SsoOG6ZeyUI)

<comment><USER33> Wrong link :)

[https://youtu.be/SsoOG6ZeyUI](https://youtu.be/SsoOG6ZeyUI)

<comment> open-source-ux Oops, thanks for the correction! Have also updated my original post with the correct link :)

</comment></comment></comment><comment><USER34> For gods sake man, how _many_ spaces?

</comment><comment><USER35> I find it interesting that C++ using the .cc extension has about 7% tabs, whereas C++ using the .cpp extension has about 36% tabs.

I wonder what else is different about these two groups.

<comment><USER36> Well, one correlation is that Google's coding style for C++ uses spaces and the .cc extension. It stands to reason that some fraction of Google alumni would continue to use both practices in their own work. I don't know if its enough to push a 36% tab usage to 7%, but might account for a solid fraction thereof.

</comment></comment><comment><USER37> I've worked for 10+ years in the games industry, ranging from 10 a man 'indie' studio to 400 people (large for the games sector) studios. I am struggling to think of any project I have worked on that hasn't used tabs (including a huge Python project). This maybe a completely irrelevant data point, but I wondered if there is a chance the games industry has a natural preference for tabs?

</comment><comment><USER38> Am I the only one that finds DATA interesting here? Has anyone actually posted the terabyte over BitTorrent or something so I could play with it while avoiding the "Don't analyze the main [bigquery-public- data:github_repos.contents] table — at 1.5 TB, it will instantly consume your monthly free terabyte."?

</comment><comment><USER39> I would like to know If they are people who have 'switched'(coded with spaces and then use tabs or revers)?

<comment><USER40> I have, I mentioned it in my comment above [1]. It's not too long, so I'll paste it again:

"I came to this conclusion too after at least 20 years of using tabs; but mostly it was because of moving to white-space significant languages like Haskell, F#, etc. It was just too painful getting everything lined up with tabs and I needed the fidelity of spaces.

Previous to that with C/C++/C# the alignment usually took care of itself through the closing brace and IDE auto-formatting. So tabs was the natural unit of currency there."

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

</comment></comment><comment><USER41> "One vote per file: Some files use a mix of spaces or tabs. We'll count on which side depending on which method they use more."

This makes results completely useless, as files of people who really do not care will count for one side or another randomly.

<comment><USER42> Or people who use a "mixed tabs and spaces" indentation, e.g. size 8 tabs with 4 characters wide indentation, and spaces for uneven indentations. (Which IMHO is broken because it leads to unreadable code when you don't have the same settings as the person who wrote the code).

Also, I guess C-style block comments could cause an over-counting of spaces (but looking at the numbers, it seems that either the query takes this into account, or C code simply has a poor comment-to-code ratio)

</comment></comment><comment><USER43> This is such a flamebait topic.

They could just as easily have posted a study of who uses emacs vs. vim. Well, maybe not as easily, and we'd all sit here debating the pros and cons of either.

Tools like gofmt will, over time, make these discussions moot.

</comment><comment><USER44> This is a remake on a bigger scale of: [https://news.ycombinator.com/item?id=10795745](https://news.ycombinator.com/item?id=10795745)

</comment><comment><USER45> I'm curious, what's going on with C? I was surprised to see it as the only language other than Go (where tabs are enforced by gofmt) to dissent from the spaces majority.

<comment><USER46> Probably related to Linux kernel coding convention: [https://www.kernel.org/doc/Documentation/CodingStyle](https://www.kernel.org/doc/Documentation/CodingStyle)

Quoted: Tabs are 8 characters, and thus indentations are also 8 characters.

</comment></comment><comment><USER22> Why no Objective-C? I'd bet it'd be either heavy on the space side or such a horrible mix of both that the analysis program would become self-aware and kill itself.

</comment><comment><USER47> $ emacs <file>

C-x h <tab>

Whatever that does, with whatever type of source file, that's what I'm using.

</comment><comment><USER48> As for my preference, well let me just say.. screw makefile! You've got it all wrong!!

</comment><comment><USER24> So basically unless you're using C the argument is settled in favor of spaces?</comment>


How a fake war photojournalist fooled media organisations worldwide - <AUTHOR> http://mashable.com/2017/09/05/fake-photojournalist-eduardo-martins-brazil-instagram.amp <comment><AUTHOR> The BBC also wrote about this story (as did various other sites), but I feel the Mashable one give a bit more detail none the less.

Either way, some other sources are as follows:

[http://www.bbc.co.uk/news/world-latin- america-41174069](http://www.bbc.co.uk/news/world-latin-america-41174069)

[https://www.theguardian.com/world/2017/sep/05/war- photograph...](https://www.theguardian.com/world/2017/sep/05/war-photographer- eduardo-martins-survived-leukaemia-exposed-fake)

[https://www.wavelengthmag.com/wavelength-travel-writer- ident...](https://www.wavelengthmag.com/wavelength-travel-writer-identity- stolen-fake-war-photographer/)

Still, it's a good warning for media publications really. Vet your sources very carefully, since there are lots of frauds and charlatans out there, some of which are pretending to be respected photographers.</comment>


LinkedIn is 99% Java but 100% Mac - <AUTHOR> http://blog.linkedin.com/blog/2008/06/linkedin-is-99.html

<comment><USER2> "A new engineer that comes in gets a new MacPro with dual quad-core CPUs and 12GB of ram and a MacBook Pro."

That's my kind of company. I'd do the same if I was in their position.

<comment><USER3> I really feel like a newb, only using 450MB RAM max...

How do you fill up any significant portion of 12GB RAM on a workstation without doing intensive video editing?

<comment><USER4> Easy: run several VMware instances on parallel desktops ("spaces" they call it). We do that for:

a) Testing cross-browser compatibility, each version of IE needs its own VM, plus Opera/FF on Linux

b) Have a copy of deployment environment running, i.e. VM for an appserver and the mailserver running separately, etc.

Moreover, I like to have instances of PhotoShop and Fireworks running in their own "spaces", and both of them love RAM.

Basically each programmer gets his own farm of machines he can do anything with. The key is to never reboot. We don't have 12GB machines, but 4GB get eaten pretty quick.

<comment><USER5> I would imagine the biggest hit is B. If you're developing search functionality or other features that work against the social graph then you'll probably need to get a large chunk of that into memory.

I've worked on a couple of non-trivial web apps, but nothing even close to linked in and 4gb was a necessity at times.

<comment><USER6> An VMWare sharts to chew through my RAM - espeially if you're trying to do something non-trivial in a couple of VM's simultaneously.

</comment></comment></comment></comment></comment><comment><USER7> If they give you big enough monitors you can fashion them into walls for your cubiclette. Ugh.

Seriously, I'd trade a 30" monitor for a quiet spot with almost any view and a minimal amount of privacy.

</comment><comment><USER8> Amusing screenshots. It seems that the bigger the monitor you give people, the more space they waste. I can't believe that people still want to manage the position and size of their windows.

</comment><comment><USER9> """most of our core business logic is written in Java on a Spring/Jetty/Tomcat stack"""

Which is an AWESOME stack. We use it too :-)

<comment><USER10> I might be retarded, but I don't get it... Jetty and Tomcat are both servlet containers, why do you have both in your "stack"?

<comment><USER9> They probably run stuff on both jetty and tomcat. For standard web apps there is no difference. For some specialized stuff, like cometd, you could prefer to use one or the other.

</comment></comment></comment><comment><USER11> "The down side of the whole deal is that you have to choose between two 23'' or one 30'' Apple Cinema display. Life is tough and you just can't have it all."

Tough? Two 23'' all the way. My heart went all a flutter reading the development box specs.</comment>


Want to live a long life? Run - <AUTHOR> http://www.reuters.com/article/newsOne/idUSN1137903420080812?pageNumber=1&virtualBrandChannel=0

<comment><USER2> This story is making the rounds, but as presented, it doesn't distinguish cause and correlation. Maybe the people who enjoy running are the ones who were fit in the first place? eg. if you have bad joints and a bad heart, you probably won't enjoy running much. Therefore, runners are healthier...

Of course, the causation theory is very appealing, and I personally find I feel _much_ better, and have greater intelligence, when I exercise aerobically. I definitely intend to keep at it... and suggest you do too. :-)

 _EDIT_ from page 2: "People who took up exercise when they were older also improved their health" - that suggests causation, but it also depends on _who_ took up the exercise. Perhaps the people who responded well to it.

<comment><USER3> My current understanding is that running is way better than no exercise, but that other forms of exercise are quite likely better for your long-term health because of the impact stress running puts on your knees, feet, etc.

<comment><USER4> One of the best forms of exercise is swimming. Near zero-impact on joints. For those of you who think they can't learn how to swim, check out Total Immersion's zen-like, go with the water method. (<http://www.totalimmersion.net>). I learned how to swim freestyle through their video. Most swimming courses emphasize using your arms like paddle wheels to plow through the water, while TI emphasizes swimming much like fish and advanced swimmers do, by propelling from the core. TI is harder to learn but more efficient once you learn by progressing through their balance and core propulsion drills.

<comment><USER5> I really like swimming. But the chlorine compound (or whatever) in swimming- pool water affects my skin. So I can't swim regularly.

<comment><USER6> Chlorine is by far the most common pool cleaner, but not the only option. Some pools use other methods like ozonation and UV sterilization. Neither of these would bother your skin. Pools like this are admittedly much harder to find, but if you really want to swim it might be worth the effort to track one down. I have a friend that bought an 'endless pool' that uses ozonation technology because of a chlorine allergy.

If you use soap and shampoo that are specially formulated to remove chlorine after you swim, it will also help you immensely. Most of the bad effects of chlorine for your skin are from longer-term exposure. Of course, you still have the carcinogen issue...but you can minimize that somewhat by swimming in a cooler temp pool with cool ambient air.

<comment><USER5> Thanks for that.

Your comment prompted me to find this international list of non- and low- chlorine pools: <http://piscinasana.blogspot.com/> .

</comment></comment></comment></comment></comment></comment><comment><USER7> An element that's missing from this analysis is the quality of that time.

In my experience, doing regular exercise greatly, _greatly_ increases the quality of my life. I feel generally happier, more energetic, more determined, more optimistic, etc.

My mother (over 55) took up cycling up a huge hill every day on her way back from work since a month or so ago, and, predictably, she's reporting the same result. She feels _much_ better than she did before she started cycling up that hill every day.

Doing regular exercise is really a no-brainer. Even as a time-poor start-up founder, the benefits of exercise to your start-up (increased energy, wakefulness, optimism) are huge. The question is not whether you can afford the time to exercise, but whether you can afford _not_ to exercise.

</comment><comment><USER8> My memory fades, so take this ancient Greek proverb with a grain of salt:

If you want to be healthy run, if you want to be strong run, if you want to be beautiful run, if you want to be smart run.

And indeed it has been shown that exercise improves mental ability.

<comment><USER9> This isn't specific to running, of course. Just pick a form of exercise and do it regularly. Being in shape is good for _everything_.

I don't like running, it makes my knees ache. Now, bicycling on the other hand...

<comment><USER10> Hmm I'm a runner and tried biking...but hurt my knees

lol different strokes for different folks!

<comment><USER9> If biking hurts your knees, your bike is probably the wrong size / needs to be adjusted. Your legs might be bowed outward too much, your feet may be turned in or out (putting pressure on the knee while slightly twisted, bad news), your seat might be too low, etc. Running around with your knees bent almost 90 deg. will make them ache very quickly, riding a bike too small for you is very similar.

(You may also be riding in too high a gear. Spinning in a fairly high RPM is best, fighting against a heavy gear is hard on the knees.)

Any bike shop worth its lingering rubber smell should be able to help you find a bike that fits like a glove. If you don't enjoy cycling, that's one thing, but don't write it off just because you tried it on the wrong bike. Running in shoes three sizes too small probably wouldn't be any fun either. :)

</comment></comment></comment></comment><comment><USER11> The most important feature of exercise is that the participant is not doing something unhealthy in place of it. For example, slowly walking around the neighborhood over a period of two hours is awesome--even if it's low-impact. Slow, low impact exercise benefits everyone, even superstar athletes, even if all it does at that level is simply keep an athlete away from trouble. Same deal for people who are out of shape.

Proceeding along the same line of thought, even slow, low-impact exercise benefits participants in avoiding the reinforcement of unhealthy behavior. Not only is one avoiding a day of a bad habit, but they're helping to completely break the habit, as well.

Next, of course, is that any slow, low-impact exercise helps the body replace previous bad habits with new ones. Future exercise is easier to do. One cannot just break a habit; they must find something else to do in place of it.

What is exercise? One can say that it's an activity that isn't unhealthy, regardless of specific activity. If one can't call an activity "exercise", then very likely, not only is it not neutral, it's specifically unhealthy. Otherwise, it would be called exercise--walking, jogging, dancing, swimming, participating in team sports, strolling, mowing the lawn, working outside, etc. Activities that cannot be described as physical exercise should be replaced with those that can, and they don't have to be super strenuous. I think exercise has evolved to mean "running for twenty minutes a day, three times a week" when it can also be "five hours of any kind of bodily motion every single day."

</comment><comment><USER12> Diet is probably a larger factor than exercising in living a long life. If you have to pick one I would go with diet.

Also, here's a different perspective from Arthur De Vany:

 _Death by Exercise: The Aging Running Generation_ : <http://www.arthurdevany.com/?p=797>

<comment><USER13> That's a fairly inconclusive link, somebody died who led a full life. They accomplished many things and lived their passions.

A interesting tidbit in today's NY Times (AP story) [http://www.nytimes.com/aponline/health/AP-MED-Healthy- Obesit...](http://www.nytimes.com/aponline/health/AP-MED-Healthy-Obesity.html) points out that BMI and risk factors are not necessarily connected.

At the end of the day, if you want to live a long life... live healthy. Or: Reduce Stress, Exercise, Eat Well and Smile.

<comment><USER14> And choose grandparents that lived a long life.

</comment></comment></comment><comment><USER10> If you exercise you're more likely to be health-conscious about what you eat too, which can contribute to long life.

Just another one of those things.

</comment><comment><USER15> Ok and if you speak French, go running and then tell your mom on <http://trainoo.com> :-)

</comment><comment><USER16> run on dirt. run on pavement and you'll wreck your knees.

<comment><USER17> Run on dirt (except very flat dirt) and you mess up your ankles.

<comment><USER9> Run on sentences and you mess up your clarity. ;)</comment></comment></comment>