Live data from Hacker News

New GitHub Tool Lets Coders Build Software Like Bridges

wired.com

21–30 of 52 posts

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#21
post #7
post #5

The analogy does not seem to fit. Of course they built the new bridge before tearing down the old one. There is not really an option to divert traffic, it has to cross the bay. The Scientist software copies the input and feeds it into two systems in parallel. There is no analogy for that in real life. There is no way to copy cars. And I really hope they do not actually need to run load tests for bridges after they ha…

Lot of comments here attacking the analogy. It's just a throwaway analogy. Can we just overlook non-essential parts of the article and discuss the code and techniques instead?

Of course not. Why discuss something on its merits when we can attack an analogy by a reporter?

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#24

It's a shame GitHub puts effort into stuff like this as opposed to actually listening to their users (e.g. "Dear GitHub"). We can infer a shift from GitHub to alternate services soon from this, unless they change.

To be fair, developing something like this is probably orthogonal to developing the kinds features they have been neglecting to develop recently. Scientist was probably entirely within engineering, and not a massive effort. Making the things users are asking for would be a much bigger effort across the organization.

But, I do completely agree that they've been dropping the ball lately.

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#25
post #22

What is the difference between this and writing your services to an API that runs behind something like haproxy that can be quickly configured to direct requests to whatever stack you like?

Scientist seems to run both versions of the code.

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#26

Forgive my ignorance, but how does this approach differ from traditional unit testing or end to end testing? My point being that unit testing essentially gives you the same confidence in your refactoring efforts that Scientist proposes to offer. Tests already demand that your interface remains the same, and that old code does no harm when replacng legacy.

"100% test coverage" doesn't imply "won't cause real-world things to break". That your tests run all the code doesn't mean that your tests cover all the actual cases. This identifies bugs and performance regressions on a wide assortment of real-world cases.

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#27

It's a shame GitHub puts effort into stuff like this as opposed to actually listening to their users (e.g. "Dear GitHub"). We can infer a shift from GitHub to alternate services soon from this, unless they change.

This is Github open-sourcing an internal tool, which is something they have a long history of doing (Jekyll, Resque, Hubot).

Most dev shops have a whole bunch of things like this -- assorted libraries and internal tools that are 80-90% of the way to being somewhat useful to the public. It's fantastic that Github provides the time/space/expectation for employees to finish them.

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#28

Earlier quoted context omitted.

is there a generic name for this type of thing? not sure how to google for existing implementations

The article, and the Github repo use the name Branch By Abstraction[1]. It is related to the idea of a Strangler Application [2] [1] http://martinfowler.com/bliki/BranchByAbstraction.html [2] http://www.martinfowler.com/bliki/StranglerApplication.html

Oh that's a great name for a pattern. I can't wait for Craigslist to release their software migration tool, the Craigslist Strangler.

"There's another important idea here - when designing a new application you should design it in such a way as to make it easier for it to be strangled in the future. Let's face it, all we are doing is writing tomorrow's legacy software today. By making it easy to be strangled in the future, you are enabling the graceful fading away of today's work." -Martin Fowler

Re: New GitHub Tool Lets Coders Build Software Like Bridges

#29

It's a shame GitHub puts effort into stuff like this as opposed to actually listening to their users (e.g. "Dear GitHub"). We can infer a shift from GitHub to alternate services soon from this, unless they change.

I don't see how this is relevant. Do you want to see Github implement your favorite feature, but at the same time the bugs introduced in the new version breaks the existing functionalities? That's what this library does. It ensures new bugs do not take down existing functionalities.

Multi-version execution is an active area of research [1].

[1]: http://srg.doc.ic.ac.uk/files/papers/mx-icse-13.pdf

Post reply on HN