cs181f / project1

1 stars 0 forks source link

9/24 -- Conduct User Interviews #12

Closed iamb55 closed 12 years ago

iamb55 commented 12 years ago

Talk with users about their requirements for the product.

jessepollak commented 12 years ago

TEAM TASK: @brennenbyrne @dunvi @jessepollak

dunvi commented 12 years ago

Risk:

Avoidance:

Dependencies:

jessepollak commented 12 years ago

Notes from Tommy Vertanen hangout

 Twisted guys set up a buildbot from scratch
-part of those conversations
-at work, using GitBuilder,
    -does build part and runs unit tests
    -builds all the branches and all the commits
-people near him use Jenkins

-problems
    -trivial projects, build is quick
        -one environment you care about
        -unit tests are sufficient for everything
        -easy--precommit hook and everyone would run the tests before you push them
    -simple thing isn't good enough because
        -if your builds take a long time
            -worker runs that cache results or splits up the builds
    -make has thing theing where you build a target on dependencies
        -looks at dependencies and compares them with preexisting destination
        -doesn't look at change in build system, doesn't give you comfort in knowing things are done right
        -SOLUTION
            -build a clean tree everytime and hook the compilationg into clean cache
            -if contents are exactly identical, then spits out old

    have to look at what our target audience is
        -web developers vs non-web developers

    don't think there is a fundamental solution to all of the problems for multiple categories

    typical web project, division of work for build system is completely different
        -don't have compilation time
    automated testing of something like django project is on a compeltely different level

    if you don't have a SQL database in the picture the nyou don't have to test against a SQL database
        -if you can avoid the problem then you don't need to solve it

    in his space, essentially no testing besides build time set up
        -nightly build across 100 computers
        -test suite takes up to 20 minutes for stress oriented tests

unit tests happen at build time, the rest is to complicated to integrate
    -GitBuilder
        -understands git perfectly
            -tags, commits, which have been tested etc
            -can do things like
                -if you have a history of a branch that used to be green, it will try the latest and then if that fails it will start bisecting the commit space and find out which commit caused it is
                    -REALLY HELPFUL

if you were to solve the full problem, it would become a question of distributing resources
    if you have a huge set of systems dedicated to testing, how do you use it to its maximum potential

if you push it enough, in build or tests taking a long time, it becomes a question of scheduling
    -jenkins is a FIFO queue of work to do
    -gitbuilder will skip building intermediate commits if it goes from green to green

BUILD SOMETHING THAT CAN PLUGIN TO SOMETHING ELSE
    -replacability

Think about "scalability"
    -you will *overwhelm* a single machine
    -should look at cloud API to launch other machines

want to have lots of control over isolation and reproducibility
    -it's fairly easy to ignore when you have a simple problem
    -easy way to create new environments

try to build a system that has minimum trust from one component to another

are we building this so everything is located next to each other or across the country
    -push or pull?
        -some of the components might be behind a NAT where communication is one way
        -PICK ONE!

say GOAL is this NON-GOAL is this

 USES GO!
dunvi commented 12 years ago

Notes from Randall Hunt

Works at company that does MongoDB, python evangelist

uses:

Opinion: small teams should be using CI more than big teams!

Many CI servers have some of these, none of them have all of these

best case scenario would be sensible defaults and easy customizability

A lot of CI were made years ago, and they would have to refactor to improve dramatically. instead they've been doing incremental upgrades, so they're sorta stuck

Jesse would know > Daniel Something

dunvi commented 12 years ago

Notes from Michael Stock-Matthews

Michael Stock-Matthews