Twitter launches new GitHub page - <AUTHOR> http://twitter.github.com/

<comment><USER2> How does that new hip saying go? "WAT?"

<https://github.com/twitter/time_constants> \- Time constants, in seconds, so you don't have to use slow ActiveSupport helpers

Seriously?? Just look at the freaking source code: [https://github.com/twitter/time_constants/blob/master/lib/ti...](https://github.com/twitter/time_constants/blob/master/lib/time_constants.rb) \- Luckily, it appears that it is generated.

I realize that Ruby is slow and all (we experience it daily), but holy crap people. I also realize that Twitter is a mega scale business, but at what point does this kind of library become a good idea?

<comment><USER3> I see absolutely nothing wrong with this. It replaces a slow way to write human-readable intervals with a fast way. How is that a bad thing?

<comment><USER4> Because it is wrong. Time is a difficult problem to solve, it doesn't move at a constant rate, the length of days and years change. You simply cannot set a constant and have it be "correct".

It may be more performant to set time ranges as constants, but you will get in to trouble unless you know exactly what you are doing. The people at Twitter who wrote the code will be aware of the trade-offs they have made, but what happens when Jo Random developer forks it on GitHub without thinking it through because "it's fast and Twitter use it - it must be good!"

For example:

        T_1_MONTH = 2592000

Not all months have 30 days.

        T_1_SOLAR_YEAR = 31558150

A solar year, is (roughly) 31556925.25218 seconds[1].

[1]<http://www.wolframalpha.com/input/?i=seconds+in+a+solar+year>

<comment><USER3> Just by the mere fact that these are constants documented to be in seconds, it's clear that they shouldn't be used for sensitive or precise time calculations. If you're at the point where you don't realize this, you probably aren't going to be able to use a full-featured time library correctly, either.

"Difficult for novices to use incorrectly" is a good feature for code to have, but it's not the highest good, and its absence does not mean that the code is bad.

</comment></comment></comment></comment><comment><USER5> Super secret easter egg:

<http://twitter.github.com/?larry=25>

(Shh! Secret!)

<comment><USER6> Also works if you just click on the twitter logo

<comment><USER7> looks a bit different. seems like less birds to me.

<comment><USER8> same here. a lot less birds :\

</comment></comment></comment></comment><comment><USER9> I like the design, but what does it offer that Twitter's GitHub page doesn't? It's just an alternative layout with less information and much less functionality.

<comment><USER10> I agree. Not only is it lacking the last time each individual repo was updated, but it seems to be ordered by how many people are watching it rather than what language it's in or when it was last updated. It looks like the only things it adds are the nice, at-a-glance repo language colors, the three last- updated repositories, and— in the case of bootstrap and hogan.js— links to the project's github site under twitter.github.com rather than its github repo page.

Nonetheless, it looks fantastic.

</comment></comment><comment><USER11> The colored triangles are a nice "at a glance" way to see what language the library is for.

<comment><USER12> I was confused by what the different colored triangles meant, at first I thought it was perhaps some sort of build status indicator. Adding a key about the different colors might be nice to have.

<comment><USER11> Agreed, a key would be nice.

</comment></comment></comment><comment><USER13> Nice. I like the occasional bird flying across the background. Would be nice to make the layout responsive with Twitter Bootstrap 2.

</comment><comment><USER14> I'm no design expert, but I find this extremely appealing. I would not mind sitting and browsing through all the different projects (which is hopefully the goal of the design). My emotional reaction to the site is very different than most Github pages, which have a reaction (possibly Pavlovian) that goes "Get back to work!"

</comment><comment><USER15> It appears that Twitter is the source for all of these projects, which is not the case. About 14 of the projects are forks of other repositories on GitHub. Many of the project descriptions include references to their parent projects but it would be nice to see them show it is a Twitter fork and not the main repo.

<comment><USER16> Most of the "forks" are forks from Twitter employees' personal repos that were created before things got consolidated under Twitter's account. A few aren't and are called out as such. Which ones are missing proper attribution?

<comment><USER15> None of them, if you click through.

I just looked at the list and thought to myself, "Twitter released Mustache.js? They also released webrat? No.. that does not make much sense." and did not realize until I clicked through to those repos and checked to see if it was a fork.

I'm not suggesting Twitter is doing a Bad Thing(tm). I just think we under- appreciate those that create and release open source software and that any sort of nod of the head is a Good Thing(tm).

<comment><AUTHOR> Michael Jackson, a Frontend developer at Twitter, is one of the lead contributors to Mustache.

</comment></comment></comment></comment><comment><USER17> Scala will be the new big thing, even companies like IBM and SAP are using it now. But to be really comparable to Java/C++ it will take a decade.

Twitter is very good here, they have a not so enterprisey brand and will improve popularity in the startup community.

<comment><USER18> Does IBM and SAP using it imply that Scala is even more complicated than Java, warranting even higher consulting fees?

<comment><USER19> Air out your suit! It's time to mint some monaay!

</comment></comment></comment><comment><USER20> Very pleasant design. Also, it would be nice to be able to see thenumber of viewers/watchers. Maybe just on hover.

</comment><comment><USER21> Love how they did it through github api, simple and effective implementation.

</comment><comment><USER22> Looks to be (at least from a quick sample) Apache licensed. Nice.</comment>


SAP To Acquire SuccessFactors For $3.4 Billion - <AUTHOR> http://allthingsd.com/20111203/sap-to-acquire-successfactors-for-3-4-billion/ <comment><USER2> I used to work there, circa 1999. It was a train-wreck (Austin-Hayne merged with SuccessFactors, and we lost most of the SF-side engineers). Lots of horrible, Enterprisey Java code, and a bunch of inherited Visual Basic.

I guess they got things under control. Good for them.

I'd invested about $1000 in stock before I left; I called 'em up a few years ago (after finding out they were still around) and found out they'd done some kind of restructuring that blew my shares into oblivion somehow. Easy come, easy go.

<comment><USER3> How is it possible to loose $1000 of stock? I was wondering because I am a bit concerned about my own stocks that I invested.

<comment><USER2> Something about a transaction in 2001 that created a new corporation and "extinguished all equity interests in the predecessor companies."

I'm sure it's entirely legal and so forth. Let me tell you about the time I turned $10,000 into 17 shares of Oracle . . .

<comment><USER3> I still don't get it.

So it's not that you lost $1000 of SuccessFactors shares, right? It's something you had invested in some other company which was bought by SuccessFactors later, and during this conversion period existing shares were restructured, or something along with these lines.

<comment><USER2> Well, something like that -- I wrote a check for SuccessFactors shares. I have a letter to this effect in my files.

Later, some mumbo-jumbo happened that "extinguished" the value of these shares. I'm guessing this was some kind of IP transfer, whereupon the "old SuccessFactors" went out of business, and the "new SuccessFactors" -- different company, same name -- arose.

Given how "old SuccessFactors" was being run, it doesn't surprise me.

</comment></comment></comment></comment></comment><comment><USER4> If you've never worked in big corporate environments you probably are scratching your head at WTF SAP is. Though to be honest most people who have worked with SAP still struggle explaining what SAP is.

I personally think SAP is a ridiculously overblown and complicated piece of software. It is just asking for a bunch of smaller companies to come in and slice and dice it apart. However there is huge value in going with a single provider for all your logistics needs.

I see this move by SAP as wanting to shore competition up. If SAP integrates this into their product then I'd be happy. The product will get better. If they don't...well...who knows what will happen?

<comment><USER5> "Though to be honest most people who have worked with SAP still struggle explaining what SAP is."

Completely untrue. People that work at SAP are just like people working in startups or anywhere else. This is just made up fantasy. They can explain SAP, although at times perhaps only their area of expertise.

"I personally think SAP is a ridiculously overblown and complicated piece of software."

It isn't a piece of software, it's many pieces of software.

Some of those are complex, others are not.

"I see this move by SAP as wanting to shore competition up."

What does that even mean?!

The reality is as simple as you'd imagine. SAP is buying SuccessFactor because it doesn't have extensive experience in Cloud based delivery models, and would like to add their experience and infrastructure to SAPs.

Just like they did with Sybase, and Business Objects. This is completely obvious, and nothing in your comment made a lick of sense.

<comment><USER6> "People that work at SAP are just like people working in startups or anywhere else."

{ sarcasm: "Yes, a company that spends more on marketing and 'bribes' is just like a start up and the people that work there are too." }

<comment><USER7> Startups spend their money on marketing and 'social media'....

</comment></comment></comment></comment><comment><USER8> SAP guy here (well I work in the industry). I know Enterprise Software is not highly regarded here on HN, but this is pretty big news considering the onslaught of Workday and SalesForce.com to enterprise software.

What is interesting is how SAP manages to handle disruptive technologies to its existing portfolio. Does large enterprise now use SuccessFactors or SAP HCM (via NetWeaver Portal/ESS/MSS)?

For anyone interested in the theories of the Innovator's Dilemma this is an awesome example.

<comment><USER9> Ex-Successfactors guy here. It is indeed going to be an interesting thing to watch. Successfactors was innovating big time in terms of usability and flexibility on their ESS/MSS suite during my tenure there.

<comment><USER10> Share an example. I work in an enterprise sw co and I want to learn from their success.

<comment><USER10> haha. I don't see why all the angst here. The place I work at also has a big VB legacy code base that has to be moved to the cloud.

Furthermore, a lot of these large companies start off with a MVP hastily knocked up from 4GL tools and spend a lot of time doing customer development. (remember lean?)

Eventually they get big enough to be able to afford proper software engineering processes.

Gianforte of RightNow, a big enterprise player, started off in his bedroom with a list of possible features and lots of phone calls.

<comment><USER9> I've no idea why your first comment was downvoted. I've seen SAPs HCM interfaces and SuccessFactor's. The SF one definitely looks cleaner, more responsive (Web 2.0, Ajax and all). This is purely my own opinion. It may not be the case with all products of SF, but definitely the ESS/MSS modules. and you are absolutely right, these businesses lean more towards customer development, and hopefully, probably, catch up on other fronts(processes, eng quality etc) later. When I was there, SF had a pretty reasonable dev process and a reasonable codebase.

<comment><USER10> HN community tend to have a knee jerk response against enterprise software. They forget that Steve Blank of "4 Steps to Epiphany" made his fortune in enterprise software.

<comment><USER11> It's probably code-allergy. Most of us have probably worked on enterprise code in some Office Space esque company at some point or another...

What I am interested in, however, is ideas on how to disrupt/fix enterprise software via startups.

<comment><USER10> That is only because a lot of the developers don't have a sense of appreciation of how far the state-of-the-art has progressed.

The previous developers who put together the code aren't totally clueless people. Unless we wish for our own work to be brushed off in the same way we did to our predecessors. Future developers are going to laugh off at the cheesy way we develop our mobile and tablet apps.

Some of the original code had to work under onerous memory constraints, and have all manners of workarounds for various platform incompatibilities. Think IE6 hacks, pre-AJAX code when a sizeable portion of browsers could not script.

Do I think enterprise software as it is today can be disrupted? Yes, I do. But do I think the enterprise software vendors and developers are clueless? No, absolutely not. Many of them have adopted agile processes and are as fast as any other developer. If you want to disrupt enterprise software, you need to disrupt the sales channel, like what Salesforce and SuccessFactors did.

<comment><USER11> _Do I think enterprise software as it is today can be disrupted? Yes, I do. But do I think the enterprise software vendors and developers are clueless? No, absolutely not. Many of them have adopted agile processes and are as fast as any other developer. If you want to disrupt enterprise software, you need to disrupt the sales channel, like what Salesforce and SuccessFactors did._

Go on, I am very interested :)

