Ascend Project

Mentorship and barrier-removing accelerator program designed to explicitly invite, include, and support adult learners in making a first technical contribution to Open Source software.

Contact Us!


Blog posts by


    Weekly Milestones

    15 Oct 2014 »

    These were the measurable milestones used throughout the Portland course to ensure people were staying caught up and moving forward on their acheivements in the program. We used a spreadsheet with these in combination with 1:1s with the participants, and individual etherpads to track what was still needing to be completed.

    Week 1

    Mozillians, Twitter, Github, Badges, Bugzilla Accounts
    Gitub pull request
    Badge created
    Blog posts (2)
    Webmaker URL
    Gave a presentation

    Week 2

    Second week blog post
    Wrote a tutorial with screenshots & badge
    MozTrap account
    Run tests manually
    Filed first bug
    Can do mozmill automation (put URL in 2nd week blog post)

    Week 3

    Set up local WP with db
    Sent Kronda a database file
    Get wordpress live
    Blog post on first bug(s) -- what you considered
    Has built & customized Firefox locally 
    Created patch & added it to ascendproject repo
    Build, patch Firefox in a VM
    Bash shellshock fixed
    Tweeted at least once about planet blog post of interest with #ascendproject tag
    Tested/Feedback on Tim's VM
    Drafted First Bug comment 
    Has selected first bug and posted comment to get traction

    Week 4

    Dev env set up for working on individual bug
    Asking questions, attaching patches in progress, understanding the issue(s) in the bug you're working on
    Progress reports daily
    Weekly blog post (1 minimum)
    Caught up on weeks 1-3 milestones by Friday of Week 4
    Had a 1:1

    Week 5

    Attend the Storytelling workshop
    Theme applied to WP site (live site)
    Can show progress on bug, taking on additional bug(s) if first bug is fixed (1:1 in early part of week)
    Keeping busy - demonstrate blogging, QA, support, other small contributions in down time for communication expectations
    Have a presentation prep 1:1 with Kronda/Lukas
    Outline of presentation in the repo by Friday
    CI understanding and able to get pull requests to pass build process, fix if not
    First bug fix landed (hopefully)

    Week 6

    Setup 1Password ( )
    Fixed at least one bug, with a patch/code fix
    Presentation prepared & committed to repo (slides, outline, notes)
    Give presentation on the work/journey
    Content added to WP 'showcase' site, screencaps PR to repo
    Export db/wp so it can be moved post-program to personal hosting

    Bash Drills

    03 Oct 2014 »

    This is a compiled series of exercises from Zed Shaw’s Command Line Crash Course so we have a one hour drills session to do together.

    Making Directories (mkdir)

    mkdir temp
    mkdir temp/stuff
    mkdir temp/stuff/things
    mkdir -p temp/stuff/things/fran/jo/alice/jane
    mkdir temp/stuff/"I have fun"

    Make a ton of directories

    for i in {1..20}; do mkdir temp/folder$i; done
    for i in {1..20}; do mkdir temp/folder$i/dir$i; done

    Check your work

    ls -lR temp

    Changing Directories (cd)

    cd to the jo directory with one command.
    cd back to temp with one command, but not further above that.
    Find out how to cd to your "home directory" with one command.
    cd to your Documents directory, then find it with your file browser.
    cd to your Downloads directory, then find it with your file browser.
    Find another directory with your file browser, then cd to it.
    Remember when you put quotes around a directory with spaces in it? You can do that with any command. For example, if you have a directory I Have Fun, then you can do: cd "I Have Fun"

    List Directory (ls)

    (Start at ~ or $HOME)

    cd temp
    cd stuff
    cd things
    cd fran
    cd jo
    cd alice
    cd jane
    cd ..
    cd ../../../
    cd ../../

    Moving Around (pushd, popd)

    (Start at ~ or $HOME)

    $ cd temp
    $ mkdir -p i/like/icecream
    $ pushd i/like/icecream
    ~/temp/i/like/icecream ~/temp
    $ popd
    $ pwd
    $ pushd i/like
    ~/temp/i/like ~/temp
    $ pwd
    $ pushd icecream
    ~/temp/i/like/icecream ~/temp/i/like ~/temp
    $ pwd
    $ popd
    ~/temp/i/like ~/temp
    $ pwd
    $ popd
    $ pushd i/like/icecream
    ~/temp/i/like/icecream ~/temp
    $ pushd
    ~/temp ~/temp/i/like/icecream
    $ pwd
    $ pushd
    ~/temp/i/like/icecream ~/temp
    $ pwd

    Copy A File (cp)

    (Start at ~ or $HOME)

    cd temp
    cp iamcool.txt neat.txt
    cp neat.txt awesome.txt
    cp awesome.txt thefourthfile.txt
    mkdir something
    cp awesome.txt something/
    ls something/
    cp -r something newplace
    ls newplace/
    Use the cp -r command to copy more directories with files in them
    Copy a file to your home directory or desktop

    Moving (mv)

    (Start at ~ or $HOME)

    cd temp
    mv awesome.txt uncool.txt
    mv newplace oldplace
    mv oldplace newplace
    Move a file in the newplace directory to another directory then move it back.

    Is it a Bug?

    18 Sep 2014 »

    Questions to ask yourself

    Can I reproduce it?

    1. Every time?
    2. Intermittently? If yes - how frequently?
    3. With a clean profile* (same channel/build)?
    4. With a clean profile* (different channels - most recent build)?

    Being able to reproduce a bug only in certain channels (i.e.: in Nightly but not Aurora) is useful for knowing where the regression has occurred and allows developers to more easily uncover the root cause.

    ‘*’ Clean profile: when you launch FF with the profile manager, create a ‘throwaway’ profile to test the bug with so you know you’re starting with no addons, plugins, or other differences from a new installation of Firefox.