</comment></comment></comment></comment></comment></comment></comment></comment></comment><comment><USER12> Has anyone used either SAP or SuccessFactors and thought "wow, this is really great!"?

I use SAP (in finance) and it's pretty craptacular in terms of user experience. It's generally counterintuitive and obscure. The problem with enterprise software is that the end user doesn't buy it, the buying decision is made by IT departments and executives who generally don't have to interact with the product on a daily basis.

It seems to me that the only hope for enterprise is software companies that are almost more service than software. Unfortunately, most businesses need something other than a cookie cutter solution and let's face it, that's what you get from most of these big companies, even the SaaS.

One solution is for business oriented programmers to come in and create customized solutions. Believe me, there is definitely a business case for paying a a few good hackers to create customized solutions and manage those solutions on an ongoing basis.

<comment><USER13> > One solution is for business oriented programmers to come in and create > customized solutions. Believe me, there is definitely a business case for > paying a a few good hackers to create customized solutions and manage those > solutions on an ongoing basis.

You just described the job of an SAP consultant :)

<comment><USER2> This.

At SuccessFactors, I once spent about a month figuring out how to install PeopleWare. Somehow word of this leaked out, and I started receiving many cold calls from consultants offering "help" doing the install.

[Installing PeopleWare is, by the way, not for the faint of heart. I would start bad-mouthing it here, but then I wouldn't be able to stop. Let's just say that its craptacularness is fractal]

To buy something like PeopleWare, you pay several hundred thousand dollars and you get a disc in the mail. You throw away the disc and hire a roomful of consultants, each of whom arrives with their own discs full of better versions and customizations and so forth. Three years later you have PeopleWare running.

SAP, same deal (what I hear).

I will never work with Enterprise software again.

</comment></comment></comment><comment><USER14> I think one thing any founder or shareholder of a "cloud-based" startup can take away from this is that the Big SaaS Co's are getting itchy feet and are needing to invest (read:buy) some bleeding-edge cloud technology to feel that they still have skin in this game. There might be some good exit opportunities here.

SAP buys SuccessFactors, Salesforce buys Heroku, etc.

These companies have money, difficulty hiring a-game talent and a lack of industry foresight. You can help them and they'll no doubt pay handsomely for it.

<comment><USER15> no.

SAP is not SaaS, yet. They have an offering, Business on Demand, but the Netweaver core is not SaaS, it is classic on premise.

Salesforce is biting into them. Microsoft right now has a strong campaign for cloud ERP, spearheaded by CRM. Oracle is peddling Oracle On Demand.

SAP is trying to protect their belly with this move.

<comment><USER16> A huge part of the ERP business model is on-premises install/config. By leaving implementation to others, traditional ERP vendors avoid the risk of actually getting it to work properly. They're accustomed to selling a box of tools and pointing you to an army of consultants who will gladly take a shot at making it work. By the time you have anything to test, SAP has long since cashed your license check and booked their revenue.

</comment></comment></comment><comment><USER17> Has anyone here _used_ SuccessFactors? My company implemented it, but it just never really got traction. I'd be interested to hear if anyone had any success with it (no pun intended...)

<comment><USER18> We use it for year-end reviews. It is pretty telling that every year before the reviews start, our HR department apologizes for still using SuccessFactors.

We have also tried to do more year-round tracking on the progress of business objectives, but that hasn't caught on either.

</comment></comment><comment><USER5> This is an excellent acquisition. SAP has been unable to deliver as well as they hoped on their "on-demand" promise, and this is a step towards that.

My belief is that they are purchasing SuccessFactors more for their experience with the cloud based delivery model, than for their actual software.

Which is a great thing I think. Instead of trying to homebrew a cloud which isn't your core business, you buy a group who that's their bread and butter, and you integrate them with your guys, and make a real SAP cloud (on demand) solution.

And if their software isn't terrible, that's icing on the cake. Perhaps there's something to take away there, I'm just not familiar with it.

</comment><comment><USER19> One of SF products is written in Ruby on Rails. Interesting. Seems like an on- going trend that Big Co. are using Rails for their newer projects (I believe BusinessObjects were looking for a few Ruby on Rails talent as well not too long ago for their new products).

[https://performancemanager4.successfactors.com/career?career...](https://performancemanager4.successfactors.com/career?career_ns=job_listing&company=sf&navBarLevel=JOB_SEARCH&rcm_site_locale=en_US&career_job_req_id=12652&selected_lang=en_US&_s.crb=fFQ0ex0EJEgNLe4lpgjRxaAZH50%3d)

<comment><USER20> SAP Streamwork and parts of the BI On Demand offerings are written in jruby / rails.

(I used to work at SAP on Streamwork, which was done at the former Business Objects development centre in Vancouver.)

</comment></comment><comment><USER21> _SuccessFactors, a cloud-based maker of human-resources software_

Excuse my entirely naive level of questioning, but to someone who's pretty ignorant of the 'enterprise' world, are they essentially an enterprise-level equivalent of a 37signals or similar?

They say they have 15 million subscribed users, while 37signals merely says "millions", so perhaps 37signals is worth $450m+? Or is there something about companies like SuccessFactors (perhaps big contracts, lock in clauses, or higher rates) that could lead to such large valuations?

<comment><USER19> That's 15M _paying_ users right there.

37Signals says "millions" of users, active, inactive, paying, and free. Numbers probably way lower than that (10% of paying users?)

<comment><USER22> No, that's 15M people who work for companies who are paying users. SF claims to have 3,500 customers.

<comment><USER19> Correct me if I'm wrong. Enterprise SaaS usually charge by the seat (with a few asking for discounts). So at the end of the day whether it is 3.5k customers or 15M users. They all pay.

That is my point.

</comment></comment></comment></comment><comment><USER23> What does this mean for their competitors? Taleo, Kenexa, etc.?

</comment><comment><USER24> For reference, SAP's market cap is $70B.</comment>


Security – Politics, humanity and the philology of care (John T. Hamilton) [video] - <AUTHOR> https://www.youtube.com/watch?v=KndJFHp3VIM <comment><AUTHOR> If anyone interested in this approach to security, consult his book: [https://books.google.fr/books?id=201Of096E0kC&printsec=front...](https://books.google.fr/books?id=201Of096E0kC&printsec=frontcover&dq=john+t.+hamilton+security&hl=en&sa=X&ved=0ahUKEwje_ZnGvsXMAhWMyRoKHd37ARAQ6AEIJTAA#v=onepage&q=john%20t.%20hamilton%20security&f=false)</comment>


Dialogflow and Sendgrid = AI Mailbox - <AUTHOR> https://github.com/mishushakov/dialogflow-sendgrid <comment><USER2> People really need to stop using AI in everything. It reduces the meaning.

There is zero AI in this , just a scripted workflow .

I'm sure it's not as catchy as saying "Scripted Actions for Email"

<comment><USER3> AI in the current public narrative is almost synonymous with "technology"...

</comment></comment><comment><USER4> What is the difference between that and an "AI bot" ? Why should I have to wait for STMP and POP3 ?</comment>


Positively Misguided: The Myths & Mistakes of the Positive Thinking Movement  - <AUTHOR> http://www.skeptic.com/eskeptic/09-04-15.html <comment><USER3> There's a kernel of truth behind positive thinking: that your feelings are largely affected by what you think, and what you think is largely your own choice. Conclusion: you are largely responsible for how you feel: anger, despondency, sadness, etc., and certainly responsible for how deeply and how long you let those feelings linger.

But this is more about avoiding negativity traps than it is building delusional world perspectives. Going too far the other side is not quite as bad, but bad nonetheless. You have to be realistic. And act. The reaction to action ought to inform one of how things really are.

<comment><USER4> Yes, but feeling good, doesn't make you act good.

Being realistic makes you more effective.

<comment><USER5> The "Skeptics" began as a movement combating pseudo-science. Unfortunately, many skeptics confuse the negative ability to refute clearly irrational belief systems with the positive ability to offer prescription about how people should live life or order society. Our "Skeptics" generally aren't scientists and even science can't describe the best way to organize society. Unlikely debunking UFOs, organizing society doesn't have easy villains and clear proofs.

One problem is that many people with provably false belief systems still live lives that they find satisfying and even make crucial contributions to science itself. One can clearly demonstrate the irrationality of their belief systems. One cannot clearly prove that they would do better in life if they adopted different belief systems - this isn't saying that they wouldn't but rather that this is a much more complex and nuanced question to address, something that skeptics have failed to consider.

<comment><USER6> It seems to me that the whole "skeptical" movement has long run out of useful things to debunk (UFO's, astral projection, homeopathy, etc.) and have taken to just pissing in everyone's cereal.

</comment></comment></comment></comment><comment><USER7> "You can be president of the Unites States, if you really want to!"

This one motivates person to at least try his best

A more truthful message would be, "You have much higher odds of being struck by lightning than of ever becoming president of the United States"

This one motivates the person to sit on his backside and do nothing.

My guess would be that if everyone was thinking in terms of "truthfulness", we would not have a civilization at all. After all, there's always more chances to NOT make a discovery than to make one, to NOT become the next Google than to become one, to NOT find a new continent than to find one etc.

And of course, he was going to miss a few blocks. But, suppose that everything else is equal - training, physical abilities, skill, and your opponents are ready to give it all and fight for each ball, while your teams is expecting to miss a few here and there - who would have better chances?

<comment><USER8> Being "ready to give it all and fight for each ball" and "expecting to miss a few here and there" are not mutually exclusive.

One is a statement on commitment. The other is a rational assessment of the likely outcome.

The last section of the article is perhaps the most important. It contains this paragraph:

 _After surveying and studying that database, Hill has identified key characteristics that enabled these dieters to achieve their impressive results, and he has distilled them down to a series of tips. Among the first tips is this: Expect failure…but keep trying._

<comment><USER7> This 'expect failure' bit just does not sound right to me. 'Do not fear failure' - maybe, or 'don't get discouraged by failure', or something like that.

Rational assessments can prevent commitment. Only one out of millions becomes an Olympic champion (rational), why even try? (lack of commitment as a result of rational assessment)

<comment><USER8> Why sugar coat it? You will fail along the way. A lot. If you expect it, you're less likely to see failures as disastrous.

It's the people who continue on despite knowing that today's effort won't make much difference that can achieve great things. It will make _some_ difference, but not much. But added up over years, you've achieved something significant. Any single Brazilian Jiu-Jitsu practice I attend won't make much difference in how good I am. But five years worth of consistently showing up despite that I now have a purple belt, and I compete in the advanced division in competition. Any given day I show up at the office won't make much difference in my research, but five years worth of that means I'm close to my PhD.

</comment></comment></comment></comment><comment><USER7> "Let's say that you are broke, overweight, and have no friends. You decide to apply positive thinking. You tell yourself that you are lucky to be you and walk around with a smile on your face."

Ugh, that's positive thinking gone terribly wrong. I guess, he should tell himself that he'll lose 500g bodyweight this week ... and next week ... and stick to it. And apply for X jobs this week, and next week and ...

But, wait, let's be truthful, odds are high of staying overweight and jobless. Why bother then?

<comment><USER9> Because a positive attitude -- not lying to yourself -- gives you a reason to try, to create the environment in which good things _will_ happen to you. (Working up the nerve to say hi to a stranger, volunteering at a charity, throwing away the sugar in the house.)

</comment></comment><comment><USER10> "you have within you the energies you need to heal"

While obviously there are diseases that don't heal themselves, it seems to me the human immune system is a lot more complex and fine tuned than anything physicians could offer at the present time. I suspect most medical treatments are somewhat akin to operating with a sledge hammer. Therefore it seems to be preferable to find a way to let the human immune system (and regenerative capabilities of the body) do it's job than to go about it with medications and operations. Of course sometimes there is no choice, but in general it seems worthwhile to ask "why can't the immune system fix this by itself?" - <USER2> probably leads to an attempt to treat the causes, rather than the symptoms.

</comment><comment><USER11> Is the author poking holes in delusional optimism, a mere pocket of positivity, or honest self-esteem? Isn't the point of believing you can do something (being positive) so you try harder to achieve it and not just (as it seems to be written here) wait for it to fall in your lap?

</comment><comment><USER12> The dude might be Michael Shermer, but he's still overdoing his ads by placing them an entire screenful before the blog post.

</comment><comment><USER13> Blind optimism in the absence of supporting evidence is silly, yes, but maintaining no semblance of positive attitude is also silly.

I think a large part of why motivational speaking/writing is over the top is that, at most, people only take away and action a certain percentage of what they are told. So you need to give them 200% to get them to absorb 80%.

To misquote 'if you think education is bad, you should try ignorance' : 'if you think positive attitude is bad, you should try a negative attitude'. It pays to be positive, but it also pays to fold and admit when you're wrong. I think it's the latter part many people are suffering from, not the former.

</comment><comment><USER14> In my experience, the "positive" business types (those to whom reality and facts are "negative" if those don't fit their agenda) are in reality some of the most negative, vicious, two-faced, double talking, backstabbing, manipulating, thieving humans in existence.

I had a brother like that once, and he was THE most negative person in the world when it came to me . . . amazing! My ex-wife too!

If you ask me, when it comes to most of those types of people, the whole "positive" thing is just mental and emotional masturbation plus crack.

I can only be real in life. "Positive" or "negative" are just illusions that cloud the FACTS.</comment>


Idea Sunday - <AUTHOR>

Continuing the tradition for the second sunday of the month... <comment><USER2> Time for people to get their acts together over this:

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

Also, it's largely been killed: [https://news.ycombinator.com/item?id=7693640](https://news.ycombinator.com/item?id=7693640)</comment>


An inside look behind Romney's loss: An epic failure of its Orca big-data app - <AUTHOR> http://blogs.computerworld.com/governmentindustries/21310/inside-look-behind-romneys-loss-epic-failure-its-orca-big-data-app

<comment><USER3> Stripping out the politics here, some good lessons for all of us:

1\. Test your damn product before it goes live.

2\. User feedback, user feedback, user feedback. Things like the confusion of the use of "app" (vs "website") and the lack of http->https routing scream of things that a developer would think are "obvious" but even the most basic user testing would reveal early on.

3\. Stealth mode can be trouble. This may be a controversial opinion but I've learned to believe more and more that "Surprise! We're here!" approach does more harm than good. There are limited circumstances where this is not the case (situations where knowing the existence of a project can damage that project) but I emphasize limited.

<comment><USER4> Yes! Long experience has taught me that I can either look dumb in front of a small, friendly audience of early testers or a big audience of people with inflated launch-day expectations.

Not looking dumb is not an option. It is a big fucking world, and it will never fit inside the 3 pounds of meat that people somehow expect me to think with. Especially when some of that meat is dedicated to things like the ego and false pride that tell me that my big launch will be magically perfect because I am so smart.

<comment><USER5> "Not looking dumb is not an option."

I'm going to be quoting you forever, thanks.

</comment></comment></comment><comment><USER6> Are we really to believe this is plausible?

1: Romney's big data app failed on election day which led to ineffective use of their volunteers.

2: Romney's campaign performed exactly as predicted by the likes of Nate Silver.

Therefore: the failure of their big-data app was inconsequential. Otherwise we have to assume that the hundreds of polls were consistently biased in the direction of Obama and that the failure of the Orca big data app exactly compensates for this failure of the polls so that the outcome of the election is nonetheless exactly as predicted!

Absolutely 100% ridiculous.

<comment><USER7> Two things to consider before immediately going to the "yay Nate Silver" default:

1\. GOP had a consistent polling advantage on voter engagement, even going as far back as August. The Romney campaign placed a lot of stock on this. (see here: <http://www.politico.com/news/stories/0812/79665.html>) The polls might break for Obama, but the Romney campaign was banking on something else...

2\. Polls attempt to account for the simple error that people are more likely to say that they'll vote than will actually vote. (see here: [http://www.gallup.com/poll/111268/how-gallups-likely- voter-m...](http://www.gallup.com/poll/111268/how-gallups-likely-voter-models- work.aspx)) The Romney campaign was predicated on the idea that GOP voters were likely to get out and vote, while Obama voters would say they were going to vote but then drop out on Election Day. That is a polling blind side that Nate Silver couldn't account for.

The Romney campaign didn't accurately test their engagement assertion. They relied on journalist polling, but engagement didn't turn into votes. The Obama campaign did the opposite: they targeted voters who might be disengaged and directly went after those with their GOTV efforts.

There is a HUGE debate that always goes on around election time with politicos around who matters more. Is it more important to try to sway independents (i.e., go after the middle), or is it more important to fire up your base? Romney won independents but Obama got the base turnout, indicating that a GOTV effort targeted at the base might have worked, had it been used effectively. (see here: [http://abcnews.go.com/Politics/OTUS/exit-polls-obama- loses-i...](http://abcnews.go.com/Politics/OTUS/exit-polls-obama-loses- independents-swing-states/story?id=17656990#.UJ0_-nZ38Yw))

<comment><USER8> The Occams Razor answer is that the "Obama supporters are stoned slackers, they won't even turn out to vote" hypothesis was wrong, not that it was counterbalanced by a failure within the Romney campaign.

<comment><USER9> Could be more relevant in Colorado and Washington. Just kidding.

</comment></comment></comment></comment><comment><USER10> The OP borders on blogspam, read the more detailed account where it was original posted:

<http://ace.mu.nu/archives/334783.php>

Among the more amusing errors: A checklist for poll-watchers left out a vital item -- "poll watcher certificate" -- in a packet that went out to tens of thousands of volunteers.

This should also be amusing to most web devs: > _Next, and this part I find mind-boggingly absurd, the web address was located at "<https://www.whateveritwas.com/orca>. Notice the "s" after http. This denotes it's a secure connection, something that's used for e-commerce and web-based email. So far, so good. The problem is that they didn't auto-forward the regular "http" to "https" and as a result, many people got a blank page and thought the system was down._

</comment><comment><USER11> "Project ORCA is a massive undertaking – the Republican Party's newest, unprecedented and most technologically advanced plan to win the 2012 presidential election."

I hope this puts the last nail in the coffin holding the remains of the hope that Romney would have been a better business and technical strategist for America than Obama.

<comment><USER12> Because no good business/technical strategist has ever overseen a complex software project that had a bug in it?

<comment><USER13> The article doesn't really describe a "bug" so much as a complete lack of planning, ignoring warning signs, brushing off questions and constructive criticisms, and in general demonstrates the exact wrong way to implement any system.

No, no good strategist would ever release a "big data" system without stress testing it. You'd be hard pressed to find a job doing stuff like that.

</comment></comment></comment><comment><USER14> Romney lost because he was a terrible candidate, simple as that. Even the Republican base hated him.

Right now the GOP leadership is busy flailing around trying to figure out why they didn't win. The ones who have gotten closest to the truth are the ones who have zeroed in on this year's lower-than-normal turnout of traditionally Republican voters (as this article touches upon). However, the underlying reason for that wasn't a failure of software or a lack of last-minute "get out the vote" campaigning, it's because people just plain didn't like Romney.

Remember the primaries? For months the Republican primaries were a game of "anybody but Romney". The primary voters at times even gave consideration to total crackpots like Santorum and Cain. Think about it -- they sent the message that they'd rather have some unelectable whackjob like Rick Santorum than be stuck with Romney. That's how much they didn't like him. But when it was all said and done, the Republicans finally gritted their teeth and accepted Romney as the nominee, despite the fact that they really, _really_ didn't like the idea. Then on election day, many Republicans simply stayed home rather than hold their nose and vote for the guy.

Even if this "Orca" thing had worked perfectly it's doubtful it would have changed much. Republican voters' dislike of Romney just ran too deep.

<comment><USER15> _unelectable whackjob_

Hard to say that, given how the so-called "electable" guy did.

My objection always was, the republicans nominated the guy who could not beat the last guy who could not beat Obama (i.e. McCain).

<comment><USER14> Santorum is "unelectable" in the same way as Sarah Palin. Since they are so extreme, there will always be a small, dedicated swath of people who like them, and they can even get enough local support to get elected to an office, however once they hit the national stage they're toast.

Also, I completely agree it is ludicrous how the Republicans chose to nominate someone less popular than McCain and are now acting surprised that he got fewer votes. Gee, no one could have predicted that!

</comment></comment></comment><comment><USER16> FWIW the same thing happened to Obama in 2008, at least in the key swing state of Virginia. I did some campaigning there for Obama the weekend before the election and the system that managed their get-out-the-vote efforts had crashed statewide. The precinct captains were handing volunteers old printouts of where to knock on doors and then using a highlighter to mark your route on a Google Maps printout. Given the limitations it was still an effective system for organizing a lot of volunteers.

<comment><USER17> Yeah, strike lists are The Way It Has Been Done for over a century, it works pretty well. What amazes me about this story is not that the software crashed, but that they did not have precinct captains and strike lists at the ready to step in. And that they were only rolling out their GOTV operation on the day of the election, and not sooner? Pretty bizarre.

</comment></comment><comment><USER18> The RNC establishment absolutely HATES Ron Paul's guts. Given the slap in the face to all the RP volunteers, a large percentage of them voted for the Libertarian candidate in protest, voted for Obama as a protest, or did not even vote.

If you look at Ohio, Florida, and Virginia (I am going from memory here) - <USER2> votes gotten by the libertarian candidate represented a large portion of votes needed to swing the state to Romney. And those 3 states' EC votes would have put Romney a lot closer, giving him 266 EC votes. Add in Colorado (numbers below) and he would have won.

Florida: 29EC votes; difference was 61,000 votes, L. got 44,000 votes

Ohio: 18E votes: difference was 104,000 votes, L got 47,000

Virginia: 13EC votes: difference was 116,000, L and Constitution parties got 44,000 .

Colorado: 9EC votes: difference was 113,000, L and Constitution got 37,000 .

Clausewitz, in his treatise "On War" dedicates an entire chapter to "Moral Forces" , what we would term "an organization's morale" .

Did crappy software contribute? Perhaps.

But wars and elections are not won by software, but by people.

That critical Libertarian slice or whatever you want to call it, of the traditional Republican base, was demoralized over Ron Paul and that resulted in an Obama victory.

Description of rule changes at RNC convention: [http://articles.latimes.com/2012/aug/28/news/la-pn-ron- paul-...](http://articles.latimes.com/2012/aug/28/news/la-pn-ron-paul- supporters-walk-out-of-gop-convention-20120828)

<comment><USER19> So even making the incorrect assumption that 100% of the Gary Johnson votes were coming from would-be Republicans, none of the outcomes would have changed.

<comment><USER18> That is not what I said... key sentence is "That critical Libertarian slice or whatever you want to call it, of the traditional Republican base, was demoralized over Ron Paul and that resulted in an Obama victory."

Meaning the libertarian section of the Republican base, not meaning the people who necessarily voted for Gary Johnson.

</comment></comment></comment><comment><USER20> From an Ask HN post a month ago:

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

> > Fairly often we see stories that link to a piece of useless blogspam > rather than the original article. The guidelines say that these should never > have been submitted. But are silent on what we should do if we notice the > guideline being violated.

> > Is it helpful for us to flag those as we notice them so that editors can > more easily find and kill them? Or would those flags just an annoyance for > editors, and we should just ignore them in the belief that they will get > deleted if they are a problem?

> Yes, flag them.

The story kindly submitted here was nothing but one blogger quoting some earlier publications, with no new added analysis. There have been better submissions to HN on the same underlying story today, from better sources. This is one of the hot stories today.

</comment><comment><USER21> This is pretty usual when government and software development are mixed together. All of the bad developers I met at college are now working for the government or are contracted by the government. Most hackers I know wouldn't go anywhere close to such a contract.

My guess as to why it happens this way is that they check your scores rather than your actual skills and anyone without a diploma is automatically disqualified. Their culture is the opposite of hacker culture.

<comment><USER22> * All of the bad developers I met at college are now working for the government or are contracted by the government. *

Interestingly, all of the government developers I know would run circles around almost any startup programmer. These guys design and implement systems that are designed to last _decades_ without even minor bugs. Frequently, they manage to keep systems designed _decades_ ago from collapsing under their own weight.

 _My guess as to why it happens this way is that they check your scores rather than your actual skills and anyone without a diploma is automatically disqualified. Their culture is the opposite of hacker culture._

Government hiring is credentials _and_ experience based. Don't be bitter that you can't get a job because you lack the credentials or experience to make the cut.

 _Most hackers I know wouldn't go anywhere close to such a contract._

A certain level of professionalism is expected for a real job. Nobody cares what you wear, or where you work, or how you work when you're making yet another Instagram clone. When you are designing and implementing critical systems, being a professional matters. Most hackers simply don't have the self-discipline to _get_ such a contract.

<comment><USER23> > A certain level of professionalism is expected for a real job. Nobody cares > what you wear, or where you work, or how you work when you're making yet > another Instagram clone. When you are designing and implementing critical > systems, being a professional matters. Most hackers simply don't have the > self-discipline to get such a contract.

Disagree.

I work in critical system infrastructure. Dressing up nice to talk the computer doesn't make the code better; aggressively making the code better does. It's my opinion that the better dressed the guy writing code, the more suspect his code is...

<comment><USER24>
      It's my opinion that the better dressed the guy
      writing code, the more suspect his code is...

So do you think others make judgements about your ability to do a job based on how you're dressed?

<comment><USER23> Everyone is making judgements, are you wearing black, are you wearing a suit, are you wearing fashionable clothing, etc.

My opinion/observation is that the more attention that is paid to your clothing, the more your engineering/code quality suffers. It like the IQ test: wearing suits impresses people who think highly of people wearing suits. Maybe it's better to impress people who think highly of quality work.

edit: It's foolishness to dress finely to make people think you're awesome. You're not more of a professional because you wear a tie and suit. You're just a guy in funny-looking clothing who looks like important people. If you want to be professional, do the job well, do it kindly, do it so it can be used for its intended purpose for a long time, do it with respect for other people. Dressing nice has so very little to do with professionalism.

</comment></comment></comment></comment></comment><comment><USER25> It is pretty interesting that they didn't have the system up and running well before early voting started--do campaigns not do get out the vote volunteer work during early voting?

<comment><USER26> My hunch is that this project was started way too late. At the start of the Republican primary in 2011, Romney's fundraising wasn't aggressive, and it's unlikely his team prioritized a "Big Data" initiative from day 1. In the ensuing primary slugfest, Romney probably needed to put a ton of resources into advertising to win. He also had a very large campaign payroll: his people were well compensated, but that didn't leave a lot money left-over for things like Orca.

Based on this conjecture, Orca probably got started sometime in the Spring, essentially giving the campaign 5-7 months to ship a bullet-proof GotV app.... alongside all the other stuff the team had to build (Tons of miscellaneous internal tools, the public mobile apps, etc). A lack of time and resources probably doomed it.

Moral of the story? Software is hard. Don't take it lightly.

<comment><USER27> Lack of resources was probably not a problem. The amount of soft money around was tremendous.

But too much resources leads to the temptation to throw lots of bodies at it. Lots and lots of bodies is simply not a good way to hit an aggressive schedule.

<comment><USER28> But most of that money couldn't be put towards a program like ORCA. The one saving grace of Citizen's United is the limitation on PAC-campaign coordination.

<comment><USER29> Romney could have lent the money to his own campaign, couldn't he?

</comment></comment></comment></comment></comment><comment><USER30> I don't believe the app is the reason for the loss. It does, however, point to a glaring weakness of the campaign: organization.

</comment><comment><USER31> An interesting takeaway from this article, if one believes this may have helped lead to a Obama victory, is Romney's _campaign_ had a single point of failure: that poor little web server.

One of the classic blunders!

</comment><comment><USER32> I'm skeptical of blaming the tools so much as the people responsible for buying them, building them, etc.

Also, no amount of data driven malarky changed the fact that a lot of people weren't so excited about Romney or so upset about Obama that they changed the current status quo.

President, house, and senate remain largely the same, so really, people weren't convinced that a dramatically different direction was needed. At the end of the day, Romney lost because he didn't convince enough people to change. Some of that is money, some is tech, some is just he didn't do a good enough job leading his campaign to victory.

<comment><USER4> I agree about blaming the tools, but I think that last bit is false inference. An awful lot of people were convinced that a dramatically different direction was needed. It's just that we have roughly similar numbers of those people.

</comment></comment><comment><USER33> Why does everyone blame/praise the data?

It's the voters that made the difference.

We are talking 1% of people changed by campaigning, everyone has already made up their minds. They spend a billion dollars on this nonsense and probably a million "man hours" annoying people door to door. Just imagine what kind of actual good that much money and effort could have done for schools, etc.

The population is just becoming more progressive and "values" from the 1950s are less and less popular.

<comment><USER34> I'm a progressive but I don't know if I'm convinced that the populate is moving to the left. I hope so but....

Romney's loss may just be that he just wasn't a candidate that excited the right-wing enough for them to really get out and vote. Romney wasn't conservative enough for them and he made a number of bone-headed blunders along the campaign trail.

That said, I hope you're right and I'm wrong : )

<comment><USER33> The right would have voted for a lump of coal vs Obama after foaming at the mouth for the past four years at Obama. Romney is kind of proof of that since he was the pick of the primaries.

It's not a get out the vote problem, it's just that the old population is slowly dying off and they can only brainwash their young to a certain level when information flows so freely today.

I am disappointed there is only a 2.5% difference in the popular vote when Bush was only 4 years ago but people have tiny memories and change happens slowly. Values like anti-gay, anti-birthcontrol, etc. etc. etc. aren't going to fly with most voters under 25 unless they are raised in a very conservative environment and are never exposed to the rest of the world outside their home.

<comment><USER15> _the old population is slowly dying off_

As if the young population won't age and replace them? Believe me, age, responsibility, and having kids changes your outlook. When I was 25 and didn't know anything, I was pretty liberal too. I voted for Jesse Jackson once. And I supported Romney this year, even though he wasn't conservative enough for me, he was better than the alternative.

<comment><USER35> _As if the young population won't age and replace them?_

No, I don't think young people with openly gay friends and coworkers are going to decide 10 years from now that they really should be shunned by society. And if you're thinking at all rationally about marijuana, you'll recognize that the greatest danger it represents to your kids is them being arrested over it.

The GOP is seemingly going out of their way to make sure that nobody under 30 even considers voting for them, except for the strongly religious. Which as a fiscal conservative I find quite frustrating.

</comment></comment></comment></comment></comment><comment><USER36> There are more 1st-person details at the Breitbart account:

[http://www.breitbart.com/Big-Government/2012/11/08/Orca- How-...](http://www.breitbart.com/Big-Government/2012/11/08/Orca-How-the- Romney-Campaign-Suppressed-Its-Own-Vote)

I find this volunteer account notable:

 _I do not know if the system was totally broken, or if I just saw the worst of it. But I wonder, because they told us all day that most volunteers were submitting just fine, yet admitted at the end that all of Colorado had the wrong PIN's. They also said the system projected every swing state as pink or red._

Putting aside Hanlon's Razor ("never ascribe to malics what can be explained by incompetence") for a moment: what _if_ some of these failures were due to partisan/hacker tampering?

If you owned the server(s), you could scramble a state's PINs. You could break redirects. You could bias the projections for overconfidence, or mark records as 'voted' or 'followed-up' that hadn't been.

With a little phone-hacking, you could make sure attempts to call-in with problems get no answers.

A single skilled amoral hacker could more easily suppress thousands of actual votes this way, compared to voting-machine/voting-tabulation tampering. And the details could disappear more easily into the secrecy and cover-your-ass bullshitting that is common in a partisan, temporary campaign organization.

</comment><comment><USER37> That wasn't much of a look inside.

</comment><comment><USER38> Romney never played the game to win, but to show there are even worse alternatives than the black Bush.

<comment><USER30> What a vulgar sentiment! President Obama is hardly a black Bush, whatever your thoughts about his policies. If you really believe they are the same--yet utterly fail to articulate your rationale--there probably isn't much reason to engage in a discussion with you.</comment></comment>


Ring, officially a GNU package - <AUTHOR> https://blog.savoirfairelinux.com/en-ca/2016/ring-official-gnu-package/ <comment><USER2> Little bit off-topic but:

> respects freedoms and privacy of its users

It downloads the binary over http on [http://ring.cx](http://ring.cx), makes it susceptible to tampering. Is serving binaries over HTTP a GNU thing because the expectation is that you would check the signature?

<comment><USER3> Care to elaborate? [http://ring.cx](http://ring.cx) has a 301 forward to [https://ring.cx](https://ring.cx), and all the downloads seem to use https as well. Where is it using plain http? Or was the forward added in the last hour?

<comment><USER4> The links on the "Downloads" page are HTTPS, but the download button on the home page points to [http://gpl.savoirfairelinux.net/ring- download/windows/ring-w...](http://gpl.savoirfairelinux.net/ring- download/windows/ring-windows-nightly-x64.exe) with no security.

<comment><USER3> Thank you, that explains it. For me, the same button links to [https://ring.cx/en/download/gnu-linux](https://ring.cx/en/download/gnu-linux) but under windows you are right.

</comment></comment></comment></comment><comment><USER5> While I'm sure it's well-intended, it does have a couple of fatal flaws.

* Lack of full forward secrecy means logged network logs can be decrypted in the future if an endpoint key is ever compromised.

* e2e encryption is optional, due to legacy SIP support. This is extremely dangerous as it will no doubt lead to false sense of security, with users assuming they're safe just because Ring is the program they're talking through.

Due to these two I cannot actually recommend it to anyone.

Note that Tox got these two right, and is a pretty active project which gets commits semi-daily, regardless of the nonsense about it being dead that some party seems to be spreading.

<comment><USER6> e2e could be enforced for the DHT clients if the user states they aren't going to be using SIP though, right?

Either way, I don't use SIP so that feature isn't a dealbreaker for me.

<comment><USER5> > e2e could be enforced for the DHT clients if the user states they aren't > going to be using SIP though, right?

That needs user intervention, which implies his understanding of why it is necessary.

Here's a better idea, remove backwards compatibility. Perhaps they could release a separate SIP client under a different name. Just keep it away from Ring itself. Let Ring be actually secure.

</comment></comment></comment><comment><USER7> Official web page seems to be [https://ring.cx/](https://ring.cx/)

<comment><USER8> And [https://ring.cx/en/about/practical](https://ring.cx/en/about/practical) contains more details _about_ the project.

Source repositories located at [https://gerrit- ring.savoirfairelinux.com/#/admin/projects/](https://gerrit- ring.savoirfairelinux.com/#/admin/projects/) (Uses gerrit!)

</comment></comment><comment> Ruud-v-A This appears to be something phone-related, not the Ring cryptography library written in Rust based on Boringssl. ([https://github.com/briansmith/ring](https://github.com/briansmith/ring))

<comment><USER9> Neither is it the Clojure web server library [https://github.com/ring- clojure/ring](https://github.com/ring-clojure/ring).

</comment></comment><comment><USER10> The DHT system for identities is cool, but the thing that gets me is that they don't have support for SRTP with ZRTP, only SRTP with SDES. There's no perfect forward secrecy, and a bunch of other features that ZRTP has.

[https://www.silentcircle.com/products-and- solutions/technolo...](https://www.silentcircle.com/products-and- solutions/technology/zrtp/#why-is-the-zrtp-protocol-better)

<comment><USER11> Yes, that's true.

A more comparable thing to Signal is Matrix [1] and it's client Riot [2]. Theoretically, it has perfect forward secrecy. It's not as distributed as Ring is, but there is no centralized server as in Signal either.

Riot is also in F-Droid. So while not a GNU member, I find it sufficiently open and free.

A totally distributed approach with forward secrecy is Tox [3]. It needs a good code audit, though. And as in Ring, P2P causes data consumption issues in mobile.

[1] [https://matrix.org/](https://matrix.org/)

[2] [https://riot.im/](https://riot.im/)

[3] [https://tox.chat/](https://tox.chat/)

<comment><USER12> I think you meant "but there is no centralized server as in _Signal_ either"

<comment><USER11> Fixed, thanks.

</comment></comment></comment></comment><comment><USER13> Has ring improved much? I remember a few months back it used 28gb of background data over LTE (which was fine since I'm uncapped) on my phone, and was less stable than sflphone, which would randomly stop registering occasionally.

I can recommend pjsip though, very reliable so long as you read its docs before writing a script to leverage it.

<comment><USER10> For voice I've found it to be quite stable, the video features a little flaky though. Sometimes it would work, sometimes it just wouldn't.

</comment></comment><comment><USER14> What stops attackers from poisoning the DHT? Could one publish false name <\--> IP address associations?

<comment><USER15> Cryptography. Identity is not simply a name. You don't choose it but generate.

</comment></comment><comment><USER16> I could not find this anywhere; do Ring uses a server (NAT traversal, or similar)? Thanks!

<comment><USER17> According to the docs, it gives you the option deep in the settings to add your own STUN and TURN servers. It seems like it doesn't ship with any preconfigured. That makes it a non starter for me.

</comment></comment><comment><USER18> Why this over Tox, Psyc, or Matrix? There doesn't seem to be much benefit...

<comment><USER5> I hear tox has been approached before, but they were uninterested.

Remember GNU requires transferring rights to the FSF, which many aren't comfortable with.

I personally favor tox, because ec25519 and full forward secrecy. Also, not fond of SIP.

<comment><USER19> I have interacted with Tox core devs, the exchange was not pleasant. The overlap between professional and mature (both in social and engineering aspects) seems to very slim in the security space.

<comment><USER18> What did you expect? You know where they come from, right?

If you don't, they come from 4chan. So yeah...

But they got accepted into GSoC as a mentor project, so they can't all be bad.

</comment></comment></comment></comment><comment><USER20> There seems to be no browseable source code around, what are the implementation language(s)? I want to know whether the protocol implementations are written in a memory-safe language.

<comment><USER21> libring (or ring-daemon) is written in C++.

P.S. I couldn't find any browseable source either, so I cloned their repo.

</comment></comment><comment><USER22> Is there a well-known discovery document or any other way to create shortcuts for the ringID? (i.e. mapping it somehow to web or email address) I doubt many fancy spelling ringIDs.

</comment><comment><USER23> Seems like it's not possible to change your password after you use it to create a Ring ID...

</comment><comment><USER24> What's the advantage of being a GNU project these days? It seems like it ties you very strongly to the FSF's political opinions and in particular Richard Stallman's political opinions (e.g., eugenics) and restricts your technical decision-making options (e.g., limited plugin architecture, limited support for non-free OSes, mandatory support for things like GNUTLS), while not giving you very much in return - with the existence of GitHub and a wide variety of competitors, it's pretty easy to attract a healthy development community independent of GNU. What am I missing?

<comment><USER5> > What's the advantage of being a GNU project these days?

I can't think of anything.

> and in particular Richard Stallman's political opinions (e.g., eugenics)

Utter nonsense. Being part of GNU doesn't imply agreeing with every word Stallman utters on any topic.

> restricts your technical decision-making options

Very real (see gcc and frontend/backend separation) and a very good reason to stay away.

<comment><USER25> Over half an hour before you posted, a project maintainer directly contradicted your post under this thread. The technical decision-making are made by the maintainers, not by the GNU project.

Did you just miss davexunit post?

<comment><USER26> I know he said things, but I also know the gcc frontend/backend hard wall is very real, entirely political, and is very frustrating.

What good is reading his post when you can see how core GNU projects are actually run?

<comment><USER25> Who is the maintainer of GCC?

This is not news to me, but its the maintainer of a project that decide over their project. Its like how the CEO of Microsoft do not control what Apple do, nor vice verse. Two projects with different people in charge, makes different decision, and has different priorities.

The good thing about reading other posts is that you might realize that not every project is run the same way. If you have an axe to grind with GCC over their priorities, maybe you should try convince them that your priorities are more important than theirs, rather than complain in a HN thread that has nothing to do with having proprietary compiler modifications to GCC.

<comment><USER24> > its the maintainer of a project that decide over their project

Except that's not true once you've made your project a GNU project, which is exactly my point.

[https://lists.gnu.org/archive/html/gnutls- devel/2012-12/msg0...](https://lists.gnu.org/archive/html/gnutls- devel/2012-12/msg00003.html) (RMS telling the GnuTLS maintainer they can't move their project out of GNU)

[https://lwn.net/Articles/629259/](https://lwn.net/Articles/629259/) (GCC maintainers want certain priorities, RMS overrules)

[https://lists.gnu.org/archive/html/emacs- devel/2015-01/msg00...](https://lists.gnu.org/archive/html/emacs- devel/2015-01/msg00171.html) (Emacs maintainer threatening to fork Emacs if he cannot make the technical decisions he wants to make)

[https://libreboot.org/gnu-insult/](https://libreboot.org/gnu-insult/) (GNU maintainers telling a GNU maintainer they cannot take their project out of GNU, and it "is for the Saint IGNUcious to decide")

Stallman is the CEO, and maintainers are, at best, VPs. I have no axe to grind with the GCC maintainers over their priorities - I just wish they had the ability to follow their own priorities.

<comment><USER25> > RMS telling the GnuTLS maintainer they can't move their project out of GNU > (and still call themselves _Gnu_ TLS.

Trademark is not technical decision-making. Hurd can not call themselves the linux kernel, blaming Linus for "restricting their technical decision-making options" when he would object. That a project do not want to rename themselves is understandable, but such is how trademark work.

> GCC maintainers want certain priorities, RMS (as member of the GCC steering > committee) overrules

GCC does not have _a_ GCC maintainer that decide over the project. It has a steering committee, similar to Debian technical committee, which designed role is to overrule maintainers. Stallman is also part of that committee, while other people of FSF is not. There is no requirement of GNU projects to have a steering committee, and no rules that dictate that Stallman must be part of the committee if one exist.

> Emacs maintainer threatening to fork Emacs (over the GCC decision)

Which they are allowed to do. Emacs was founded by Stallman and what is called "GNU Emacs", as a trademark issue, will likely continue rest with him. There is no "technical decision-making options" involved there, and the dispute is not about any code involving Emacs. If the fork ended up successful it would likely replace the code of GNU Emacs as has happened in the past.

> GNU Libreboot changes name to Libreboot

Again, trademark and no technical decision-making options. Libreboot is now one project, and GNU libreboot might be one. People can fight about who is the fork and who is the original, but it has no technical-decision aspects to it. Both projects can write code and add any feature they wish.

The only thing that Stallman and FSF decide is about the GNU project and the GNU trademark. Technical aspects in each project is the maintainers or what ever community structure that they have chosen. Some are committee based, other a BDFL or project maintainer, and some are just flat structure of several maintainer each holding only one vote in the decision process. Simple projects generally has a single maintainer and can make all the technical- decisions themselves.</comment></comment></comment></comment></comment></comment></comment>


Terminal Window Manager for OS X - <AUTHOR> https://github.com/apaszke/termtile <comment><USER2> As always, I recommend Hammerspoon [1] when these sorts of things come up. If you can program Lua (or you know JS or Python, which is close enough), you can create any kind of window management system you want, saved layouts, contextual layouts across multiple monitors, adjust wifi/sound based on location, tab multiple windows, and a lot more.

There are a lot of hammerspoon configurations around that will give you some cool ideas. Mine is below [2].

1\. [http://www.hammerspoon.org/](http://www.hammerspoon.org/)

2\. [https://github.com/STRML/init/blob/master/hammerspoon/init.l...](https://github.com/STRML/init/blob/master/hammerspoon/init.lua)

<comment><USER3> I second Hammerspoon. It fits perfectly between being barebones enough to not get in your way and having enough features to do just about anything you want.

Here's my configuration file.

[https://github.com/Linell/hammerspoon- config](https://github.com/Linell/hammerspoon-config)

<comment><USER4> Hammerspoon looks quite good (and thank you for writing up usage instructions - I like the "mash" concept :), but part of me wonders whether or not this deserves a port to node. The reason why would be to leverage something like D3 to do window layout (I want either a treemap or a force-directed graph).

<comment><USER5> It would likely be less effort to port those parts to Lua instead of the whole system to node. Does D3 even run headless anyway?

<comment><USER6> I guess you could have it display a WebKit window.

<comment><USER5> It wouldn't be a window manager then though...

</comment></comment></comment></comment></comment></comment><comment><USER7> "ll" may not be the best choice of default alias - it's pretty common for people to already have it aliased to "ls -l" (or -la, or -lah, or whatever their preferred default flavor), especially for the type of power users this is targeted toward.

I realize this is a bit of a moot point since the user can always change the alias, but it's generally better UX if the default is something most people will use.

<comment><USER8> I know about it, but I didn't have an 'll' alias so i picked it just to be consistent with 'rr'. If you wish you can configure the aliases in the install.sh file (if you decline to overwrite an existing alias it asks you to type another one) :)

</comment></comment><comment><USER9> I like Spectacle[0] for this. It works for any window, not just terminals.

Though what I really want is native xmonad in OSX.

0\. [http://spectacleapp.com/](http://spectacleapp.com/)

<comment><USER10> Or Divy, but it costs money

<comment><USER11> I have been using Magnet (formerly Window Magnet). [http://magnet.crowdcafe.com](http://magnet.crowdcafe.com)

</comment></comment></comment><comment><USER8> Hey guys, I'm a creator of termitile. Many of you have pointed out that there are lots of window managers for OS X and my intention wasn't to create just another one. What I really needed was a bunch of script that I could alias and use directly from the terminal without cluttering my global keyboard shortcuts. I couldn't find any other programs that had a terminal API, so I've just hacked this one :)

So just to be clear, it's not intended to be a replacement for Amethyst, Divvy, or any other universal manager, but just a quick solutions just for the terminal, because you can control it with regular commands!

I hope you like it!

</comment><comment><USER12> Many of these sorts of apps reposition windows and scale to half or quarter of the screen. What I really want is intelligent repositioning so that none of my windows overlap. (xmonad, without resizing the windows.) Failing that, magnetic edges.

Unfortunately, what I want is really the job of a window manager, or should be done at the OS level. On the Mac, there is no true user-serviceable window manager that can be replaced.

<comment><USER13> ever tried [https://github.com/ianyh/Amethyst](https://github.com/ianyh/Amethyst) ? It does the job pretty good.

</comment></comment><comment><USER14> I'm a big fan of the BetterSnapTool available on the App store. It costs $1.99, but it works with all widows and has drag-to-snap, shortcuts keys, etc.

I'm still surprised Apple hasn't just incorporated this into OSX.

<comment><USER15> BetterTouchTool is free, and strangely incorporates the same window snapping functionality as it's sister: BetterSnapTool. I've always been a little confused by the paid download for BetterSnapTool... Unless I'm missing something you can get all the same functionality and more (mouse and trackpad configuration etc) with BTT.

[http://www.bettertouchtool.net/](http://www.bettertouchtool.net/)

</comment></comment><comment><USER13> Use the free Bettertouchtool (and also helpful e.g. for middle clicking links with three finger tab) and enable "Window snapping".

<comment><USER16> I think you mean Bettersnaptool.

<comment><USER13> no, really bettertouchtool ! Actually I've just found out that booth tools are from the same author. Bettersnaptool functionality is included in Bettertouchtool and there it is for free: [http://www.bettertouchtool.net](http://www.bettertouchtool.net)

</comment></comment></comment><comment><USER17> I use Emacs in full screen mode on OSX. Then I split into usually 3 or 4 panes and launch a terminal in one of them. Then I have a todo list in another and the code I'm editing in another.

Works great for my use.

</comment><comment><USER18> All you need is Moom for every window, not just terminal. [http://manytricks.com/moom/](http://manytricks.com/moom/)

<comment><USER19> I have installed Breeze which seems to be very similar. But I rarely end up using it. Its top-bar menu is too slow to use, and I can never remember the hotkeys for positioning.

The interesting part of this solution is realising that for terminals, using the mouse nor long complicated keyboard shortcuts are needed. Terminals have text input, you can _type_ where the window is supposed to go. There commands can be memorable, and there is no risk of collision with other global hotkeys.

<comment><USER20> I agree, which is why I absolutely adore Amethyst[0]. It is a "clone", if you will, of xmonad -- it's automatic, and keyboard shortcut driven entirely. No menu bar icon needed -- all windows snap to the grid to fill the screen by default, you can adjust the sizes on the fly, you can swap layouts with a single shortcut and viola! I highly recommend it, it used to be quite buggy but I've had zero issues in the last few months. @ianyh is an amazing developer!

[0] [https://github.com/ianyh/Amethyst](https://github.com/ianyh/Amethyst)

</comment></comment></comment><comment><USER21> I'm an i3 Linux user, and it's always sad to see the state of tiling window management on OS X. I use OS X on my work machine, and while I'm able to mimic some of i3's behavior on OS X, it's never quite the same, and I always find it frustrating.

There are a number of tools that provide some subset of the functionality, but they always lack some critical piece (oftentimes FFM, multi-monitor support, or window containers).

<comment><USER22> One of the more frustrating bits for me is that on OSX there are four modifiers (shift, control, option, and command), but none of them is exclusive to interacting with the "window manager". There's a lot of interface dissonance when I interact with anything over ssh (because "cmd" takes the place of an "alt" key), or use X forwarding.

I've dedicated Mod4 to interacting with my window manager for over a decade and it's sensible. Mod1 and control (and, if absolutely necessary, shift) are plenty for keyboard shortcuts for apps.

</comment></comment><comment><USER23> Just looking at the plethora of solutions for this problem, that are recommended in this thread, makes me think that there is something here that is being radically missed by the OS decision-makers that don't implement these kinds of tiling features by default in the OS. So many solutions to the same problem! Surely this is a sign that there are features missing in the Window manager, which should be making it into the OS at some point?

</comment><comment><USER24> It's cool but [https://github.com/jigish/slate](https://github.com/jigish/slate) ?

<comment><USER25> It's not longer being worked on, and forked at [https://github.com/mattr-/slate](https://github.com/mattr-/slate)

But honestly I switched to Hammerspoon and with some searching/learning lua/copy-pasting have the same functionality, and it's even more extendable. If you can describe what you want to do with the windows/current app/whatever, you can probably write it in lua.

</comment></comment><comment><USER26> Bears mention here, Spectacle[1] is a general purpose window manager which offers the same features using keyboard shortcuts for any OSX window.

[1]: [https://github.com/eczarny/spectacle](https://github.com/eczarny/spectacle)

</comment><comment><USER27> If someone is interested, the same can be accomplished on X by using xdotool [1].

[http://www.semicomplete.com/projects/xdotool/](http://www.semicomplete.com/projects/xdotool/)

</comment><comment><USER28> Good idea to have a 'leader' (ala Vim style) and then have the intuitive shortcuts follow. Example 'zll' instead of 'll'. ll is almost always 'ls -l'.

</comment><comment><USER29> Another (not yet mentioned here) tool is Mjolnir. It requires some lua scripting but seems to be really flexible.

I stick with bettertouchtool combined with some keyboard shortcuts though.

</comment><comment><USER30> I admit I am boring. I use the 'Save Windows as Group' feature in a tiled four square, found under the Window menu in Terminal.app

iTerm2 handles split panes quite nice as well.

</comment><comment><USER31> Nicely structured AppleScript (which is not an easy feat).

<comment><USER23> Yes, I concur .. for me this project not only has some proper Applescript to learn from, but its install script is genius as well, although it has a bug or two, which you'll see if you try to add an alias for a command you already have ..

Still, a very interesting little bit of scripting to solve a common, age-old problem.

<comment><USER8> Thanks! It's nice to hear that!

What is the bug you're talking about?

<comment><USER23> It found a conflict with an existing alias .. 'ul' I think it was .. and then all other aliases were considered in conflict too, even though they for sure were not. On OSX, 'ul' is the 'underline utility' from BSD, dunno if that is worth knowing.

I just hit enter and it soldiered on and then I manually changed the aliases in my .bashrc file ..

<comment><USER8> I am aware of 'ul' conflict, but I haven't heard of it before, so I just hoped that it's not popular :x If you've found a bug in installation script then please post an issue at GitHub :)

<comment><USER23> Issue has already been reported: [https://github.com/apaszke/termtile/issues/15](https://github.com/apaszke/termtile/issues/15)

Had the same problem as those guys.

EDIT: (for those reading) .. the issue has now been fixed. Kudo's!

</comment></comment></comment></comment></comment></comment><comment><USER32> TotalTerminal [1] with tmux works well.

[1] [http://totalterminal.binaryage.com](http://totalterminal.binaryage.com)

</comment><comment><USER33> Nice, although I think there should also be an 'fs' option for Full Screen.

<comment><USER8> I didn't include it, because OS X can already make the window full screen. Do you think it would be useful just to resize the window without creating a new desktop?

</comment></comment><comment><USER34> why not just install a global window manager? [http://spectacleapp.com/](http://spectacleapp.com/)

</comment><comment><USER35> You should look at SizeUp, it basically does the same thing except for any window :D

<comment><USER36> I use ShiftIt ([https://github.com/fikovnik/ShiftIt](https://github.com/fikovnik/ShiftIt)), which is similar, as I recall, but free. Has keyboard shortcuts. I use it for pretty much all my windows.

(A few years ago, before I started using OS X, I wrote something similar for Windows, for use with AutoHotKey: [https://github.com/tom- seddon/align_window2](https://github.com/tom-seddon/align_window2))

<comment><USER37> Yes - have been using shiftit for years now and love it.

I didn't even need to program or customize any hot-keys since everything I want to do (full screen, half screen, quarter screen) is already built into a hotkey.

</comment></comment></comment><comment><USER38> What is the real reason to make this tool platform-specific?

<comment><USER36> Try making a cross-platform one! Maybe you'll find out ;)

(Less cheeky response: no two platforms handle this stuff in the same way. You'd be able to share such a small amount of code between platforms that you'd be better off just duplicating that code rather than trying to create some kind of abstraction. This is true even if you decided to start out by not using something entirely OS X-specific such as AppleScript.)</comment></comment>


Ask HN: How do you specify your (software) requirements? - <AUTHOR> Do you use a Jira task + a paragraph? Do you use a template? Do you specify them just talking in a meeting?
In the company I'm working at as a front end developer, it varies from a simple paragraph in a Jira task to a non-so-rigorous-sometimes-vague description in a Confluence page plus some screenshots of the UI provided by UX guys.
It is mostly ad-hoc and since the company has many sub-projects within the big one (let say: payments, global features, savings, etc.) it is always hard when you switch to another project and you want to know "what the scope of the project is, the things it should do and the things it shouldn't"
I would like to improve this. How do you handle your requirements?
PS. I guess "requirements specification" is the correct term. But, in case of doubts, what I want to know is how do you specify the functional requirements your app/project/whatever must address. <comment><USER2> I'm in a regulated industry, and we'd be considered a "very small entity". What we're doing is likely overkill for you, but how we go about things might be of interest.

We develop under a spiral process and requirements are right at the threshold of when we're going under design control. We start out in Emacs org-mode. I developed a custom template and scripts that tries, to the best of my ability, to corral people into following ISO 29148. The engineering team uses a table view to track the requirements while we're collecting them, and there is a script to export into a pretty LaTeX document for stakeholders to view and redline. We keep the requirements in org-mode while we're collecting them because plain text is easy (and nice) to deal with for revision control. Everything is maintained in Fossil while it's in this state. Once we've ready to lock the requirements under design controls, we export into Excel via CSV for V&V. Under design controls, paper hardcopies become the authoritative record; doing things electronically is too expensive for us.

It'd be neat to one day be fully electronic throughout the process… I could easily see many groups being able to keep things fully electronic, and org- mode is a nice foundation to build a system on top of: it's just structured enough, but at the end of the day it's human-readable text. Heinlein said "once you're in low Earth orbit you're halfway to anywhere", I say, "once you're in org-mode, you're half way to anywhere".

</comment><comment><USER3> It depends on what you are building.

I try to start every project as a mvp. Minimum features minimum screens minimum and short delivery dates.

For mvps we usually take it from whiteboards to google presentations. We literally paste in a photo of the whiteboard and then add text boxes.

That usually evolves with more slides to more witeframy-ish sketches with annotations.

As a rule we never spec more than a couple of screens and functions.

Once done it gets handed to a dev (with an in-person briefing). They usually deliver something clickable in bootstrap which is great for web and mobile prototyping.

We test on users, get feedback, and start again.

</comment><comment><USER4> For functional specs, we create a page on our wiki and transcribe the results of whiteboarding and bullshitting. Features are listed out, pictures taken and inserted, and then that wiki page is fleshed in with implementation details (database calls, HTTP endpoints, etc.) as they become coalesced.

In parallel to this, a business use case is put together to remind us _why_ we're building a feature.

Eventually, one or more tickets are opened up in Github via Huboard, and they reference concrete implementation steps and pass/fail criteria.</comment>


Rvl.io: Online authoring and hosting of reveal.js presentations - <AUTHOR> http://www.rvl.io

<comment><USER2> Reveal.js looks mighty cool. I spent a weekend learning node/npm to make something similar [1] (albeit FAR less feature-rich). The basic idea is that you write your content with JSON, so making slideshows is super fast.

[1]: <http://prezjordan.github.com/cleaver>

</comment><comment><USER3> I've always been a huge fan of reveal.js and this takes the tedium out of making these presentations. Nice one @hakimel!

</comment><comment><USER4> On this presentation [1], on my tiny little netbook (800x600 display), around half of the presentation is cut off at the top [2].

Windows 7, Chrome 22.0.1229.94

[1] <http://www.rvl.io/hakim/theming> [2] <http://i.imgur.com/UGFd5.png>

<comment><AUTHOR> Thanks for pointing that out, have filed an issue for this and will fix soon.

</comment></comment><comment><USER5> Awesome replacement to PowerPoint that works on iPhone too! =) great tool!</comment>


His Name is Robert Paulson - <AUTHOR> http://ozmm.org/posts/his_name_is_robert_paulson.html <comment><USER2> Can't this problem be solved by looking at a photo of _why and comparing it with <insert random candidate here>?

</comment><comment><USER3> The voice of Yakko Warner?

Explains a lot.</comment>


Ask HN: Recommend 3 books that had an impact on you - <AUTHOR> I thought it would interesting if everyone here recommended 3 books from any field or subject, technical or artistic, textual or graphical.
The only theme is that they had an impact on your way of thinking or worldview.
I'm interested in what has influenced a largely technical crowd of people and will compile a final list to read afterwards. <comment><USER2> An Autobiography, Mohandas Gandhi Zen Mind Beginner's Mind, Shunryu Suzuki Godel, Escher, Bach, Douglas Hofstadter</comment>


Saudi Push for Tech Deals Stirs Silicon Valley Debate - <AUTHOR> http://www.wsj.com/articles/saudi-push-for-tech-deals-stirs-silicon-valley-debate-1468793930 <comment><USER2> According to the article, "Deputy Crown Prince Mohammed bin Salman indicated his kingdom aimed to do more Silicon Valley deals like the $3.5 billion investment in Uber Technologies Inc. announced two weeks earlier."

The picture shows the Saudi Prince, who will be investing all those billions in Silicon Valley companies, surrounded by smiling Silicon Valley venture capitalists, who are in the business of managing billions for a fee.

No wonder the VCs are smiling!</comment>


Buying the Unix Programming Environment by Kernighan and Pike - <AUTHOR> Speaking as someone who is becoming more and more interested in UNIX history, can someone tell me if "The Unix Programming Environment" is available to buy anywhere as a DRM-free ebook? I will buy a paper copy, if I have to, but prefer a digital one. <comment><USER2> here's some history for you.

[https://archive.org/details/a_research_unix_reader](https://archive.org/details/a_research_unix_reader)</comment>


Ask HN: How to deal with illegal content on a public file sharing platform? - <AUTHOR> While investigating what was using so much traffic on my small service (intended mostly for an open but small community) I discovered that it was being used for sharing illegal content, with some users uploading it through Tor exit nodes.
After manually removing the content and putting hindrances on Tor uploads, it stopped for a while but recently it started again, with a few uploads getting apparently wide audience, once again apparently mostly with the Tor crowd. The difference is this time, it was uploaded through a home ip that is not a Tor exit node.
I therefore have a few questions:
- Is there anything I can do to prevent the kind of illegal uploads that you can imagine being done by some part of the Tor community? Google, Dropbox and Microsoft with PhotoDNA have the kind of technology that might be of use in my case, but it doesn't seem to be available to regular people.
- Should I contact authorities in any way? I'm pretty sure the Tor connections I might have are of no use, and the lone clearnet IP most probably belongs to a poor soul whose computer was hacked?
- In what ways am I legally implicated in that (as an EU citizen with my server in the EU as well)? The service is closed for now obviously. <comment><USER2> I hope someone with more experience chimes in but the best I can think of is to setup an automatic system for telling you when videos are reaching a certain level of traffic.

A similar question was posted here: [https://www.quora.com/Is-there-an-API- that-can-check-if-user...](https://www.quora.com/Is-there-an-API-that-can- check-if-user-uploaded-content-is-copyrighted-material)</comment>


Jumpstarting the Market for Accessory Dwelling Units - <AUTHOR> http://blogs.berkeley.edu/2017/05/23/jumpstarting-the-market-for-accessory-dwelling-units/ <comment><USER2> Existing stakeholders see more traffic, less parking, more noise and disturbance. Higher density housing generally creates more conflicts among residents.

So existing residents already in place resist more residents arriving in the same area. Which is understandable, since ADUs do not address adding services provided by government to existing properties. They just increase the number of inhabitants in the same area.

Also much of Portland has a much better and less expensive public transportation system than the SF Bay Area does.

<comment><USER3> Is this really correct though? If increasing the supply of housing allows people to live closer to heir jobs or other amenities, wouldn't that decrease traffic?

<comment><USER4> On my particular side street (right on the edge of Cambridge, MA)? No; on a hyper-local level, it will increase traffic and parking pressure.

Via induced-demand, it might even make things worse within the city center.

People vote based on their hyper-local experience and fears. NIMINBY ("not in my immediate neighbor's backyard") is not entirely irrational here.

</comment></comment></comment><comment><USER5> "ADU" appears to be bureaucrat-speak for "inhabited garden shed"?

At least the one in the article photo looks rather nice and a reasonable single-person dwelling, but too much of this kind of thing results in London- style near-invisible rental slums. :(

<comment><USER2> In Portland Oregon many ADUs are converted unattached garages, finished attics, finished basements and more rarely converted garden sheds. Particularly, in the areas where much of the closer to city center housing stock is pre-World War 2 and near good public transit.

ADUs have to meet current building and fire codes. Though there is a loophole where an on-site resident owner may do their own construction without permits.

ADU construction along with rental housing starts is also slowing due to recent city legislation and the threat of rent control which has been illegal in the entire state of Oregon since the 1980s. And the city of Portland via new regulation has already added friction and increased costs in their rental market exacerbating their "rental housing crisis" except for those renters already in existing rentals.

ADUs were popular additions on family occupied and/or owned Portland properties until the recent regulatory changes and rent control threat. Now there is added known risk and uncertainty.

</comment></comment><comment><USER6> It's inspiring what some people are doing with these reduced footprint properties: [http://daringacorotis.com/47th-Street-from-NYTIMES- article](http://daringacorotis.com/47th-Street-from-NYTIMES-article)

</comment><comment><USER7> do these units trigger the NIMBY impulses of neighbors? It seems like a great way to increase density in otherwise restrictive development environments, but could also see pushback from neighbors in having a lot more construction in the neighborhood.

<comment><USER8> There is a great deal of concern in Portland right now for affordable housing, so while some of the more affluent neighborhoods are opposed to density, they've generally been overruled by the rest of the city.</comment></comment>