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!

Ascend Project - Home

Blog posts by

    New Orleans needs a space

    08 Dec 2014 »

    We’re trying to bring the second pilot of the Ascend Project to New Orleans in February and am looking for a space to hold the program. We have a small budget to rent space but would prefer to find a partnership and/or sponsor if possible to help keep costs low.

    The program takes 20 adults who are typically marginalized in technology/open source and offers them a 6 week accelerated learning environment where they build technical skills by contributing to open source - specifically, Mozilla. Ascend provides the laptops, breakfast, lunch, transit & childcare reimbursement, and a daily stipend in order to lift many of the barriers to participation.

    Our first pilot completed 6 weeks ago in Portland, OR and it was a great success with 18 participants completing the 6 week course and fixing many bugs in a wide range of Mozilla projects. They have now continued on to internships both inside and outside of Mozilla as well as seeking job opportunities in the tech industry.

    To do this again, in New Orleans, Ascend needs a space to hold the classes!

    Space requirements are simple:

    * Room for 25 people to comfortably work on laptops
    * Strong & reliable internet connectivity
    * Ability to bring in our own food & beverages

    Bonus if the space helps network participants with other tech workers, has projector/whiteboards (though we can bring our own in), or video capability.

    Please contact us if you have a connection who can help with getting a space booked for this project and if you have any other leads we can look into, we would love to hear about them.

    Interaction Design, User Experience, and Contributing to Open Source

    By Candida Haynes

    17 Oct 2014 »

    It is my last week at the Ascend Project, and I am moving hard and fast to finish. I received some conflicting advice on the process of contributing to two open source user experience (UX) projects. For the first project, adding the ability for a developer to respond to a user’s review, I sketched my ideas using basic lines, text, and some color-coding.



    The feedback from my mentor was to brainstorm using scrappy drawings like this instead:


    I resisted the idea because even more than drawing, displaying my handwriting for the world to see causes great fear and trepidation in my heart. Also, I do not have a scanner, and taking pictures would add extra steps. After I mentioned my discomfort with what I called two-dimensional brainstorming, Lukas explained to me that the paper process was a way for people to share ideas without becoming too invested to consider other possibilities. That sounded liberating, and I thought it might also take the pressure off a team that wanted to present options without stratifying collaborators by technical skills or drawing ability. You could literally just throw away your paper sketches.

    In the meantime, Jessica recommended this article to me after I was thinking out loud about the open source user experience and the design process within it. The article describes more about prototyping with HTML, which is closer to my personal preference.

    So I tried drawing. I found the process frustrating, but I decided to try it again with a “call-to-action” design bug. The response had some good advice, but it also had a new “assigned-to-contributor” tag, which led me to believe I’d lost the bug.

    Github message pic

    There is some good news even if I “lost” call-to-action bug. I am still working on the Marketplace project, which is great. The mentor responded to me on Bugzilla and is fine with me using what I call line-and-text sketches. He gave me some really straightforward deliverables as well. I plan to leave out most of the color coding and some of the behavior I initially set out to propose because the colors may have been confusing, and we are in a different point of the UX design process than I initially thought.

    I am proud to have begun contributing, and I have started to understand a process of user experience engineering beyond the rapid prototyping and product development I’ve been practicing for a few years contributing at hackathons and learning independently. In my opinion, both of these are being mentored as interaction design bugs to resolve as part of improving the user experience. Since both contribution opportunities will help developers building on the open web, I am happy to work on them as a volunteer on a more extended timeline than I had during Ascend’s full-time open source training program. The experience overall gave me a taste of collaborating around user experience within a large organization just as I had hoped for when I applied to the program.

    As for the create-an-app bug, I will have to review the documentation again to confirm since I am happy to work on it some more. Until then,


    It’s a cliff-hanger, y’all!

    David's Week 6 Recap

    By David

    17 Oct 2014 »

    All good things

    Soo… Unfortunately I havent finished the bug… :X

    But I do have a mentor now Mr. Tim Taubert, a man out in Germany, unfortunately for me because I have a small window where I can ever talk to him. He’s helped me understand the bug a bit more, but to be frank I didn’t really know what to do with the information and i cant seem to get a hold of him for the moment but thats ok, as for right now I do have a direction. It’s likely the wrong direction but I’m going that one.

    Generally speaking I can say that I was wrong in my last two blog posts about how this whole bug works. Particularly about how the cells move. I didn’t write the code and I barely know JavaScript as it is but I know now. The problem is that for whatever reason when dragging a cell out of the browser the cell will no longer register a drop function. I actually have zero idea as to why that is. I registers the dragend function and the dragover function but the function that unlocks the grid just is not being called. So since the remaining cells don’t unlock, they don’t return to their original position and we got a bug.

    As of right now I’ve written some code that can detect when the mouse leaves the window with what’s called EventListeners.

      function mouseOut(){
        document.addEventListener('mouseout', function(){
              alert('left window');
      window.onload = mouseOut

    Once I got that figured and working within a test HTML file. I’ve tried putting it within the dropTargetShim.js file and can’t seem to place it in the right spot. My first instinct was to place it within the dragover function but all that ended up happening was It was adding several instances of the function to the Document while it was dragging. basically about 100 or so per second or 2. (This was before I added the remove.EventListener part of the code.) So basically when it adds that many instances the event listener to the document it creates an alert for each instance, and all of those alerts will apear simultaneously when you move your mouse outside of the browser, and will create all of them again when you move your mouse out of the browser again. However, the number of alerts do NOT scale linearly but rather exponentially, meaning:

    • 1 instance = 1 alert
    • 2 instances = 2 alerts
    • 3 instances = 8 alerts
    • 4 instances = 16 alerts
    • etc.

    If I was creating about 100 instances per second, I’m amazed I didn’t just crash my computer. So I added the removeEventListener to the code. And this is where I am right now. I’ve been adding this code to different functions within the dropTargetShim.js file and modifying it to fit, but have yet to have it make an alert when i drag a cell out of the browser. It’s made alerts when i move the mouse outside of a cell or just works the way it does in the html file, but i don’t think this code is quite it. It’s close, it’s damn close but its not quite what I need it to be.

    Unfortunately this is the last week of project Ascend and I’ve learned so much, I can honestly say that working on this bug has been one of the most interesting puzzles that I’ve struggled with. And I will continue to work on this bug even though I won’t be showing up to Mozilla for a while.

    The Final Day of Ascend

    By Lisa Hewus Fresh

    17 Oct 2014 »

    I awoke to rain. I love it but it’s picture day at Ascend so I was a little worried. My hair is curly and loves to poof up in the rain and humidity. I was much lighter today knowing I didn’t have to present but still feeling sympathy for those who did. I got dressed and headed to the Max early with Andrew. I decided to treat myself to a Spella chai so I kissed Andrew goodbye and took the train a few stops further. Once I had my drink in hand I walked my way to the Mozilla offices. It didn’t rain at all! Thank you, sky.

    I got there at my usual time even with my detour and longer walk. Lukas was there so got the computers out early. I was really glad because I had the code change I wanted to make for my next Air Mozilla bug. I made the change, pushed it up and submitted a pull request. Peter, the mentor, said it was the correct change but he wanted it formatted a little differently and he wanted it commented. He also wanted me to make a test for it in Nose Tests. Ok! That would be interesting. Tests are cool and of course useful. I made the other changes and then started working on the test. First I would need to know where that bit of code was being tested so I inserted a “raise Exception” near it and ran the test suite. That showed me right where I needed to be. But it was time for the next presentations so that would have to wait.

    We all got settled for presentations but there were again some technical difficulties. Poor Richard! Becky was first up so she was talking and trying to lessen her stress while waiting. Unfortunately we had technical issues that were beyond fixable at that moment and it took so long to determine this for sure that it was about time for lunch. Lukas had us fill out an end of class survey as food was being set up. Today lunch was pizza from Sizzle Pie! Katt is so wonderful and got us vegans our favorite pizza. It had pesto, mushrooms, olives and soy curls. Yum! There was plenty so I had two large pieces.

    In the mean time Richard figured out a work around for the talks. They wouldn’t be live streamed and he would have to mesh the sound with the video over the weekend and post them up when they were done. Becky got back up there and gave the most beautiful talk. Many of us were crying. The rest of the talks were amazing. I just can’t believe how much everyone has grown in such a short time. I think I was most proud of Sophie. She was incredibly quiet for the majority of the project and I was pretty sure she didn’t want to give a talk more than anyone. She did it and did it well. So proud!

    We were done with the stressful part! The rest of the day was spent working on blog post and goofing around. I tried to look at the test I needed to write but I couldn’t concentrate. I was merging people’s pull requests that passed Travis and merged one from David. Well, he put some html and Javascript in there that appeared to be commented out but was active! He and I were pretty surprised. That made for a fun home page until he could fix it and send another PR. Lesson learned!

    It was time for our dreaded last check out. Some of us, me included, didn’t say much of anything because we didn’t want to cry. Others said how they felt and of course I cried anyway. It was a check out full of tears and laughter for sure. I know this first group of Ascenders will be like no other to follow. We are the first and there is just something really special about that. Lukas even teased us and said, “Some day you all are going to have new little brothers and sisters. Don’t be mean to them. I still love you and you will always be my first’s.” It was really funny and very sweet.

    Now it was time for our official graduation where we would do the handshake and get our certificates. We also got to pack up and take our beautiful laptops. I was only partly joking when I said I’d rather leave mine and have to come back each day. We all talked and hugged a bit more and then I left. Just like always and it didn’t feel like my last day. I think on Monday I will feel that last day.

    I don’t think I really need to sum up my time at Ascend since I have a TMI daily blog of it and my video kind of sums it up but I hope that anyone reading can see what an amazing opportunity we all were given. Sometimes when something seems too good to be true, it’s not.

    These are some amazing people right here! From left, Dino, me, Kronda, Lukas and Katt.

    Thank you for reading about my coding adventure. If you would like to follow my full blog you can find me at or on Twitter @bugZPDX

    Last day at Mozilla's Ascend Project

    By Adam

    17 Oct 2014 » A summary of what I did during the Ascend Project
    • Installed all of the Firefox channels (Aurora, Nightly, etc)
    • Learned how to use Git and GitHub
    • Set up my dev enviornment
    • Set up my blog of sorts on the Ascend Project website
    • Built Firefox in a VM
    • Learned how to make build patches
    • Fixed three bugs ** Got really used to making git branches ** Did lots of pull requests ** Developed the start of a great working relationship with my mentor Will Kahn-Green ** Met Mike Cooper
    • Set up a local Wordpress blog
    • Crashed things
    • Applied for OPW
    • Gave presentations

    Last Week

    By Barbara Miller

    17 Oct 2014 »

    I began the week still waiting for feedback on my second and third patch submissions. Comments arrived for both Tuesday morning, just in time to compete with my final presentation preparation. This morning I received feedback on my latest submission for the second bug, and oddly enough, it gave me the ending I needed for my presentation—thanks, Andrei!

    After an hour of technical delays (even Mozilla has trouble with streaming, not just small local non-profits), today’s presentations began, and everybody again rose wonderfully to the occasion. Today’s should be posted at air mozilla in the next couple of days.

    This may be my last post here, but you can follow my further adventures and find a variety of ways to contact me at my web site.

    Week 6: Ending/Beginning

    17 Oct 2014 »

    The time has finally come. This is it. Last day of Ascend. It’s a somber mood here; none of us want to leave this warm cocoon of supportive code learning. But it’s time to spread our butterfly wings!

    We’ve spent most of this week working on our five-minute final presentations, or lightning talks. As a writer and performer, I was VERY surprised at how hard this task was for me! I think my ADD tendencies and perfectionism teamed up to make this as difficult as possible, and my dry run with Lukas and Kronda yesterday afternoon was so disorganized that I cried to them about it for a while. I felt so far from ready to deliver my final speech, and I kept changing my mind about what I wanted to talk about. “Telling my story” was such a big assignment, I got overwhelmed, and I was putting too much pressure on myself to tell my life story in an amazing way. So after I got the nerves out of my system in the patient, supporting company of Lukas and Kronda, I was able to calm down and step away from it for a bit. Then it was time to relax and party with my cohort at our going-away party with the Mozilla Portland office.

    I rewrote my speech for a third time, refined it down to a more specific theme, and got to practice a couple more times with Yenni this morning, and finally got to a place where I felt ready to go. Watching everyone’s speeches was so inspiring, and mine ended up going great.

    Lukas gave us all certificates of completions, and we just finished final check-outs (each morning we check in and each afternoon we check out with each other, talking about how we’re doing) in which we all expressed our deep gratitude for all the ways this program and our fellow participants have helped us grow. Tears were flowing, tissues were flying, and we were all giving each other mental hugs. Something I’ve appreciated the most about this group is the massive respect and acceptance we all displayed for each other, and the authentic spirit of contribution and collaboration that really fostered all of our learning. I’ll be forever grateful for this experience.

    Learning in Community

    17 Oct 2014 »

    Learning Technology in Community

    When I first starting learning to code, I took an auto-didactic approach. I studied WordPress, HTML 5, CSS, Javascript and PHP using an combination of resources, including Treehouse, Codecademy, Coursera and reading several O’Reilly books.

    During the process of learning alone, I learned that being self-directed can also be self-limiting. When I get stuck, if I can’t Google my way out of the hole, I am out of luck. And when I can’t figure out why something isn’t working, I have no opportunity to get a different perspective on my approach to the vode. Or even to catch a missing semi-colon or comma.

    At about that time, I connected with a friend who was looking for someone to learn PHP with her. We decided to team up in the hope that we could both support and facilitate each other’s learning processes.

    I learned that I preferred learning with a study buddy because: 1. It kept me accountable. No matter what excuses I came up with, I had someone relying on me to show up. 2. My co-learner was able to provide a different perspective on the material. Our backgrounds were different enough that we were both able to bring something to the partnership. 3. We were able to teach each other when one of us understood something that the other did not. This helped solidify the information for the person doing the teaching.

    The biggest challenge that we both found when working with a study buddy was the difficulty of coordinating two busy people’s schedules.

    When I first learned about Ascend I was particularly intrigued by the idea that the group would include people of a variety of ages, learning styles, educational, professional and tech backgrounds, each bringing their own strengths and weaknesses to the table.

    In practice I learned that indeed, learning in community offset many of thethe limitations I found when I was learning alone. And, the dedicated window of time obviated the logistical issues I had encountered when trying to squeeze in my learning around two busy people’s schedules.

    One of the first things we did when we started Ascend was a strength-testing exercise. My own results underscored why Ascend was a good match for me.

    1. One of my strengths is that I am “intrigued with the unique qualities of each person. [I am] good at figuring out how people who are different can work together productively”.

    2. I also “find deep satisfaction in working hard with friends to achieve a goal”.

    Ascend’s peer to peer learning approach brought not only some great opportunities, but also some challenges.

    There were a few times when I felt like we were the blind leading the blind when I was working on something with a fellow Ascender and neither of us knew what we were doing. But, we were able to work together to figure it out, even if that meant bringing ssomeone else into the conversation. Despite its challenges, I found this much more satisfying than doing it on my own.

    At the end of the 6 weeks, our Ascend Learning Community cohort became much tighter than I would have initially anticipated. We really have become a community. I hope the connections we have built will continue to both support and challenge me as time goes on and we all return to the routine of daily life.

    Two More Days

    By Lisa Hewus Fresh

    16 Oct 2014 »

    I thought it was going to rain since it was raining yesterday so I significantly overdressed and we ended up having clear blue skies! Oh well, I was nervous enough about my upcoming presentation that I didn’t give it too much thought. I got to class and was just dreading my talk but in no time I would be past that and very relieved. Andrew and I walked to the Max and I gave my talk to him. He said he really liked it and he’s always honest with me so I felt pretty good. He made one tiny suggestion that I completely agreed with and noted.

    I got to class and was ridiculously nervous about the talk. I made up a quick note card with some keywords to help me keep my place while I was talking. I wanted to say certain things but I didn’t want to read it verbatim. The morning got going and the half of us that were talking were bundles of nerves. I was so glad to be going the first day and toward the beginning so it would be over soon.

    We had a bit of time before presentations so I messaged the OPW mentor and asked him for another bug to work on. He quickly gave me one and I started looking into it. My stomach was such a mess. Richard from the SF office was setting up the AV system so I knew it was getting close. Finally it was time to start. I was third so I had to sit nearby with Amanda who was second. Adam got ready and there were some technical difficulties but he did great when it came time for him to begin. Amanda was next and didn’t seem nervous at all. Now it was my turn. Bleh, but I got up there and just didn’t over think it. I had my card and I think I only had to refer to it once or twice. I did it and it wasn’t that bad! That’s it. All the stress was gone. I could totally relax knowing the hardest part was done. The other participants spoke and I was just amazed and proud to see how great they all were. We sure have come a long way in six weeks.

    Lunch was next and it was one of my favorite food carts, Kargi Gogo! Lunch was delicious as expected. Everyone was happy and relived to be done. The other half of the class were ok as well because they didn’t have to speak until tomorrow.

    I got back to looking at the code for my bug and found where I needed to make the change. The code is Python in Django so it’s familiar to me at least. I needed to pad event start times by 30 minutes in the iCal feed that is generated when an event is scheduled so that staff has time for set up. Everyone was really chatty and happy so I was pretty distracted and didn’t actually make any code changes. After Richard had our talks up on Air Mozilla he gave a small presentation about what Air Mozilla was and how we were able to edit our own videos. It was kind of cool to see him click on the Management link and have it open to Event Assignments. I made that change! Anyway, right at the end of the demo he said, “Lisa, I sent your video to Peter and his boss. You know, so they could put a face with the name.” Yikes! This can go one of two ways I suppose.

    I think really don’t remember what I did for the rest of the day which is unusual but I probably spent the time socializing with everyone until our party at five. I guess we just started earlier :-) People’s friends and family began showing up. Wayne, Natale, Jayde, Estelle, Andrew, Lauren, and Sean came and we had fun hanging out with everyone. Jayde and Estelle ate SO MUCH crap while they were there. It was awful but I figured it was the one time they could do it. Then the two of them schemed to take a stash of crap with them in an empty chip bag! Not happening.

    When the party was over we, along with Katt, headed over to Los Gorditos. I know, I know! But it’s so good! We had a great dinner and conversation and then Lauren and Sean took all of the kids home while the three of us took Katt to the place where she was dog sitting. When we got home I watched my presentation and to my surprise, it wasn’t bad! I was actually kind of pleased with it so here it is.

    Today I learned that I can give a presentation and not die. Go me!

    Red Rubber Ball

    By peri ahmadi

    16 Oct 2014 »

    Here we are. I can’t believe it’s been six weeks already. I can’t believe the Ascend Project is over. It’s been so worthwile. What a spectacular experience. I haven’t ever considered myself a very lucky person, but I feel so unbelievably lucky to have gotten to do this.

    I look at what I came into this knowing and what I know now and the difference is ridiculous. It was an intense crash course in puter stuff and I think I did a pretty good job. I wouldn’t say I nailed it, because I still have much to learn code-wise, but I definitely did better than I expected. I still have a lot of work that I’m going to leave here with. But, I think I’m well enough equipped now to get it done on my own.

    I had a good and bad week. I think I was a little emotional underneath everything and it was manifesting in funny ways. I had some big time highs and lows, culminating in a very depressing day of laying in the bath feeling worthless. All in all, though, I got some stuff done, did a good presentation, worked on a few bugs &c. I don’t have much to show for the work I did (no patches landed or anything) but at least I know more stuff.

    I’m really going to miss this awesome bunch of people. Everyone has their quirks and I feel like I’m just recently getting to know them rather well. I’m hoping to stay in touch. Amanda set a challenge of a bug a day until we get a job and I think that sounds pretty good. I’m going to try that. I’m going to miss the bus rides with Yenni and Virginia, and Yenni’s favorite bus driver. I’m going to miss going to Los Gorditos with Lisa and Carmen. I’m going to miss David’s jokes and Tina’s brilliance and Eva’s and Adam’s banter (and knitting). And Bex’s (Becky, that’s you) sunnyness. And everybody! Who am I kidding? Y’all are great!!! Sorry Yenni, had to steal that one.

    And as I”m writing this I’m eating some soup and regretting it. I don’t need this soup. Why am I eating this? I guess that’s one thing that’ll do me good is to not be around so much awesome free vegan food all day every day. Wow, we’ve been spoiled. Catered lunches and a prepaid card for going out. I think I must’ve put on 10 lbs. I’m not too worried because I’m going to get it together starting Monday. Hit the gym, eat right, lawyer up, delete Facebook…am I doing this right?

    Look, I already said I’m weird and emotional right now so that’s why I’m blogging so incoherently, K?

    So yeah, here we are. I just gave my final presentation earlier today, so I guess that’s it. There’s still another day of presentations, but for my part, I’m done. This baby bird is gonna fly the nest soon. I’m scared, nervous, and sad, but more than that, I’m excited. I have so many more options now than I did before. So much more I can do with my life. So much more that I want to do. I feel pretty optimistic.

    “I think it’s gonna be alright. Yeah, the worst is over now. The morning sun is shining like a red rubber ball.”

    Farewell Ascend

    By Jessica Canepa

    16 Oct 2014 »

    Farewell Ascend Project! Hello World of Open Source!

    I am happy to report that I gained much more from Ascend than technical competence. I learned how open source collaboration works and I have much greater confidence in my ability to figure things out.

    More Than Technical Skills

    I am proud of . . .

    • Continuing communication when I am stuck. Learning to ask questions.
    • Trying, again and again.
    • Committing to the learning process (with lots of trial & error)
    • Not being satisfied with merely getting things to work (wanting to understand why it works)
    • Letting my interest in how things work motivate me to keep tinkering and asking questions
    • Being comfortable with not understanding something . . . yet

    Bug Progress Update

    My pull request has finally been merged for webmaker (App Maker to be more precise) after fixing lots of syntax errors. The final, nearly undetectable syntax error was the “tabbing versus spaces” error.

    I had a lot of mishaps along the way. Even when the code worked I still had to go back and clean it up. I didn’t realize that such a huge part of adding and fixing code is syntax related. I forgot to add a comma between methods. I also had to go back and keep the same html formatting structure so that the CSS can still stylize everything the right way.

    I am still in the process of fixing what I hope are only syntax errors in the popcorn bug/feature request I started earlier. We’ll see how that goes! I hope to continue working on that after Ascend. It’s been a delight to learn more about Map APIs.

    What’s Next?

    I am not sure what’s next! But I am applying to some internships and feel hopeful about further building my technical skills with other Open Source projects. You can follow me on Twitter at @jmarlena_canepa. I will have a blog link set up there soon. Open Source World, you haven’t heard the last of me.

    The End of the Road

    By Yenni

    16 Oct 2014 » <<<<<<< HEAD <<<<<<< HEAD ======= <<<<<<< HEAD >>>>>>> a830c61045d8c0d119009a402eeb739335999f47 ## The state of "what if" remains. This entire experience has been a tremendous blessing. There's an eerie feeling associated with knowing that in a tangible time frame, you were a completely different person. Self awareness is a silly thing that only matters to you, and makes the whole world different. It's fun to think about how hesistant I was about believing that I would understand anything the computer said, and even more fun that I know how to say something back now. It's more of a command than talking. With all that I have learned, it doesn't feel like it's enough. I still want to know the stories of the folks in the open source community and their reasons for becoming citizens. I crave to dominate my own domain, and hope to encourage the next generation of contributors. When asked, "what's next?" I don't know how to answer. When you feel like you conquered a whole new world, the internet, you know you can take on anything. Choosing a specific path, or passion, is most challenging. Looking back at my biggest passion, and through the encouragement I have received to pursue "what's possible" I hope to continue with a dream left behind. I was encouraged away from engineering school many years ago, and the reason for my enrollment was to create medical technology for trans men. I'm putting it out in the virtual world and will someday make a difference on a personal level to many. Every day is a learning experience, some days more than others. Every day at Ascend allowed me to learn about myself, my new community, and the continuous evolvement of my abilities. ======= ======= >>>>>>> b87da84563b4f2429f2678651890dae911eec226 ##The state of "what if" remains. This entire experience has been a tremendous blessing. There's an eerie feeling associated with knowing that in a tangible time frame, you were a completely different person. Self awareness is a silly thing that only matters to you, and makes the whole world different. It's fun to think about how hesistant I was about believing that I would understand anything the computer said, and even more fun that I know how to say something back now. It's more of a command than talking. With all that I have learned, it doesn't feel like it's enough. I still want to know the stories of the folks in the open source community and their reasons for becoming citizens. I crave to dominate my own domain, and hope to encourage the next generation of contributors. When asked, "what's next?" I don't know how to answer. When you feel like you conquered a whole new world, the internet, you know you can take on anything. Choosing a specific path, or passion, is most challenging. Looking back at my biggest passion, and through the encouragement I have received to pursue "what's possible" I hope to continue with a dream left behind. I was encouraged away from engineering school many years ago, and the reason for my enrollment was to create medical technology for trans men. I'm putting it out in the virtual world and will someday make a difference on a personal level to many. Every day is a learning experience, some days more than others. Every day at Ascend allowed me to learn about myself, my new community, and the continuous evolvement of my abilities. <<<<<<< HEAD >>>>>>> d2b248c765990392139b4020cd564705145baaf4 ======= <<<<<<< HEAD >>>>>>> b87da84563b4f2429f2678651890dae911eec226 ======= >>>>>>> b87da84563b4f2429f2678651890dae911eec226 >>>>>>> a830c61045d8c0d119009a402eeb739335999f47 I leave the program with a new found passion for myself and the community I was immersed in, and it makes me smile.

    End of Ascend

    By Tina

    16 Oct 2014 »

    The end of this week brings about the ending of the Ascend Project. I can’t say I’m excited that it’s over, but I am glad looking back at what I’ve done. I patched in imgur upload functionality to firefox’s screenshot command. I made some improvements to our own Ascender’s Blog. I found a complicated bug in firefox’s newtab page (sorry David!). I reported a bug and submitted a patch it into gnome-music all in the same day. I added a keyboard shortcut into gnome-music as my contribution in order to apply for OPW. I applied for the Outreach Program for Women to work on gnome-music.

    I learned the importance of setting up a quality development environment. I learned how to manipulate VMs… and how disposable they are. I learned how much I dislike trying to parse python’s version of Object Oriented Programming. I learned that Arch Linux is far and away the best distribution of Linux out there right now. I learned that I have what it takes to learn more and make it in this field!

    Of course this is all what I can remember right now. If I had done a better job keeping notes on the things that I’ve learned, then that list would be three times as big! That’s a lot of knowledge and accomplishments to come out of 6 weeks! For me: Ascend was a huge success!

    I’m so grateful to have had this opportunity. It wouldn’t have been possible without Lukas and Kronda being there everyday to help out everyone who needed it. Thank you to every Mozillian who went to bat and supported the Ascend project’s inception. Thank you to every speaker and mentor that showed up to work to help us believe we could contribute, and helped us actually contribute! Thank you to you! By reading this blog post you’ve takin the time to show the world that Ascend matters.

    Because of Ascend, there now exist 18 new Mozilla contributors. I now feel competent enough to contribute to open source prjects. While before I felt like I could contribute, Ascend gave me the understanding of the process that I needed. Ascend is the reason I can look at bugzilla bugs, find code source, set up my dev environment, and dive into the code to make a change. Ascend is the reason I can say to the world, I am a Mozillian.

    Three Days Left

    By Lisa Hewus Fresh

    15 Oct 2014 »

    I woke up to rain. I love that! I got ready and had some time before I had to leave. I decided to write up some of my talk for Thursday. I also looked at my progress report and saw a reminder from Lukas to investigate the Air Mozilla project for OPW. Noted. It was a nice change to walk to the Max in the cool, misty wind. My neighbor was there today and told me all about the coding issues she is having just one week before their next product release. I can actually understand what she’s talking about! It’s architecture stuff so not really my thing but she struggles with the same issues.

    I got to class and Lukas was nice enough to get the computers out early. I jumped right on mine and pulled up the Air Mozilla project. I found the mentor, joined the IRC channel and messaged him. He responded right away and asked me to email him so that he could send me additional information. I did that and while I was waiting for his email I began setting up the dev environment. It went pretty quickly. I had just a couple of issues with postgresql and the environment setup docs were missing a few steps. My issues helped the mentor update the docs though.

    I had a coaching session in the middle of lunch so I asked if I could leave early to get food. Lukas said that was fine so Amanda and I walked down and got fantastic Ethiopean food (see I CAN quit Los Gorditos). Dangit, I forgot leftovers in the fridge! Anyway, I ate a lot and then it was time for coaching.

    Dino wanted to work on my talk. I wanted to just ignore the whole thing but he’s too convincing so talk it was. He first had me run through it once and then he drew thought boxes and we talked about how I could improve it. He had so many good ideas and he did his best to make me feel like I figured them out on my own but seriously I didn’t. I ran through it again once we had stuff planned a bit better and he thought it was good. He gave me one line for the end and said, “No matter what, ramble and do whatever, but DON’T fuck up that line! Nail that line if nothing else!” Ok Dino. It’s one line. How hard can it be?

    The OPW mentor was available via IRC all day so I got help as quickly as I needed it. He updated the docs as we figured out typos and missing or incomplete steps. Once I had it set up I looked at the bug he suggested and it appeared pretty simple. It seriously took me all of five minutes to fix. He merged my pull request and that was it. I was qualified to submit an OPW app. Well then. He said, “Not to diminish your work but the fix was kind of easy. Ping me tomorrow if you want a more challenging bug since you still have time to do more before apps are due.” Ha! Yes, I will definitely be taking him up on that.

    I checked in on the bug I was helping with and they had worked on making the changes so I helped get it all commited and pushed up to their repo. They made the pull request and said the mentor was happy with the changes! Success!

    I got called into the “lair” so I could run through my talk in front of Lukas and Kronda. Bleh, I didn’t want to do it at all but I just tried to remember what Dino said. I talked to them as if I hadn’t met them and it was going pretty well……until the last line which I totally fucked up! Ok now I’m worried :-)

    We scrounged for dinner so we could get done early, watch a movie, and have popcorn. We watched Pirate Radio. It was ok. The popcorn Andrew made was really good!

    Today I learned that svg in HTML5 stands for Scalable Vector Graphics. Really interesting stuff! Also HTML5 canvas is pretty cool. Check out Literally Canvas.

    Final Week of Ascend

    By Jessica Canepa

    15 Oct 2014 »

    Onward to the Open Source World!

    So my bug mentor has been very kind to walk me through the google maps feature request and in the meantime I’ve also been working on another bug in webmaker fixing a back button. I am delighted that contributors have been so generous with their time to help!

    I am amazed at how much this process involves collaborating with others and keeping up frequent communication. Tomorrow I will give a presentation on some reflections I’ve made on my experience here at Ascend. I will share about how this experience has given me much more confidence in my ability to learn and face the challenges of code & communication in the open source world. Stay tuned for one more follow up post!

    In the meantime I’d like to share how I felt about belonging to the Open Source community before Ascend. I felt very much like this picture below as I attempted to feign comfort among technical contributors and developers at meetups.

    An impostor among techies

    Lightning Talk - Part II: you got five minutes

    By amanda

    15 Oct 2014 »

    Let’s talk about why this has been such a struggle to organize into concise thoughts later…

    What was different about Ascend that grew my confidence?

    How to distill a 6 week adventure into 5 minutes and at a time when I have not yet had a chance to process the experience yet. Yes! (the most important thing I’d like to get across is 3 ideas that you can use in reproducing confidence building that may not be currently used in Meetups, other Networking events or Code Schools.)

    Here is the spoiler for tomorrow’s 5 minutes of (within-the-Ascend-Project) fame!

    [Slide: title ]

    I’ve been regularly going to Meetups, attended two different code schools and have done quite a bit of networking-type, information gathering coffee and lunch meetings. Those things all have their place but where I finally grew some confidence was with the Ascend Project.

    How, you ask? What was different about Ascend?
    Well, I have not yet had the time to process my Ascend Project experience, so the how and why is still a little fuzzy. Let’s acknowledge that I have found this confidence before we have completed! I’ll try to answer this question of “how?” from where I stand on our timeline 5 weeks in.

    [Slide: Talking to Each other! Scheduled, structured daily communication]

    Let’s talk about talking to each other. First, we had two days of intensive community building. It was invaluable all the way from breaking the ice, to finding our own individual strengths to a self declared metamorphosis!
    What continued to keep our group in cohesion, was a daily check in governed by our own code of conduct. Our check ins had a specific purpose which was different from what I got out of it in regard to confidence building. (Something about compassion, letting people know if we were in a particularly unpleasant mood, sharing information about the bug that we were working on, morning mishaps or whether we were awake yet or not…) What I got out it was a sense of connection and of where other people were on this journey to tech-awesomeness. [Perhaps it is a weakness of my own that it helps me to guage my own progress based on where the group is? That can’t completely be the reason because, as I mentioned before, over half of our daily check ins and check outs had nothing to do with our technical progress.]

    [Slide: Even with experience, there is still the work of a puzzle.]

    Ok, it was time to dig in, find a bug and get to work on it.
    I looked through available bugs to work on with no idea really where to start. I suggested perhaps that Lukas could walk through fixing a bug on the big screen and we could watch. Her reply confused me. I can’t quote, but pretty sure it was along the lines of that fact that she didn’t know - off the top of her head - how to fix a particular bug and would have to research and do the same things that we’d have to do anyway. What? You can’t just go in and quickly fix a bug while we watch? You’ve got a four year degree and many years of experience! Hmmmmm…… She also added that it wouldn’t be that fun to just watch anyway. (this is true)
    Now that I’ve set up four different dev environments and looked at a few bugs, I understand what she meant. Anyone and everyone has to start at the same place with the set up and then search through the files to figure out which code does what and how the program works. Experience helps with how fast you understand the set up and maybe you’ve seen this code before… but now we are talking about speed.

    [Slide: It’s all about the bread crumbs, baby.]

    We spent a day… or two…. setting up our local versions of WordPress. Let’s just say that Kronda had her hands full with 20 new developers on their own individual machines coming from their own different backgrounds and with their own different perspectives.
    We were directed to follow a blog - written by a trusted WP developer - which had step by step instructions on how to get your own local version of WordPress set up. Did I mention that there were 20 of us? Some of the words on this blog were a in a completely foreign language to us. We all encountered different errors, problems and challenges and after a 2 and a half day struggle, we were complete. (It was also one of the most fun days of Ascend!) I learned a lot more that day than how to set up a WordPress environment and I bet our awesome instructor learned a ton too… she went home that first night and wrote her OWN blog so that we could come back to it on the following day and fill in the holes and complete the task.
    People tell you that you need to know how to Google for answers online and that it’s common for even experienced developers.

    Watching this process unfold reinforced the idea of using scattered breadcrumbs for accomplishing tasks. So many of us are following the path already blazed by others and leaving our own breadcrumbs as we go along. My short tutorial on how to file your first bug has already been followed by at least two other eager contributors!

    [Slide: “Stackoverflow-ed” is a verb.]

    One last example? I was in a meeting with four other Ascenders and our mentor going through the steps to set up another dev environment. During one of the steps, my Terminal threw up an error message. I stopped and let Kate, our mentor know and she responded, “Do you mind if I go on and we can fix that and catch up with the rest of the group later?” I said, “no problem” and without missing a beat, hopped on over to Stackoverflow to research my error. It took less than two minutes with that particular fix and I quickly caught up with the rest of the group. Five weeks ago, I would’ve been in a post meeting session with whomever was available to help me figure out how to figure out my error! No longer a passenger, folks….

    [Slide: How to get in touch with me]

    Put me in front of a machine and I will figure it out.

    Update: link <iframe src="" width="640" height="380" frameborder="0" allowfullscreen>link</iframe>to shortened version and actual presentation

    Whole Lot of Nothing

    By Lisa Hewus Fresh

    14 Oct 2014 »

    Today was probably my least productive day ever at Ascend. Everything I tried to do seemed to take forever and typically didn’t end up working. I spent most of the day trying to set up Debian on VirtualBox only to have it tell me it couldn’t find a suitable kernel. It was a lot of work and a lot of time wasted for sure. I really wanted to apply to OPW but the deadline to apply is right around the corner and I don’t want to rush through a contribution and submit a shitty application.

    Lunch was fantastic though. Peri, Carmen, Amanda, Candida, Becky and I went back to Los Gorditos. I promise I’m going to quit! It was really good.

    I decided to step away from my mess and help someone else. One of my cohort hadn’t filed a patch yet so I asked if I could look their bug over and maybe help. They seemed agreeable to that so I read a bit about what they had to do. It seemed pretty straight forward so I told them I would work on it with them tomorrow. We checked out and I stopped up at Whole Foods to get a few things for dinner night. Wayne was nice and picked me up!

    Carmen made it to the house before Wayne and I did. He and I headed right for the kitchen and I did what I could to help prep for dinner before the larger group started to show up. We were having spaghetti with meatballs and Italian sausage, salad and Wayne’s yummy garlic bread. Tonight we had a great group. Carmen, Alice, Jason, Spencer, John, Lukas, Jenny, Amanda, Savanah, Yenni, Dino, Kronda and the five of us. We unfortunately ran out of food for those who came late. That doesn’t typically happen so I felt bad. I had such a nice night though. I love our house full of people. After everyone left, I researched the bug I was going to help with. Andrew looked at it with me and together we came up with a plan.

    Today I learned I could work really hard and accomplish nothing. I also learned that it happens sometimes and it’s fine because my life is full of wonderful people who make everything better!

    Patches Landed!

    By Lisa Hewus Fresh

    13 Oct 2014 »

    I had the worst night’s sleep in a long time. Just before I went to bed the night before, I noticed that a participant’s blog had only the alt text showing up for two of their images. One image was correct and they obviously made it past Travis so it was unusual. Apparently my brain thought it was terribly odd and needed to be fixed now! I tried to solve it over and over in my dreams and this awakened me several times. I never did come up with a solution though.

    All of this waking caused me to be late out of bed so I was rushing around all morning. I couldn’t be late being early! Some days I just don’t know about me. Anyway, I made it at my usual early time so all was well. We had our check-ins and lots of us were sad about this being our last week. I feel awful when I think about it so I try not to. We had some time to work on our tasks before the All Hands meeting and just about this time I got notification that one of my patches had landed! Finally! The All Hands meeting was great and there are some exciting Mozilla things to come in the very near future.

    I decided I would spend some time looking at OPW projects since I wasn’t on a bug rollercoaster any longer. The site said that most projects had many applications and to consider one of two that hadn’t received any. I looked at one and didn’t feel it was a good fit at all. The other one was ok but not something I was terribly excited about. I would probably learn a lot though so I decided to try to set up their dev environment. That required either installing directly on my computer or installing on a virtual machine. I opted for the VM since I didn’t know where this would go anyway.

    There were several operating system choices but they were all Linux-based. I don’t know a thing about Linux but how hard could it be. I randomly chose Debian. I started up VirtualBox, created a new Debian VM, and then quickly realized it was going to want an install disk. Crap. Off I went searching for the ISO files. That was going to be a lengthy download even with the speedy Mozilla internet connection. It took about 30 minutes to download the three images so I read up on the project and what their software does. I also stopped briefly for lunch which was delicious Thai food! Yum!

    Once the images were downloaded I installed Debian. It was ridiculously easy and I was up and running before I knew it, or so I thought. Next it was time to install their stuff. Well that’s when everything got complicated. I got permission errors and missing package errors left and right. Ugh! It wanted to read off of the install ISO but that was on my real computer (that sounds odd) and it’s not a matter of just dragging and dropping into the VM. I had to download it again! Another 30 minutes just for the first ISO since that was all I needed. I did more reading of the project and then watched the last two minutes of the download at which point it completely failed due to a lack of disk space. Wow, really? I was juuuuuuust a bit frustrated so I deleted the VM and started over. I created this one with a larger hard drive and more memory. I also paid more attention when installing and set up a package source so it wouldn’t ask for the ISO images. Handy! Things were moving along much better this time. I got Debian up and running and started installing the other software and once again it asked for the ISO. What the crap?! I did a bit of searching and found I needed to comment out a line in the sources file to stop it from asking for a disk image. That worked much better!

    Somewhere in all of the above nonsense I got notification that my other patch landed! Two in one day! One was fairly insignificant but it still needed to be done and I did it so I’m happy.

    We had to break for 10-15 minutes and then work on our talks right afterward. Bleh, stress, stress, stress. I started sweating just thinking about it. Adam and I went into a small room and had to practice just our first minute with each other and then give feedback. It wasn’t awful. We decided we were going to try to give our talks as soon as possible and just get it over with!

    I went back to my laptop and started installing the required software for the project and it churned away happily. And then it finished with some sort of error although the application was running. I had no idea what the errors meant but it was time to check out and I had to leave as soon as possible to take Michael to the airport.

    I kind of ran out and met Wayne and Michael downstairs. They had dropped Andrew off nearby so he could work on an issue building Perl on a Vax? with a fellow OpenBSD committer. Yeah, I have NO idea either. We had an uneventful drive to the airport and headed back home. We weren’t here long before Andrew said he was done for the night so I drove back down and picked him up. We grabbed dinner while we were down there and once again I wanted Los Gorditos. I really can stop any time. We got everything to go and the whole family was very happy with their food. That should go without saying because Los Gorditos is really good.

    Today I learned that our friends Dan and Jessie had their third baby. A daughter named Opal Mae.

    Week 5

    By Barbara Miller

    10 Oct 2014 »

    It’s already Friday?!?

    We had a great day, Tuesday-ish, learning presentation tools with Dia Bondi (I probably haven’t gotten her name quite right).

    I’m waiting to hear more on my second patch submission, and I made a third today that I should probably revise a bit, since it splits one file into two new ones, and the patch properly shows only the two new added files.

    I aspire to get going on an OPW application this weekend…

    Week 5: Refining Patches and Looking Forward

    10 Oct 2014 »

    Much of Monday not very productive… all hands meeting (shout out to 3 or 4 Ascenders who have already landed code!), successful coaching session with Deb regarding recognizing internal saboteurs, claiming strengths and preparing stories for how to share strengths with potential employers. By the end of the day I got feedback from my bug mentor that I’m looking forward to deciphering and implementing.

    Tuesday was amazing! Dia Bondi came in and worked with us all day on storytelling exercises and a presentation tool that we’ll be able to use to craft the 5-minute presentations we’re giving next week. Through improv games and organizing ideas, she taught us a pretty effective strategy which I’m excited to implement next week.

    Wednesday Kronda walked us through WordPress customization. I added some plugins and modified some settings; I’m very looking forward to choosing a theme and further customizing the appearance. But meanwhile, I have a bug to move forward.

    Lukas looked over my mentor’s feedback on the bug with me this morning, and I got a very clear idea of what to do with the code. I was really excited to find that there was a bit more I could do with the code because originally it was just moving one line to a different line, and now there’s a bit of rewriting to do, and I’m glad I get to do more. So I made the changes we discussed, and ran the automated update test, and it still doesn’t appear to be working. And I can’t figure out why. I tried running the test lots of different ways on different versions of Firefox (channels, as they’re called), and still not getting the desired result. Will ask for a code review tomorrow.

    At the end of the day we spent some time working on presentation skills using the framework Dia gave us yesterday. We paired up and recorded video of ourselves telling a short story about a pet we’ve had, then gave feedback to each other based on what we saw. It was pretty fun, and the receptionist Katt joined us! Katt is great and I’d been wondering if she’d ever get to participate with us on some of the stuff we’re doing, so I was glad that she did today. She and I paired up for this exercise, and she gave me great feedback: I’m expressive, but I need to replace a lot of my “ands” with periods.

    Thursday… Urban Airship’s director of engineering, Lennon Day-Reynolds, came in to talk to us. UA is creating two internships for Ascend grads! He told us all about the company and how he got into tech (he was a music major! As a theater major, I find this very encouraging). UA sounds like an amazing place to work, and Lennon seems very passionate about helping people from non-traditional backgrounds get into tech jobs. I found him very encouraging, and was relieved to hear someone with power talking about the very barriers I’ve been up against since I decided a year ago to change careers. It has been really hard to find an entry point to software/web engineering without going into tech support (I’m trying to move away from ‘support’ roles and into actually building and engineering things); all the job listings I’ve seen tend to require years of programming experience, and all the internships tend to be just for current students or new grads, which I am not. Specific details about the internships are still pending, but it sounded like it might be about 6 weeks long with option to extend, and could possibly lead to a hire. So I’m definitely going to apply for one of these spots, and I hope like hell that I’ll get it because it’s exactly the thing I’ve been looking for.

    Friday the mentor reviewed my patch, noted some syntax that needs fixing, and confirmed that there is another issue that goes along with the one I’ve been working on in this bug. I made a new patch with better syntax and posted it in Bugzilla, and asked if we can resolve this bug and open a new one for the other issue. Probably won’t hear back til next week, but fingers crossed that I have successfully squished my first bug!

    What Old and New Developers Can Learn from a Stupid Question

    By Candida Haynes

    10 Oct 2014 »

    Hint: Keep Reading

    This project – Ascend and specifically, user experience in support of software development – made me realize that I needed to explore the difference between Javascript and HTML5. Here is what I saw on Stack Overflow (a web site created to efficiently answer questions about programming) after a Google search:

    1.Question Closed: Developers, who validate and reject questions and answers on the site using a voting system, had deemed this question invalid. Question closed.

    2.I kept reading anyway and discovered that someone else was looking to understand Javascript and HTML5 as well.

    I got asked a question that I really didn't know how to answer. "What's the difference between HTML5 and Javascript?" I mean we know HTML is a simple markup language but to get into the things that HTML5 does, such as the <canvas< tag for instance; don't you really NEED JavaScript to produce those canvas animations? Would you even be able to make an image slider without any JavaScript assistance? When it comes down to it wouldn't I be able to just use a JavaScript plugin vs HTML5 99% of the time?

    3.In case you missed it, people have closed this question, and this is why:

    closed as not a real question by Michael Berkowski, josh3736, Robin, animuson♦, BoltClock♦ Oct 4 '11 at 15:43 
It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    4.There was discussion. null

    5.An attempt to answer. Technically it HTML5 is a standard for the next generation of HTML. In reality it has become an all encompassing buzzword for javascript and every web technology developed since HTML4.
These are frequently refereed to as HTML5 technologies.
HTML Canvas 
Other CSS improvements such as flex boxes 
Offline Storage 
New events such as touch and orientation 

    I don’t even know if this answer is right, but it changed my own approach to the question. Is HTML5 a language? A stack? Right now, I don’t know, but I am looking forward to going down this rabbit hole when I finish this blog post. So I leave you with this:

    As a teacher who adores the Socratic method, I value questions as part of the learning process. Wikipedia says that the Socratic method “is a form of inquiry and discussion between individuals, based on asking and answering questions to stimulate critical thinking and to illuminate ideas.”

    My inspiration for applying user experience principles to open source development has a lot to do with my passion for questions and their power to solve problems that pervade the technology community. A safe environment for questions is not only more pleasant, but it is a more responsible approach to work.

    We all want to get things done. What does it mean that the quest for answers might continue from here? It is heartening to see that members of StackOverflow asserted more useful ideas into the conversation. Perhaps we should start with Jayden Lawson’s words:

    “Be constructive, please.”

    Such nice manners.

    The screen shots in this blog came from this site

    Only One More Week

    By Lisa Hewus Fresh

    10 Oct 2014 »

    It was a beautiful, slightly foggy morning for my walk to the Max. Andrew didn’t go downtown this morning and Michael had to be at his conference pretty early so I walked alone.

    Foggy Morning

    Beautiful Morning

    After check in Lukas gave a talk and demo of Travis-CI. She had me create a pull request so she could show the live test build. After it started building she asked if I made an error in it so we could all see it fail. Doh! That was a great idea but I hadn’t done that. And then the build failed! I had been rushing and didn’t fix the date field in one of my blog posts. It’s in a markdown header and the date has to be correct. So it ended up being a good accident. I quickly fixed it and made another pull request. This time all was well and the site built successfully.

    I decided to toggle ‘needs info’ on bug 589320 that I commented on weeks ago. Nothing had ever happened since I originally commented with what the diff would be in the code. I wasn’t sure if it would do any good so was very happy when I got a response. It was suggested that although the change was small, a patch should still be filed because it makes it easier to review and change. I quickly generated and filed a patch. It’s not a big or very important patch but it’s something! It was approved later in the day so I guess it gets landed at some point.

    I talked with the code reviewer on the drama filled bug 671705. He still wants to commit my function to strings.js so I went ahead and filed a patch for that. He’s heading to the states in the morning so this may not get landed before Ascend ends. Oh well. He also wants me to open a bug for the other issue he kept trying to get me to fix even though it had nothing to do with the bug at all. I need to read and understand what this new issue is though before I do that.

    We got to go out for lunch again today so of course I went back to Los Gorditos along with Peri, Yenni, and Barbara. It was just as good as the time before.

    Throughout the day I helped quite a few people with various questions regarding Travis-CI. It’s new and some were pretty frustrated to get a build fail. I did my best to help and make this transition as easy as possible.

    While I was helping I was trying to get some old blog posts uploaded. I had been pretty busy so ended up getting behind in uploading my posts to the Ascend site. I was still behind by one post so I spent the remainder of the day trying to get that written.

    I headed home and Michael happened to be done for the day at his conference so he caught the train a few stops up. We walked home together talking about this and that. When we got home I suggested we take Michael to Handsome Pizza. Wayne and Andrew thought this was a great idea so we walked down there. They were SO busy! Matt told us it would be about an hour and a half before we could eat and then offered to call me when our pizzas would be just about ready. That sounded great to us and Andrew had a haircut appointment around the corner anyway. We walked back home and hung out until he called.

    When we got back down there our pizza had just come out of the oven. Perfect timing! We started eating and soon Andrew joined us. The pizza was excellent as always and it was still early by the time we were done. We walked home and had time to watch a movie. I had just quoted Tucker and Dale vs Evil yesterday so when I saw it pop up on Netflix I suggested we watch it. It was just as funny the second time!

    Today I learned that even long time professionals make mistakes and that’s ok. It’s how one handles things afterward that makes all the difference.

    David's Week 5 Recap

    By David

    10 Oct 2014 »

    Post Translating Code and Road Blocks

    futurama so good

    I need advice, I need to learn more JavaScript, and I need advice. I don’t have a mentor right now because my bug was not marked good first bug. There is a person I’ve heard who can help. He’s also the guy who changed the new tab page in the first place that created the bug in the first place. I’ve been trying to reach Tim Taubert, who is on the opposite end of the world right now. So it’s not the greatest to try and communicate. I’ve sent an E-mail and I hope to hear back from him. While i wait to hear back, let me explain where I am.

    Basically there are a few options to fix this bug

    1. we can lock the cursor in the browser during drag events. This seems like the easiest solution, It has is it’s drawbacks however. It takes away operating systems functionality.

    2. We can force the dragged cell node to go to the new target location that was created before it was dragged outside of the browser. I dont actually know how to do that because I’m not a 100% sure why it breaks when dragged out of the browser in the first place.

    3. We can force the remaining cell nodes on the grid to return to their original positions when the dragged cell fails to move to the new drop target. This one seems hard because this should already be heppening, it’s written within the code already to do this. But for some reason this process causes the nodes to lose the target location.

    Because 2 and 3 seem to be the hardest solution of the 3, locking the mouse within the browser during drag events seems to be the solution in my mind. Firefox already allows you to save links with a bookmark anyways. It seems that the people that would complain about this feature being gone would in the minority, at least in my mind. The big thing with this option I dont know how to incorporate it into the code.

    Squashed Bug

    By amanda houle

    10 Oct 2014 »

    It’s Friday afternoon, T-minus 2 minutes until the kiddo arrives. I’m so excited :)

    My pull request was merged this morning….

    screen shot of merged pull request

    yay! bug squashed. The super great thing about contributing to Mozilla projects is all the support and recognition newbies get:

    Tweet of First Bug

    Want to know how I feel right about now? Check out the image below (get the full affect by downloading and adding it to your wallpaper - fullscreen, baby!):


    In other news…. I got to spend most of my day on less concentration intesive things such as: * met with my coach - Larissa is great, bring out the chocolate cake! She asked me about the lightening talk that I will give on Thursday of next week. As the talk is only about five minutes long, she basically got the hear the whole thing already.
    * My biggest challenge - as is usually the case - will be to make the information that I’d like to get across less explanatory (ramble), more concise and impactful. * Helped fellow ascenders with GitHub issues - fun! * Oh! I reverted my Wordpress site back to the default theme. We had a great session with Kronda going through how to customize our site. I will try again with this new knowledge - just not today. I think this will require a bit of patience and a big stretch from my end. Anything related to design for me… hmm…. I love UX, I’m not yet confident in design. (Hey, any fellow Ascenders want their first WP client? …jk….)

    Have a great weekend!


    By peri ahmadi

    10 Oct 2014 »

    So this week was fun. I had a hard time getting my environment set up to test my bug/patch and when I finally got it fixed, I delved into the code around my bug. First thing I did was cut out the code I thought needed to go and paste it in an empty file with //comments for where I cut it from, just in case I broke everything and needed to put it back.

    When I ran the tests, everything was indeed broken. So I put it back to right and started from scratch, trying to understand the code and what I was doing. Amanda came up to me at some point and said something like, “maybe don’t delete all of that, but just try to delete small pieces and test it to see if it works.” I thought that was good advice so I took out one line. I tested it. Reds are off, greens are showing. Yay.

    So then I didn’t know what to do. I fretted over it for days. At this point I was too scared to alter it again thinking I’d break everything. And I became filled with self-doubt. I really don’t know anything about code and I’m just shooting in the dark here.

    So I finally went in and talked with Kronda about it and she said to try to take out the parts I wanted to take out but in larger pieces. So I did. I ended up cutting out almost exactly what I cut out my first time altering code. It worked. A week of panic and fretting and my problem all along was a syntax error due to taking out one too many brackets. Alas. Live and learn.

    So I got really excited, submitted a pull request, and got some nice feedback from my mentor. It didn’t quite land yet, but it will. My mentor’s supposed to hook me up with slightly more difficult bugs to work on. Great success!

    Finding Scoobydiver

    By Yenni

    10 Oct 2014 » Being a part of a community is a great feeling- having a unified sense of identity, or at least knowing you are all working towards a common goal. I suppose an analogy can be made about a drop in a bucket or an ocean to signify the magnitude of the experience, but I will leave that for the rhetoric lovers of the group. Ascend has given me a fast lane pass to joining a community that transends space and time. I see it more as a movement, and in other parts of the world it is. The Open Source and Open Web World is one of the biggest movements of human existance. Bold statement. I'll let you sit with that for a bit. It really is though. We, the Ascenders and I, were fortunate enough to have a visitor in our space last week. Michael Hoye, whom is a long time contributor for the movement and currently the Engineering Community Manager. He was kind enough to hold space for our questions about being first time contributors. Michael mentioned that Bugzilla can be considered a social network, and ultimately how the world would be changed by saving the open web. Noble goal. I have been fixated on learning the motivation behind those that are in the Open Source community. How they got exposed, how long they've been involved, and what it means to them. Unfortunately, I have found that those invloved in the Open Source community have an unspoken understanding of the importance of the movement, and seldom share their story. I waited till the questions in the room died down, since my questions were less technical and more related to passion. I asked him a question about the demographics of those contributing to the movement, something I have been fascinated with since Ascenders are made to change the face of it all- or at least make a slight impact in those regards. He gave an eloquent response that reminded me of every other rant I've heard about the lack of diversity, until it wasn't. Until he mentioned a contributor that has made a significant impact on multiple levels of Firefox. This contributor, known as ScoobyDiver, has an unknown identity. Apparently, this code magician has been known to fix bugs, contribute to documentation, and overall functionality of Mozilla products. Michael mentioned that multiple people have wanted to identify the magical contributor and unearth their origins without sucess. There have been many that attempt to follow time stamps of contributions in attempts of associating with location of waking work hours. Stories have been made of this contributor, this legend. Some speculate that it may be a group of people that work together. Whatever te case may be, Scoobydiver has made a notable impact to a massive movement and their story should be known. In my opinion, the legend, is doing a disservice to all who are in the community and all whom wish to join by remaining undesclosed. The movement is so important, that every voice needs to be heard. Every journey leading up to becoming a citizen of the community is one worth documenting and sharing. If you're out there Scoobydiver, tell us who you are and why you do it. Inspire the next legend.

    Week 5 - Death of a bug

    By Becky

    10 Oct 2014 »

    It’s the 5th week. That’s sad. It is hard to think of being done in such a short time.

    Monday the 6th, So this weekend. Man I started feeling sick Saturday and by Monday I felt pretty rotten. Hanging in there though. I got some serious blogging done. Need to catch up on past weeks…especially week 3. Add some of those awesome screenshots I’ve been taking. I made a second patch today. but was working on other things too and didn’t put it up yet. I can’t help but notice no news on my bug from my mentors side.

    Tuesday Dia came and was wonderful. She had a lot of energy. She started off saying how unc comfortable we were going to be. That scared me. That is a very big thing to say to…well me. She was going to do things to make us feel out of our box. I never thought it would take so much courage to count as a group. We stood in a circle and when ever we felt ready, took a step in, say “I’m _____, and I am here.” and it was so incredibly awkward and I became hyper aware of where my arms were and my heart was beating so fast. It seems so strange to become so nervous about saying a sentence. a small sentence. and then you feel so silly because all the adrenaline is pumping and you think to yourself….I only said my name. That is all. Why would that elicit that kind of response? I don’t know the answer to that. But I do feel closer to the people in the group because we all did something that made us feel uncomfortable together and that is a bonding experience I guess. At checkout it was really tuggin on the heart strings. People were so appreciative of the space we have created and it is really difficult to think about not being here in a little over a week. Really hard. And any time anybody cried it was so hard. And then Carmen said something about how she has always been taught to be polite and do for others even if it hurts her. And that just makes me so sad. I feel the same way. But what really upset me was I know my daughter does. And to think I may have done that to her. Made her think that her thoughts should come after others. I just ugh I don’t know I can’t help but be sad. She has amazing ideas and she should feel like her ideas are just as valuable as others. And her feelings are just as valid. So infuriating. And how do you teach a balance between being nice, give people the benefit of the doubt…and also freaking take care of yourself and your voice matters. Anyway I love our Ascend therapy sessions

    Wednesday: Typo’d Github and wrote Githug what a great command! Probably my favorite thing of the day. I just got a free hug from Virginia!

    In the morning most the people working on bugs for webmaker got together to talk to Kate Hudson and Scott Downe. I was super excited/nervous because Scott is the mentor on my bug but I didn’t feel like my patch had been looked at and I didn’t know how to express that without sounding ungrateful that he was taking the time to help us. We all started in the same room but Jessia and I are working on Popcorn bugs so we asked if we could branch off and dial up Scott from another conference room. Seemed like a optimal usage of time. Luckily we were able to that.

    Talking with Kate Hudson and Scott Downe

    • So grateful they were able to take the time to meet with us and help set up dev environments.
    • Jessica and I played musical rooms until we were able to connect with Scott Downe and
      got some good feed back. Apparently when I submit my patch I’m supposed to click a
      feedback or a review box to tell the person indicated they should look at it. I didn’t
      now/remember that. So I was holding my breath thinking it was wrong or the didn’t have
      time to deal with such matters. But now I understand the ? + - for review and feedback.

    While we were in our webmaker/popcorn meeting we missed a presentation on wordpress which I may need to get a better idea of what I missed.

    I also submitted my 3rd patch to my bug before I left. Hopefully it will land this time, fingers crossed.

    I left early to participate in a promotional video for Portland featuring developers in the area. I am not one yet but am on my way. Jonan was really the one featured and they wanted his family (including Ada our lovable golden retriever) in it. So today was kind of crazy on that note. Took the kiddos in a cab, on the train, in a street car, walked a few blocks and put them in daycare (I felt like we should be arguing about where to eat green eggs and ham) then I went off to school. Did the webmaker/popcorn meeting. Then I worked through lunch because I knew I was leaving early and I was still trying to find the code to fix. Tina helped me figure out where to find it from the patch. Sometimes things are right in front of your eyes and you can’t see them. I made my third patch and Jonan picked me up with the kiddos. We went down to a park and had to walk down the sidewalk with the kids a few times and then moved to another park. They had a huge green screen behind us and had us stay in a tiny section of the playground…it was a lot of fun and Kaja has blisters from swinging on the cables. We all had a great time. We went out to ice cream for a job well done and the kids and I headed home.

    Also would love to find another bug but would like to feel a little more caught up. I feel like everyone feels so much relief about our presentations. I feel like it complicated things, but gave some good tools to start with. Maybe it didn’t complicate it, maybe it just made it feel more real that that is happening and the program is coming to an end.

    Near the end of the day I got a message from Scott saying my patch was ready but I need to to do a git pull request. And that made me feel uneasy. I feel less comfortable with git then I did last week. All this week I felt so into my bug and writing blogs for week 4 and the present week….(still need to fill in for week 3) but in all that I haven’t pushed anything in awhile. My bad :( Also I cloned the repo for my bug. I believe I know how to do it if I don’t need to fork it. I’ll go over some notes that I have from the beginning of the program.

    Thursday I submitted a pull request to the popcorn repo. It took a bit of refreshing and forking and cloning and deleting clones and recloning but in the end it got pushed up for review.

    Okay so 40 minutes ago….seems like a long time to wait to see if it’ll be merged. Tick. Tock. Tick. Tock.


    Look it passed Travis:


    and bam:


    I totally did a thing!

    On to squash more bugs, because I’m a contributor now, it’s just this thing I do.

    Friday: Still super excited that my bug landed but you may have noticed how anticlimactic it was to “resolve” the bug. There wasn’t even an exclamation point. I mean


    That feels nice to read, but still I was feeling proud and disappointed. At checkout I told the Ascendees that my bug landed and everyone clapped and man that was what I wanted to happen! I was pretty stoked. May even get a gold star out of the deal.

    This morning we all needed to do a pull to get the latest version of the ascend project website we are all contributing to. But I have so many blog posts sitting waiting and it is unclear to me how to make things happen the way I need them too. To be able to upload them and hope the corrections and changes I have made are the ones I want.

    Then a few of us went into a conference room with Kronda to get a quick presentation on what we missed when we were in the webmaker meeting the other day. Mostly about customizing your wordpress site. So that is what I’m working for the rest of the day.

    Fifth Week of Ascend

    By Jessica Canepa

    10 Oct 2014 »

    Wrangling with Google Map APIs

    So the latest word from my bug mentor is that my “bug” or feature request isn’t that beginner friendly afterall. I’ve been having trouble figuring out how to get the latitude and longitude outputs from a custom map url so it can upload into the popcorn maker site and be interactive.

    Alas, hearing that adding this feature is either not possible or complicated for developers experienced with APIs is both comforting and . . . well, disappointing. We have just one week left! I am suppose to give a presentation on all this next Thursday. The pressure is on. If I don’t submit a patch on a bug by the end of next week (or really Wednesday) I can’t tell what this means. Certainly I have learned a lot either way but I am tempted to feel like not submitting a patch in time is equivalent to “failing” somehow.

    Three Days to conquer a new bug!

    My bug’s mentor has offered to search for an easier bug for me. I feel relieved because “finding a good first bug” can be just as stressful as sticking with a harder feature request. Even if wrangling with the Google Map API is a bit of a stretch for me I am proud that such adding such an interesting map feature was compelling enough for me to spend the time and energy on it. No, for the record, I didn’t give up! I just decided to take the advice of more experienced developers and seek out something easier. I’ve learned a lot about map APIs, adding interactive mapping and geolocation services to web applications. Perhaps I can take what I’ve learned and make something interesting.

    In the meantime, I will work on making my own blogging & portfolio site and dreaming up a way to apply what I’ve learned so far.

    Dear Maps Feature Request,

    You haven’t heard the last from me . . .

    Your wrangler,



    By Lisa Hewus Fresh

    09 Oct 2014 »

    Today it was a bit cooler out and it was overcast. It’s nice to see the weather changing a bit. Andrew, Michael and I walked together to the Max. Michael is here for a conference and it was starting bright and early. I love that most of the tech conferences we go to start a bit later.

    I couldn’t wait to get going this morning and honestly the day was kind of a blur so this is possibly completely out of order. I needed to write up a preliminary Best Practices document to add to the Ascend repo so I could finally submit a pull request and get Travis implemented on the mozilla/ascendproject repo. I kind of wrote up the basics of what I remembered having to fix in participant pages and got everything pushed up.

    It was a busy day and before I knew it lunch was there. We were having amazing dumplings from The Dump Truck! I just love the curry potato filled ones. I ate a reasonable amount and then it was back to work for me. I had just a bit of time to work on stuff before a guest speaker was coming.

    Lennon from Urban Airship came in to talk to us about the company and the two internship opportunities they were going to be providing for Ascenders! This is a really amazing opportunity. I loved what he had to say and love how it will be set up. It’s like the perfect landing spot for someone right out of this program. I had already applied to UA before Ascend and never even got a rejection email so I was thinking they didn’t want me before so why would they want me now? Anyway it was awesome to hear that they are willing to step up and take two of us on.

    I was late for my coaching session with Dino! He was supposed to be here this week but had something unavoidable come up and will be here next week. We had a great session and I can’t wait to see him. He’s someone I’d totally hang out with and not just because of Ascend.

    After coaching I came back to my computer and noticed a comment on my bug. I read it and, uh oh. Jim, who works here at Mozilla and has been a huge help to me, jumped on it and stuck up for me. He was really firm with the code reviewer. Like a lot more firm than I could ever imagine myself being. Yikes. I took my laptop so I could show Lukas and Kronda telling them that I have had a wonderful but short career here at Mozilla. Lukas read it first, commenting with “oh wow” here and there. Kronda read it and there was a bit of silence. Lukas said I shouldn’t worry about it at all and that we would just see how things went. Me worry??

    At some point Lukas merged in my huge pull request and Travis was alive on Ascend! Woo! Lots of hard work that actually had a beneficial ending. It felt good to finally accomplish something useful. Here is our first successful build after merging my PR.

    After school I headed down to meet Andrew. We’d be heading to the Portland Perl Monger’s meeting where Andrew would be giving his first talk. It was something about turning a CGI app into a Plack app. I don’t know what any of this means and none of it became any clearer during or after. He did a great job though and didn’t seem nervous at all. Lots of questions were asked at the end so I guess that’s good.

    Andrew speaking at Perl Monger's

    After Andrew’s talk we headed over to Lucky Lab for some dinner and conversation. We had a nice time talking to everyone.

    Today I learned how to highlight code blocks in markdown. Not too exciting or complicated I know but it’s all I’ve got at the moment.

    First Bug Fixed - Code Landed

    By Adam

    09 Oct 2014 »

    One of the major activities that participants of the Ascend Project are doing is working on contributing to open source via working on bugs that were found on Mozilla’s bugzilla site. We all started choosing the bug(s) we wanted to work on a few weeks ago after having had Bugzilla explained to us in terms of how to navigate the site and how to read the conventions often used when bugs get listed.

    I initially had a bit of trouble deciding on what to work on but ended up settling on bug 1025925 that was essentially about making the conventions used in the code base of Fjord consistent. Fjord is software that runs Mozilla Input which collects actionable feedback regarding Mozilla’s different products across all of the platforms that they run on. This feedback is used by multiple teams within Mozilla and is instrumental in figuring out what issues users are facing when using Mozilla’s software.

    While what I was tasked with doing in terms of fixing the bug was pretty straight forward (changing file names and making sure that the rest of the code base correctly pointed to those files) I chose it and enjoyed fixing it for a number of reasons. One of the reasons was that all of the files were written in Python which is a language that I’m interested in learning. Fixing this bug allowed me a number of chances to look at well written python code. One of the other reasons I chose it was because it was listed as a “good first bug” and had a mentor assigned to it.

    I finished fixing the but on Friday October, 3rd and the code landed later that day. It was a really enjoyable process and I’m really that I had a lot of help, especially from Will Kahn-Greene and Mike Cooper. It was also all made a lot easier by being able to do this while in the Ascend Project as I was able to be in Mozilla’s Portland office and have a number of people within not quite arm’s reach to turn to if I had a question that I couldn’t quite figure out on my own.

    I Finally Made Travis Happy

    By Lisa Hewus Fresh

    08 Oct 2014 »

    I am definitely not a true Portlander because I should be lying and saying what horrible weather we are having but I can’t. Today was incredible! I was up early and out the door but Roberto and Frankie were still sleeping so I wouldn’t be able to say goodbye. I’ll see them again soon though since they plan on moving here!

    I was excited to get to class. Well I’m always excited to get to class but I was extra excited today because we got our computers back and it would be business as usual. I really wanted to get back to working on Travis-CI and hopefully get a clean build. I wasn’t, however, looking forward to messaging my code reviewer but I knew I needed to rip off that band-aid and say something. Check-ins were mostly great but some people were not having the best of days.

    We had about an hour to work on our bugs and such so I got busy and started chipping away at the errors I was getting. I FINALLY figured out the correct file path for images and blog posts and that was a huge step forward. I also messaged my code reviewer and he did take some time to look at the code. He also gave me a different path to go down for this bug so it may not be dead after all! I was stressing about there being a problem but this just might work out.

    Kronda came in and went over more features of Wordpress and I really appreciated it. She gave us all sorts of advice and showed us so many helpful things! She covered plugins, themes, spam, SEO and a lot more. It’s apparent I have barely scratched the surface of Wordpress but Kronda is a wealth of information.

    After Kronda’s talk we got back to our bugs. I just plodded along working on error after error until it was lunch time. Most everyone left but I was straggling and running one more rake test so I ended up meeting up with Kronda, Lukas and Katt by the elevators. The four of us went to Los Gorditos. I had vegan taquitos with potatoes and soy curls (a terrible name for a delicious food). The food was really, really good but the company was great.

    Back to Travis! I was down to about 25 errors! I worked on them and made the penultimate fix! The last fix was one I needed to go over with Lukas since it was above the participants directory. Once that change was made I pushed to Github and…….fail! Grrr….now it was throwing a certificate error on the Moztrap site. I can’t control that one so I added an ignore in the Rakefile and ran another rake test. Holy shit it finally passed! Only 18 builds later it passed! Look at how beautiful this is.

    Travis Passed Travis Passed

    Of course this is just on my Github repo so it still has to be merged in and there will be a tiny bit of configuration on the actual Ascend repo but it should work with not too much trouble. Now I need to write a best practices so participants will know how things should be formatted. Having Travis running will allow them to see if their pull requests can merge in without causing a build failure.

    I wanted to start writing the best practices but it was time to do some more practice exercises for our talks. Katt was able to join us for this one! We had to pair up and write up a talk about our first pet or the lack thereof. This was intended to make it no pressure and about something fairly easy. We also had to record ourselves giving the talk and then watch it with our partner and critique it. Writing it up was not bad at all. Recording it was another story. I have a lot of work to do there. I have to find a way to be even a little comfortable with the way I look and sound. Lots of work there. Anyway, all in all it was a great day in class.

    I headed home, had an uneventful ride home on the Max, walked part way home with my neighbor and then stopped to pet BowWow (a tiny dog with quite the adventurous life) and talk with Maggie and Eric his owners. As I got to our block I saw Wayne, Alice and Jason outside in front of our house with Lily and Ladybug. The dogs saw me and came running as fast as they could, both ridiculously happy to see me and very interested in the scent of BowWow on my hands. It was another one of those perfect movie moments. I swear my life is too good to be true.

    I barely had time to put my stuff down and say hello to the rest of my family before we had to run to the airport and pick up our friend Michael. He lives in Massachusetts and was flying in for an optometrist conference. He hadn’t ever visited Portland before and was looking forward to checking it out. We met Josh and Michael in Lake Havasu and became pretty close to them. We’d love it if they moved here but they have since adopted two amazing little boys and are very settled where they are.

    We came back home, gave Michael a quick, partial tour of the house before Alice walked over and then walked around the corner to the Thai place for dinner. Jayde didn’t want to join us since she’s not a fan of Thai but Natale, Wayne, Andrew, Alice, Michael, and I had a great dinner and laughed a lot. Michael was getting tired so we headed back home. As we were walking, Alice and Natale heard something. Alice saw something she thought was a bag so walked toward it but then it moved causing her to jump and scream, startling the rest of us. I suppose you had to be there but it was hilarious! Oh, it ended up being a cat.

    Today I learned what emesis means and it turns out Alice doesn’t like when we talk about it during dinner. Naturally we talked about it a lot.

    Yaks and their Kin

    08 Oct 2014 »

    Week Five - Yaks and Their Kin

    I am relieved that by the time I got around to writing this I had finished my yak shaving,. However, there was a while there when I really wondered if I was caught in a new level of hell. I spent most of Friday, Monday and Wednesday just getting my virtual environment set up. In theory the process was easy and well laid out. Emphasis on the “in theory” in that sentence.

    At first, everything went quickly and smoothly and it looked like I would be well on my way in under an hour. That is, until an error message reared its ugly head. I tried a couple of possible work-arounds and by then the day was over. Monday morning I came in ready to resolve whatever was causing the bug to rear its ugly head. After some futzing, I decided the best approach would be to clear out the mess I had created and start fresh. Once again, everything looked good at the beginning. But, sadly for me, the error message would not go away.

    I chatted with my mentor on irc and he offered all sorts of good potential solutions. Sadly, none of them worked. Then he tried to see if he could recreate the error on his machine and low and behold, he could! It was a great relief to learn that the error message had not been my fault! After a short happy dance, I cleared out the directories and tried instead to create my virtual environment using vagrant.

    Once again, the process was fairly easy and straightforward. At least until it wasn’t. But fortunately, that was no more then a gentle hiccup and was easily rectified. Then came the happy dance because the virtual environment finally worked! And, if I weren;t so damn tired right now, the sheer sense of joy I felt would have an easier time coming through.

    I am tired for many reason, but the greatest reason is that I have spent most of today moving javascript files into new directories and redirecting the html pages that reference them. Very straightforward work, but kind of mind-numbing. In an ideal world, I would be able to use this work as a break from more brainful work. But, this is not an ideal universe, so I put on my music and plugged away. But now my eyes and tired and I want a nap. However, instead of a nap, I decided to finish this blog post before going back to my list of files to move.


    08 Oct 2014 »

    My first bug simply entailed extending the about: whitelist to include itself and a few other items. At first I was tempted to refactor such a long long long regex literal, but I let that go. So, I test my fix in a VM, it works, but when I want to create a patch via git diff > output.patch, I trip myself up: I committed the patch before attempting to use diff. Thus, I learned the importance of avoiding premature committment (and of git diff --staged).

    Now I have to find a bug that will make for a better presentation o_O

    So Many Activities

    By Lisa Hewus Fresh

    07 Oct 2014 »

    The weather remains beautiful so it’s a really nice walk to the Max. My neighbor was there today so we talked about code and testing as usual. Nobody ever jumps in on these conversations of ours. Weird.

    I got to class early and Lukas was nice enough to allow me to push my changes up to Github before class got going. We weren’t going to be using our computers at all so I really appreciated that. Dia was flying in to hold an all day workshop for us in order to help us tell our story. We have presentations to give next week so this help is SO appreciated! It also made me really nervous. I was just thinking about what we might have to do and hoped I’d be able to do it.

    We began our morning with check-ins and I think at least a few others were nervous as well. We’ve kind of fallen into a nice routine and today would be completely different. The tables were pushed to the back of the room and we had all of the chairs in a big circle. It sort of forced us all to be very present which I thought was great.

    I could go into great detail about the workshop but it’s really something to be experienced more than documented. We did spend half the day doing theater type activities which I had never done before. They were really fun and interesting and I laughed a LOT. Some of them seemed ridiculous while we were doing them but when Dia explained the purpose it totally made sense.

    We broke for lunch and it was awesome! I think it was from Pastini Pastaria. So many carbohydrates. Yum! I of course ate too much. I think a lot of us did because it seemed many of us were pretty sleepy after we ate.

    We got right back into our workshop but Dia was changing gears. Now it was time to sort of build the scaffolding of whatever our talks would be. We pretty much all vapor locked at this point. The contrast was fascinating and probably a bit disturbing to Dia. We were all very unclear about what we were supposed to be talking about and needed some clarification. She tried to talk us all down off the ledge but it wasn’t working so off she went to get Kronda and Lukas to come and give us the details we felt we needed. Once we had a better idea of what to expect we were able to move through the exercise. Whew! I didn’t end up figuring out what I am going to talk about but I have to do it so something will reveal itself. Probably.

    The day was done, check-outs were extremely varied. Some loved what we did and some were totally stressed out by the day but I think it was excellent for everyone either way. It was dinner night so Carmen headed home with me. Wayne had a giant pot of chili simmering so I started making corn bread. People started to show up and it ended up being a pretty large group of us. We had Carmen, Yenni, Jen, Kronda, Jess, Sarah, Roberto, Frankie, Spencer, John, Glenn, Alice, Jason, Brigetta, Chris, Lauren, Sean, and the five of us.

    Everyone was eating, talking, laughing and enjoying each other. It was Chris’ birthday so we sang him Somber Birthday. It’s accidentally become a tradition. At one point I had one of those movie moments where I sort of sat back and looked around the table at everyone and was just so incredibly happy to be surrounded with such a varied group of wonderful people. I am so, so lucky!

    People filtered out here and there while the rest of us sat at the table and talked. I have no idea how the subject came up but Jess was nice enough to share with us that Kronda has, I’m pretty sure the word ‘several’ was used here with an emphasis on several, journals/scrapbooks dedicated to Xena: Warrior Princess! Finally some Kronda dirt!

    It was a really great night and as always it was over too quickly. I offered to drive Kronda, Jess and their bikes home but they laughed and reminded me it was only about 2 miles away. Wayne and I drove Carmen home and as we returned were able to again take in the beauty of downtown Portland at night. The buildings, and lights, and river, and bridges. It’s breathtaking every time.

    Today I learned what a pannier is. That Jess and her fancy words! So fancy.

    Rings Of Saturn

    07 Oct 2014 »
    --- layout: post title:  "Rings of Saturn" author: amanda houle date:   2014-Oct-7 categories: amanda --- <br> Today's post is named after my burgeoning latte art.  I do think frothy design practice deserves my appreciation due to the resultant caffeine injection getting me through the second half of the morning. I think I mentioned the Cadillac of an espresso machine that we have been learning on (note to self:  take picture of espresso machine before the project is over.  It's so beautiful!).  I no longer feel that hole in my experience of growing up in the PacNW and never having done my obligatory stint as a barista on a professional machine!  Thank you Mozilla PDX office :)

    This morning started with a Vidyo mentoring session working on Mozilla’s Webmaker-app. Awesome! I am still blown away at the time, consideration and patience these experienced devs give us when working on our individual bugs. @k88hudson, you rock!

    It turns out, the bug that I have assigned to me is in a dev environment which is very labor intensive and lengthy to set up. (You are NOT kidding!). It’s also in an area that has not received a lot of attention in awhile - I think the focus is more on now. So, I was asked if I would mind to cross over to the dark side….. I am now going to work out bugs in

    We went over the steps to creating a dev environment for working on this repo. Compared to the last environment I worked on, this one was a snap. I had one small issue come up - is Stackoverflow a verb? Let’s try: I Stackoverflowed my issue while the rest of the group continued on with set up and I was able to fix and catch up within a few minutes. (yay for small successes and non-complicated set ups!)

    Kate went over a bug that another participant - Mary Anne - had signed up for. It was adding a feature to the appmaker using vue.js. Exciting - I face another front end framework. I might’ve left the world of yoga practice, but the universe still finds ways for me to face my weaker parts. (See post about my fear of backbone.js type systems)

    Vue.js is a less feature heavy framework than Angular.js or backbone.js. We went over creating a new component (for Appmaker) and which three files need to be added. It felt like pair programing in a tuple with one senior dev. Hey…. that what we were actually doing.

    After our session, we regrouped with the rest of the Ascenders who were furiously hacking away. Mary Anne went to task on duplicating the bug fix/component addition. As a follow up to our meeting, Kate will file a bug she alreay has in mind for me to work on in Webmaker-app. In the meantime:

    Even though I will be changing to Webmaker-app from, I still felt that I wanted to find completion with the setup that I had started two days ago. I think a part of the reason why it was so important to finish was this: I love starting new projects and I never run out of ideas. I love organizing and starting new groups, projects, etc…. these are my strengths. So, this was an exercise in following through to the end.

    As I prepare to leave for the day, I am happy to report that it has taken three afternoons - I have FINALLY completed the set up process for a dev environment!
    (I’m not sure if the third afternoon really counted - it consisted of one simple command line direction: grunt dev….. if you did not giggle a little bit, let me explain. Basically, on afternoon #2, I built a machine and I just forgot to “turn it on” and it would’ve worked.

    So This Is Progress?

    By Lisa Hewus Fresh

    06 Oct 2014 »

    First thing this morning I saw a message from my code reviewer. He mentioned there would be an Automation meeting just about the time I get to class and sent me the link to join. After my many frustrations yesterday I was very ready to get back to Mozilla to see if I might have better luck with the CI configuration on a newer computer and I definitely wanted to join the meeting.

    I rode up the elevator with Katt and she set me up for the meeting right away. She’s really great! I was kind of nervous to join in because it was a Vidyo meeting but I have to get past these sorts of stresses. Meeting stuff was happening, words were being said. They were talking about projects I didn’t know about but I didn’t feel completely lost or anything. I read over the wiki while they were talking and saw that they were announcing Virginia and me as new contributors! I was hoping Virginia would get to the office in time to join the meeting so we could both say hello but she didn’t.

    The meeting was actually pretty interesting. There was some back and forth about landing patches and whether they had to be submitted for review if they were pretty small. The lead guy said yes, all patches that touch a certain part of the code have to be reviewed by him. A patch from Friday was not given to him to review and the person who landed it said he didn’t want to keep the contributor (one of our Ascenders! Yay!) waiting. The lead guy said he would have landed it today but the other guy said some things take up to six months and he wasn’t happy about that. There was a bit of tension there but it was all very polite in the end.

    I headed to the classroom, we all checked in and I got right to work on Travis. I had to install the Ruby virtual environment, rbenv, and several other things. It didn’t take me too long though and I was running a rake test! Sure enough, it spat out the same amount of errors as the Github run so something is definitely up with my computer at home. I suspected Nokogiri, libxml2, and libxslt but I’d have to figure that out later.

    K needed just a bit of help today so I got her squared away and then completely immersed myself in setting up CI. I started the day with 197 errors and just kept chipping away at them and chipping away. I also sent my code reviewer a comment on my bug and he got back to me with more confusing statements. I was getting fairly frustrated about that but I was too busy doing other stuff. The All Hands meeting started and I moved away from the desk so I could continue working while the meeting was taking place. They mentioned Ascend and that two of our cohort had landed patches! It’s nice to see that people are excited about what Lukas is doing. Before I knew it, it was lunchtime. We had to leave early because the employee only meeting was taking place directly after All Hands.

    Amanda and I went to the food carts and got Ethiopian. I am pretty sure I could eat that ever day. We wandered over to a nearby park to sit in the warm sun and eat. As we were eating and talking, several other classmates came and sat with us and we talked about all sorts of stuff. I was really wanting to get back so I could keep working so I headed back with Amanda. Unfortunately the meeting was still going on so we had to stand in the hallway for quite some time. Finally we could go back in! I sat back down and worked and worked and then I took a look at my bug comments and got frustrated again. I decided to ask a Mozilla employee there in the office if he would look stuff over and see if I was mistaken in my thinking. He looked over the code and the comments and said he also felt that my code reviewer was mistaken. I’m so new though that I really don’t know. I keep feeling like it’s just something I am missing or don’t understand but it’s not terribly complicated JavaScript so it was kind of vindicating to hear that he agreed. I sent off another comment to the reviewer and he replied while we were still looking over the code. He suggested that a previous bug be reverted so that my new function could be implemented but that made no sense. The change to the previous bug was good and should stand. I wrote back and said that the previous bug fix was clearly the proper thing to do, reverting it was not what should happen and that I would be happy to just work on another bug if he felt my function was really not needed any longer. I submitted my comment and buried myself back in the CI task.

    The day just flew by! I barely spoke to anyone and probably owe many apologies for that but I was in a zone. I couldn’t believe it was time to check out already! Everyone went around and talked about their struggles. It seems a lot of us had them today. Lukas said that it feels frustrating but it’s actually progress. She’s been where we are many, many times so I believe her. It helped to hear it too so maybe that’s why I believe her :-) Anyway, I was rushing to run another rake test before I had to turn in the computer. I managed to get rid of a few more errors so that was good. I just couldn’t figure out why I was getting internal path errors though. Ugh, I had been working on it for days. I asked Lukas if she would take a look and in about 1.3 seconds she said it wasn’t working because the internal file paths were in fact incorrect. Huh? She said that internally it had to have _posts in the path. Holy shit! Days of working on this and I that never occurred to me! I felt really dumb but she didn’t make me feel dumb at all so I immediately let that negative feeling go. And besides, I had made a ton of progress on the other errors so it wasn’t like I was wasting my time. I had them down to 54 by the time I closed the laptop.

    I was getting ready to leave and Jim, the helpful employee asked if anything came of my latest bug comment. It had and it was just as confusing and frustrating so I asked if he would look at the reply. It was mostly just that I wanted company for my misery and he was nice enough to oblige. He took a look and seemed frustrated as well. He said he really had to get going but wanted the bug number so he could look the whole thing over tomorrow and see if there was something we were both missing. What a nice guy!

    I went downstairs and saw that Wayne had messaged asking if I was nearly home. I called him and he offered to come pick me up so I took the opportunity to sit on a bench outside and read a bit. The evening was so incredibly beautiful! I was immersed in my book when I noticed someone sit down just a bit too close to me than a stranger should. I looked over and it was Katt. She had her book of poems and read some to me while I waited for my ride. Wayne, Roberto and Frankie showed up and we offered Katt a ride home. She lives up on a hill in a great place with an awesome view of Mt. Hood!

    We headed home, Wayne took a wrong turn and we ended up on a small adventure! But we found a Freddy’s so we could stop and get the few things we needed for dinner. We got home, I headed directly upstairs to pay some bills and then tried to figure out what is wrong with my old computer so I could run tests from home. Naturally I was in such a rush to get through a test run at Mozilla that I completely forgot to push my changes up to Github! Grrrr! Nonetheless, I shaved a LOT of yaks until dinner was ready. Wayne made some boxed vegan mac n’ cheese and mixed vegetables to go with some of my homemade sourdough bread. Mmmmm a craptasticly (that should be a word) wonderful comfort food dinner. I thought I’d hate the vegan mac n’ cheese but it was actually really good which is probably a horrible thing because I’ll definitely buy it again.

    After dinner I showed Andrew the bug I was working on and tried to talk through the code while he corrected or clarified anything I was not completely clear on. I think I have a pretty good handle on things but it will be interesting to see if Jim uncovers something I have been missing. I’m new so I keep leaning toward that being the problem.

    Today I learned that it’s so easy to overlook the most simple things. _posts…of course!

    Week 5 Monday, OMFgoodness

    By amanda houle

    06 Oct 2014 »

    Update to this blog: It’s Monday morning and I’ve just edited for typos. Totally proved my point about Friday afternoon meltdown….
    Towards the beginning of last week, I got my virtual environment up and running - no problem. Edits and patch made - no major problems there either. Then, I had two afternoons of stuckness to figure out how to apply said patch.
    To be fair, Friday afternoon is a hard period of time to have high expectations of oneself. It’s the end of a long week of input, input, input…. the brain just gets too plain tired to take on anymore. That would be a good day to work on something tedious, like counting pennies! Even better, why doesn’t every dev shop have four day weeks like Treehouse? So Friday, I went home with the intention of coming back fresh on Monday.

    My subconscious must’ve done some major neural connecting because I ran one stinking command and there she was: my beautifully altered Firefox Nightly browser running in full glory!

    		./mach run

    After you pick yourself up off of the floor from laughing so hard…..

    I hope someone else gets to writing up this tutorial before I get a chance to. I broke this task up over four days and now, I can’t remember the work flow. Will try again.




    06 Oct 2014 »

    Feeling a bit confused, yet happy about that confusion as I think it portrays what experienced developers tell you.

    I studied Python and then I went to code school to learn Javascript (full stack: node.js, backbone.js, front end “stuff:” HTML, CSS, bootstrap, etc).

    backbone.js - an MV* - was my weakest link and today:

    I am working on a bug in Angular.js!!!! I plan to revise that statement to read: “…fixed bug working in Angular.js” It’s something that I would’ve thought I needed a week to work on due to my lack of ability with front end frameworks. Let’s see!


    03 Oct 2014 »

    Looking at some of the other Ascenders’ blogs, I see that I’ve been ignoring my blogging obligations. It stands to reason that they already practice sharing their thoughts with the world in one-off FaceBook posts. My only consolation in this respect is that I’m comfy w/ Twitter =)

    Finally looked “under the hood” of WP. For two days. Maybe if I stare at the panoply of options long enough, I might become an Expert Knob Twiddler?

    I feel stuck in a liminality. As in, what to do with all of these tools, in what contexts, WHY? Finding my own preferred niches is an arduous challenge. As is choking down the feeling that I can’t contribute anything because anything I do contribute will be inconsequential or half-assed. And I take the stance that I’d rather refrain from touching someone’s code/remain silent than appear both opinionated and incompetent. Hopefully I’ll be able to undermine this feeling, for the sake of my learning.

    David's Week 4 Recap

    By David

    03 Oct 2014 »

    Self Guided Work

    This week as lead to a mostly self guided work flow. With Lukas and Kronda doing one on one talks with each member of the project. We ascenders have been left to our own devices. Generally whether I thrive off of self guided work or not is entirely based on how I feel that day.

    Luckily for me this kind of work has kept my interest for me to keep going. My bug, 1066148,

    has proven to be a challenging beast. Since we had set-up a Firefox Dev Environment earlier to build Firefox, I could jump right in.

    Ofcourse, however, I had no idea where to start. After indexing Gecko-Dev in Atom I searched for any file that had ‘newtab’ somewhere in the name. It turned up a few results that actually had nothing to do with the bug. So I hit my first road block.

    Since Keywords weren’t helpful, I ended up in a one off conversation with Lukas that pointed me towards mozregression. This tool is incredibly useful when looking for a starting point. It works like this,

    Find the release date for a build of firefox that doesn’t have the bug. This build will be marked as ‘good.’ since this latest release is bugged it will be marked as ‘bad.’ The mozregression tool will then start bi-secting builds in the middle. It will then install the build of Firefox that was released on that middle date and run it. Once it’s running you can test to see if your bug is there. If your bug is there, you can mark it ‘bad,’ if not you mark it ‘good.’ You and mozregression will then continue this process until it finds the exact build that created your bug.

    After doing all of this I had the push log of all the changes made and after a little keyword searching found this page which told me exactly where the code was and what had changed. Dope, now all I have to do is translate of of this javascript stuff into a discernable language and it’ll easy right? Wrong.

    So I decided the best way to translate this code is to break it down by essentially breaking the code. I would take out entire functions and build Firefox over and over again to see what stopped working. This gives me an idea of what the code does and I can map it on a piece of paper. What I was hoping to find would be a function that already places the cell back into the open gap, which while it does exist, is a combination of multiple functions. They dont track where the cell is being draged, they track where the cell is in relation to the other cells in order to move those cells in accordance.

    Meaning the functions can’t possibly track the cell if it’s dragged outside the window. If it’s released outside the chrome of the browser, the cell will return to the last drop target rather than the updated drop target. Since the the other cells have moved in relation to the draged cell, they cover the draged cell’s last drop target. Which is the bug.

    However what I’m thinking could be a possible solution is instead of tracking the draged cell. You force the cells to move to their original postion at the start of the drag. It’s a hard reset to the drag and drop operation which can probably be done very easily.

    Im probably gonna fix this bug before I even get it assigned to me. :B

    Week 4: Down to Business

    03 Oct 2014 »

    Monday: First thing this morning, we had a video conference presentation from Marina on Outreach Program for Women (OPW) and its application process. I first learned about OPW at Open Source Bridge when I met Frances Hocutt and her mentor Sumana. I thought it sounded like something I would like to do once I learned a bit more of the coding basics. Now we are all being encouraged to apply and I’m hesitant. On the one hand it would be great experience, great learning experience and resume builder, and the stipend is sufficient. But on the other hand, applications are due in just 3 short weeks and I’m not sure if I would like working remotely.

    Tuesday: presentation this morning from Lars Lohn on Firefox’s crash reporting system, which he built. lunch: food carts (Frying Scotsman!) More open time to work on our bugs. Built the patch!

    Wednesday: Presentation by Mike Hoye on getting/keeping contributors engaged and involved, building community, acknowledging and appreciating each contribution, making the contribution process as easy and inviting as possible

    lunch: 24th & Meatballs

    working on bugs: Ran multiple tests to try to prove my patch worked, but none seem to do the trick. Not sure if problem is with the patch, the automation, or the test report viewing site. Frustration!!!!


    lunch: Savor soups!

    Presentation this afternoon from Kronda: “Stop Crying in the Bathroom and Start Your Own Business.” I think I would feel more empowered by this if I felt like an expert in anything, but right now I see my best next step as finding an entry-level jr developer position or paid internship that will help me learn by doing and train me up. I’ve been having a pretty hard time finding such opportunities though, especially because it’s not summer and I’m not in college. It’s good to know that this option exists and I’ll keep it in mind as a possible career path down the line, but right now it actually makes me feel kind of discouraged because of how far I still have to go.

    work on bugs: mentor not on IRC, tried again to run many tests, looked at the patch code again to see if there’s any reason it wouldn’t work. Lukas looked at it and pointed out that the raw output of the report does seem to include the channel (i.e. the patch worked), but when I view it in the dashboard site which makes sense of the output, it doesn’t populate the channel there. So bug may actually be in the dashboard site? Mentor Henrik is not on IRC today so not quite sure how to proceed, may just post the patch to the bug and post a comment about the output problem.

    Friday: lunch: food carts (pork belly banh mi from Rua!)

    Pep talk from Lukas, reminder to keep honoring our group agreements and keep working hard and leveling up! Go team!

    Bug progress: mentor appears to be in IRC but not responding. Many of us are having problems connecting in Mozilla IRC today (Colloquy wasn’t working but Mibbit online was working a bit better) so maybe he is as well. I attached my patch in Bugzilla with a comment about the test being inconclusive and asking for review, so that’s as far as I can go with it for now. I’m glad I’m at a stopping point with the bug for now so I can catch up on blogging, Wordpress customization, and other loose ends.

    I have a coaching session with Debbie at 3:30 this afternoon. She’s going to help prep me for the imminent job hunt. So much to do, so little time!

    If Travis Is Happy Everyone Is Happy

    By Lisa Hewus Fresh

    03 Oct 2014 »

    It’s Friday and that brings us to the end of yet another week of Ascend. That only leaves two more weeks and I don’t like that at all! The weather was amazing today though. I keep hearing how unusual it is but I haven’t known any different since we have moved here. I suppose I will be in for a rude awakening when things go back to normal.

    The morning began as usual with breakfast and conversation. We moved into the room and everyone got to work on their various tasks before check-in. Lukas and Kronda came in for check-ins and gave us a friendly reminder to be on time for check-in and to close laptops and ignore phones when it’s check-in time or we have a speaker. It’s so easy to be distracted by the gadgets so it was a great reminder for me. During check-in one of the students (I won’t name ;-) was talking about how they feel just a bit rebellious about the “laptops down” rule because of some past experiences in school and then said to Lukas, “It’s not you. It’s the baggage.” I really love spending my day with these funny, intelligent people.

    Lukas talked about how we can level up by always communicating via our blog posts, progress reports, tweets, Etherpads and so on; Staying busy by finding things to do. Even small things like reviewing git commands or running Mozmill tests for practice; Taking risks because this is the time to do it. We are in a safe place to learn and breaking things is normal and fixing them helps us learn; Claiming our space by being a voice in the movement. We are already a part of things so we need to think about how we will continue to contribute and carry on our legacy. It was a great talk!

    K had asked me if I would help her get caught up on some things she was having issues with so I worked with her pretty much until lunchtime. She was able to get a LOT accomplished. I think she just needed another set of eyes because she moved right along and made sure to take notes as we went. I think by the end of the day she was all caught up.

    Lunch was out today and what a perfect day for that. I decided on the salad place again because it was so good. K went with me and we took our food back to the office. We didn’t spend too much time eating before heading back to our laptops. I poked around looking for a new bug I might get started on and worked on trying to get a better error message from a test I’ve been running for my bug but that didn’t really go anywhere and I’m not too sure what exactly it has to do with my bug. I guess I will have to wait on that one too.

    I also did a bit of poking around, gathering up resources and information for my potential talk. I emailed Katt with some questions about what sort of use a contributor has of the Mozilla open space. I did some research about logos I might be able to use on my slides. I’ve never done anything like this before so it feels scary and a bit overwhelming. I just keep telling myself I only have to prepare something. I don’t actually have to present.

    The day flew by and here we were checking out. It’s so interesting to hear others talk about their bugs. They sound SO ridiculously complicated! I’m thinking, “Wow! Here we knew nothing coming into this four weeks ago and now these people are talking about things I don’t understand at all.” Is that how mine sounds?? Lukas mentioned that one of the students typed a set of empty curly braces in the markdown header of a blog post and it took down the Ascend site. She said she should probably get some continuous integration set up on the site to keep that from happening in the future. I mentioned I had set up Travis-CI on a site before and she said she would welcome a pull request. Fun!

    Andrew met me at Mozilla so we could head home together. We made a quick stop at a spice shop for some smoked paprika and then we headed to the Max. David happened to be on the same train so I said he should come nerd talk with us. He started telling me about his bug and wow definitely more words I didn’t understand at all. I totally get the issue he is working on but I wouldn’t have a clue where to begin. Go him! We have some really intelligent people in our class.

    I got home and jumped right on my computer so I could get started setting up Travis for the Ascend site. The docs recommended using HTML-proofer to test links, images, and scripts. Sounded great to me! First I had to figure out how to get Jekyll running. I had struggled with it a week or so ago and I just couldn’t get it but it wasn’t critical so I gave up. Well now I had a reason to make it work so I searched and searched and found the answer! Once I had Jekyll running I configured HTML-proofer and ran it. It wouldn’t build….there were errors related to ASCII and when I opened one of the files I could see there were some weird characters. Maybe smart quotes?? Anyway it was late and I was so tired. It would keep until tomorrow.

    Today I learned that Mozilla has a TON of different logos!

    first bug landed! and other week 4 notes

    By Barbara Miller

    03 Oct 2014 »

    My first bug landed!

    Earlier this week, we enjoyed great talks by Marina Zhurakhinskaya about Gnome’s Outreach Program and by Lars Lohn about Firefox crash reporting and analysis, based on his Open Source Bridge talk, When Firefox Faceplants—what the fox says and who is listening.

    And I found out a lot more about the Outreach Program, on IRC, #opw on, many thanks to mvolz and fhocutt!

    Strikes and Gutters, Ups and Downs

    By peri ahmadi

    03 Oct 2014 »

    Where to start? Hmm…let me see. Well, I guess first things first. On Monday, we sort of settle on a bug that we want to fix. I had a bug picked out which I wrote about in a previous blog post. Well, on the day we start researching how to patch our bugs, I find out that two others had picked that same bug. I don’t want to get too hung up on it so I immediately begin looking for a new one. I dig a little deeper this time so I’m sure to pick something no one else was looking at. We team up for this preliminary bug research and my partner Becky, is super helpful and cheerful as always. So we plough (plow?) through the assignment. We’re given a set of tasks to complete in working up to commenting on our bug.

    So I find a bug and look into it and go home and when I come in on Tuesday morning–lo and behold–someone had submitted a patch. So I find another. My bug seems simple but not too simple, which is what I wanted. Something that won’t discourage me by being too difficult for me to tackle, but also something that will challenge me a little.

    I found out everything I could about what I needed to do and met with Lukas and Kronda and was pleased to learn I was on the right track. During the meeting, Lukas also checked to see if we were caught up on each of the assigned tasks we were given. I was all caught up with the exception of having broken images in a recent blog post. I also had an ongoing problem with my web dev enviroment, but that’s all just housekeeping.

    So yay! Strike! Good news! I’m doing a fine job after all!

    Here comes the gutter. The down. I get to work on my relatively simple bug. To start I go to test it just to have a control and know what the problem looks like from a test perspective. When I run the jetpack tests, I notice first of all, that the tests are buggy. The automated tests are supposed to open and close windows while they try different things out. Well, at one point the window fails to close. I file a bug report and decide to only run the test relevant to my bug.

    I can’t.

    After hours of running and re-running and trying and re-trying, I enlist Lisa’s help. We figure out that I have addon-sdk installed in a different directory and no matter what I command, the tests always run from that other directory. Easy, remove directory. Now go into my repo and rerun the tests. I get:

    Warning: your mozrunner package is installed at /Library/Python/2.7/site-packages/mozrunner, which does not seem to be located inside the Jetpack SDK. This may cause problems, and you may want to uninstall the other version. See bug 556562 for more information.

    OK now I’m getting stressed out. Even writing this blog post is a little stressul. I see bug 556562 and try the workaround in it. Turns out the workaround was written in 2011 and has since become deprecated. So the workaround doesn’t work. Now what?

    I meet with Lukas again and she gets me back on track and helps me figure out what to do once I get the tests to run in order to run a diff and compare the test pre and post patch. I come out feeling like I’ve got new handle on it and it should work. But it doesn’t work still. I basically end up back at the beginning. I can get the tests to run but I can’t run the specific test I need, nor can I interpret the results. Full cicle. I has sad.

    I get a hold of my mentor on IRC and he tells me to try a bunch of things I’ve already tried and I feel defeated. Finally, someone else in IRC pipes in with something like, “You don’t wanna run jetpack tests on a machine that has mozrunner installed.” This is maddening. I just laugh. I know this. The computer has told me this. I’ve spent two days trying to workaround having mozrunner installed. I decide to uninstall mozrunner. “Permission denied.”

    AAAAAAHHHHHHHH!! Seriously puter!? What have I ever done to you? Why do you smite me?

    I give up. Go out. Have some drinks. And my boyfriend says (a ‘duh’ moment in retrospect), “You have a virtual machine with Ubuntu installed, have you tried using that?”

    HAHAHHA! So simple. Three days! Three days I’ve been stuck on this and in the end it’s such a simple solution. I come in this morning and start my VM, clone my addon-sdk repo, run the tests. Everything works! The tests come out in a neat little text file saying that everything is fine and passed and these errors were logged.

    I go into bug 556562 and leave a comment describing my troubles and how I finally came to a suitable workaround. I specifically point out that I’m a newb and posting in case any other newbs are going through the same thing. Then someone replies, “My workaround was to just use a different computer :/.”

    Thanks, snarky computer guy :/.

    Week 4 - A Bugs Life

    By Becky

    03 Oct 2014 »

    We split up at some point and went over our bugs with a partner. I really had my heart set on doing Bug 924029. I was really nervous though because I had no idea what I was getting myself into. As you may recall the first week of school we had 30 minutes to do something. Anything. And I had chose to work with x-ray goggles. I had a hard time getting the goggles to work on another page - I think because I was feeling so nervous about having enough time so I decided since it was working on the x-ray goggles page I should do that. So I had a few reasons why I was here put up a picture of my kiddos and called it a day. Went to save and thought better make sure there is nothing else I want to add. I n something and I guess because I’m used to hitting go back on my phone when a pop up comes I can generally tell it to go away by pressing the back space when I did it said I you sure and I pressed it again…without thinking about it. It left the page I was on and all the work I had done. This bug suggest that there should be an auto save feature. Naturally I felt compelled to have this so that no one else would lose there 20 minutes of hard work. However once I presented it to Lukas we went into IRC to find one of the people involved with the bug. They had said they were going to icebox the bug for now and I thought it may be a good opportunity to revisit and see what would happen. I was really panicked. I hadn’t realized when I asked her to look over my bug that I would be jumping into IRC trying to find one of the people involved with the bug. I was really panicked. I hadn’t realized when I asked her to look over my bug that I would be jumping into IRC talking to find one of the people involved with the bug. I was really panicked. I hadn’t realized when I asked her to look over my bug that I would be jumping into IRC talking to someone. He welcomed me and and said hey. I then wrote Hello. He hadn’t capitalized his hey. I shouldn’t capitalized mine. hello. Ok that seems better. Maybe too formal? Hi. No wait, hi. there hi. Perfect send. Man that shouldn’t be so stressful. I imagine this is going to get easier with time. He mentioned that they weren’t exactly sure what they wanted yet and so probably not something I want to try out especially for a first bug. They had said they were going to icebox the bug for now and I thought it may be a good opportunity to revisit and see what would happen. He mentioned that they weren’t exactly sure what they wanted yet and so probably not something I want to try out especially for a first bug. So I was on to a new bug.

    After looking into I decided on bug 1019657 about the pop up event box and the text box. When they don’t have text in them they collapse into nothing. This is what was going on with the pop up event:


    I asked the mentor if I could have the bug since it hadn’t been worked on and I thought it would be a good first bug. Something I could handle and start to understand the process.


    An hour and a half later that bug was mine. I was really excited. To be honest I didn’t actually think I would be legitimately excited over having a bug but I was. I had been assigned something, and it was up to me to fix it. Check it out!


    You may notice in that image it says assigned to: RebeccaScheffler….because….it’s my bug.

    The next day I set up my environment. I googled webmaker github and found instructions here. After cloning popcorn I had a very big problem with node. I forgot that we had installed homebrew on our computers earlier. So I googled how to install node and installed it from source. Which took a long time and I kept getting errors. It was all extremely frustrating. My screen was full of errors, by the end of the day I was pretty sure I was going to cry.


    The next day I worked with Lisa a lot and she helped me walk through the list of errors and actually after we fixed one or two the rest went away too.

    Things ran way more smooth after that. I was able to run “node server” and get a local working popcorn page. That was pretty cool. Really pretty cool.


    So I started dinking around…right clicked the pop up box and chose the Inspect Element option. There I could hover over code and see where I was working. It took me a bit to find out where I wanted to be. I started with changing the px but I was concerned if the text got bigger the box would stay the same and the font would out grow out of the box. I vaguely remember talking about ems at the beginning of Ascend. I tried that out and it seemed to work out well. See?!


    But now I had to find the real code instead of just changing it temporarily on the website. I really didn’t have any idea where to start so I just started going through each folder to see if anything sounded promising. It didn’t. Eventually I had to ask Lukas how you find the bit of code to change. She asked me where I changed it on in the inspection place. I really didn’t know I just kind of found the code by messing around. But I love taking screen shots so I showed her that. Turns out you can just open the entire popcorn

    By the end of week 4 both of them were ready to go and ready to make a second patch.

    Fourth Week of Ascend

    By Jessica Canepa

    03 Oct 2014 »

    Assigned to a bug! Let the questions begin . . .

    Finally I found a bug that has been forgotten by most of the world! Actually, it’s a request for a new feature in Popcorn Maker to allow custom google map urls to upload in the site. I posted a comment explaining my interest and that I set up the dev environment to reproduce the site locally along with a proposal of where to start next.

    Thankfully, I got a response quickly afterwards by a contributor who gave me a more concrete (and correct) starting place. Next I spent several hours trying to decipher his comment, looking up terms, reviewing node.js, reviewing the code and formulating . . . more questions! It can be discouraging to understand so little but I think learning to ask semi-informed questions is invaluable. I have to keep reminding myself that I am not expected to not need any help on my first bug and that instead I am expected to ask questions and seek the answers. Just knowing how to phrase questions has been a great challenge for me.

    How to carry on when you don’t know what you’re doing

    Learn the art of asking questions!

    Last night I went to a PDX maptime meetup and there was a discussion about impostor syndrome. I asked how this syndrome applied to people who are inexperienced and new to coding and I was reminded that we’re all new and inexperienced at something and that’s just a part of the challenge of working in tech. It was comforting to be reminded that we’re all newbies at something. I also enjoyed hearing more experienced developers and mappers say that one of the best things newbies can do is not be afraid to ask questions.

    I don’t really have much advice on the “art of question asking” at this point as I am still learning it but I am relieved to know that asking questions and researching online are skills that I can develop with practice. I have much to learn on this but help is out there and practice makes . . . well, more progress! For help on formulating questions I reread Katherine Wu’s blog post on how to be a better junior developer. She offers concrete points on how to make it easier for others to help you and even calls “asking questions” a junior developer’s superpower!

    Useful question templates I’ve used to formulate questions

    “I am trying to __, so that I can __. I’m running into __. I’ve looked at __ and tried ___.”

    “My current undestanding is that I need to __. I’ve found code and docs (documentation or instructions and background info) from __ and started __ (any proactive steps you can take like setting up dev environment, reproducing the bug locally, etc.). I think my next steps are __. Am I on the right track?”

    What I will do when not working on my bug

    Besides looking for ways to touch up Mozilla and Ascend documentation for newbies and searching for an easier bug to work on (for the joy of submitting a patch!) I will be working on my OPW internship application and patch submissions. I am very excited about the prospects of a internship with OPW. I’ve been hesistating to jump into the patches because I am not sure I understand where to start so for now I will use my newly discovered superpower of asking questions to make sure I am on the right track. It’s easy for me to feel like I should already know where to start but asking (even just for confirmation) eases up that expectation, helps me learn more and helps others help me.

    Week 4 Friday, Priority or Distraction?

    By amanda houle

    03 Oct 2014 »

    We are left to our own discretion for which tasks take priority.

    I think I am actually avoiding my VM right now because I decided to:

    register my domain and give myself something fun to work on over the weekend. (Setting WordPress up locally on my home computer.)

    Did I really just say fun? Well, after a couple of days setting up MYSQL and WordPress locally and then just beginning to customize my own site - I can NOW see why people would pay to have someone else to make their website! Personally, I found the set up to be really fun (you can probably find quite a few blogs on this site from other Ascenders regarding our days of Yak Shaving!). It was a little bit tedious and definitely a lot of trial and error, but we had a ton of laughs. Kronda definitely earned her paycheck those two days as she kept all of our sheers sharpened and clipping away - building 20 unique dev environments each with their own stumbling blocks and mis-steps (add a password to MYSQL anyone?). She even managed to go home after that first day and squeeze in a step-by-step blog for us to work with on the second day!

    Register a Domain

    So… yes, website registration. I did a bit of research (admittedly, I did a day or two of research previously) and decided to go with NameCheap. They are running a couple of specials this month - download their iOS app and use code NCIOS for a price which is roughly half off the price of a domain for a year.

    I had picked out a couple of toddler inspired domains (kittycatninjawitch, Mangkin, whalessayoo-oo-oo, …) and ultimately went with just my own plain given name. www dot amanda houle dot com. (I guess it also didn’t sound good to use my IRC nickname as a web address: “Yes, you can find me online at!”). Go ahead, try and say it outloud: “I’m at A-HOOL dot com.” Maybe I’ll register that domain for my not-so-happy rants later on.

    Wait 24 - 48 hours for the URL redirect to take place.

    This has to travel around the world, out to the Russian space station and back before you can find my actual WordPress site which is temporarily being hosted on Kronda’s company site for now.

    Next week, I’ll work on:

    transfering the site over to my own domain.

    I’ll be using Site5 for webhosting. More on that next week…. in the meantime, why not head back on over to Kronda’s blog again and read about why your hosting company should be different than your domain registrar!

    Patch Applied!

    02 Oct 2014 »

    Firefox Build with patch

    A Challenging Day

    By Lisa Hewus Fresh

    02 Oct 2014 »

    I rode in on the Max with Andrew this morning and hung out at CA for a while. I tried to get irssinotifier set up on my phone but I couldn’t finish before I had to head to class. For once I wasn’t the first one there! I made a small breakfast and had my tea while we all talked about this and that. Our computers were brought out so we grabbed them and got to work. We did a short exercise with bash command line flash cards. I’m feeling pretty comfortable on the command line but could use more practice searching for things. Do I use grep? ack? find? What other commands are there?

    Lukas and Kronda were finishing up the final one-on-ones and I was first up so I headed in to the office to meet with them. They said I was on track and asked a bit about my bug and that was about it. Back to work I went. Carmen had some questions so we worked together here and there and she definitely made forward progress.

    I wrote a comment on my bug regarding changing the logic in a JavaScript file that, from what I can understand, doesn’t actually need to be changed. I went ahead and added my function to the file I was modifying and made a patch file. I ran some Mozmill tests and the one in particular I was to focus on failed but I’m not sure why since my changes don’t mess with anything.

    I set that mess aside while waiting to hear from my reviewer but he seemed to be afk all day. I uploaded a couple of blog posts and edited a couple, pushed them and submitted a pull request. This has become very routine and comfortable. Now that I’ve said that, Git will probably blow up.

    Lunch was yummy sweet potato and kale soup with some really good bread. The weather is cooler so it was perfect. I ate lunch pretty quickly and then went back to my computer. I finally activated my Safari Books membership that Mozilla was so kind to give me. I had just been so busy I didn’t have time to activate it sooner. I had just logged in and it was time for Kronda to give a talk titled, “Stop Crying in the Bathroom and Start Your Own Business”. It was great! She made so many good points about why it’s so freeing to be your own boss. She also covered the down sides like possibly not having a steady pay check and having to be able to promote yourself.

    So yesterday I was given a challenge, which I accepted, to approach the organizer of Portland Linux/Unix Group (PLUG) and ask about speaking. Since I’ve been a regular at this meeting, I know the crowd is friendly and I know the organizer so I wasn’t completely freaked out about asking. The meeting was tonight so I’d have to figure it out soon. I was thinking about this when I got an email from a friend inviting me to participate as a panelist in a moderated discussion about personal eating choices. I’ve never been asked to sit on a panel before but I have some pretty strong feelings about why I eat the way I eat so it could be fun and interesting. It also sounds terrifying!

    I went back to running tests and trying to figure out why they were failing. I copied the error I was getting and saved it in a text file so I could refer to it later and then I finished getting irssinotifier working on my phone. Once that was happy I tried to set up the Mozilla IRC server on Irssi but of course that had to give me issues. That was just the way my day went.

    It was getting close to the end of the day so I filled out a progress report and then we did checkouts. Maybe it’s just my bias but it seemed like lots of struggling went on today. Enough that Lukas said Ascend was getting renamed to “Drink and Cry Your Way to a Patch in Six Short Weeks”. In spite of our struggles, everyone was pretty light-hearted.

    I stuck around a while after class waiting for Andrew so we could walk over to the PLUG meeting. It was beautiful out so our walk was extra nice. We stopped at East Side Deli and each got half a sandwich to have for dinner. We made our way over to Portland State University where the meeting was being held. We were early enough to eat our food before the meeting started. Jennifer Davidson was giving a talk about diversity in tech. Yenni and Candida showed up just as the meeting was getting started so three of us Ascenders were there. Jennifer’s talk was SO good! The audience was quite engaged and heavily participated in many discussions and had a lot of questions and comments. It was one of the best PLUG meetings I have been to and Jennifer gave a shout out to Ascend! After the meeting I asked the organizer about whether I could speak and he said, “Sure! How’s November 6th for you?” Uh………

    Andrew made our way home and the night was just as beautiful as the early evening. We had a really nice walk and ride home and still had time for an episode of Dr. Who with Wayne.

    Today I learned about virtualenv-burrito. Ridiculously handy for setting up virtualenv and virtualenvwrapper all at once.

    Preparation For Kuma Bug Mdn Fix

    02 Oct 2014 »

    Thursday Oct 2

    So Ubuntu is my new operating system for the next days. And it crashed and crashed. After a day of super heat and sweaty walk, in a strange place. After finding a cyber cafe to join in. Not to say that finding fast connection, was very challenging.

    • Installed vidyo. Made local test.

      I made an run to install Vidyo. For Ubuntu? I wondered. I decided to list the steps I took today as a reference.

                    sudo dpkg -i VidyoDesktopInstaller-ubuntu-TAG_VD_3_0_4_001.deb
    • Logged into Smuxi chat IRC

      OK, that part is accomplished, Now I don’t have an ICR client, Colloquy is what we used for MAC, well they don’t do a MAC version.

    I like mibbit. and it cool. IRC Cloud is cool too. I installed Smuxi and it works fine because it has intergration messages like Colloquy does for MAC.

                    sudo apt-get install smuxi

    Build Firefox in Ubuntu

    • Non bug related I was able to re-download the code to build Firefox and starting doing the mach build ~~~ python ~~~ this returned errors at the end ~~~ git clone gecko-dev ~~~ Make configuration file for the build. ~~~ ac_add_options –enable-debug > mozconfig

                ac_add_options --disable-optimize > mozconfig ~~~

    First Bug Comment

    • Read some comments and invested in helping and learning what are we doing today.

    – Wrote ideas for bug comment Bug: 632204 Comment: "Dear bug 632204 I would like to end your existence by boosting my knowledge in removing you from the code base. I know who you are, I will find you, and I will erase you. ( Quote from movie ). (Frantic music plays here)."

       I don't know what else to say. 

    "Dear sir/Madam, I am Coderburg Vugs-Squasher Prince the Third, I address this email from a lonely island in Africa, I address this letter to confirm that you are the lucky person to receive this email about deleting one in a million bugs. If you are so kind and please provide access to the richness of deleting this bug number 632204"


    "Here, here, I would like to work on this 632204. Thank you."

    Getting back to my bug MDN Captcha for HoneyPOT

    • Re-dowloading process continues from my source code from my own forked GIT from the mozilla project
    • Attended conference online with vidyo with
    • joined the IRC for this bug #mdndev
    • followed the compilation instructions
    • Install VirtualBox 4.x from

    • Go to

    • Selected Trusty 14.04 386 for download

    • in terminal

    ~~~ cd Downloads

    sudo dpkg -i virtualbox-4.3_4.3.16-95972~Ubuntu~raring_i386.deb ~~~ > -    Install vagrant >= 1.6 using the installer from > > -  Go to > > -   Selected 32 bits Ubuntu  > > -    In terminal  > ~~~
    cd Downloads
    sudo dpkg -i vagrant_1.6.5_i686.deb  ~~~ > -    Install the vagrant-vbguest plugin. >  > -   Go to > > -    Selected Vagrant > 1.1 > > -   In terminal ~~~
     vagrant plugin install vagrant-vbguest ~~~ > -    Fork the project. (See GitHub and Webdev Bootcamp) > > -   In terminal  ~~~
    cd ~/Sites/ 
    git clone
    cd kuma
    git remote add mozilla git://
    git submodule update --init --recursive ~~~ > >  -  2. Create a branch for a bug ($ git checkout -b new-issue-888888) > > -    In terminal  ~~~
    git checkout -b new-issue-632204
    git submodule update --init --recursive ~~~ > > -    3. Copy a vagrantconfig_local.yaml file for your VM: > > -    In terminal  > ~~~
    cp vagrantconfig_local.yaml-dist vagrantconfig_local.yaml ~~~ > > -    4. Start the VM and install everything. (approx. 30 min on a fast net connection).: > > -    In terminal  ~~~
    vagrant up ~~~ ```
    WAIT 30 minutes
    WAIT and WAIT ``` > -    ^ This crashed in my case: ~~~
                            It appears your machine doesn't support NFS, or there is not an
                            adapter to enable NFS on this machine for Vagrant. Please verify
                            that `nfsd` is installed on your machine, and try again. If you're
                            on Windows, NFS isn't supported.
                            " ~~~ > > What do I do ? I Google it 
    Googled: "It appears your machine doesn't support NFS, or there is not "
    Found this:
    • In terminal ~~~ sudo apt-get install nfs-common nfs-kernel-server ~~~ Then ~~~ vagrant destroy -f && vagrant up ~~~ ``` My connection dropped and the install of the vagrant up
    did not finish. ```` >    - Errors showed up > >    *cont next day
    - end of day -

    Frustration, you say?

    By amanda

    02 Oct 2014 »

    List of random thoughts from this day:

    flash cards of Command Line commands - yay! helped. wow, lots of command line stuff worked on catch up stuff from our Etherpads my bug - crickets (haven’t heard anything back yet) soup for lunch Kronda’s talk from OSBridge wrestled with git inside Virtual Box alllllll afternoon.

    The rest of this blog will be called: How to Deal with Frustration. I will use the same talk on myself that I use with my toddler: “Do we throw things when we are upset at them? Noooooooo….. What are some other things that we can do instead? Yes, that’s good. Deep breath. A little deeper…. yes, that’s it… uh…. uh… do I see a smile? Nooooooo smiling….Hey! I see that smile? Can you think of other things that you can do to find the happy?”

    Ok, everything except the “no smiling” part. I did not throw this Macbook Air… Actually, I didn’t even notice an increase in heartbeat. My version of frustrated or angry is kinda… calm. I did notice that I cannot type my own name without making a mistake. Ok, I’m just tired. Time to put the cords away and get ready to say goodnight. My awesome subconscious can work on this shyte while I get some much needed zzz’s. (Maybe I also need to re-evaluate stimulating conversation with my Meetup co-organizer at 11pm on a school night. Nothing I can do about the kid who sleeps within earshot and likes to talk in her sleep: rehashing her day, sleep walking to the bathroom, going into hysterics about toilet paper and then clinging to my neck for the next hour like I’m her favorite stuffed animal buddy that she can’t sleep without.)

    In other words - I’m worn out.

    I’m usually a morning person and get my best work done then. With Ascend, I’ve gotten used to meetings and such in the morning and then turning on the programming juice AFTER lunch. Thank you, focus@will for hour-at-a-time concentrated work stretches. At about 3:45pm, I get that frantic feel of pushing against a deadline (we do a quick debrief and then turn in our computers at 4:30pm) which is completely self-imposed. This is probably as close to …

    Behind the File Name

    By Yenni

    02 Oct 2014 »

    There was a week of radio silence in my blogging due to what I like to call -pain brain- it’s when my chronic pain becomes so unmanageable that my neurotransmitters decide to focus on causing me to be aware of pain instead of allowing me to think, learn, and generally be productive. Coming out of that state and back in the running of the Ascend pack has been no easy feat. There’s So.Much.Learning!

    This week we finally picked our bug. The crux of the project, and the reason for all the intense learning. My chosen bug had some big words in the description that enticed me to take it on. “Consolidate… into a single function for pluralization” Seems easy, right? Sexy even? In that community building sense, of course. I felt it call out to me and had to make it mine. Silly thing is, although the words caught my attention, I had no idea what that request meant.

    Where would I find the code? What would I do with it once I found it? What do any of those words mean arranged in that manner?

    No big deal. I would just take learning one day at a time.

    The first step would be to find the code I would be inserting myself into and forever changing. I would have to become intimate with this code, understand its’ inner workings, figure out what makes is flow freely.

    In bugzilla, where the code was reported, the code was mentioned and I had to then search for it in my development environment on my personal computer. My life mentor and creator of the Ascend project, Lukas Blakk, was so kind as to help me find the location of where the code was found- setup.js -is my golden ticket. That’s where my bug is housed and where I will make a name for myself, or at least be considered a member of the Open Source community once I submit a patch.

    Talk about windows of opportunity! When I opened setup.js in my text editor -that’s fancy way to say that I could not mess with the code instead of just oogling at it- I was amazed by how many lines of code it housed. Over 1000! There were so many functions I had never heard of, so many commands I didn’t know could make a difference, so much magic.

    I realized that a seemingly meaningless name such as setup.js could actually be the backbone of Firefox. That’s my assumption anyway, haven’t quite figured it out. Stay tuned, and you will learn as I do about all the magic behind the setup.js face.

    Name That Function()

    By Lisa Hewus Fresh

    01 Oct 2014 »

    The weather was cool but beautiful and it was nice to see the signs of fall in the trees along our street. My neighbor didn’t make the Max today so I read a bit of my book on the ride. The man that sits outside was there today so I said good morning as I walked by. He said something back that sounded grumpy but I have no idea what.

    Everyone filtered in and made breakfast or coffee or both. Everyone seems so comfortable with each other now. We just sort of have this nice flow as a group. I hope we can keep up some contact after this is over. Maybe a monthly Ascend Alumni meeting.

    We all got to work on our stuff to do and it’s now different for each one of us. Some are still working on catch up things and anyone who is ahead seems more than happy to jump in and help them. Some people are working with headphones so they can concentrate. I do fine without anything and actually like the distraction of helping someone otherwise I might not budge. I posted a comment on my bug with the question I had from yesterday about the attribute being deprecated and then looked over the code I was supposed to modify. My reviewer commented back and said I had made a good catch on the deprecation. I followed up with another comment and question about my function name. I don’t expect this sort of quick response on all bugs but it sure feels wonderful to be taken seriously as a new contributor.

    Mike Hoye had a Vidyo meeting with us to tell us about what the barriers to participation in open source contribution at Mozilla might be. He also spoke about his role in making things better and easier for people. He made several great points that I will paraphrase here. The social aspect is a challenge. Telling people to read the manual that you haven’t yourself read is functionally equal to telling them to fuck off. People volunteer to not only grow their own skills but to be a part of a community that they feel is doing something important. If someone’s effort goes unnoticed they won’t come back. Mozilla has tried, without sacrificing technical quality, to be more welcoming and responsive to volunteer contributors. The long term goal is to get the organization to recognize that Bugzilla is a social network. All of us have now seen under the hood. It’s a lot less about the technology and a lot more about working with the people.

    Mike also talked about what works best for fixing a bug. He said that one of the things that makes any relationship work is communication. A bug will be assigned when a patch is filed. The person working on the bug should maintain contact weekly to, at the very least, say you are still working on the bug. Radio silence of two weeks is a sign that a contributor is not working on the bug. Rapid small iterations are very valuable. We have to work up to a “big bang” patch and it typically takes years but one can get there. Sometimes code reviews may seem nit picky but the code has to maintain a certain formatting standard from now until forever.

    It was a great meeting and it went until just about 12:00. I had my coaching meeting then so I grabbed a quick lunch. I have to say again how wonderful it was! Vegan meatball sliders and a really good kale salad from 24th and Meatballs. Another place I have never heard of. So many of those in Portland I guess.

    I had an awesome coaching meeting and was really happy to hear that my coach was going to be in Portland next week and for the remainder of Ascend! Meeting finished and lunch done so it was back to work. I had a notification in IRC and it was my reviewer, whimboo. He had seen my comment/question and messages so we could talk about it. I was kind of….ok very….stuck on my function name and keeping it more descriptive. I explained my reasoning and he agreed! It gets to be escapeRegEx(). I’m pretty happy about that. I showed him my re-worked function and he had some suggestions. I took note of them so I wouldn’t forget. Virginia messaged in IRC and it turns out he is her reviewer too! We all talked a bit about Ascend and he showed us pictures of Germany where he lives and then Virginia had some questions about her bug. It looked like things were getting complicated but I think she worked stuff out with him. He is really nice and very helpful.

    I took a break from my bug to fix up a couple of blog post that had some formatting issues and then submitted a pull request. I was hurrying, which is really never a good idea by the way, so didn’t check my changes locally before pushing them up to my Github repo.

    This brought us to the end of another day. They seem to fly by now and I don’t like it at all. I probably haven’t mentioned this at all but I don’t want this project to be over so soon! We all filled out our individual Etherpad progress reports and then checked out with the status of our bugs or progress toward obtaining one to work on. Some of us are frustrated and some of us are doing ok but all of us students are looking forward to coming back to it tomorrow. Lukas and Kronda are probably looking forward to a vacation!

    Wayne was working in the back garden when I got home and Andrew was still working. I saw that Lukas merged in my pull request so I jumped on my computer to see my post all fixed up……except it wasn’t. Dammit! Don’t be in such a hurry that you skip checking things locally. It would have only taken me an extra few seconds.

    Today I learned about Pfahlbaumuseum Unteruhldingen. Fascinating!

    Firefox to the Nth Power

    By Candida Haynes

    01 Oct 2014 »

    A tutorial on using your Mac terminal command line to run different versions of Firefox at once

    If you decide to test bugs in different versions of Firefox you may want to run more than one version of Firefox at the same time. If you try to open a second Firefox on a Mac out-of-the-box, you will see an error message like this:

    Error message - Firefox is already open.

    Fortunately, one of the first things we did at Ascend was set up our computers to run different versions of Firefox at the same time. Here are the steps:

    1. Make sure you save these instructions somewhere outside of a Firefox browser.
    2. Close Firefox.
    3. Locate the Profile Manager from the Terminal window.

    Profile Manager Screenshot

    1. Double-click to open the terminal and navigate to the binary folder that contains Firefox’s Profile Manager.

    In English, that means:

    • Type or copy and paste the following file path into your command line.

      /Applications/ –ProfileManager

      It will look like this but it will have your hard drive’s name instead of 02100, etc.

    Profile Manager Screen and Terminal Shot

    Follow the instructions in the next few panels.

    Profile Manager Screen and Terminal Shot

    Screen with newly created profile

    I named the new profile for this tutorial ’Normal_Firefox’ (without the quotes).

    Conclusion - Naming the File

    For fun, I copied and pasted the file path to the user-related data notes that I keep.

    The rest is up to you. Read everything on the screen and decide which choices are best for you. You’re in charge!

    Link to I’m in Charge! [coming soon]

    Now, create another profile with a different name and a different version of Forefox. Were you able to make profiles for your different versions of Firefox? If so, go claim your badge!

    Claim My Badge!


    By Lisa Hewus Fresh

    01 Oct 2014 »

    This morning was a bit cloudy and drizzly so I wasn’t sure how to dress. I’m still not used to having weather but I do love it! I kept putting on a coat and then taking it off. Finally I decided to wear one and then threw on my backpack and headed out the door. I went a few steps and decided I didn’t need a coat so back in the house to take it off. I was pretty sure I was going to miss the Max so I walked at an extra fast pace. I made it in plenty of time though. I am reading Red Mars in tiny bits and pieces so I got in a few pages before my neighbor showed up to catch the train as well. We got an old train today and the driver was kind of an asshole. He wouldn’t open the doors for anyone once they were closed. Not very Portland of him!

    I got to Mozilla early as usual and checked my email. I had some comments on the bug I submitted a patch for! I was really nervous and was hoping I wasn’t going to be told it was all wrong and I didn’t know what I was doing. Well it was wrong but not entirely and not because of anything I did. Anyone can go read the bug and all of its comments but the short version is that the code has changed since the bug was reported and lives in a different place now so I need to change some things, fix some nits and modify some other code. The bug was assigned to me!

    We had our check-ins and I talked a bit about this which felt kind of weird because I don’t completely know what I am doing and I didn’t want to sound like I did. I mostly understand what I need to do though. I think! Gah, anyway I’m on some sort of forward path. Everyone seemed pretty ready to get the day going. We had a short time to work on catch up stuff before our guest speaker arrived. I took the time to read over my bug comments, pull in a fresh copy of the code and apply my patch so that I would be able to edit it. I also joined the #automation IRC channel.

    I started working on the easy nits. Some were just formatting things that took two seconds to fix. I love how quickly an experience coder can see these things! Some of the other things sounded more complicated so I needed to research them and figure out what to do. My reviewer wanted me to change my function name and I didn’t really want to do that because the name he picked was very general and mine was more descriptive. I asked him about it and he explained his thinking. I’ll have to ponder that. He also requested I use a function someone posted on a blog that uses an attribute I am not familiar with. I researched this attribute and it seems it is going to be deprecated soon so I will ask him about that too.

    We were excused for lunch a bit early today so a few of us headed out to the food carts. There is a salad place right around the corner that always has a really long line but not today! I think we were early enough that the lunch rush hadn’t arrived so Amanda and I decided to give it a try. I’m sure glad we did. I had a huge, delicious salad for a really reasonable price. The weather was really nice so we sat outside and soon Barbara came by with her lunch and joined us. I felt even more spoiled sitting outside having lunch.

    Once we were all back Lukas and Kronda continued their one-on-ones with students while the rest of us worked on our own. A few people are a bit thrown off by the new unstructured time but many feel they are more productive. I love it because it feels like I’m working, giving, and being productive in addition to sitting, taking and learning from our instructors. I tried to help out whoever needed it as I worked through my own confusing bug stuff and before I knew it, it was time to check out. We all talked about our progress and frustrations because it seems we all have both! David told us about his funny, not funny experience with Mozregression which I hope he blogs about. I couldn’t do it any justice by trying to repeat it here but trust me, the way he explained it was hilarious.

    I had to rush home to take Jason and Alice to the airport and since Carmen was coming to dinner night I had to rush her as well. I got home just in time to take them but when they came over they didn’t seem in a terrible hurry to leave so that was good. I helped Alice pick out a few movies for the trip before heading out.

    Wayne and Taylor were busy in the kitchen making a giant pot of vegetable soup. Jayde needed more math help but since I was leaving shortly, Carmen offered to help her. Carmen told Jayde that she loves math and has been tutoring people for the last six months so Jayde was all about her helping.

    Dinner was excellent! We weren’t a huge group. It was the five of us, Carmen, Taylor, Delaney, Spencer, John and our neighbor, Glenn, who decided months ago to be my father-in-law. I think it’s great because I didn’t have a father-in-law and he’s wonderful.

    Today I learned about closures in programming. A closure is a function that returns a function so when you call the outer function it returns the inner function which is then stored in a variable. It can be called over and over. The point of a closure is that the inner function can access variables within the scope of the outer function but things that can call the inner function have no direct access to those variables. Cool!

    Ping vs. PM

    By Yenni

    01 Oct 2014 »

    There’s this whole method of communication that I wasn’t aware of before joining Ascend. The infamous IRC- Internet Relay Chat. It’s a place where the folks that are in the internet world- contributing, building, rebuilding, reimagining- hang out. SOME of them are on it at all times.

    Now this may be hard for some of you to believe, but there are some folks that dont know anything about such methods of communication. They don’t know the rules of the Chat world, they don’t know the etiquette, they don’t even know where to find this wonder.

    This might make me lose credibility, or gain it, but I was one of those people. One of our first days in Ascend, we got the skinny on what’s expected in the IRC and we were released into it’s endless rooms of people connecting.

    The IRC is vital for the progression of Mozilla and many other online communities. Naturally, my presence would be essential in my desire to contribute to the cause.

    This week, I found a bug that I want to tackle and requested it be assigned to me. Simple one line request on the page describing the bug in Bugzilla. The mentor of the bug replied in less than 24 hours and asked if I had started work on it while also suggesting I “ping” him if I had any questions.

    This was magical for me. It was a green light in a dark place. Today, I sent this bug mentor a PM-private message. Ping is a term used in the IRC world. I’ve been learning so many terms, that in my mind it meant that I should send him a message. The error in my action was that Ping is a request for direct contact, not yet consented. Once the person on the other screen receives that request they can respond with Pong as means of agreeing to be personally contacted. I broke one of the biggest codes in the IRC world. Moral code, that is.

    In a state of panic, I began to imagine the terrible outcomes that may come from that moral slip. -I can be flagged as a creeper. -What if no one wants to work with me because they think I don’t respect boundaries? -What if they think I don’t know how to follow rules and don’t want to assign me any future bugs? My action plan to remedy the situation was to draft an email explaining the difference between Ping and PM and acknowledge where I made an error and apologize while promising to never make that error again. Since I have already contacted the mentor today, I will hold off on sending a second attempt for communication till tomorrow.

    I also have to acknowledge that this mentor can be anywhere in the world right now, and although my direct contact may be frowned upon, he may be in a time zone that sleeps while I am awake. The magic of the IRC and the movement is that it is not constrained by time and space. We are all hoping to move forward together.

    Fixing my first Bug

    By Tina

    30 Sep 2014 »

    The first bug I chose was actually more of a feature request. It involved adding an ‘–imgur’ flag to firefox’s ‘screenshot’ command in order to instead upload the image to At least the concept to me was simple: Make it upload to imgur’s API. I had no idea about the code, but being able to understand the concept can be tricky when looking for your first bug. But with the concept in hand, I dove right in.

    One of the comments on the bug mentioned a specific ‘screenshot.js’ file that needed to be changed. So I opened it up and immediately felt that first stomach drop as I didn’t understand a lick of what was there. But with some resilience, and the gcli (Graphical Command Line Interface) documentation, I started to understand the different chunks of code and where I would need to edit them. After looking at that code and needing some code to plug into it, I began to examine the imgurAPI.

    API is really just a fancy term for “text exchange” from what I’ve gathered so far. You send a request to a server using some data-object full of request information, and the server then returns a data-object with more/different information in it. It’s just constructed text communicating with other more-different constructed text. Perhaps that could actually be said about the entirety of IT but I had a bit of an ‘Aha!’ moment in my research.

    To start testing the imgur API, I decided to make a small webapp that can pull a file off your computer and then upload it to imgur. Turns out the first part can be handled using an input tag with type=”file”. It’s the uploading part that had me running in circles. There were a lot of examples that people had using jquery to make an http request and send that off. But, with the intention to put the code into firefox’s jquery-less source I didn’t want to pull in jquery for this one small feature. There had to be another way.

    The secret was the FormData() and XMLHttpRequest() objects that are native to the web. It was perfect! I found them through some example code that I then adapted for my particular webapp. My resulting upload() function is:

      function upload(file) {
          if (!file || !file.type.match(/image.*/)) return;
          var fd = new FormData();
          fd.append("image", file);
          var xhr = new XMLHttpRequest();
"POST", "");
          xhr.onload = function() {
              var myParagraph = document.getElementById("theReturn");
              var myImage = document.getElementById("theImage");
              var theResponse = xhr.response;
              myParagraph.innerHTML = JSON.stringify(theResponse);
              myImage.src =;
          xhr.setRequestHeader('Authorization', 'Client-ID '+ myIDKey);
          xhr.responseType = "json";

    This function, coupled with a couple helper functions and the proper html ID’s, uploads an image to imgur, and on response displays the response as text and displays the image. One important part is fd.append(“image”, file), as that is what is adding an ‘image’ property with a value of the actual png. You can check the imgurAPI documentation for more properties you could append. Another important thing is the xhr.onload = function(). This function is what is executed when there is a response from the server. What the function is doing is taking the response and associating parts of it with parts of the html document. Here is the full html doc:

            <meta content="text/html;charset=utf-8" http-equiv="Content-Type">
            <script type="text/javascript">
              var myIDKey = "Register with imgur to get your own auth key.";
              window.onload = function() {
                var myButton = document.getElementById("theButton");
                myButton.addEventListener("click", uploadFile, false);
              function uploadFile() {
                var selected_file = document.getElementById('theFile').files[0];
              function upload(file) {
                  if (!file || !file.type.match(/image.*/)) return;
                  var fd = new FormData();
                  fd.append("image", file);
                  var xhr = new XMLHttpRequest();
        "POST", "");
                  xhr.onload = function() {
                      var myParagraph = document.getElementById("theReturn");
                      myParagraph.innerHTML = JSON.stringify(xhr.response);
                      var myImage = document.getElementById("theImage");
                      var theResponse = xhr.response;
                      myImage.src =;
                  xhr.setRequestHeader('Authorization', 'Client-ID '+ myIDKey);
                  xhr.responseType = "json";
            <input type="file" id="theFile">
            <button id="theButton">The button</button>
            <p id="theReturn"></p>
            <img id="theImage"></img>

    With the webapp finished, I tried to slap the code into firefox’s screenshot command. That’s when I hit another brick wall. Firefox told me that “FormData is not defined.” What this meant is that FormData objects and XMLHttpRequest were not going to work inside of gcli’s code, and I didn’t know how to make it work. What I ended up doing is googling “gcli xmlhttprequest” and I ended up finding “Cc[“;1”].createInstance(Ci.nsIXMLHttpRequest).” I’m going to be honest: I don’t know what this means. My limited understanding is that the ‘Cc’ is acting as something like an ‘include’ from other c-based languages. With that found, I was pretty estatic! Now the only thing that I needed was where in the code the actual image was.

    This was now the third brick wall that I had to overcome. In ‘screenshot.js’ there was a particularly interesting line:

        let data = canvas.toDataURL("image/png", "");

    To me it sounds like ‘data’ contains the data of the actual .png file of the screenshot. But it wasn’t working! Setting fd.append(‘image’, data) didn’t return any image from imgur. I didn’t know what to do. So again I googled. I researched .toDataURL and found that I was in fact correct: this was the data of the image, but it’s being parsed as a dataURI… which is confusing. I don’t really understand dataURIs just yet, something about embedding data into html. So again I googled. A search for “imgur upload dataURI” resulted in some example code of someone uploading using these dataURIs. Instead of trying to just use ‘data,’ I guess you need to use data.split(‘,’)[1]. I guess ‘data’ is a string with the image data + some other metadata involved. So the .split(‘,’)[1] is splitting up ‘data’ and then only grabbing the second part of it. Luckily this made some sense after reading more about dataURIs.

    With that last piece found I was pretty much done! I could use ‘screenshot –imgur’ to upload a file and have imgur return the uploaded link. But I wanted my function to do more. I wanted it to open up the link in a new tab. After some research, if you use ‘’ in normal JS then a new tab will try and open. I say “try” because firefox’s preferences can stop pages from opening new tabs. It was cool being able to do this in my trial webapp, but alas(!), it again didn’t work in the gcli code.

    For those counting at home that’s brickwall number 4. I wanted to just use ‘’ but window was already defined in the code to be something other than the window I knew of. So I googled one more time. Searching for “gcli open window” I found a link that I had already seen. But this time it turns out to be useful! Gcli commands are given a set of arguments, and a context for the command. I’m not sure what the context is, but MDN says that ‘context’ has an ‘.environment’ method(? that might be ruby-speak) from which I can call document.chromeWindow() and gain access to the browser. Unfortunately for my work, the function grabScreen() that my imgur upload code sits in, is outside the scope of the screenshot function’s arguments and context. To say: the screenshot gcli command, runs with arguments and context, and then passes in those arguments to a separate grabScreen() function.

    What I ended up doing is adding in the screenshot context as an argument to pass to grabScreen(). I don’t know if that’s within any mozilla coding guidelines, but now that I’ve submitted a patch to bugzilla with those changes, all I can do is wait and see.

    Bug Stories: The Nopes

    By Candida Haynes

    29 Sep 2014 »

    As I started looking for bugs, I decided to lead with two questions:

    1. What do I want to learn how to do?
    2. What products do I find interesting?

    I also made an extra effort not to simply choose technology that felt familiar as I explored. These are the bugs that caught my attention but did not make the cut. I call them “The Nopes.”

    1. Bug 996870 The heartbeat check should verify that the db is healthy.

    This bug sounded like a great opportunity to learn about databases and security. I also believe that automation is part of the magic of computing, so if I could run an automated test, I would gain “street cred” for participating in the infamous “Heartbeat” fix. I found the code base pretty easily on GIthub, but then I saw a list of installations that promised to make me miserable. Also, I was confusing “Heartbeat” with “Heartbleed.” But that might be okay since other people have made and/or found ways to address the fact that it is a common error like in this article. Or maybe it is not an error. I will leave this one for the parking lot - I will return to it later… maybe.

    1. Bug 632204 Remove reCAPTCHA from Demo Studio submission form         

    This would have been a great opportunity to take part in the just and righteous campaign against captchas, but the last action on the bug was in March 2014, and I was worried that no one really cared anymore. Also, the word “triage” seemed to confirm that idea.

    1. Bug 1003236 BzAPI consumers to the native REST API     

    I want to learn to build an API for my personal data, so i thought this bug would immerse me in how-to-build-an-api world. It also involved code migration, which is quite a marketable skill. It is also a headache for experienced developers so as a first bug, it might not be such a great idea. Not only is there a lot to learn (which is great, actually), but there may be product and process decisions that might hold up the code. Since the Ascend Project is only six weeks long, I decided that I could not make the best contribution at this time.     

    Then I found Sea Monkey.


    Guido Needs a New Picture

    By Lisa Hewus Fresh

    29 Sep 2014 »

    I woke up sort of panicked thinking I had overslept. At least I was wide awake. I was ready to get my day started and see if my patch and comment were acceptable so I was up, dressed and out the door. It was overcast and cool which was a really nice change. I grabbed some sweet cherry tomatoes and a few sprigs of purple basil out of the garden to eat on my way to the Max.

    My neighbor Jessika barely made it to the train. I hadn’t seen her in several days so it was nice to start the week off by catching up with her on our short trip over the river. Each morning after I get off the Max I walk past Ground Kontrol arcade. I love how they have speakers outside that broadcast the sounds of a classic arcade. On the next block there is usually an older gentleman sitting outside. I say good morning to him each day and at first he would just ignore me but now he looks at me and says good morning. He hasn’t been there the last few times I have walked by though.

    Our morning started out with a Vidyo meeting with Marina Zhurakhinskaya. She was talking to us about the Outreach Program for Women which is a bit of a misnomer this year because they are accepting applications from any of us Ascenders and also from any marginalized populations regardless of gender. This is a program I am very interested in applying for so I was really happy she came to talk to us. The class asked her some great questions so I pretty much found out all of the things I had been wondering about. The difficult part is deciding what project(s) to apply for. There are several interesting participating organizations and companies. Mozilla will be a participant and getting accepted with them would be a dream come true but I think it’s pretty competitive so that is probably not likely.

    After our meeting with Marina we did our check-ins. Lots of people were dragging for various reasons but everyone was pleased to be having another catch up day. I showed Lukas my patch and comment and she felt it was ok to submit so I got that done and then helped my table neighbors with whatever they needed. Mostly I think they just needed to “talk to the bear”. I know for sure it helps me. The All Hands meeting was next and I was particularly interested to hear Bill Mills speak about Mozilla Open Source Science Projects. They put out a CFP for research projects to participate in a pilot study that will bring together the scientific and developer communities.

    Lunch was SO good! Again :-) Today we had food from Kalé. It was also someone’s birthday so Katt ordered cake and vegan cinnamon rolls for everyone. I ate too much food! Again :-)

    After lunch we got back to our computers while Lukas and Kronda met one-on-one with students about what they needed to work on to meet the milestones set out for us. Not everyone got to meet today so that will continue tomorrow. I looked over the bug tracker trying to help some classmates find bugs to work on and also read more information on the OPW participants so that I can narrow things down. While I was reading I saw a familiar name pop up in our IRC channel. Sumana! It is indeed a small tech world it seems. Andrew and I had met Sumana at Pycon this year. Actually we met her at the airport while waiting to catch our plane back home. It’s kind of a funny story so I should write it down….

    We were walking to our gate when we saw someone wave at us and say, “Hi! Did you go to Pycon?” We said that we had and she said she was gathering up Pycon attendees to sit together while we waited for our flights. How nice! So we made our introductions and Sumana told me where she worked and what she did there. I explained that I was a first time attendee and totally new to the community and that I didn’t really know anyone at all. Andrew explained that he was a Perl developer and that got a laugh just as it had each time he mentioned that during the conference. Anyway, we were having a great conversation with Sumana when someone caught her eye. I looked where she was looking and she said, “Is that Guido van Rossum?” I had only recently learned who he even was and had only seen him from tens of yards away so I had no clue. He was walking past us so Sumana got his attention and asked if he had attended Pycon. He got this really weird look on his face and then said, very quietly, “Yes”. She said, “Oh! Well we are gathering up Pycon people to sit together while we wait for our planes.” He sounded very unsure and asked, “Is it ok…..if I sit…..somewhere else?” Ha! Off he went to sit by himself. I quickly did an image search for Guido and showed her the picture. They looked nothing alike at all. Sumana said, “Oh, well I guess he just has a ‘Dutch guy’ look about him.”

    Cut to us on our plane home. We were seated in a row of three, Andrew at the window and me in the center. In front of us was a row of two seats with no seat in front of Andrew. We were flying along for a while when Andrew leaned over and said, “That was Guido in the airport.” I asked how he knew and he said, “Because he’s sitting in front of you working on his laptop, sending email, and I can see his name.” He totally shoulder surfed!

    Ok, back to my day! I was pretty happy to see Sumana in IRC because I had mentioned her to Carmen. Carmen is interested in an OPW project with Wikimedia so I encouraged her to let Sumana know. She did and I believe she now has some valuable resources as well as a person to contact at Wikimedia for more information. Carmen and Wikimedia seem like the perfect fit. I’m excited for her!

    I spent the rest of my day bouncing around the interwebs kind of aimlessly trying to wrap my head around a concrete path to a decent OPW application while also helping anyone that needed it. Our day came to an end with our check-outs. It was sort of a misty rain outside so I had a really nice walk down to the Max. Jessica was getting on the same train so we got to have a nice conversation on the way home.

    When I got home I went right to my computer so I could finally listen to Kronda’s interview on Less Than or Equal. It was so good! Wayne listened with me and loved it as well.

    Jason and Alice are leaving for Arizona tomorrow so we went out to dinner with them since we won’t see them until this weekend. We went to the Bye and Bye. I love that place but wasn’t feeling very hungry (shocking I know!) so I just got a grilled cheese and only ate a little bit. It was nice to hang out with them though. We always laugh a lot.

    Today I learned about bit rot when referring to a patch that has been submitted but not applied. If the patch sits too long without someone reviewing and applying it then the code it was to modify will most likely have changed which will require a partial or full rewrite of the patch and can even render the patch unusable. There is also a more standard use of the term bit rot but its existence is still debated.

    Patching bugs?

    By Adam

    29 Sep 2014 »

    A major part of the Ascend Project is getting to the point where you can make contributions to open source projects. As part of that we were asked to come up with a list of bugs that we might want to work on and do a blog post about them. I was at an appointment during part of that so while I didn’t come up with a list I did find one bug that I excited about working and I will talk about it here.

    The bug that I want to work on is Bug 1025925 - refactoring some of the code in Fjord to make sure that naming conventions are consistant. This requires changing the names of individual files as well as delving into the code and making sure that the paths are correct. The bug sounds pretty straight forward (Which is probably why it’s marked “good first bug”), but at the same time it’s requires being detail oriented which is part of what drew me to this bug. Additionally it looks like much of the code is written in Python which is a language that I have almost no background but one that I am very eager to learn for various reasons.

    I’ve read through much of the Fjord documentation and am very excited to set up my dev enviornment start working on the bug!

    Malware - How to spend a day - or two - removing it.

    By amanda houle

    29 Sep 2014 »


    Today, we are researching our bugs and starting the process of creating patches. Today, I am cleaning Malware off of my MacBook. fun times. I found what I thought to be a bug in my default Firefox browser and in following the steps to [reproduce a bug], I found that instead of a bug, I have Malware!

    Deja vu - it’s the exact same infestation that occurred on my last MacBook. Difference is, I am more equipped to handle it this time.

    Bing * * SearchProtect * CNET supports Malware!? * Perion * Firefox Addons - check the reviews first

    So many others across the world wide web seem to have unknowingly installed this Bing/ program. Many of them are Windows users, so I had fun trying to a) find Mac specific solutions and b) not download more suggested Spyware in the process.

    I’ll explain point b) a little further. A lot of the solutions included downloading Malware removers that actually install more Spyware, etc on your computer. Even trusted sites have entries from these types of companies. (Feel free to add comments about trusted sites in which moderators help aliviate this discomfort).

    Two important lessons that I have learned today: most importantly, pay careful attention to which boxes are checked when you run an installer. I think I may have taken a quick inhale of surprise when I was too late in noticing said checkbox was already checked by default and I had already clicked “Continue.”

    [ In this space, I plan to put a screenshot of a Mac Installer with the option to install Bing. you can find many of these images for Windows machines online but I couldn’t find one for a Mac. ]

    We had been installing many a program and Add On that fateful day and I think I let my guard down.
    The second thing that I learned today is to carefully document the progress of my fix. I have spent over three hours researching different fixes for this “bug.” I found over a dozen procedures to remove this Malware from reputable “helpers” (ie StackOverflow, MacForums, etc…). Not to mention over fifty more sketchy sites offering their Spyware products as a part of a solution. I have started writing this blog because I FINALLY found something that worked for me! (I seriously cannot believe how many canned answers I found on that did not even come close to finding a fix. I have to give a shout out to parkur a Mozillian whose SUMO answer helped me complete my task!)

    The most helpful app that I did end up downloading to help with my eventual fix is Find Any File. You can find it in the App store which is recommended from Thomas Tempelmann’s webpage. (I no longer support or trust CNET after finding the Malware included in a few of their installers.)

    Steps towards removing the Bing / / tuneMyMac / SearchProtect infestation.

    Although this Malware affects all of your browsers - I am using Firefox, so I started with their support section. If you are using another browser, you can probably skip step #1 or use your browser specific troubleshooting steps.

    • Starting at the top of this site, go through the steps starting with
      • Restart in safe mode and ending with
      • a resetting of Firefox - which stores your essential information while restoring the browswer back to factory settings.
    • Download Find Any File and hold Option or Alt key when selecting Find to Find All. Run a search for “TuneupMyMac” (without the quotes). I found 23 files, you may find more if you’ve had this run on your computer for longer. Select them all, drag to the trash and then, go to Finder and Empty Trash.

    Find a File App screenshot

    • Found the program called “Search Protect” - with it’s magnifying glass icon - and deleted it. This completed my fix!
    • I’m not sure that I’ve cleaned up every last detail. A further search for “conduit” - using Find Any File - I come up with a folder in my Cache named “com.conduit.takeOverSearchAssetsMac.” Deleted. Next, I planned to go through the two lengthier responses on this and this Mozilla Support pages to help make sure that I’ve cleaned up my registry.

    I also need to figure out which program installed this Conduit stuff to begin with. For now, onto the task of researching a bug to patch!


    Notes on procedures that did nothing to solve my issue even though they sound related:

    "To Remove Bing
    	Move the mouse cursor inside the search box at the top right of the Firefox window and click the down arrow next to the provider's logo.
    	From the dropdown list, select Manage Search Engines....
    	Choose the "BING" and click Remove
    	Click OK to save" 

    blog for Monday Sept 29 & OPW Presentation

    By Mel Reslor

    29 Sep 2014 »

    Outreach Program for Women presentation and Q & A with Marina

    OPW had 8 rounds of recruiting, 120 who have completed the application process and 45 who were accepted.
    Marina said 18 in the program have landed jobs. The most popular project in the program is Linux Kernel. OPW seeks women from underpriveledged backgrounds, men should not be deterred from applying and all in the Ascend Project are elligible. There are OPW alums so the connections continue after the program ends. Partipating organizations included: Gnome, Wikimedia, Xen Project, Python, Mozilla, Perl.

    Application deadline for the next round is October 22. Applying ahead of time is encouraged as there are some items to complete when submitting. Internship dates are December 9, 2014 to March 9, 2015.

    The Foss OPW website is at:

    Mozilla Community Meeting Some of us in the Ascend Project have noticed it has been mostly (all?) male new hires. This week three women (new hires) were announced and two male new hires.

      Mozilla CEO Chris Beard gives a brief summary of Ten Years of Firefox Activities.  Nov. 9, 2014  Firefox will be 10.

    Bug Squishing in the Wild

    29 Sep 2014 »

    In which Eva starts exploring ways to squish a bug

    The last few days (minus the ones I took off for Rosh Hashanah) have been devoted to identifying and researching bugs that we want to patch. Unsurprisingly, I gravitated towards the add-ons, since one of my goals for Ascend was to get a better sense of how browser extensions and add-ons work. Unfortunately, I don’t think my skills are at the point where I can really work deep in the guts of browser integration. But, I do think I can spend a little time enhancing an already-functioning add on. And, if I am lucky, spending some time in the body of the code will help me get a better understanding of how all of the pieces fit together.

    The add-on developer has made himself very available as a mentor, which I was able to see in the discussion of some of his other bugs. I have also been lurking in #calendar in irc and he has been logged in every time. The room itself is very quiet, but it does speak to his availability.

    The code base was a little more challenging to find and took some sleuthing in the developer’s blog. And the documentation was even harder to find. What is there is pretty basic and is directed at the user of the add on. One of the developer’s bugs did include a request for help with documentation, so he does recognize that there is the need.

    David's Week 3 Recap

    By David

    26 Sep 2014 »

    Recap so fresh. You all are scared to do what i do…


    This week we set up Virtual Box, got me all excited just thinking back to it. I really like the idea of running multiple OS on a single computer. It’s really cool that you can do that. We did this so we could observe ourselves writing a patch and see the outcome on a different OS. It’s a lot simpler to do than I thought it would be. Learning to create a patch was the last thing we needed before we went off to fix bugs and become a self sustaining contributor to Mozilla and the open sauce community. I decided to choose The bug my sister reported, 1066148, which is super cool.

    We also put a Wordpress site on the internet this week. Mine has yet to have anything on it, all I’ve done is choose a theme I thought looked cool. But there is a crap load of stuff you have to do to put a website on the internet. I dont honestly know how Kronda can handle doing that for people. I guess when its your job you get used to it. Over all things going great.


    26 Sep 2014 »

    It wasn’t until this week that I felt at home with all of the tools/best practices introduced thus far. My re-exposure to social media via Twitter & Github is going well. I feel wary of establishing any sort of paper trail and having comments/content/code attached to my name. I’ve always felt more comfortable as an anonymous commenter.

    I fought some pathname issues in my WordPress install. WP has so many features that I don’t want to touch it for a bit. Shellshock happened and all the Ascenders had to update our bashes (maybe I’ll switch to zsh?).

    Poring through Bugzilla tickets (mostly w/ the help of Bugs Ahoy), I feel trepidation. As in, (A): I want to write in something I already know (B): I want to strike a balance between easy/motivating.

    Week 3: Dev Environment

    26 Sep 2014 »

    Monday 9/22 Weekly Mozilla all hands meeting lunch: Pacific Pie Co Begin setting up development environment on our MacBooks per this blog post. Lots of downloading, installing, configuring. Happy to be doing this with the whole group because I’d be a lot more hesitant and grumpy about all this stuff otherwise. With the group, I just do it to keep up with everybody, and i have people to ask if I run into a snag, and then it’s done before I know it!

    Tuesday 9/23 lunch: carts

    Finished setting up dev environment with MySQL and WordPress, per yesterday’s instructions as refined in Kronda’s new blog post:

    Install a local build of Firefox This did not mean, as I first thought when I heard the term “you’re going to build Firefox,” that we were going to write code for an entire web browser from scratch. And thank goodness, because it was only allotted 45 mins in our agenda for today.

    Lukas walked us through making small changes in the code of Firefox, to change the way tabs behave (new tabs pop up on the left side of current tab instead of the right), and change a tooltip string of our choice, using the example of the refresh button. I chose to change “Reload current page” to “EXCELSIOR!”

    We installed a ready-to-use virtual build environment per this great blog tutorial, ran a script to build firefox nightly, ran it. That was the relatively straightforward part. The lesson (the hard part) was figuring out how to install git, pull down our patch in the virtual machine, apply it and take a screenshot of the tooltip that we changed to prove the patch worked. I did everything I thought I needed to but I’m still seeing “Reload current page” when I hover over the reload button, so I’ll have to work more on this and figure out what I did wrong or didn’t do at all.

    Wednesday 9/24 Catch everyone up with wordpress and firefox build. I got a bit stuck on WP, couldn’t get the page live on Kronda’s server, but she later told me it was something she could fix on her end so I did everything right! :) begin looking into first bug. lunch: carts

    Thursday 9/25 There’s a security vulnerability in the bash code so we all downloaded the patch.

    Rest of the week: honestly I am typing this in week five because we have so many balls in the air that I didn’t finish this blog in a timely manner. So I’m sure some important stuff happened Thursday and Friday but there’s been a lot going on. I finished week 4’s blog before this one, that’s how busy and all over the place things have been for me here. Probably going to abandon this day-by-day structure for weeks 5 and 6. Also feel free to follow my twitter if you want to! I’m @thayerve.

    Week 3 Monday Quick Report

    By amanda houle

    26 Sep 2014 »

    It’s funny to open things up on Monday, look at your code from Friday and say to yourself, “What am I looking at here?” Imagine how it would be to go through your stuff from last year!

    I learned that if you start your day off a half a candy bar from Canada, you don’t need any coffee or tea! (Tuesday)

    We built Retro Firefox!

    Week 3 - So many configs

    By Becky

    26 Sep 2014 »

    To be honest week three went by so quick that I, just now in week 5, am going back through my notes to remember what we did. I know it took a few days to download, configure, and get our computers set up for a virtual box to be able to build our own versions of Firefox. We then made our first patch and applied it to our version of Firefox. This is what my patch looked like:


    And that was week three in the smallest of nutshells.

    Third Week of Ascend

    By Jessica Canepa

    26 Sep 2014 »

    Venturing into the world of bugs


    Something about illustrating a brave fox venturing out into the unknown makes me feel courageous. This week we explored how to find a good first bug, upload a patch and build firefox with custom features. We also launched a local wordpress site and learned about some wordpress tools and freelancing.

    I’ve had trouble finding a good first bug that isn’t already taken or doesn’t get assigned to someone else before I can set up the dev environment and devise a plan for making the patch. I didn’t think “good first bugs” would be so competitive. Lukas suggested I widen the scope of ‘good first bugs’ I am looking for and include those that don’t seem as straightforward to me.

    Bug Search Tools

    • Bugs Ahoy- bug search tool that lets you search according to your interests
    • Bugzilla@Mozilla-Searching “good first bug” brings up bugs considered a good place to start contributing

    Build Firefox Tutorials

    Running a local Wordpress Site

    The instructions we followed to run our local wordpress site (or rather to install the prerequisites) required a lot of . . . backtracking. Kronda taught us that this is called “Yak Shaving”, which is a fun visual for such a tedious process. I am starting to learn the importance of good documentation (instructions and background on code) and how hard it is to find truly beginner friendly resources or to know when instructions are outdated or no longer relevant.

    Virtual Machines

    By Lisa Hewus Fresh

    25 Sep 2014 »

    Our instructors have been so busy teaching and helping us that they haven’t had much time for meeting with each other so they gave us the option of coming in later. Most of us wanted to come in early and get to work so they said we could but that they would not be available until they were done meeting at 10:00. I usually go downtown with Andrew on Thursday and Friday so I was going to be there anyhow. I showed up at my usual time and helped check out computers so anyone who came early could get to work. I finished up some commits and got everything pushed up to my Github repo and then added to my open pull request.

    I decided to add my name to my index page for my blog posts since people might want to know who wrote them. I helped another student get started on some stuff they missed when they were absent the day before and then I chatted with another student until it was time to check in. Everyone seemed pretty ok considering it was the end of the week and we had really been ramping up our learning the last few days. Several took advantage of sleeping in and were really happy about that. Lukas showed us a great Mozilla bug search website and Planet Mozilla where blogs from the Mozilla community are aggregated. We all looked through them and tweeted about any we found particularly interesting.

    We also did more catch up stuff for a bit and also updated Bash because of a newly discovered vulnerability. Kronda then talked to us about why it might be important for us to blog. She mentioned that some people make a living simply by blogging but that even if we aren’t being paid to do it, blogging can help with exposure. It’s also a place to show potential clients or employers what we know. I’m happy I will be able to look back and see how I progressed and I hope our blogs might help and encourage the upcoming Ascenders.

    We took a break for lunch and today it was “food cart”/”get out of the office and find food”day. I went to Whole Foods and got a garbanzo salad and some fresh carrots for lunch and then headed back to the office to eat. Everyone ate and socialized for a while and then it was time to get back to work.

    We spent the second half of the day installing VirtualBox and then building Firefox on a virtual machine. That went surprisingly well considering how most everything else we have done has had it’s bumps and hiccups. When everyone was caught up with that, Lukas wrote the next instructions on the whiteboard. We were to clone our Ascend repo to the virtual machine, apply the patch we made yesterday, run the modified version of Firefox, take a screen shot of the modification in action, and then push the image to our Github repo.

    We didn’t get walked through any of this process so I had to figure out that the VM didn’t have Git. I had to install that and then try and remember the syntax for fetching a repository. Once I had the repo on the VM I had to search for how to apply a patch with Git (Adam helped me figure this out) and then build and run the patched version. It worked! Then I had to get a screenshot. I was trying to get a screenshot and it was just not working at all. Once again, Adam to the rescue! He told me to get an app called Skitch. I downloaded and opened it but couldn’t figure out exactly how to make it do what I wanted either. Grrr! Yup, I bothered Adam again and he quickly showed me how to use the timed screen snap feature to get just the screen shot I wanted.


    While I was busy working away on the VM tasks my pull request was merged. Just in time for Lukas to inform the class that an update was made to our blog template so we all needed to add an author tag and our name to the header of each blog post. Well this was a handy lesson for sure because I had to revert my index page to the way it was before my pull request was merged and then update each blog post. I had 13 blog posts to change but they all needed the same thing added to them in the same place so I figured there must be a way to do this in Vim. I searched a bit and found it was pretty darned simple. But then of course I didn’t do something I don’t really understand and couldn’t save all of the files and I couldn’t quit some of the files and grrrrr again! I wanted to get them edited, committed, pushed, and submit a pull request before I left so I just closed the stupid tab the files were open in and edited them one by one. When I am not rushed I will mess with this feature and figure out what I screwed up. It’s all done though!

    I met Andrew at CA and we had a nice ride home. I told him all about my day and he gave me some handy Vim suggestions. It was BSD Pizza Night and this month Handsome Pizza was the place to meet. Dave showed up and then we walked over. We had our usual amazing pizza and the BSD nerds talked about whatever they talk about. I didn’t really care, I got myself a vegan coconut ice cream cone. Life is good.

    Today I learned about Skitch. It’s free too!

    Buggin' Out!

    25 Sep 2014 »

    We’re about halfway through this program now (holy crap), and our goal by the end is to have committed at least one patch of code, so it’s time to find a bug to hack!

    At first I was looking into whether I might be able to fix one of the bugs that I reported last week, but two were just broken links which are still “unconfirmed,” and the other one was quickly resolved by a MozTrap developer before I could work on it, though I may not have been able to fix that one on my own anyway.

    So using a Bugzilla search for recent, unassigned, non-Firefox OS, good-first-bugs, I found: Bug 897382 - Include the update channel in the report even for failed update tests I’ve been interested in QA for some time now, and I enjoyed running a few Mozmill tests last week. So of course I already have Mozmill installed, and the bug states very clearly what code needs to be fixed, so it seems doable.


    By Lisa Hewus Fresh

    24 Sep 2014 »

    I was soooooo tired this morning but I got up and took a shower. That helped a lot and I was also very excited and nervous about my upcoming coaching meeting. It also helped that it was raining and there were no Max issues this morning so I made it to class early, just the way I like it.

    We did our check-ins and then went back to working on Wordpress for those who were still struggling. I was done with that so I started looking through bugs and checking the clock. I knew I wouldn’t miss my coaching meeting but I was really anticipating it.

    Once people got done with Wordpress stuff and I believe building Firefox, Lukas started talking about bugs and how we could best search for them. She talked about what things we might consider when choosing a bug and then let us know that she wanted us picking a bug that was out of our comfort zone, one that we knew nothing about. I love this and it scares the shit out of me at the same time.

    I picked bug 589320 because it sounds interesting. It’s some code that is no longer needed and needs to be audited and then removed if not needed. If I were to take on this bug I would first figure out where the code to be audited lives and read it over to see if I can understand it. I would also research the general functionality of printf() which is the code to be removed.

    I picked bug 671705 because it references regular expressions and I definitely want to learn more about those. They are kind of intimidating so tackling a bug like this might help me make friends with them. I’d also begin researching where this code lives and try to figure out what it does. I would reach out to the mentor as well since this bug has one assigned.

    I am interested in bug 797711 because it seems as though I might be able to write the JavaScript this needs. Again I would have to look through the testing code.

    It was coaching time for me and lunchtime for everyone else. Katt, wonderful person that she is, didn’t want me to miss out on lunch and brought me a plate of food. I’m going to miss her when this project is over! Bridge. Cross. Later.

    Anyway, my coaching experience isn’t something I will be writing about but I will say this: I am thrilled with the coach that I have been matched with and I very much look forward to our meetings.

    Lunch/meeting was over and it was time to get back to the classroom. Barbara, had been working on a bug since late last week and had submitted a patch for it earlier this morning! She was nice enough to present to us her process. There were several questions asked and a bit of confusion about how the patch file was generated so that was discussed for a bit.

    Everyone must have built Firefox at some point because we were about to play with it. Lukas showed us an old blog post she wrote when she was first learning to program. I’m not sure if it was her intent but it was great, for me at least, to catch a glimpse of where she was and where she is now. I think, as a beginner, I tend to forget that we all have to start at the beginning, even our kick-ass instructors. Her post was about how she had messed with the code in a local build of Firefox and then could see the results when she ran her modified version. She showed us the Mozilla Cross-reference site which really simplifies searching the source code. She then showed us how to do these same things. First we messed with where new tabs are opened. We inserted some code in tabbrowser.xml that changed them from opening right of existing tabs to opening left. Then we ran our build to see the change we made. Nifty! Next we played with browser.dtd and changed one or some of the tooltip strings. We ran our build again and saw those changes as well. Finally we had to generate a patch file and push it up to github. I think this final step helped those who were still a bit confused about how that worked. I was unsure about generating my patch file because I had cloned a Mercurial repo. Lukas quickly told me how to do it though.

    I was feeling kind of blah after class so Wayne picked me up. I wanted to take a nap but Jayde needed some math help so I did that instead. She had to figure out the area of several random shapes using the formula for the area of a triangle. She thought this was the dumbest thing ever. I suppose I thought so as well at her age but math will always be there just waiting for her to see how beautiful and amazing it is. I didn’t truly discover this until I studied calculus. It completely blew my mind to learn that the first derivative of position (with respect to time) is velocity, the second derivative is acceleration and the third is jerk. What?? Stupid, boring math can tell us stuff like THAT? Yes, yes you should go math now.

    Today I learned that generating patch files with Git is pretty much the same as Mercurial.

    How I Start Over: Notes on Recovering from Bad Code

    By Candida Haynes

    24 Sep 2014 »

    I have known for a long time that I can learn anything. One of my goals in the Ascend Project is to gain more confidence that my code will do what I want it to do.

    I started learning Python by breaking things in the command line. For example, to find out if my Python 3 syntax was correct, I would type what I thought I remembered and see if it yielded the result I expected. If I did not get an error message, I raised my arms in the air to whoop up my victory. That was one route towards confidence, but I was not actually finished because I did not always understand why my code worked. I was fine with that until I started learning GitHub. I needed more.

    Most people tout the way that GitHub allows a developer to track errors and find your way back to what you did to break your code. Since I am still learning to navigate the terminal and even comprehend help, I find that GitHub forces me to know more before I do anything. It puts a lot of pressure on me to get it right the first time, which complicates my journey to learn by breaking all the things… okay, maybe not all the things, but you know what I mean. I break this less now because I know more, and recovering takes a different set of steps. For example, if I delete two files while I think I am moving them into a new folder, I cannot just reassign a variable or change the syntax (as I do in Python). My changes have more baggage.

    My Error: I made changes to my local repository before doing a ‘git pull.’ I was about to overwrite several minutes worth of work. Yikes! Then…

    Magic words to the rescue!

    Coding is a superpower, and these are magic words that you can use to recover from changes that you have not yet staged or committed in Git.

    $ git stash $ git pull folder name repo_branch_name $ git stash pop [Then resume with the normal push process] $ git add . $ git commit -m “Stashed the changes I made to local repo, pulled the newest version of the working branch, added, committed, pushed again.” $git push

    To commit the changes that I had rescued, I used pop then the normal push process (git add. , etc.) and followed the pull request process on Github.

    There is a caveat to this blog post: As with real life, I have to make mistakes publicly because my inner circle is not always equipped to offer the help I need. If there is anything wrong with these steps, feel free to suggest the changes you believe I need to make.I may push for more information if I need to understand better, but I welcome constructive feedback.

    There is more information about this item on this site.

    Bugs and Numbers

    By David

    24 Sep 2014 »

    bug bug bug bug bug bug bug.

    Today we discussed picking and fixing ‘first time bugs’ and these are some that i’ve decided to look at.

    • 992386 - This is a bug focused around uploading things to Imgur which is a site I use a lot. The bug itself seems relatively simple. It seems it would focus on code that already exists within the page and a bit of tweaking to it.

    • 1015647 - This doesn’t necessarily fall under my definition of a bug as it is a feature enhancement, but it would be pretty cool to learn about how making a feature works.

    • 1039500 - This bug seemed like a bit of fun just because there was a lot of posts on with a lot of people. It seemed weird at first but it be nice to make a contribution to a big team.

    • 1066148 - This is a enhancement that bugzilla needs. The site is still very non-user friendly for how much can be done by it. It would be nice to be able to improve it with something small like this that can make a very large impact.

    • 1068354 - This bug was reported by my sister, and while its not marked as a good frist bug I’m confident I can do it. However theres no real documentation available off the bugzilla page. Theres a lot I can find elsewhere I’m sure.

    All in all some stuff i can work on :S

    curious bugs

    By Barbara Miller

    24 Sep 2014 »

    update 2014-10-03: first bug patch landed! for Bug 1069325

    additional mozmill (testing) bugs

    …because I’ve already been looking at this code, feels manageable

    Bug 1000832 - Update “notification_popup” case in LocationBar.getElements() methods to get the specific notifications

    Bug 661245 - Handle errors when gathering metrics

    release engineering

    …because fixing this bug is pretty clearly useful, and requires both python and bash scripting

    Bug 1004617 - should also update bug status once they are in production


    more documentation than coding? Bug 1011091 - New test website (for


    …because I’d like to know more about how this works.

    but! someone else has submitted a patch that’s under review… Bug 1003731 - Remove transliteration

    someone’s interested in this one, though already working on another bug… Bug 974259 - Consolidate PluralForm and GetStringFromName into a single function for convenience in pluralization


    …because it’s an interesting new project, and I’d like to see who else has tried remixing the same one I’ve remixed.

    someone’s requested assignment, back in June… Bug 891923 - Expose all remixes in make details

    Third Week

    By Mary Anne Thygesen

    24 Sep 2014 »

    Third Week Middle of Light

    *Bug That I like 1026796


    I picked this bug because it had a recent date of 2014 not 2008. The bug is listed as a good first bug. I have used SDK’s and I like one’s that work correctly.

    I went following links to find out more about what was wanted. I found that this bug has priority 2, p2 need. I looked on the graph and found that it only pointed to bug 888483. Bug 888483 has a lot of open bugs. These bugs are part of Jetpack Project. The Jetpack Project has weekly meeting on vidyo and ab irc channel #jetpack.

    This looks like a good bug to start with current with lots of people available.

    alt text

    Weeek 3 - So many bugs

    By Becky

    24 Sep 2014 »

    So today we have been asked to look through a ton of bugs on bugzilla and see which ones appeal to us. I feel like I’m finally starting to get a handle on using a mac. Sort of. I’m working on that. Now we are getting ready to squash some bugs. That kind of seems crazy how fast this is has all been going. Well here are some bugs I’m considering:

    924020 save periodically to X-ray goggles this one is my favorite because on my first project I accidently refreshed the page and lost all of my work so I would really like to prevent that from happening again. I don’t know the level of difficulty but it seeems like it could be pretty hard. I just really want this one fixed.

    1024657 about fixing the Resource page to say resources instead of explorer. Seems like something I may be able to figure out with the knowledge I have.

    1022758 add generic error handling to login.

    1021308 add mySQL instructions to Readme. This sounds boring.

    1019657 I don’t think I am supposed to take it but looks like a good one.

    It’s a little overwhelming to look at page after page of bugs. Not really having a great idea of what will be expected but it’s kind of cool to realize all those pages are problems that you can cross off the list of things to fix.

    Potential Bugs to Tackle

    By amanda houle

    24 Sep 2014 »

    We are in Week 3!

    Narrow it down to 5 choices!

    • Bug 875660
      • This poor little inperfection has been marked as “assigned,” but if you follow the chat log, you can see that Bug 875660 has been abandoned twice and not looked after in almost 3 months. This makes me curious - shall we take a look?
        • I’ve cloned the respository and joined the IRC chat rooms where the other devs on the Automation and Testing Team hangs out. I will need to read through the documentation related to Automation and Tools. fun, fun!
    • Bug 583407
      • It’s really old - was modified in 2012 - and marked as “trivial.” Trivial? That’s so subjective… Doesn’t it drive you crazy when you have to fill out forms on a mobile device the developer didn’t even bother to use a keyboard that matches what you have to input on the form? (ie, you need to enter your email address and the related keyboard doesn’t have the ‘@’ symbol available on the first page?)
        • I’ve followed steps to reproduce this bug. It has no mentor or QA Contact listed. I would try to figure out who one or both of those people would be and find out if they could offer any guidance.

    Dive Into Bugs!

    By Tina

    24 Sep 2014 »

    So we’re looking at bugs listed on bugzilla as “good first bugs.” I’ve found a few that I think seem interesting to work on.

    • 1015647 - This bug involves making some console output text copyable. I don’t know exactly where to start, but I think I’d look at console return perameters and try to make the output text be some hypertext link. This may involve looking at how firefox interprets text as a link and then doing that to the console output.

    • 941477 - This bug is more of a request for a mozmill test to be written. I would start by reading up on mozmill test documentation and then jump right into getting the test written.

    • 875773 - Right now when a test to check if an addon is compatible with firefox will only return true or false. To fix it that return should be true or an error with some description of why there is an error. So I’d have to read up on the different ways that an addon could fail compatibility tests.

    • 992386 - This bug is more of a feature request. It involves adding an –imgur flag to firefox’s screenshot console command that automatically uploads the screenshot to imgur. This would involve reading about said screenshot command, and the imgur API to integrate the two.

    • 1072371 - I’m not too certain what this one is about. I guess right now RemoteAddonsParent.jsm is outputting errors, and they need to be resolved. To start this bug, I would email the mentor and ask for some direction on where the file is, how to get the error, and some steps to start fixing it.

    • 1068354 - This one is my bug! It might be above my head, but I’d start by finding where the code for about:newtab is located. Then I’d try and find how a mouse click release event could be used to move the image to the correct location. If I’m excited to fix any of these bugs it’s this one (cause it’s mine!), but I also don’t want to get too deep too soon.

    As it stands now, the imgur request, remoteAddonsParent.jsm, and my bug are at the top of the list. We’ll see which one sounds best to Lukas and Kronda. Stay tuned!

    Bugs I am considering

    24 Sep 2014 »

    To all the bugs I’ve loved before

    I stumbled upon a series of bugs that are kind of intriguing me. All of them are in the Thunderbird add-on Lightning. Specifically, they are:

    *361983 *373562 *621540

    I think the reason they intrigued me is because I find add-ons kind of challenging and interesting since 1Password uses them and I am still trying to figure out how they work (and by how I mean technically not functionally, which I already know).

    I have already started by trying to figure out who the add-on developer is. I have gone to his blog and Mozillians page and checked him out on Twitter. My next step will be forking the code and seeing if I can make any sense of it.

    Buggy Bugs

    By peri ahmadi

    24 Sep 2014 »

    Here comes the really scary stuff. This week we have to commence work on our final project for Ascend which is to submit a patch to an existing bug. We were given a set of criteria to search by, but ultimately can choose whichever bug we like, providing it’s doable.

    Lukas advised us to pick something that doesn’t look super easy so that we can gain experience points in figuring it out. She said it’s a really good way to learn, so we should take advantage.

    I know I would eventually like to make an addon, so I found a bug that looks a little difficult, but is in the realm of things I could possibly do and learn a ton by doing. It turns out a pull request has already been submitted for the bug, but it needs tests for the patch. Submitting the tests qualifies as a “good first bug.”

    So I’ve sort of decided on this bug but as I’ve looked deeper into it I realize that it’s more complicated and scary than I originally thought. Part of what makes these tests seem out of my league is an aspect called “frecency” which I’m only now familiar with after Googling it because of this bug. So I think the first step to patching this bug would be to familiarize myself with the jargon, make sure I fully understand what’s required of a patch, and see if I can find the tests that need to be altered.

    If this bug doesn’t work out for me, I’ve bookmarked a number of others. This bug also looks promising and requires an updated test as well. It will be a good backup if the other one proves daunting. If I can’t manage either of those, I’ve got like five more bookmarked. Maybe I’ll talkle those in my free time for XP.

    Welp, that’s it for this posty post about bugs. Here’s hopin I can manage to patch one of em.

    5 bugs

    By Mel

    24 Sep 2014 »

    5 bugs - 658179* Firefox Bookmarks 732529 Add-ons Public Pages 1053798 Thunderbird Folder & Msg 917094 Core Video/Audio 822459* Mozilla QA Moz tests

    • on e-mail CC: list

    5 bugs

    24 Sep 2014 »

    5 bugs - 658179* Firefox Bookmarks 732529 Add-ons Public Pages 1053798 Thunderbird Folder & Msg 917094 Core Video/Audio 822459* Mozilla QA Moz tests

    • on e-mail CC: list

    Fall Equinox

    By Lisa Hewus Fresh

    23 Sep 2014 »

    Today was a busy day in class. The moods were varied during check in but the majority of people were feeling ok. We worked on finishing up getting Wordpress installed locally and there were many different issues. It kept us busy for pretty much the whole day. People also cloned the Mozilla core repository so they could get ready to build Firefox.

    I was moving along pretty well with my Wordpress install because Kronda took my computer home last night and used it to write an updated blog post that explained how to install Wordpress locally and how to work around certain issues that might come up. I did hit a wall though when trying to get Wordpress to talk to the MySQL database. It kept saying it was unable to connect. I searched the web for solutions and there were a couple of different things I tried. I first tried removing the password in the wp-config.php file because my database didn’t have a password but that didn’t fix it and being kind of new at problem solving of this sort I wanted to make just one change at a time so I changed it back to having a password and then changed the setting for hostname from “localhost” to That didn’t work either so I tacked on the port number 3306 at the end and that also didn’t work. I searched and searched and tried changing localhost to Localhost as someone had suggested. None of this was working so I finally asked Kronda to look at it and grrrrr! It needed the IP address AND no password! Lesson learned here for sure. I mean I knew it didn’t have a password but I just didn’t follow through with the logic.

    It works now though so I’m relieved. I was caught up on everything so I messed with Mozregression. It’s a nightly regression finder for Firefox so you can narrow down when a bug was introduced. It allows you to input the date of a build you think or know didn’t have a bug and then the date of a build that you think or know does have the bug and then it will download different versions, run them with new, clean, profiles and guide you through a bisection until you narrow it down. It’s super cool!

    We broke for lunch and it was food cart day. I chose the Ethiopian cart but when I gave her my giftcard it kept getting declined. I know for sure I had enough money on it! She said to just take the food and pay her later. People are SO nice! Luckily Kay was nearby and wasn’t going to be eating. She let me use her giftcard which worked just fine of course. I came back and checked mine online and it showed it active with enough of a balance to have paid for my lunch so I can only assume the vendor had entered in the incorrect amount. I gave my card to Kay so it’s all worked out and lunch was pretty fantastic.

    We ended our day with some still being stuck on the Wordpress task but everyone seemed pretty mentally done. Carmen was coming for dinner night so we walked to the bus stop and headed home. Andrew decided to start a fire in the wood stove since it was the first day of Fall. We had the front and back doors open so it was technically cool enough in the house. We all loved having it!


    I jumped in the kitchen to help Wayne with dinner and Nate took Carmen to his room to show her his tree frog, Walter. They ended up talking for nearly an hour about all manner of things. It was a very quiet evening since Miri and Dale were at home with the new baby, Jason and Alice had a conference to attend, our older children didn’t come. It was just the five of us, Carmen, Spencer and John. Dinner was enchilada casserole and it was delicious. We had great conversation.

    Today I learned that the Latin word for frog is rana.

    Kinda Wordepressing

    By Lisa Hewus Fresh

    22 Sep 2014 »

    I love being in the Ascend Project. It started out a bit rough for me mostly due to my massive insecurity but things are so much better now. I look forward to getting up each morning and heading down to the Mozilla office where I get to spend the day with a room full of awesome people. I like them more and more each day. Today we had an issue, the details not necessary, but it was wonderful to see us come together as a group and do the right thing, then brainstorm about how to avoid such issues in the future.

    Kronda was back from her conference and we were all very happy to see her! Probably not as much as Lukas though because she was sick and needed to lay low. We spent our morning catching up on things before the All Hands meeting began. I was caught up so I looked over the agenda and it said to prepare to set up Wordpress locally or prepare to build Firefox from source. I wanted to walk through the Wordpress stuff with Kronda and the class so I worked on the prerequisites for building Firefox from base. I first wanted to get Virtualenv working so I did that and then stepped through getting things set up to build Firefox. That went really quickly. The All Hands meeting began so we all focused on that and then had a brief, private meeting before lunch.

    Lunch was delicious again! Katt got us yummy lentil shepherd’s pie again. I ate quickly and then rushed down to the post office so I could mail my poor, injured friend some coffee. The forecast calls for rain tomorrow and it was beautiful today so I took advantage of that.

    Lukas went home and Kronda took over. She had us get started on a tutorial for installing Wordpress and it went really well! Until it didn’t. Adam and I got ours to a point where it should have been working but wasn’t. We tried this, and tried that. Kronda went from one of us to the next trying her best to help. At some point, someone noticed that the website we were using was different for some of us so it seems the author was changing things. Not very helpful! Kronda didn’t seem to get frustrated at all but she really wanted to figure out what was going on so I handed her my laptop so she could mess with a clean system and I took a bit of a break. She totally got in the zone and was digging away at the issue but didn’t quite figure it out before the day was done.

    We all did our checkouts. Some people were really frustrated with all of the yak shaving but some of us were happy to have the experience since this is a common thing for a developer. Adam and Zeus got their systems working so Adam sent me copies of his config files but we couldn’t stay and sort things out. I will have to attack this problem in the morning.

    I walked to the Max and must have just missed the Yellow line so I stood there for quite a long time waiting. Candida happened by because she had gotten slightly lost but had found her way again. We chatted for a bit before my train showed up and then my neighbor ended up being on the same train. She had a yak shaving day too!


    Wayne made yummy meatball subs for dinner and it was a quiet night with just the seven of us. I am feeling really tired for some reason and it’s not even close to bed time. I hope I’m not coming down with something.

    Today I learned that setting up Wordpress locally is kind of a pain in the ass.

    week two

    By ninja k

    19 Sep 2014 »

    My week two


         This  week is going much smoother. I'm feeling much better and more capable. Things are making sense. I feel my mind is opening up and excepting the information we are receiving. I'm feeling very content.


         Today was a fun day we looked for bugs. I really enjoyed learning this. It was also nice to get out for lunch. It was refreshing. My partner today was good to work with.  I learned alot from here it was nice. 
         This is the results from my Autimated testing.


     This is my tutorial. I really liked this one.
     [X]Start here: and get the bootstrap script to run (you might have to use curl instead of wget)

    1 1



    [ ] Then

    [ ]Get the code from git. from your home ~ directory, run:
    git clone




    c[ ]Cd into gecko-dev repo


    [ ]’./mach’ ‘./mach build’ and if successful — takes about 1-2 hours ‘./mach run’


    Well this project that i thought would be simple was not. I lost my pics thankfully lisa helped me retrieve from git-hub they were in my folder under my name participantes. Yet another problem came along. We could not get the pictures to go on to my blog. Thats when Jessica showed me how that was done. We went into my repo and copy the images from there and that took care of the problem. Thank you ladies for all your help today.

    David's Week 2 recap

    By David

    19 Sep 2014 »

    recap, everyday a recap.

    This week was a catch up week, We set up some local environments on our computers to allow us to view code before pushing it to the web. which was cool beans. We also set up Mozmill in bash, so we can automate testing our Firefoxs… Firefoxi… Foxes anyway, so when dont have to run a list of a 100 different things by hand. We will get into writing our own tests soon..ish. Overall im satisfied with the work im doing, Im able to keep up, learn quickly and teach those next to me who fell behind. Its a rewarding experience all around and Im learning things I wouldn’t have the opportunity to teach myself.

    Heres the link to my test that I ran.

    Week 2

    19 Sep 2014 »

    Coming into the second week, I began to feel increasingly comfortable with the workspace and my peers. Establishing a safe space & a base of group trust has had an anxiolytic effect on me. Several guest speakers helped to fill out my understanding of the various avenues contributions take, and how Mozilla as an organisation strives to foster an inclusive collaboration environment.

    That said, I’ve realised that some of my perfectionistic tendencies dampen my learning momentum. The fear of appearing incompetent can sometimes override more rational concerns, such as locating good docs or finding software tools that fit me. Despite the trepidation, the curiousity is there, to jump into the unknown, into…the Wired.

    lazy P.S.

    I dipped a phalange into automated testing w/ MozMill.

    week two

    By Barbara Miller

    19 Sep 2014 »

    This week we got a local fork of the web site running on our machines, and we’ve tested, and tested some more, after a challenging install or two.

    I’ve written a quick tutorial on using MozTrap to do manual testing.

    how to moztrap

    Thursday afternoon ended with automated mozmill Firefox testing, and flying Firefox windows!

    My test results:

    created using this test command…

    testrun_functional --report= /Applications/

    Week 2: Gaining Momentum

    19 Sep 2014 »

    Mon 9/15 week 2 day 1

    morning: catching up with last week’s projects, polishing blogs and webmaker projects lunch: Aybla’s gyros testing Loop browser ph/vid calls with MozTrap

    Then Eva, Adam and I got pulled into a presentation/discussion with the User Advocacy group to look over user input graphs and provide feedback about the presentation of that data. SO COOL.

    Tue 9/16 week 2 day 2 Begin QA testing in MozTrap. Intro to filing a bug in Bugzilla. lunch: out to food carts (I got Indian) More MozTrap and crashmenow learned about Firefox’s about:about thing, and how to find my build ID in about:config

    Wed 9/17 week 2 day 3 guest speakers from SuMo user advocacy team (from Monday): Gregg, Ilana, Chang. Really considering this career path, as well as QA. lunch: out to food carts again (I got Indian again because it’s awesome) FILED FIRST BUG! and then two more bugs! Feeling accomplished!

    Upon reflection, have determined that my frustration with Popcorn Maker last Friday probably stems from issues/bugs with Popcorn Maker more than any shortcomings of my own. Interesting that I blamed myself first before blaming the application. I’ve tried a bit more to fix it, still not able to achieve desired results. Would like to spend some time at some point learning more about Popcorn Maker, identify and report particular bugs if I can. I may end up remaking my project altogether because I can’t seem to make it work as it is.

    Thu 9/18 week 2 day 4 Revisited agreements of how to be with each other. Catching up, checking on bugs. The first bug I reported (Persona login issue in Bugzilla) was marked a duplicate of an open bug from Apr 2012. lunch: Thai Peacock

    MozMill installation instructions were confusing, so I edited the instructions in the documentation, using clearer language.

    Running test suites in MozMill!

    Running automated testing with MozMill Automation. Here are the reports! Functional test of Nightly Functional test of Aurora

    Endurance test of Aurora

    Endurance test of Nightly

    I really like running automated tests! It makes your browser do a lot of stuff on its own and collects data on the functionality as it goes, so you get stuff done without really doing much. Plus, it makes your computer look haunted.

    Fri 9/19 week 2 day 5

    morning: catching up, writing blog posts including tutorial with screenshots

    Lunch: Cha Taqueria nachos

    afternoon: played with the Tilt add-on for Firefox, where you can see the layers of a webpage. Very interesting!

    Began looking at “good first bugs” in Bugzilla, walking through a particular bug together on the screen. We can fix a bug! …But not today.

    Found another broken link, filed bug.

    Wrote a tutorial blog with screenshots; could be about anything we’ve learned this week. I chose installing Mozmill because the instructions in MDN were not very clear to me when I was trying to install it yesterday.

    Closed out the day/week with a Mozilla Cantina! Invited friends to party with us in the office, played Rock Band. :) I feel so grateful to be here; every day I’m reminded of what an amazing opportunity this is, and I appreciate Lukas and Kronda and Mozilla so much! This is a pretty amazing time to be a woman transitioning into the tech industry, and even though my career future after Ascend is still unclear to me, I feel optimistic.

    Tutorial: How to install the Crash Me Firefox extension

    By Adam

    19 Sep 2014 »

    In this blog post I will be showing how to download the Crash Me Firefox extension which is useful when you are running a test where you are required to crash the browser on command. The steps involve going to the website that the extension is hosted on, downloading the extension, and allowing Firefox to install it.

    First you will want to go to the website that hosts the Crash Me extension which can be found here. Click the link that says, “Download the latest version” and chose the option to save file in a directory of your choice.

    Crash Me website screenshot

    Next you will want to find the file that you have downloaded, crashme.xpi, and drag it to an open window of Firefox.

    Crash Me Dragging

    A window will pop up asking you if you want to install the plug in and the “install” button will have a coundown ticker which will eventually coundown to zero and allow you to click it. Once the button counts down click “install” and choose to restart your browser when it prompts you to do so.

    Crash Me

    Once your browser restarts you will be able to go to Tools -> Add-ons and that will bring up the extentions add-ons tab. Click “Extentions” if it isn’t already selected and click the “preferences” button that’s in the “Crash Me Now” section.


    Press “Crash me!” and you will have crashed your browser on command.

    Addons Manager and MoPad
    Now you can get your mozilla Crash Me Badge here!

    Second Week Recap at Ascend Project

    19 Sep 2014 »

    Wednesday - Humpday!!!

    Talk of the day by the “User Advocacy Team”-ish

    We gave them, “we,” because we are together, but I did not suggested anything, yet the others did. So, like I was saying, “we,” suggested them a lot things from the user experience side. Our, user experience side. Anyways, I started to came up with this idea of having a virtual table where we can have happy face to rate each other. I started downloading Xcode and all the pre-requirements for making SpiderMonkey and Firefox It took a long time to install and download. I did it by following the instructions int he public page. Everything installed as expected. By 1:45 pm I had successfully build Firefox for OS X. I can say I have no idea why this happen when I was trying to build SpiderMonkey. Going back to the SpiderMonkey Instructions I got stuck at run “autoconf-2.13” I thought I had installed everything correctly

    Going for lunch for the food carts was very pleasing and relaxing.

    We started to make Bugzilla searches and start filling bugs.

    We got to install jekyll server in out computers. Then, finding svn source code references, inside the viewcv app for mozilla, was very frustrating, but after a while and kind help from Lukas, we finally were able to understand it.

    I had this idea of making a table with happy faces where we can rate a +1 and a -1. So started to do it.


    So today, we had a talk about how we can agree on IRC and asking for help etiquette. Lukas was very patient and through and we all came up and or behaviors between us. On how to make it better. Last week I met with Jim, a super cool dude that works on the developer tools. There all this code that theories that he tells me about. I am super interested in trying to build SpiderMonkey and get familiar with the developer side of tools. So far. I have only been able able to compile firefox, but I got stuck in the process yesterday.

    Today we also got to install MozMill as a test tool that makes testing automatic. We got to make some testing and have public results. After some hours trying to figure it out. I got the results in the that I like:

    test results

    Not that I understand them.

    I met the leader of the developer tools side as well, Jim’s boss, and he was trying to explain how they have many employees in many countries and how that is a big thing for Mozilla as a company. He saw himself a leader that uses construction samples to try to explain what he does, but that he did not wanted to place in a little box since every one here is so awesome and hard working.

    I met also with Cai

    I got install Xcode 6 and OS X 10.10 with

    Week Two of Ascend Project Portland

    By Adam

    19 Sep 2014 »

    The second week of the Ascend has come to an end and we did quite a varried amount of stuff. We moved from the more introspective exercies from week one on to doing more concrete things, naimly testing - lots of testing. We learned about the Bugzilla, One and Done, Mozmill, and automating testing. We were also shown how to install, run, and create profiles for all four channels of Firefox (Nightly, Aurora, Beta, and the Stable version of Firefox).

    We did lots of poking around in One and Done running through fairly short manual tests. We also were tasked with finding bugs while we were doing so and I happened upon a bug in a version of nighly. I was really excited because not only was I able to reproduce it but I was able to get two other people to do so as well.

    After learning about one and done we learned about Mozmill and how to use it to do automated testing. We each ran an example test and you can see the results of my test here.

    Second Week Roundup

    By Tina

    19 Sep 2014 »


    So this second week was an adventure. I don’t really remember everything we did, I just know that I’m exhausted from it. I finished up a tutorial on running multiple Firefoxes on the same machine. You can find that post here-ish. If you follow the tutorial, make sure you grab the badge associated with it here.

    It may have not been this week, but I did file my first ever bug with mozilla! The bug is even in release firefox! Check it out at bugzilla.

    Recently, I ran my first mozmill tests. I’m not sure exactly what it says, but you can check it out here. I think it’s saying that all the tests passed, so shoutout to the Firefox dev team for being on point.

    Mozmill Installation Tutorial

    19 Sep 2014 »

    Tutorial: How to Install Mozmill on Mac OS X versions 10.5 and later

    Hey Mozilla contributor! Yes, you! You are helpful and awesome, and you want to help the hard-working Quality Assurance team (affectionately dubbed mozQA) maximize the functionality and awesomeness of the Firefox web browser! Mozmill is a test suite you can use to run functional tests on any version of Firefox. I’m going to walk you through how to install Mozmill. Ready?

    First, if you haven’t already, open up your Terminal application or command line shell of your choice. Navigate to your home folder (that command probably looks like this: cd ~), then run each of these commands, as follows:

    • $ curl -O

    When you run that, it will show something like this:


    • $ sudo python

    Note: this one may prompt you for your password, which you should go ahead and enter.


    This will generate many lines of code as it runs. You will know it’s finished when you see this:


    • $ sudo easy_install pip


    • $ sudo pip install mozmill Note: This will also generate many lines of code as it downloads. You’ll know it’s finished when you see this, and then a new command line prompt


    Once each of these has been run, you should now have Mozmill installed. You can check by entering this command, which should tell you what version of Mozmill you’re running:

    • $ mozmill –v


    So now you’re all set up to start running tests! You deserve a badge. Get it here!

    Then clone the mozmill-test repository as directed here, and dig in!

    Mozilla Cantina

    By Lisa Hewus Fresh

    19 Sep 2014 »

    Well today the rain is gone but at least we got a partial day of it. I left early with Andrew since he was going to work downtown. I guess it isn’t really downtown though because his co-working space is north of Burnside. I still don’t really understand all of these neighborhoods and areas. Aaaaanyway, I hung out at CA with him for a while because I can’t get in to the Mozilla office until 08:30 when the door unlocks. I ended up being ten minutes early anyway but some Mozillians were there and let me in.

    I couldn’t wait to get working on my Tutorial so I could finish it up so I jumped on it as soon as I got my computer. I paused for check-ins and everyone was pretty happy that it was Friday and also the monthly Cantina. After check-ins and announcements we were given lots of time to work on catch up stuff so of course I worked on my tutorial. I also tried to help anyone that needed it. I had several screen shots to take and had to figure out how best to show them on the command line. I’m not sure I succeeded but hopefully some classmates will read through it and give me feedback.

    We all broke for lunch which was once again delicious! We had food from Cha! Cha! Cha! and I definitely took a little too much this time. There was a spicy tofu dish and a warm quinoa kale salad of some sort, really good guacamole and Pico di Gallo. We are very spoiled.

    After lunch we talked about testing and what tools we would need in order to work on bugs and test them. We talked about needing things like a text editor, the testing software, the suite of tests to be run, one or more versions of the software to be tested, a local version of the code, terminal, git, etc.

    Lukas searched Bugzilla for bugs tagged “good first bug” and then chose one from the list of results. It was a bug in a Mozmill test related to some code that needed to be moved outside of a class. We were able to watch Lukas begin with no knowledge of this particular bug, read and dig down, read code, dig down more, poke around until she could see what was going on. It was so interesting and also very encouraging to see her go through this process. It shows me that although she has years of experience on us she still has to look at and figure out what is going on with each new bug. I guess it’s kind of like reading a book. Some people have been reading books a lot longer than others but they still have to read through a new book and gain an understanding of it as they go. They don’t pick up a new book and automatically know everything that is going on. Sure it takes the new reader more time to put it all together but they can eventually get there and will get better and faster with practice.

    The bug did turn out to be a great first bug but we all got worried that we were going to have to fix it right then. Someone asked about it and I think there was a collective sigh of relief when Lukas said we could start that process next week. Then she came up with our cheer. “What do we do?!” …“Fix bugs!”….”When do we do it?!”………..”Next week!”.

    Lukas talked to us about the Gnome Outreach Program for Women and let us know that anyone in Ascend could apply no matter what gender. I had heard about this program last year two weeks before the deadline. I thought it would be wonderful but I didn’t have a clue where to even start. I looked at some bugs in the Python code base but honestly I couldn’t understand a thing in their bug reports. I didn’t know what I didn’t know and I had two weeks to figure it out. It felt impossible so I didn’t do it. I’d like to give it a shot this year though.

    The day was winding up and it was nearly time for the cantina so we did our check-outs and then I rushed to get my tutorial pushed to my repo so I could submit my pull request. Andrew showed up shortly after and introduced him to a few of my classmates. Wayne showed up not too long after Andrew. I tried to make sure and introduce them to all of my classmates and I tried to meet any guests that were there. Some people were playing Rockband and others were just mingling. We had a really nice time getting to meet everyone’s friends/family.

    Katt thanked us all for coming and then very nicely told us to get the heck out so we cleaned up what we could and headed downstairs. The three of us planned to go out to dinner and Carmen was standing with us so we asked if she would like to join us. She thought that sounded lovely so we began searching for a place to go. Katt came down and we invited her to join us as well. Since she is so great at picking wonderful food, we left the place up to her. We ended up at a really nice Vietnamese place where we had good food and fantastic conversation. I think we stayed a lot longer than the staff would have preferred and were the last ones out the door. The night was beautiful and we were really enjoying hanging out so we all took a nice slow walk around. There were so many people walking, talking, laughing and enjoying themselves. I loved being a small part of that. Portland looks so different at night. The building architecture is so much more apparent so we ended up seeing things we had never noticed before.

    It was getting late and everyone was getting tired so we walked Katt to her bus stop and waited until she was on her way and then we walked Carmen home. Once she was safely inside we made the long walk to our Max stop. We don’t really know the late night schedules but we were lucky enough to catch the very last train for the night!

    Today I learned that Downtown Portland is an entirely different kind of beautiful at night.


    19 Sep 2014 »

    layout: post title: “Cookie Crumbs” date: 2014-09-18 categories: maryanne author: Mary Anne Thygesen —

    Cookie Crumbs

    When I write recipes for my self they have the just the amount of of info that I need to create the food. When I write recipes for publication they have all the details required by publication. In the spirit of there is more than one than on way to do sometime, cookie crumb directions. 
    #Crash ME
     ~~as if it doesn't crash enough on its own~~
    spell check is under view spell check

    alt text alt text alt text alt text alt text alt text


    [cake badge] (

    The Reality of Magic

    By Yenni

    19 Sep 2014 »

    It’s hard conceptualize how much I’ve actually learned. Not only from the material we are being introduced to, but from my peers and mentors as well. I pinch myself daily, thinking this_isn’t_real. That somehow I fabricated this reality where people are encouraging of failure because they know it leads to learning. Where my personal life is considered as a part of my daily interactions with everyone in this journey.

    I remember a time when the internet was magic. When I typed what I wanted into the awesome bar and it retreived what it thought I wanted to see. In my mind, it was an intelligent creature. I understand the makings behind the magic on a different level now. This program is allowing me to lift the curtain and see the magic behind the presented. Before Ascend, I wasn’t aware that websites were hosted elsewhere. I was under the assumption that each website was an independent entity. Really, it’s like a house that belongs to a town. That’s what i tell myself to try and understand the complexities of it. My understanding is still fairly basic, and I’m excited to look back at this post as a milestone.

    The mentors/ instructors need a shout out, though. That’s the real magic in this program. I’m star struck every day. They have created one of the best environments I have ever had the pleasure of experiencing- learning focused or otherwise. In my previous paths exhausted, I facilitated youth groups, and dreamed of creating a space as this.

    As far as learning goes- there’s so much! The day before I started Ascend, I didn’t know what the terminal was. Now, I’m at a dangerous point with it. Knowing how to make a big change/ movement of files, and even deleting all of my work. In the spirit of learning, it’s easier the second time around.

    A major milestone in the learning experience was testing software, and being able to identify bugs. Not the creepy crawlers of the night, but the glitches in software that make for a less than favorable experience. Not only did I identify a bug, I submitted a bug report and brought it to the attention of the developers.

    Automation has always been an intimidating word for me, something too futuristic about it. With Ascend, the future is now. The Ascend team learned all about making the computer run test for us using Mozmill, that’s power. Here are my results!

    It’s been a great second week of learning, and I can’t wait to look back and realize how much I will take from this lovely experience.

    Week Two Updates

    By Carmen Cordis

    19 Sep 2014 »

    Week Two of the Ascend Project has been intense, thrilling, frustrating, and uplifting at times. I’ve definitely learned this week that computers will “only do what you tell them to”! We’ve learned a lot of new programs and commands for our terminals in such a short time. The learning process is slow and steady, but we’re getting there.

    I’m still not caught up on all the Mozilla profiles and social media profiles I’ve created for the project!

    It’s been a while since I’ve engaged so much in social media, and the “tech community” (if it can even be described with only one term) is so vast that I barely know where to begin.

    As part of my goals for Ascend, I need to make an ongoing list of each of my profiles, in order to keep current with updates, and in order to track my ongoing contributions. The more I learn, the more I can contribute.

    I need to refine the little website I built last week with Webmaker. It’s colorful, but simple, and perhaps it could use more spacing between the text. I would also like to link the Ascend Project’s pages!

    This week, we focused our energies on running tests, checking on bugs, and helping to reproduce bugs found by other contributors. We had a lot of fun calling each other on our computer screens by using the video call features in Aurora! It was rather humorous to talk to someone sitting across the table, and hear them echoing from my computer.

    Running the calls in Aurora helped us to identify some bugs, and to explore what it’s like to test individual features of a program. We wanted to make sure they’re running the way they were intended to run, and the way we would like them to run.

    Here are some Mozilla resources we used to help us identify, report, and reproduce bugs:

    • MozTrap can show you a list of tests you can run in your own Firefox browser. When you specify your build and browser version, you can mark each specific test as passing or failing. If the instructions are unclear, you can even write in comments to ask for clarity. MozTrap is a great starting point to get an idea of what a test looks like. The site helped us understand how a “bug” is a specific browser activity that’s not working correctly.

    • Mozmill helped us set up our own automated testing! We mostly chose to work in Git for this. We each had interesting discussions about how to write the most accurate code lines in our terminals to get the automated testing to work.

    It took several tries for me to finally understand how the file-path worked, and I wondered if I was the only person who really didn’t understand. When it finally became clear how to make the code line work, I felt so relieved. I’m thankful for the Ascenders who stuck with me to help me understand. Then, I got to help another person understand, too!

    Some Ascenders are making tutorials in how to run Mozmill tests. Check them out! We were able to make our Nightly browsers open a bunch of tabs, download test files, and dance all around, without even having to touch the keyboard! All of these tests were designed to catch bugs.

    Here’s a lovely link to show the results of my automated Mozmill tests in the Nightly browser:

    Carmen’s Mozmill tests!

    • Bugzilla (also called BMO) is the main venue where Mozillians talk to each other about possible bugs, confirmed bugs, bugs that have been assigned to specific people as their personal projects, and bugs that have been fixed.

    Often times, people will report a bug that’s actually a duplicate of another report. When I filed my first few bugs, some of these were marked as duplicates. I felt a little disheartened by the duplication, but, at the same time, I realized that multiple reports about the same bug will bring attention to the need for the bug to be fixed.

    Bugzilla has resources for sorting bugs, searching for bugs to help with, and contributing patches to fix the code.

    The Whiteboard tag [good first bug] means that someone reviewing the bug believes that a new contributor could fix it, with enough research, context, and time.

    Different bugs are in different programming languages, so people with varying experience levels can all help.

    We also searched for bugs with the designation “steps wanted”, which means that a team of people are working to reproduce the bug, so that it can be fixed through trial and error.

    Week 2 in Review

    By amanda houle

    19 Sep 2014 »

    The pace is perfect for me. I am observing the struggle of my ego - which had it’s own expectations regarding what I’d have accomplished by now. I know that it’s deepening the knowledge by taking time to document our learning, reporting our successes, discussing how we’re going and best of all - sharing what we’ve understood with each other. One great thing about this group is that there aren’t just a few people that “get” everything and fast. Different people are able to grasp concepts at their individual pace and those who were being helped in the morning may be the ones that are helping in the afternoon.

    We are working on almost completely different things from what I did at code school. Partly, I say this as there is not much to compare between the two programs. In other words, for those who know that I went through the Fullstack Javascript track, whatever I’m writing about in this blog is NOT a comparison to what I’ve done before. The GIT flow is slightly different which lends itself to broader understanding.

    I may read this part next year and think, “duh!” In Ascend, we are working and producing while we are learning. Learn by doing! Learn by contributing to open source! Awesome!

    I have to also speak a little about the space. We have a great community space to work in and the entire office is managed by the wonderful Katt! She has been instrumental in helping the two groups - full time employees and us Ascend contractors - function in our space together. (and she plays great music at the entrance and is most certainly contributing to my weight gain with the catered meals!)

    Speaking of weight gain, perhaps all of the great food is counter balanced a bit by the following:

    I have officially joined the 6.1%(of Portlanders who bike to work! Mozillians, make sure you sign in and log your miles here: BTA’s Bike Commute Challenge

    Workwise, we’ve covered a lot this week. I like to give a little taste of it in the lists below. The rest of the time relegated to writing, I will be working on a tutorial for filing your first bug in Firefox. This weekend, I look forward to setting up my new 1Password account - thank you @EvaCatHerder and AgileBits.

    pic of firefox fox

    Join in!

    Bugzilla * Moztrap * CrashMe Addon * about:about * Persona Account * virtual environment * jekyll server * Add Ons - try this!

    This week’s links:

    Second Week Recap at Ascend Project

    19 Sep 2014 »

    Wednesday - Humpday!!!

    WebStorm Trial - Editor Tutorial

    So, I tried this editor called WebStorm, yes, as in WEB plus STORM, is made by JetBrains.

    Blah blah blah “What is it taking about ?”..

    Ok, so, the deal is this:


    ##DO YOU HATE IT ?

    Well, I discovered that WebStorm can Push files with just pushing a button.

    So, I edit, I pull and push, with the click of a button, yeah it sounds cliche, but is true.

    If you would like to get it in your MAC, sorry Windows or Linux users, but I only have Mac screenshots.

    Here are the steps to get it. 1 ,2 ,3. hahah! well before we start, you most know this.


    By the end of this tutorial you should have Java 6 installed and WebStorm, and you should have seen a few screen shots on how to pull and push.


    • Internet Connection, duh!, I had to say that
    • Mac OS X with 10.9, this is where I tried it.
    • Mozilla Firefox, just because it rocks and rules!


    1. Go to WebStorm Link. Download and install. May God Bless you.
    2. Accept to install Java when prompted.
    3. Figure out the Buttons by your self.
    4. Have a nice day, you are so smart! Look at you!.
    5. Go give yourself a WebStorm Badge.

    ~~~ What, what what! ~~~


    1. Open Mozilla Firefox.
    2. Go to download the App WebStorm Here.
    3. Click on the BIG BLUE Button “GET WEBSTORM “.
    4. A pop up window will show up, then click in the OK, to keep downloading it.
    Notice that when you clicked ok a big arrow colored grey flashed from Big to Small and turned into blue and placed it self in the right top corner.
    This arrow that now is blue. Has a growing rectangle with an image. with a number “1m” or “2s” as the wait time. Like 1m for 1 minute, or 1s for one second.
    1. Click on your download. ~~~ Once dowloaded click on the blue arrow, when it shows the download list, click on the program we have just downloaded. ~~~

    2. Drag Image Logo from left to right and drop it into the applications image. Here is a drag and drop video tutorial is this is too hard for you. Drag and Drop Tutorial/

     It will appear that nothing happened. But in reality the WS logo and name should be inside your Applications inside your Finder.
    1. Close the opened window. Image

    2. Eject the WStorm Installer. Image. Go to the finder and scroll the left area and find the WEBSTORM name with an Eject icon to the left of it. Then click eject.

    3. Now find Webstorm App inside the Applications folder. Double Click it.

    Java needs to be installed ?
    If you get the this message, it will suggest to install it for you, just say yes, ok, agree, blah, blah.
    1. Webstorm opens the first time user. It will ask you to “migrate,” your past configurations. I am assuming you have no idea what this means, just click next, because, obviously you have no previous configurations.

    2. Next, It will ask you about the look and feel. There are only two options now. White bag ground and Dark background, personally I like darcula, for dark much better. Select as you wish. ~~~ It will restart, if you change to “darcula”. ~~~

    Once it opens you are done with the install.

    Now, is time to link out Ascend Project.

    1. Now you might be in the entrance screen. You should click OPEN DIRECTORY. If you are in the Regular Development Environment and you skipped the entrance window. Don’t worry. Just click File -> Open

    2. Navigate in the finder window that opened up. We, in the project are in the supposed to have our files under /home/user/sites/ascendproject So, go

    SECOND Week Blog

    By Mel Reslor

    19 Sep 2014 »

    Second week blog Monday Sept. 15 Worked on creating badges. Others got mine so I know that it went out. Not sure I downloaded all 20 as that would be the max. May work on awarding badges where the recipient has to “pass” a test, not just claim it.

    Weds 9/17 3 guests today Gregg Lind, Chang, and Ilana This is one of the best aspects of the Ascend Project. Getting a presentation/visit from Mozillians and others in their field. One thing I gained is that if a bug/glitch happens on a browser - - Report it! It could prevent someone else from having the same problem and you will likely know more about why this happens/keeps happening.

    Thurs 9/18 Automated bug tests. Fancy stuff and the setup isn’t simple but it can sure save a lot of work, especially the repetitive, tedious stuff. Mozmill is what we learned today. I needed help setting this up. All the computer stuff is still AnotherWorld-foreign to me.

    this is the results of the Mozmill automated testing on Thurs 9-18:

    Fri 9/19
    One thing I wanted to do was to log into IRC outside of class. Will check into this. Today we were looking into the Mozmill test. How to make repetitive tasks easier and a great tool for testing sites and debugging. And Crash Me and program that actually crashes the browser.

    Week 2 - On our way to more things!

    By Becky

    19 Sep 2014 »

    Hello internets it has been a very fun week! We have learned so so so much about bugs! Using Mozmill and Moztrap and I even got to file my first bug in Bugzilla but it turned out it was a duplicate. Still an interesting experience.

    Monday we did some catching up in the morning. It has been awesome that there is such a variety of experience in class. In the afternoon the people who needed more time sat at one table and could plug away at the things they needed to, while the people who were finished sat at another table and did some Moztraping. When the first table was done the others taught them how to use Moztrap. I thought that was really beneficial. Everybody had adequate things to work on. The student teachers got to share their experiences. And of course we had Monday meeting as well and that is always interesting!

    Tuesday is a complete blur but we did go to the food trucks! That was kind of cool to hang out with people outside of class and just getting to know people on more of a social level.

    Wednesday we had a team of people (Greg, Ilana, and Cheng) come in and talked to us about bugs and user experience. They started taking notes of our experiences and things we felt needed to be different or didn’t understand. It was cool that they were actively listening and taking things back with them to work on. I’m really glad they were willing to share their stories with us.

    Thursday we needed to figure out how to run a Mozmill test but once I got it going (with Lisa’s help) it was really cool to watch the computer open and closing tabs and windows, drop down boxes, what have you! This is the Mozmill Crowd Results Dashboard Functional Tests Report for mine:

    The really cool report!

    Friday we’ve been working on our blog posts and tutorial and probably something exciting and new!

    Second Week of Ascend

    By Jessica Canepa

    19 Sep 2014 »

    Testing, testing and more testing.

    This week we explored how to help with QA (Quality Assurance), including how to do manual and automated testing, search for bugs and file a bug report.

    New Tools

    • Bundle & Jekyll- used to preview our GitHub Pages blog posts and run them locally
    • MozMill- command line tool for manual and automated testing with javascript
    • MozTrap- test case manager where you can select tests to run
    • OneandDone- designed to screen ways to help with manual testing, automation, bug verification, mobile testing and more by time commitment and experience level

    In my opinion the most fun part of the week was seeing MozMill automated testing run especially after going through some manual testing. Check out the MozMill Automated Tests Tutorial I wrote for more details. Here’s the functional test results of the automated test I ran.

    As a class we also discussed revisions and udpates to our class agreements, how to address agreements that are broken, the nebulous use of “Culture Fit” in tech companies, and the role of Mozilla Reps to name a few topics. On Wednesday, we had guest speakers from the SUMO (Support at Mozilla) team come and share about how their different backgrounds in anthropology, mathematics and engineering helped them in their roles to support users. They made suggestions about joining certain IRC channels to learn more about how they support users and ways we can contribute and continue to learn.

    This afternoon we will start exploring how we can write our own tests in javascript and next week the goal is to create our own browser.

    SECOND Week Blog

    19 Sep 2014 »

    Second week blog Monday Sept. 15 Worked on creating badges. Others got mine so I know that it went out. Not sure I downloaded all 20 as that would be the max. May work on awarding badges where the recipient has to “pass” a test, not just claim it.

    Weds 9/17 3 guests today Gregg Lind, Chang, and Ilana This is one of the best aspects of the Ascend Project. Getting a presentation/visit from Mozillians and others in their field. One thing I gained is that if a bug/glitch happens on a browser - - Report it! It could prevent someone else from having the same problem and you will likely know more about why this happens/keeps happening.

    Thurs 9/18 Automated bug tests. Fancy stuff and the setup isn’t simple but it can sure save a lot of work, especially the repetitive, tedious stuff. Mozmill is what we learned today. I needed help setting this up. All the computer stuff is still AnotherWorld-foreign to me.

    this is the results of the Mozmill automated testing on Thurs 9-18:

    Fri 9/19 to be cont.

    Tutorial: How to Report a Bug

    By amanda houle

    19 Sep 2014 »

    Having issues with your Firefox browswer? Want to help with the next version of Firefox? Want to learn something fun and new?

    Report a Bug:

    Pic of a Bug

    Test your bug

    Is it a bug? Here are some questions to ask yourself: * Can I reproduce it? - every time OR intermittently - if intermittently, can you state about how often? * Open a Clean Profile in the same version of Firefox that you found the bug.
    (if you haven’t set up profiles, go here)

    • Open a Clean Profile in another version of Firefox.
      • for example, if you are reproducing this bug in Firefox Nightly, try and see if you find the same bug in a new Firefox Aurora profile. (This is called “Regression”) (if you haven’t set up to run different version of Firefox at the same time, go here first and scroll down to the last three paragraphs titled “Setting up multiple profiles for different Firefox Channels”)

    File your bug

    After you have completed these tests, head on over to Bugzilla@Mozilla. You’ll need to create an account in Bugzilla and later, can sign in using your Persona Account.

    • Click on “File a Bug”

    Bugzilla main page

    • Scroll down the list and find the service that you want to report a bug on (ie if you were using Nightly, then click on “Firefox” which is first on the list)

    screen shot of bugzilla main page

    • Type short summary of the issue in the white box just before hitting “find similar issues.” You’ll want to see if someone else has already filed this bug.

    screen shot of step 2 of 3

    • scroll through issues

    screen shot of step 2 of 3 a

    • If you don’t see your issue listed, continue on by clicking on the button “My issue is not listed (see the above/previous screen shot).”
    • Fill in report
      • Your summary will already be entered from the previous screen.
      • Check to make sure the Product category is still correct.
      • Fill in the whitebox for “What did you do.”
        • Try to clearly state the steps that you took to reproduce the bug. Use concise, descriptive language as you are guiding someone else on how to follow what you did.
      • Fill in the whitebox for “What happened?”
        • Again, be clear on explaining what the actual results you attained.
      • Fill in the next whitebox for “What should have happened?.”

    screen shot of bugzilla filling out a report

    Claim Your Badge!

    Congratulations, you have filed your first bug report! Claim a badge from Open Badges with this code: mnnypu or by following this link to help clean with a bug report badge

    … this blog post and it’s links, etc to be tested and continued….

    How to MozTrap

    By Yenni

    19 Sep 2014 »

    MozTrap sounds intimidating, doesn’t it? Something about that name, maybe the Trap part, that makes me not trust it. It really is a great thing, and you may not believe it… YET! What is a MozTrap? How do you eat that? Where do you put it?

    It’s actually a way to test Firefox -the web browser- for bugs.

    I know what you’re thinking, “this ninja thinks I know what a bug is” Let me tell you what a bug is, and a bit of a history lesson if you will. Her-story, actually. Grace Hopper- an inspiration to computer scientist everywhere is creditted with making the term debugging popular when she was trying to fix a computer glitch and was able to remove a physical bug, a moth, from her computer. In the computer and internet world ‘bugs’ are means for establishing that something isn’t working as it should.

    Alright, so now that we are up to speed in knowing what a bug is, let’s chat MozTrap. It is a web application that allows the open source community, and those hoping to become members, to test different Mozilla products. It provides steps to follow based on what browser or system you are able to test.

    How do you get into MozTrap and start testing AND possibly contributing? Excellent question! The answers will follow in a wonderful series of screen shots that are meant to help in signing up and signing onto MozTrap.

    First Step

    Get a Persona Account! It will help you get into other Mozilla community web boards and get you started on your journey to contributing.

    Log In

    Now it’s time to venture over to MozTrap, and sign in.

    MozTrap Sign in after Persona

    Explore your new reality.

    Tests galore

    Once in, you’re a part of a whole new world. Find the tab that says Test Runs

    Test Runs and systems

    You’ll need to know more about the version of Firefox you have loaded.

    About Firefox

    The dialog box that appears tells you all about what version you’re running and links to other cool Mozilla facts.

    Version Information

    Knowing what software your personal computer is running is crucial. Go ahead and enter that at the bottom of the screen.

    System Information

    When all of your system information is loaded and you have chosen the Firefox version to test, it will take you to a magical place that offers step by step process into the testing realm.

    Tests to Explore

    The instructions are fairly easy to follow and will have you feeling like a community member in no time.

    Welcome and happy bugging!

    MozMill Automated Tests Tutorial

    By Jessica Canepa

    19 Sep 2014 »

    How to run automated tests using MozMill on a Mac

    Automated testing is fun to watch but beware it will make manual testing seem even more tedious and leave you asking “Why hasn’t this test been automated yet?” MozMill is a command line tool that lets you test using Python and Javascript. This tutorial will walk you thorugh the basics of running a MozMill automated test on a MacOSX 10.9.4. I’ll admit that I chose this topic for the tutorial so that it would force me to understand more about this process so if you run into any errors in my understanding feel free to let me know. I might have gotten overambitious on this choosing this topic.

    Brief Overview of Installation on newer Mac (version 10.4 or higher)

    Since my Mac already has Python 2.7 installed (MozMill requires at least Python 2.5) downloading MozMill is as easy as entering 4 lines into the terminal.

    curl -O

    sudo python

    sudo easy_install pip

    sudo pip install mozmill

    More details on installation here.

    Clone the Automated Test Repository using Git

    Using Git we can clone the Automated MozMill test repository with the following command in the terminal:

    git clone

    Switch to hotfix-2.0 branch

    We need to switch to the hotfix-2.0 branch because it contains updates we need to run automation tests. So first we change to the newly created mozmill-automation branch.

    cd mozmill-automation

    Next we switch to the hotfix-2.0 branch by typing these lines into our terminal:

    git checkout hotfix-2.0

    sudo python develop

    Run Automated tests

    Now we should be able to run automated tests by entering this in the terminal:

    testrun_functional /Applications/ –report=

    Note: Our pathway (/Applications/ is specific for Macs using %path_to_firefox% (on Mac to .app)

    And behold the computer runs tests for you faster than you could.

    If you could get this working then go ahead and award yourself a badge!

    Image of Badge

    You can use this code kvcw3t at to redeem your badge here.

    Also, feel free to comment on how I could’ve made these instructions easier to follow. You can check out the official documentation here.

    How to do a thing!

    By Becky

    19 Sep 2014 »

    Hello internets! This a simple tutorial on how to do a thing in 7 easy steps (more or less)!

    So there are 4 versions of Firefox (Beta, Nightly, Aurora, and Firefox). To run tests on all of them, you need all of them. Only you are not allowed to open more than 1 at a time-that is, unless you have more than 1 profile. So let’s get some more profiles!

    First download all the things. Three of the browsers are right here and you can side scroll though them! How handy! So download Beta and move it to applications (also re-name it Beta-it has the same icon regular Firefox so it will be useful in telling them apart).


    Next I downloaded and installed Aurora and Firefox. Then go to Nightly for the last download and install that.

    Now you have 4 browsers. But in order to open 2 or more at the same time you will need to make corresponding profiles. I don’t know if that is super clear so let’s just jump into things.

    Make sure none of the Firefox browsers are open. Then open Terminal. Type in:

    /Applications/ -p

    After you hit enter it will bring up a profile window like this:


    Click the “Create a profile” to the left and make one named “aurora”, “nightly”, “beta”, and then you can use your “default” profile for Firefox. Now when you open a browser it will ask you which profile you’d like to use.

    It should look like this now!


    Happy testing!

    Also go claim your badge (or Code: 4wtvvr) for all you’ve accomplished!

    Friday recap

    By Mary Anne Thygesen

    19 Sep 2014 »

    Friday September 19, 2014

    test test

    A week that tested my patience at times. Arrrrggg I would rather write blog posts in WordPress. Spell check is under view spell check. I crashed bugzilla. I dream in markdown.

    I just learned why my post are not showing up. I need to rename all my files to

    I like atomated testing best.

    These are the tests that I ran.
    [Testing FireFox default](
    [Testing FireFox Aurora](
    [Testing FireFox Beta](
    [FireFox Nightly](

    Using Multiple Types of Firefox

    By Tina

    18 Sep 2014 »


    To run different versions of Firefox at the same time takes some prior setup. I am going to assume first that you have the release version of firefox installed. To mean: you have (or should first) installed the version of firefox from

    Opening Firefox Profile Manager

    With firefox installed, yet not running, open up your terminal application.

    For MacOSX:

    /Applications/ --profile-manager

    For Windows/*nix systems:

    firefox --profile-manager

    In the profile manager: make 3 additional profiles and name them

    "aurora", "beta", and "nightly"

    Uncheck the box that says

    "Use the selected profile without asking at startup"

    Hopefully your profile manager window looks something like this.

    profile manager screenshot

    Downloading Other Firefoxes

    First let’s proceed to From here you want to download and then install the Aurora and Beta versions of Firefox.

    downloading aurora

    downloading beta

    Now go to and download and install the nightly version of Firefox.

    downloading nightly

    Running all Firefoxes

    If you correctly unchecked the ‘use selected profile at startup’ box in your Firefox profile manager, then when you run any version of Firefox the profile manager should pop up. If not, then see the section “Opening Firefox Profile Manager.” Now you want to select the appropriate profile for the version of Firefox you’re running.


    And that’s it! You can now open all 4 versions of Firefox at the same time! Feel free to claim your badge here!

    Test Automation

    By Lisa Hewus Fresh

    18 Sep 2014 »

    It’s raining today! I have really been looking forward to some weather and it’s finally here. Lots of people say I will regret wanting it but they haven’t lived where I have. This is a welcome change. Morning check-ins were great. It seems many people have been having vivid dreams. They are hilarious to listen to!

    Kronda is off at her conference where she is keynoting! We miss her but we have Sam here in her place and he’s pretty awesome as well. We started off going over our class agreements and everyone had a lot of input about how we could improve and add to them. It was very interesting to revisit this after nearly two weeks with the project. There were a lot of great modifications and additions. Some changes involved rephrasing and some were the addition of things we, as a group, hadn’t originally considered. This group task took us until about 11:00. After that I asked Sam for help with my seemingly endless Git issues. He showed me some amazing Vim commands and also showed me how to record my first macro. That made editing a lot faster. He also had me download GitX (the rowanj fork) which is a very handy Git GUI.

    At some point during all of this Git stuff I checked up on my bug report and didn’t really understand the comments. I showed it to Lukas and she explained that it was progressing and was nominated as a bug that should be fixed. She said that’s a good thing so I’m happy.

    It was lunch time so Sam and I took a break from his Git repair lesson so that we could eat. Lunch was delicious Thai food! There was the typical “being vegan” issue though. I didn’t get my food until everyone else and since everyone else can eat the regular food as well as the vegan food there was not much left of that. Oh well, I enjoyed what I had and there are more than enough snacks in this office so I will definitely never go hungry!

    After lunch we began the task of installing and running Mozmill. It’s an automated testing framework and a super cool thing about Mozmill is that it can be run against any official build of Firefox. It doesn’t require some special test enabled version.

    We were given some very basic instructions and some links to follow for more information but not a lot more. I think Lukas wanted us to do a lot more problem solving and figure out how to get it all going ourselves as much as possible. Some were ok with this and some were very frustrated and unsure about what to do but those who got it going were able to help those who were struggling and I think we all eventually got it running!

    When a testrun script is invoked it clones the remote test repository, automatically switches to the correct branch for the version of Firefox being tested, runs the tests and then sends the results to the Mozmill dashboard. It was so cool to see the automated tests running! Here are my test results.

    I pestered Sam again to help me finish fixing my Git repo because it was now in a partially fixed state but I had absolutely no idea how to proceed on my own. If he wasn’t coming back tomorrow I’d be fairly well screwed but luckily he had some time to help me get it done. He showed me how to pick a good point in the history of the remote Ascend repo so that I could cherry-pick my commits from that point forward and get them merged in without all of the extraneous crap I had managed to get in there. He had me delete my, very messy, open pull request first and then showed me how to make a branch called “scout” that would be where I wanted to begin pulling out individual commits. He showed me how to cherry-pick only the commits that I made and then had me make a “safe_point” branch so that I would be able to undo this if I made a mistake. I’m a little bit unclear on the next steps because the day was winding up but I believe I checked out my local gh-pages branch, pulled the remote ascend/gh-pages branch, did a git reset –hard ascend/gh-pages (Sam says this is VERY dangerous! And that he does it all the time), merged in my scout branch, and then did a git push -f to my remote repo. The -f forced the push since the two repositories were different. Once all of that was done I was then able to submit a much cleaner pull request with only my changes. Whew! This all took a bit longer than expected and was preventing Lukas from leaving but it’s fixed and I am thankful and relieved!

    I walked down to Collective Agency, a co-working space, where Andrew works a couple of days a week with some other Portland GSG employees. He usually would head home after lunch but has been staying there until I get done so we can go home together. I’m pretty sure I talked his ear off about my day.

    We got home, went across the street to check out Jason and Alice’s beautiful new marmoleum floor in their basement. Wayne picked a bunch of strawberries from our garden. It’s weird that we are still getting them. These are the same plants that have been there for a while and they sure didn’t produce this long last year.

    Strawberries and Wayne

    Andrew made me a tasty muddled strawberry and mint fizzy water.

    Fizzy Drink

    Today I learned SO many things! Git stuff, Vim stuff, Mozmill stuff, Why we can’t have nice things (utf-8, dates, and names), and MOOM! Definitely check out MOOM.

    Week Two How To

    By peri ahmadi

    18 Sep 2014 »

    Here goes another week at the Moz office and I’m getting better! This week was far less coding intensive and we concentrated a lot more on finding/testing bugs, running different versions of Firefox, troubleshooting problems with Firefox, and polishing up our public personas.

    In looking for bugs, one thing we did was run Moztrap tests. Moztrap is a site wherein people can test Mozilla products for bugs and performance issues. It helps keep users involved in Mozilla products and contributes to the whole open sourceness of Mozilla. We ended up running lots of Moztrap tests this week in search of bugs to file via Bugzilla.

    The first set of Moztrap tests we did was called One and Done and involved us testing a Mozilla video call program. The first step was to go to the runtests page at Moztrap. Once there, choose the type of machine you’re running. Then, select the version of Firefox you’re running. The current version out is 32. That means beta is 33, Aurora is 34, and Nightly is 35. The One and Done tests only exist for Aurora, so I used Aurora to test it. Then you just have to choose which test you want to do.

    Note: There are different tests for different versions of Firefox so just make sure you’re using the version that you’re testing.

    Alt text

    Then you have to enter you system info. To find the build, open a new tab in Firefox and type about:config into the url bar. This will take you to a search. Type “buildid” into the search and it will should you a few links with a long string of numbers attached. That number string is the build.

    Alt text

    To get software info on a Mac, click the Apple icon in the top left corner. From there scroll to “About This Mac,” followed by “More Info.” At the bottom of the list It will tell you what OS you are running. For me this is OS X 10.9.4.

    Alt text

    Alt text

    When you finish filling out all of this info, you can click the green “Run tests” button and go to the next page to find the tests they want you to run. Choose the test, click on it, and follow the instructions. If the test works out, click “Passed.” If it fails, there are two options; “Invalid,” or “Blocked.” Selecting “Invalid” is appropriate when the test was invalid or the rules were unclear or wrong, preventing the test from running properly. “Blocked” is an appropriate response when the test just straight up fails. With both of the latter options, there is a box in which the tester can explain circumstances which were strange or led to the failure of the test, or the failure to properly follow the steps to completing the test.

    Alt text

    And voila! You’ve just successfully run Moztrap tests. Here’s your badge!


    By Carmen Cordis

    18 Sep 2014 »

    Our Week Two goals for Ascend include writing an instructive guide to help new contributors on their journey through Open Source learning.

    Because Open Source is open, there’s so much to learn, and there are so many resources to help people learn. During Ascend, we’ve all been choosing topics to turn into teaching moments. These tutorials will be readily available for anyone who is starting fresh or who wants a refresher.

    As part of my own learning process, I am going to learn how to embed images into a blog post using Markdown format. Screenshots are great for visual learners.

    I pondered for quite some time about possible topics for my tutorial, and it’s become clear to me that modern technology allows teams of people to work on the same projects and contribute to each other’s work.

    My tutorial will focus on how one person can use the Git interface to contribute their own independent work to an entire team’s main project. It will be at the basic level, because I am still learning things, but I hope it helps.

    The first step to using Git to contribute to your team is to understand some vocabulary!

    What is Git? Here’s a picture directly from the source, :

    alt text

    alt text

    Programmers (and people who use computers) make changes to files all the time. When people work together, they’re all making changes to files, and then those files will be combined into the team’s project. Git is a system designed to help people be more aware of how each team member changes the files.

    “Version control” means tracking the changes made to a file or set of files over time.

    It’s important for programmers to be able to keep track of which version of a program they’re using, what the features or files looked like in older versions, and making sure the proper changes are added to newer versions.

    We call this “version control” because the Git system helps to ensure accuracy when making changes to files, and we can also reverse any unwanted changes by using the right techniques in Git.

    People who use Git to track changes to files can store their team projects and their own independent work on a resource website called GitHub.

    Here’s a picture from GitHub:

    alt text

    GitHub has been such a useful tool for our work in Ascend!

    A repository is a collection of files which has been made available on the GitHub site. One person or team creates the repository of files, and other people around the world can read these files, import them onto their own computers, and suggest changes for the original author or team to review and approve.

    A repository will sometimes be called a repo, for short. We’ve certainly used this term a lot!

    GitHub works in the following way:

    • Contributors to the main repo will get the files on their own machines and make changes that improve the collection of files.

    • Contributors will then need to finalize their changes through the Git process. This includes adding individual changes to the “stage” of changes, kind of like an audition. Then, when you’re absolutely sure the changes are playing the role you want them to, you can commit those changes to be final. Afterwards, contributors should update their own version of the main repo by “pushing” the committed changes to GitHub. Doing so will update their repo version.

    • The next step is to submit a “Pull Request” via the GitHub site. A pull request is saying, “Project leaders, will you please pull my new files over to your main file collection and include my changes in the main file collection?” The project leaders will then merge the new files with the older ones.

    Version control is really useful because we can actually reverse the process of deleting files if we deleted them by accident!

    I spoke with K about how she accidentally lost some picture files from her local computer, and it was frustrating to try to figure how to get them back. It turns out that her GitHub repo still had the files saved, and she got them back by retrieving them from GitHub! Yay!

    I wanted to help myself and others remember the basic format for making changes with Git and GitHub. It’s very basic, and there are many resources to help online but here’s a Git Song I wrote, set to the tune of the popular “12 Days of Christmas” song.

    It’s in reverse order, but it kind of follows the song, and Step 8 is like “Five Golden Rings”.

    The Twelve Steps of Git

    When we learned to use GitHub, our teachers said to me: Make a pull request to send files up the tree!

    When we learned to use GitHub, our teachers said to me:

    1) Fork your own Repo,

    alt text

    “Forking” means copying a repository of files to your personal GitHub account.

    2) git checkout your branches,

    alt text

    This is a command I typed into my Terminal, which you can find on a Mac by typing Command-Space and writing “Terminal”.

    Using “git checkout” will make a new branch of files for you to work with. Making a new branch means you can make your changes as you like, without altering the main team’s files. If something happens that you don’t want to save, it doesn’t have to risk your team’s files, because it’s on a different branch. I’m still learning about how to merge branches.

    3) Edit your files,

    My text editor is Sublime Text. Most of us downloaded it in Ascend. When you open a file here and write in it, you are editing the code!

    4) git add to the stage,

    alt text

    Typing “git add .” with a period at the end (as shown) will tell Git to track all the changed files in your current directory! That means that all the changes you have made (like additions and deletions) are just a step away from being committed as final!

    5) Review your git status,

    alt text

    As you work with Git, “git status” will be your good friend! Lisa taught me that it’s important to check your git status often, to make sure that you’re only going to commit the changes you want, and to make sure that committed files have made it past the stage to the final production. As you type various commands, git status will be your road-map for what you’re doing.

    6) git commit the changes,

    Typing “git commit” will finalize your staged changes, making them ready to be sent on to GitHub!

    7) Write a comment for your team,

    alt text

    Using the format of git commit -m “comment” will tell your project leaders why you made your commit.

    8) Push to your fork!

    A great way to figure out where your files can go is to type “git remote -v” into your Terminal. This will show you the symbolic name for your team’s main repo, as well as the symbolic name for your independent working version.

    The format for pushing your modified files to your own working repo is as follows, without parentheses:

    git push (repo name) (branch name)

    For instance, “git push fruits orange” would push all the modified files in the orange branch into the fruits repo. As I’m working on my own independent copy of the fruits repo, I can update my repo by pushing my changes on the orange branch into my GitHub profile’s repo, fruits.

    9) Log into GitHub,

    10) Go to your profile,

    You can click your own username to visit your profile page!

    11) Find the team repo,

    alt text

    Click the team repo to view its files!

    12) Make a pull request to send files up the tree!

    When you’re looking at your forked copy of the team repo on GitHub, there’s a category button off to the right side of your screen:

    alt text

    When you click that category, you’ll see a button for creating a pull request!

    alt text

    You can also write comments to talk about your changes and how they can be included in the team’s files.

    Again, these are basic steps, and the more in-depth tutorials online will provide extra details about troubleshooting. I hope this framework helps!

    Second Week

    18 Sep 2014 »

    Second Week: The Ups and Downs

    The problem with writing these posts on Fridays is that the weeks are so jam packed, I can never remember what Monday was like by the time Friday rolls around.

    The first sign that this week was a much more jam packed one is the minimal amount of crocheting I got done. Since I am here to learn and not to crochet, that is a good thing. This week we spent some more time with git, the command line, testing (both manual and automated) and reporting bugs.

    You can see an example of a automatic test bug report, you can see one here.

    In other news, I also wrote a tutorial on creating multiple profiles for Firefox here

    Firefox Profile Tutorial

    18 Sep 2014 »

    Firefox profiles: What, Why and How

    This tutorial will explain what a Firefox profile is, why one might want one and how to set one (or several) up.

    What is a profile and why do I need one?

    A profile allow Firefox to save your customized settings and data, such as, bookmarks, passwords and user preferences. You can set up as many profiles as you like, each with its own set of customized settings. You can create, remove, switch and rename your profiles using the Profile Manager.

    Profile Manager

    To open the Profile Manager your first want to be sure that all instances of Firefox are closed.

    Once you have done that, please do the following: 1. Open the Terminal (either click Command+Spacebar to open Spotlight and type in Terminal or using the Finder, go to Applications/Utilities/Terminal) 2. Type or paste the following text into Terminal: /Applications/ -p 3. Press enter.

    Creating a Profile

    Once you click Enter in the step above, Firefox will open a box that looks like this: *Click “Create Profile” and you will see the following message pop up: *Click continue and you will see this: Feel free to name the profile anything you like.

    Renaming a Profile

    If you want to rename one of your profiles, just click on the Rename Profile button and your will see this:

    Deleting a Profile

    If you want to delete a profile, click the Delete Profile button and you will see the following warning:

    Other Options

    You will see two additional check box options on this screen:

    *Work Offline - This will load the profile you select and starts an instance of Firefox without actually connecting to the internet. You will only be able to view cached webpages that you have visited previously. C

    *Use the selected profile without asking on startup - This is a good option if you only have one profile, but not if you have multiple profiles set up.

    If you do select this option and want to access another profile, you will need to reopen the Profile Manager, following the above instructions.

    Completed this tutorial? Then claim your badge here

    You can read more about Firefox profiles

    Wednesday is take the Garbage to the Curb Day

    17 Sep 2014 »

    Wednesday is take the Garbage to the Curb Day

    I figured ways to deal with frustration. :truck:
    1. note to self to wheel the carts to the curb when I get home
    2. Reminder of steps to take when running moztrap
    *got to
    * get build info by typing about:buildconfig in browser
    *remember to have a playful approach and break things. 
    ###Tomorrow is another day and command f helps find things 

    Guide to Customizing Atom

    By David

    17 Sep 2014 »

    What is Atom?

    Atom is a Text Editor very similar to Sublime Text but is open source, so its 100% free and mod-able. Atom has Themes and Packages that can be downloaded and installed to allow you customize your user experience.

    Installing Packages

    Packages are code additions made specifically for atom that increase functionality within the Editor, these can range from Project Managers to Color Pickers for CSS work and much more.

    You can browse packages on the Atom website, as well as search for them with in the Atom client.

    • So if you have not already, go and download and install Atom.
    • Open Atom, and open the preferences menu (Atom -> Preferences)
    • Open the Packages tab located on the left.


    • Find the Package you are looking for and click the blue install button underneath it.

    Installing Themes

    Themes are visual changes to the user interface, they can range from changes to locations of buttons, fonts or color changes, or a change to the chrome of the program itself.

    You can browse themes on the Atom website, as well as search for them with in the Atom client.

    • Open Atom, and open the preferences menu (Atom -> Preferences)
    • Open the Themes tab located on the left.
    • Find the Theme you’re looking for and click the blue install button.

    themes tab

    • Above the search bar there are 2 drop down lists, one is the UI theme, the other is the Syntax theme. Your downloaded theme will have components in these drop down lists. Select them and your Atom will load your theme.

    themes menu

    If you completed these steps then you’ve earned yourself this badge!

    Working in the (Moz)Mill

    By Candida Haynes

    17 Sep 2014 »

    Here are the results of my first Mozmill test, which I used to determine what was working and not working in a Firefox Nightly browser:

    I used tiny.url to personalize the link and make it easier to read. The link looked like this at first:

    This was my first experience with automating anything from the command line. I had an easier time keeping up and completing the process than I’d experienced with GIthub and navigating on a new Mac, but honestly, I do not remember much about running the test. What was most compelling was how amazing it felt to realize that I had brought a browser to life as part of the process.

    If I do not get to use Mozmill it during the process of fixing my bug(s), I look forward to revisiting it when I need to reminisce, nerd-out or level up for a testing project. I am confident that I can do it again - even if something in the process changes - which is what matters.

    Mozmill Tutorial

    By Lisa Hewus Fresh

    17 Sep 2014 »

    Mozmill is an automated testing framework. If you have run any Moztrap tests you were doing those manually. This is a way to have the computer do many of those tests automatically for you. We still need human testers though! We can figure out all sorts of creative ways to break things but the computer can only test things in the way it was programmed.

    This tutorial is compatible with Mac OS X 10.9 running Python 2.7

    Installing Mozmill

    If you have pip installed simply run “sudo pip install mozmill” and enter your password.


    Otherwise run the following commands in order making sure each step completes with no errors:

    curl -O


    sudo python (requires your password)
    easy_install pip
    pip install mozmill


    Now test to make sure Mozmill has been installed properly by typing - mozmill –v

    This should show you the version number and means you have mozmill installed properly.


    Clone Test Suite and Automation

    Navigate to the directory where you would like to clone the following repositories (/projects, /sites, etc.)
    Clone the test suite repository by typing: git clone
    Clone the automation repository by typing: git clone

    Set Up Automation

    Change directories into mozmill-automation - cd mozmill-automation
    Checkout the hotfix-2.0 branch - git checkout hotfix-2.0
    Run sudo python develop


    Now if you type testrun_ and tab twice you should see all of the testrun commands available


    Run Automated Functional Tests

    Now you are finally ready to run your automated tests! You will need to know the path to the version of Firefox you want to test. The –report portion of the command is the location of the Mozilla dashboard where the results will be sent. The example path may not be where your version is located.

    Run the following command with your path and then the test suite will launch.

    testrun_functional –report= %path_to_firefox% (on Mac to .app)


    This will take a bit of time but be patient. Take a break or sit and watch in amazement.


    When testing has completed you will be given a URL with a unique ID at the end.


    To view your report, put your unique ID at the end of this user-friendly URL (e.g. ) *this link works for testrun_functional runs.

    To claim your badge for this tutorial PM me in #ascend with your unique ID and I will award it to you.

    Tutorial based on instructions via this Mozilla webpage.

    how to moztrap

    By Barbara Miller

    17 Sep 2014 »

    finding and running MozTrap tests for the Firefox web browser

    MozTrap home

    on your mark

    1. Go to
    2. Sign in with your Persona account (it’s a small text link towards the right).
    3. Click Run Tests.

    get set: find a test suite to run

    finding a MozTrap test suite to run

    1. On the next page, select from Products “Desktop Firefox”.
    2. Select from Versions the version you will test… Nightly will be latest, at the end of the list (35 as of 2014-09-17), preceded by Aurora (currently 34), preceded by Beta (currently 33), preceded by the current release (currently 32).
    3. Select from Runs a test to run. (Sometimes, there’ll be no tests listed, when no tests are set up for the version you’ve selected. Return to step 5 to choose another version to test).
    4. Set your Build value. You can find this by opening about:config in a new tab or window (be sure to do this in the Firefox version you are testing, which may or may not be the version where you’re using MozTrap). You’ll probably see a warning: “This might void your warranty!”; click “I’ll be careful, I promise!” Now search for “buildid”. You’ll see several items that have the same value, beginning with the current year. Double click any of those items to open an edit window, then copy the Build value. Click “Cancel” to close the edit window. Return to your MozTrap window, and paste the Build value in its box.
    5. Set your Operating System (for us Portland Ascenders, OS X 10.9, or OS X 10.8 if 10.9 is missing) and Platform (OS X) from the dropdown menus.
    6. Click the green “run tests in …” button.

    go! run a test

    run a MozTrap test

    1. On the next page, in the list of tests available in your selection, click the little arrow button at the left end of a test line to show its detailed steps.
    2. For each step in a test, you can report a failure with the pink button to the left. Reporting a failed step marks the whole test as failed.
    3. If the test overall is unclear or otherwise invalid, you can report this using the yellow warning button.
    4. If all the steps pass, click on the green PASS TEST button.
    5. If there are additional tests in the test suite, you can start again from step 1.

    need help?

    Check #qa on irc, at

    get a badge!


    claim the MozTrapper badge

    Bug Hunting

    By Lisa Hewus Fresh

    17 Sep 2014 »

    After our morning check-in we went over some housekeeping type things such as setting our default Firefox to re-open our last tabs, how Github handles new pull requests when a person already has one open and that losing work sometimes is pretty much inevitable.

    Kronda talked about culture fit and hiring practices and showed us an example of a blog post by a woman here at a local tech incubator that was really frustrating to read. I really appreciated her bringing this up so we can all be aware of it when researching job opportunities.

    We took a short break and then had some guest speakers. Gregg Lind and the others spoke about how they came to be at Mozilla and gave us some great tips on the many ways we can contribute to Mozilla. They also made it clear that we don’t have to know all of the terminology in order to file bug reports. It is perfectly fine to word things with the terminology we are familiar with.

    After their wonderful talk we paired up to work with those who hadn’t filed a bug report yet. Lukas gave us some tips on searching for bugs. There are bugs tagged steps-wanted that seem like a great place to find bugs to reproduce and then document. My partner found a great bug and it turned out hers was related to mine so that was interesting.

    We all got to head outside again for lunch. Today I skipped the bathroom and walked to the food trucks with everyone else. I headed for The Dump Truck and got some amazing potato curry dumplings with a vegan coconut yogurt sauce. Yum!

    After lunch everyone set up jekyll (a web server) on their local machine so they can see their blog posts locally before they push them up to Github. It’s nice to be able to do this so we can check our formatting before we submit a pull request. I had done this yesterday so I started my blog.

    Kronda discussed how we can contribute to the Ascend pages. We are able to file bug reports and patches and submit suggestions regarding how we think the web page might look better. I am the worst at any kind of design stuff so I don’t think I will be jumping on that one. Lukas talked about Git blame and diff and how our commit messages are kept in our history and are visible to all. That means it’s always a great idea to be careful about what we say and to really try and be clear in what we write. We then had a scavenger hunt to find the date Lukas was added to the Mozilla contributor’s page. Finding the answer is an exercise for the reader.

    At the end of the day we all just worked on any unfinished tasks. I was caught up so I took the time to fix my background color issue in Vim. I poked around and looked through my vimrc, commented things out and added other stuff based on suggestions I searched for but ultimately I had to ask Andrew and of course he had no trouble finding the answer and now it looks SO much better! I can actually read the text.

    Check-outs went pretty quickly. I think we were all very ready to go home. I grabbed a couple of carrots from the fridge to eat on my walk to the Max. It apparently had lightly sprinkled so we were finally getting some weather! As I was walking, an elderly English couple with a young girl stopped me and asked if I knew where Everett was and that they were looking for “an ice cream shop. Ben and Jerry’s it’s called.” I started to reply but the woman spoke up and said to the man that I might not know where it was since I was eating a carrot. Uh…..ok. I gave them directions and then told them I hoped they could find some carrot ice cream when they got there.

    As I was riding the Max home, Alena messaged to see if we wanted to meet for dinner because she was picking up her (and Andrew’s) mom from the airport. I said it sounded great so we all ended up at a fairly decent Ethiopian place on Broadway. I don’t know how much solid food baby Anya has had but she sure loved all of the injera I was feeding her.

    Today I learned how to reproduce and document a bug.


    By peri ahmadi

    17 Sep 2014 »

    Feelin like a Dalek up in here.

    I can’t believe we’re a third of the way through this program. It’s going so fast! I don’t know if I’ll be able to cram as much info into my noggin as I want to in the next month. But doggonnit I’ll try my darndest (note: this is carefully the opposite of the language I use when dealing with my computer). I’m getting better with Git! And terminal! And I even started on some Python on my own!

    This week was fun, albeit a little slower than last week. We concentrated on finding and filing bugs, polishing up previously completed work, and testing firefox products through various means. However, when we did get down to nitty gritty code work, it was fun! After spending the beginning of week running Moztrap tests (see tutorial), we learned how to write automation code to get the computer to run tests for us. This was a headache of a task but once we figured it out, we just let the computers do their things as they opened and closed browser windows and checked tabs and what-not. When our big automated test was finished running, we got a blargon link full of puter jibberish and put it in a more reader-friendly form here.

    I filed my first bug in Bugzilla this week! I was using Firefox Nightly and noticed that dragging tabs was broken. I filed that baby and it’s being tracked. I’m all caught up (or rather will be after I finish these blog posts) so I’m feelin fine. I had a really good week overall. Workwise, I kept up with the class and with my assignment list. Personalwise I kept my life in order. I got to see a couple friends during the week, kept my apartment clean (miracle!), and managed to get a bunch of other things crossed off of my endless to-do list. I also got to spend more time with my cohort here at Ascend and get to know some of the folks a little better. There are some decent, interesting people here. I still feel so lucky to be a part of this. In fact, on the bus this morning were two others from the cohort (Yenni and Virgina) and we were all talking about how we can’t believe we got into this. 2 weeks in and I’m already ages ahead of where I was before I heard of Ascend, technologically speaking.

    Alas, I feel I’m writing too much and I still need to tackle figuring out how to do screen capture vids in VLC, which is a little project I made for myself because I guess I don’t have enough work to do right now /s.

    Never Enough Cooks in the Kitchen

    By Lisa Hewus Fresh

    16 Sep 2014 »

    Today was a darned good day! Check-ins were mostly positive for everyone except for Kronda. She was having a bit of a bad day but it’s nice to know so we could give her some space. She still managed to help me through a frustrating Git issue even though she wasn’t in the best mood. Our morning seemed packed with much discussion. Lukas had us debrief about the Monday All Hands meeting and there were many questions which led to a lot of discussion back and forth.

    After the debrief the three students who sat in on the SUMO meeting the previous day gave a presentation about what they had learned. It was an interesting talk and they seemed really excited about it. I was a bit distracted thinking about my Git problem and how I might solve it. I ended up having to do some conflict resolution and some file merges but still had other issues.

    We took a very fast break before our 11am meeting with Dino, Debbie and Hope but I stayed and bugged Kronda for her help. She got me on the right track and that was a relief! Dino went over some of the wonderful benefits we get to participate in simply due to the fact that we are Mozillians. I really had no idea such things would be offered to anyone who wasn’t a paid employee. We are able to have one year of access to Safari Books and Rosetta Stone. There is an employee assistance program available for those who have various personal issues or need health, legal, financial advice, counseling etc. We will have coaches available for improving confidence, body language and interviewing skills. We will be able to have one-on-one help polishing our resumes. It boggles my mind that they are willing to do all of this for us. I am definitely going to take advantage of several of these things.

    11:45 rolled around and it was time for lunch. Lukas gave us each a $30 prepaid Visa card so that we could leave the office and go buy our own lunch a few times. Food carts were the plan for those that didn’t mind walking just a bit. I was SO looking forward to having my favorite Kargi Go Go but they are closed this entire week! I ducked into the bathroom before we were heading out but when I came out everyone was gone so I just went off by myself and ended up at Petunias Pies and Pastries. I had the most delicious vegetable pot pie at a little table outside on the sidewalk. I headed back to the office and a few others had already returned. We chatted for a while before it was time to get back to work.

    Lukas showed us about:about and went over several of the categories. She was showing us about:nope but it’s part of the Whimsy add-on and none of us had that so we spent a few minutes getting that going just because it’s funny. She also did a presentation on the release process for the four versions of Firefox and that was really interesting.

    We moved on to Moztrap where we were able to perform some tasks and either pass their test or mark it as an issue and file a bug report. Most of us really enjoyed this because we basically got to do all of the crap we normally do as a user like Facebook, Twitter, games, etc. All of my tests seemed to work fine in Aurora but this did not help get me closer to filing a bug report which is great for Firefox (no bugs found) but crappy for me (no bugs found).

    I was done with my testing and the day was winding down but I remembered how cool the new Developer Tools were after seeing a demo of them at OSCON and wanted to mess with them a bit. As luck would have it, this led me to my first bug report in the nightly version. The Dev Tools console doesn’t stay active when loading a website from a new tab.

    Yenni headed home with me so she could join us for dinner night. Alice was already at my house working with Wayne to prepare the huge bounty of spaghetti squash we had in the back yard. She had been saving the seeds from the squash but wasn’t sure if they could be roasted. Yenni said they absolutely could and that she would be happy to make them. They turned out to be amazing. As people showed up for dinner night they would try some and then couldn’t stop eating them. We were making a gluten free meal and I was tasked with making a piccata sauce but wasn’t sure how to thicken it without flour. Yenni to the rescue again. She took over the sauce which she had never made before and it was wonderful as well. I don’t like cooking so it was really nice that she likes working in other people’s kitchens!

    We had a pretty good turnout for dinner night. Glenn from across the street had eaten but came to socialize, Taylor and Delaney, Alice, Jason, and Ladybug, Miri, Dale, and Pennyloafer, Spencer and John, Yenni, Sarah from around the corner and then the five of us.

    Today I learned that a tattoo pen can be made with parts from a train set, the motor from an e-z bake mixer and a guitar string.

    Our Second Week Begins

    By Lisa Hewus Fresh

    15 Sep 2014 »

    Monday morning rolled around pretty early. I think mostly because I was nervous about riding my bike to class with Kronda. Andrew checked it out for me yesterday and it checked out fine. I got my backpack all ready to go and off we went. Kronda guided us through our fairly quiet neighborhood. We meandered past beach school and up over the Going Street Bridge, down through the other half of Overlook and on to Interstate. So far it was pretty easy. We were able to fly down Interstate and make the light which was nice then we headed for the Broadway Bridge. There was a bit of a long incline and my legs were not thrilled. I just kept pedaling though and made it! Once we got over the Bridge and onto Broadway the rest was a breeze. It was so much easier and nicer than I had imagined.

    We hung up our bikes and I greeted my classmates. Before I knew it class was starting. We did our check-ins and it seems as though most everyone had a relaxing weekend although a few had a rougher time of things. We got busy going over tasks that we may not have completed from last week. There was an entirely new naming convention for our blog files but I wasn’t aware of this until I had already renamed mine to one that I thought was better than what I had started with. Oh well, more practice right? I worked on that task but did a lot of helping my desk mates too so it ended up actually being pretty slow going.

    The Monday All Hands meeting began and a Mozillian asked that everyone please fill out a survey regarding a new Mozilla logo so I did that and listened to the rest of the meeting. I love that we get to be a part of that. We headed back to our desks and worked a bit more on tasks and then it was time for lunch. We had delicious falafel sandwiches. After lunch we were split up into two groups (I thought). People all caught up on tasks and those who needed more time and help. Those who were all caught up were able to move to one desk area and work on some QA testing via the One and Done portal and Moztrap. Our tasks involved testing video calling in the Firefox Aurora browser. It was interesting to learn about how this works and it was fun to call each other but then the call notification sound got a little old.

    Once we completed the tests we were booted from the room for a mandatory ten minute break. I took my laptop with me but ended up talking with another student instead. I’m liking everyone more and more each day. After the break, those of us who finished the testing were to teach the others who were still working on prior tasks. I worked with Yenni and she did a great job even though she was running on very little sleep. Some of the other students apparently went into a meeting about SUMO but I completely missed that this happened and have no idea how they were able to get in on that. Maybe we will hear more about it tomorrow.

    I got my files all named the way I wanted and in the proper directories so worked on getting them pushed to my repo so I could submit a pull request. I thought I had a pretty good handle on what I was doing but then I got some error I wasn’t familiar with which isn’t surprising at all since Git does a crap ton of stuff and I know maybe 1% of it. I spent some time researching the error. One of our class mates filed his first bug report! That was really cool and he was able to present to the class about it. The day was going to end early so we did check outs around 4pm. Most everyone seemed to have a really good day and seemed really pleased with all they learned. The majority of the class opted to leave early but I was perplexed by this Git error so I asked Kronda. She looked at it with me and then we were both perplexed until Lukas explained how Github handles new pull requests when a person has one that hasn’t been merged. Ooooooooh-kay now the error made sense. I could have done without the yak shaving but I did learn something so it almost made it worth it I suppose.

    Well now it was time to ride home. I was so pleased with how well it went getting to school that I didn’t give the ride home much thought. That was a bad idea because I seriously thought I was going to die riding up to the Broadway Bridge and then up the first half. It sure doesn’t look like much from a car but let me tell you, my legs were dying. Kronda didn’t really look back at me much but knew exactly where I was the entire time and also knew, somehow, that I needed a break once we got to the plateau on the bridge. I was SO thankful! My legs were pretty pissed off at me and were definitely cramping. Once they calmed down we were on our way again. Instead of returning up Interstate we went up Williams and then cut across Beech. This was purely so I could avoid a (to me) giant hill! Lukas, who left after us, caught up to us at this point. She said she was wondering why all the bikes were slowing down and then recognized Kronda’s outfit so yeah I would be the reason for the slowness. It was my first time though and I was using muscles I didn’t even know I had so I think slow was justified. Sorry fast people.

    We zig-zagged on some quiet back streets and then parted ways at Interstate and Killingsworth. I made it home and was DONE but super proud of myself for doing it and also for not dying. Go me! Jason says I should ride every day now but screw that. I’m resting my legs tomorrow for sure.

    Alice had messaged me earlier letting me know that she had harvested a ton of basil. She wanted to come over and make pesto and watch a movie after dinner. She brought over what basil she had and then we harvested ours and the basil from another neighbor. I stripped the leaves while she ran home to clean her dehydrator. She was bringing it over along with a bunch of cherry tomatoes so they could be dried. Once she showed up I decided I’d had enough of the basil stripping and would rather sit and slice the tomatoes because, you know, I didn’t get to mess with enough tomatoes the day before. Anyway, I managed to get approximately one million of them sliced while she and Wayne made dinner. We talked about ridiculous stuff and laughed a lot while doing all of this. I really love our neighbors.

    Dinner was fantastic but it wasn’t ready to eat until about 21:30 mostly due to all of the talking and laughing. Our poor children! Their chore is to clean up after we do all of the cooking and eat so It was a very late night for them. I wish I could say this is a rare occurrence but we have always been late eaters. We all decided it was too late for a movie at this point so Alice and Jason went home. I’d say today was a pretty great day.

    Today I learned that Github just adds any new pull requests in with any that are still pending. This was annoying to me initially but now that I understand how it works it does make sense, especially to the person handling the merges.

    Git Comands

    By Mary Anne Thygesen

    15 Sep 2014 »

    Git Computer Commands

    A list that I wrote for myself to remember the order of git commands to be executed in a terminal

    window. In others words what do I type first, then second.

    git comes first. It is git something not something git.

    Open a terminal window. CD to the folder you want to be in.

    git init

    git clone

    git status (I have found it a good idea to type git status after every git comand.)

    git add

    git log

    git remote

    git push

    git checkout

    git pull

    What the commands are and do can be looked up on github.

    ascend comands

    git pull ascend gh-pages

    git push origin gh-pages

    First Week Recap

    By David

    15 Sep 2014 »

    Man did we have a week, a lot of git hub stuff has been thrown around and it’s been confusing for many people. I’ve been glad I could get help. Personally it hasn’t been to hard on me, I knew most of the github stuff that we’ve doing so i could actually help the others around me which has felt nice. This last day we had a maker party where we would have to make a thing on and well it didn’t quite go to plan to be honest.

    This is what I first made as I panicked

    Well, its a thing… that’s for sure.

    But after I thought about it I began to think about what I taught my self when i was younger, I tried my hand a graphic design and i thought about making a resource for myself and others.

    This is what I made before time was up.

    First week

    15 Sep 2014 »

    My first week

    My first week was very frustrating. I made it through it is becomming clearer. It is very exciting. I can’t wait to see what next week brings. Soon to find out.

    I finshed editing a page. I was surprised and pleased with it. []: this is the link to my work on webmaker

    How I Got Over - The Catch-Up*

    By Candida Haynes

    15 Sep 2014 »

    This is how I travelled from open source failure to contribution at the Ascend Project. Go libre!

    *There is some explicit language in the audio of this link. Sometimes, that’s just art and life.


    By peri ahmadi

    15 Sep 2014 »

    AAAAAHHHHHH!! I guess I’m in the appropriate frame of my for a beginner programmer (I hope?). This week was a rollercoaster ride of headaches and emotions. After I got over my initial bout with self-doubt, I put in a good couple days worth of work and thought, “I’m totally competent and capable and I can get through this.” But then we had our first day of solid programming work (learning terminal commands, git, and github) and I was lost. I had no mental framework for all of this vocabulary I was learning and I couldn’t quite map the computer in my mind in order to visualise what my commands were doing. I went home that day not feeling so great but still thinking, “baby steps.”

    So the next day we’re putting the previous day’s work into practice and I remembered (almost) everything I needed to know to create content, locate it in terminal, add, commmit, and push it into the github repo. I also managed to help a couple other people out with their projects. I got home feeling great again–soooo confident. What was I even doubting myself for?

    …And I got home to an email from Kronda about how I needed to change the file and repush. ARRRGHHH! I dreamt about terminal commands, and in my dream I figured out exactly what I needed to do so I thought, “No big deal. I’ll go in and have it finished in 5 minutes.” Wrong. Amyhoo…8 hrs later and with significant help of a few others, I finally got it! The plus side to that ordeal was it forced me to really learn the stuff we’d done up to this point, and then some. This was probably my most productive and learning intensive workday so far. In the end, I’m actually glad I had that problem because I work best when problem-solving.

    All in all it was a good week of solid productive work and I feel like I really am beginning to get a grasp on this. I did a few pulls from the gh repo. I started my first blog, and I got to make an awesome gif from my fav movie about ‘puters’. I’m glad the people here are so helpful, understanding, and generally awesome. Oh and they’ve been feeding us really well. I think I’ve put on my freshman 5 already.

    Goals for next week:

    1. Get a pull request merged without a hitch
    2. Hit the gym and go for a couple runs
    3. Keep up with the class

    First Week

    15 Sep 2014 »

    Titles are the Hardest Part

    There were a couple of concerns I had coming into my first week as a member of the Ascend project. The first was that I wasn’t quite sure what I had signed up for and the second was that I would be working a 7-day workweek, with 5 of the days being 9-5. As someone who relies on an almost daily nap to make it through the day, that was enough to induce some real anxiety.

    However, it turns out that my fears were somewhat unfounded. Even though I have been pretty wiped at the end of every day, the bike ride home has been giving me a bit of a second wind. That alone suprised me because the ride home is pretty much entirely uphill, but I guess that little bit of exercise is enough of a wakeup that I do not arrive home in need of a nap.

    The other tool I added into my toolbox this weekend was that I started using my SAD light. I probably should have started using it sooner, but I have a tendency to put it off every year. You would think that 20+ years of annual usage would convince me that it does make a difference. Especially since I feel the difference after only a day or two of usage.

    To make a short story long (as my best friend likes to say), I seem to have my energy-management under control.

    My other concern remains. We do come in to a daily agenda, but I not sure where all of this is leading. I understand that this is a pilot program and the organizer/co-teacher is playing along with us, but I do wish we had a better idea of the plan for the week, even if we don’t know the plan for the full 6 weeks. But, we are only on the first day of the second week, so who knows where we go from here.

    Week 1

    By Becky

    15 Sep 2014 »

    Sept 12, 2014

    I don’t have enough time to blog!

    I did my project and accidentally deleted it…..had to rush through the 2nd time so next time will be better. Yay learning!

    Sept 15, 2014

    Take 2!

    I was going to make my first better project since there are so many things I messed up while rushing through it….but I kind of like the idea of having it to compare later. It’s a good way to jump in to making mistakes publicly.

    So the first week of Ascend was challenging in every way. But mostly in the good ways. Meeting 20 new people has it’s own challenges but after a week of working and growing together those anxieties have subsided. Everyone is starting from different levels and it has been very useful to turn to each other for help.

    We are becoming acclimated to public speaking whether we would like to or not :) Lots of mini presentations. I have really appreciated that it has been in groups it makes it a little more bearable. We have been introduced to vim and git. I still feel pretty lost but with each pull request it is slowly seeping into my brain.

    In general the class has been a perfect setting to learn! I don’t think I’ve ever felt as comfortable asking questions in a group or being ok with not understanding right away as I do in our class. They have gone to great length in creating a fun safe learning place and I’m so excited to be a part of it!

    First Week of Ascend

    By Jessica Canepa

    15 Sep 2014 »

    A whirlwind of account set up, supportive learning agreements and command-line tools

    This week we did a lot of set up, account configuration and learned the basics of working with:

    • Terminal
    • IRC
    • Git & GitHub
    • VIM
    • Bash shortcuts
    • Markdown (Git flavored)

    We started the week by laying down class agreements, attendance expectations, and assessing our strengths and how we can use them to support our learning. Overall I was delighted by the thoughtfulness and excitement of our first day. Initially, I was disappointed we didn’t dive right into more technical topics but by the end of the day I felt relieved that establishing a supportive learning environment was treated so seriously.

    On the second day we claimed a strength for ourselves and for the benefit of our cohort. I enjoyed reflecting on the contributions I could make to our group beyond code. After reviewing my strengths test results I claimed the strength of learning and told my comrades they could count on me to encourage and support their learning. I hope this blog will help others as they learn to code or learn to teach coding (two different skills!).

    Image of Learning SuperPower

    I had prearranged to miss some class midweek and I was feeling nervous about catching up but I think I was able to with some one-on-one help and helpful notes. Although every now and then I come across a bash shortcut I didn’t set up or something else I am still not grasping and I ask myself “Did I miss something?” It’s a good thing I am learning to be more comfortable with confusion.

    I am surprised by how conceptual much of our learning has been so far. For instance, how Git works is so much more than learning the commands in the Terminal. The pacing of new material sometimes feel slow (even if I am not caught up) but there’s so much to learn in using Git and Vim that I feel like we could spend 6 weeks on just learning the ins and outs of these programs. Git Immersion is a helpful tutorial we used for setting up Git in the Terminal.

    Here’s a diagram I recreated from class on how GitHub works:

    Image of GitHub Diagram

    By the end the week we held a Maker Party, where we presented on different Web Literacy topics and then made a web page, GIF, etc. for the web using Web Maker tools. I learned more about privacy, the filter bubble and Net Neutrality to name a few topics.

    Web Maker has lots of resources and tools to teach web literacy. I am excited about using this site as a learning resource and I’d like to organize a Maker Party at some point. Here’s a clip I edited from my favorite Russian animated film “The Hedgehog in the Fog” using Web Maker’s Popcorn Maker. The clip I edited reminds me that curiousity and confusion can lead to meaningful learning but sometimes the process is uncomfortable.

    I am looking forward to exploring more of the unknown next week! Bring on the confusion!

    First Week

    12 Sep 2014 »


    Everyone showed up! We started strong on Monday morning with all 20 of the participants, Kronda, myself, Debbie, and Dino and we got to work first by drafting a final version of the attendance expectations that everyone would feel comfortable signing.

    We then did a designed alliance - which means everyone gets to speak out about what they needed from our shared space to be able to learn and feel safe being here. We have those agreements digitized now and they are located in the repo.

    Debbie was here in Portland for the first day and a half and she helped run the Strengths Finder portion. This involved having the cohort do an online quiz at the Gallup Strength Finder site and then each person gets a custom list of their top 5 strengths. These were the starting point for our getting to know each other, as our strengths and what they mean to us.

    Something I learned was that instead of just telling people why I chose to start us off with this particular exercise, instead I asked the room “Why do you think we started with this?” and amazingly, everything I would have told them came out from them.

    At the end of the first day, many expressed their appreciation for the work on strengths and yet several seemed nervous that we hadn’t just dived right in to high level coding. I try to assure them it will happen, we’re not going to rush things. There’s a lot more to this course in terms of preparation and community building with each other that will be needed to make us strong going forward.


    After a night of sitting with their newly listed out and described strengths our cohort started day 2 by choosing one of those strengths where they felt the word wasn’t interesting enough or accurately descriptive of their sense of the strength so that they could go and rename it something that was more compelling.

    The next activity was to start checking out what Mozilla offers potential contributors coming in from outside. We did two activities around this. The first was to break into groups of 3 or 4 and look into a series of questions about that particular tool/community. (photo upload needed here). Then that afternoon the groups presented back to the room what they’d come to learn about each area. We invited the Portland office folks to join if they were interested. There were some great questions, some useful feedback provided, and everyone got their first presentation to a larger group out of the way. This is useful because we’ll be doing a lot of presentations during the course of this program.

    Following the group work, we had a bunch of supposedly 5-10 minute contribution possibilities that had been surfaced from the research. The participants were told they had 10 minutes to go and make an individual contribution to Mozilla. Needless to say, very few people were able to complete a contribution. Creating accounts, finding the task to complete, selecting something that would indeed be a short task, many barriers to doing a quick contribution for the first timer. The most successful project to one-and-done with was MDN. That has a great path for new people to edit or tag articles which is handy for people with previous experience in copy editing, wiki use, and general language proficiency. Second up was the Twitter Army of Awesome that SUMO created. One participant was able to do that as a quickie contribution.


    Everyone did a great job presenting yesterday but because it all took more time than anticipated, we moved learning git and some of the basic command line stuff to today. I did a hack on our project site and after we taught how to use terminal, moving around in a text-based environment we moved to git and everyone cloned the ascend project repo and got to work learning how to undo the hack.


    Badges! One of the best moments on this day was having each participant create a badge to give all the others - celebrating their successes so far. You can see those badges where some have been tagged with ‘ascend’ to help people find them. We’re going to use badges throughout the program not only from mentor->student but also between students themselves in order to capture the trajectory people find for themselves.

    This day was the first day where the energy really dipped. We got in the weeds with git & command lines and having a 2:20 teacher:student ratio. I’m not going to lie - that was the hardest day and I’m learning a lot about how to set up the daily agendas as a result. In preparation for Friday I included a lot more detail to try and help people have more at their fingertips during the day.


    Our fifth day together. This day was put aside to be a webmaker events as well as intended to provide time for blogging. We were sort of crash-landing into Friday’s material which will be obvious from the agenda. The days are long and while we’re packing a lot in, it’s understandable that sometimes people max out. So in the morning we got a little bogged down doing command line exercises and that pushed the webmaker stuff into the afternoon. We were planning to end early for a little social with the Portland office and that made our afternoon an hour shorter.

    For the Webmaker Maker Party we did two areas of focus. The first was to look at the Web Literacies and break out into pairs that went to find a skill to come back and teach the others. There were great add-ons and recommendations you can see the notes here. I was impressed that with this second time coming up to present everyone had gotten so much better about public speaking. Then we had a little over an hour to play with the Webmaker tools. I asked people to spend 30 minutes with a tool trying to make something about why they were in Ascend. The results vary, people tried all the different options. There are some great starts and some learning happened even if very rapidly. Then there was half an hour left for blogging, pushing, and making a pull request. Ever since the snowperson hack exercise we’ve done daily push/pull requests in order to keep this knowledge fresh in their minds. It’s working, there are now more blog posts up and once I push this one I’m going to go get them attached to people’s bios on the participants page.

    Week One Done!

    By Lisa Hewus Fresh

    12 Sep 2014 »

    We made it! It was a long, fascinating, stressful, fun week at the Ascend Project. We started with our usual check-ins. Most of us seemed pretty happy to be there and thankful that the weekend was coming up so we could give our brains a rest. The group worked on getting an alias set up so that Sublime opened for them instead of Vim when doing a Git commit. I use and love Vim already so I worked on figuring out why my prompt was tabbed in. I looked and looked at my bash_profile but I don’t know anything about bash script so it all looked ok to me. I also helped Yenni and Carmen as they needed. Shawna was here again and we were all thankful for her added help. She is also an encouragement because she has been programming for about a year and is starting a job as a Junior Programmer on Monday.

    It took everyone a bit longer than expected to get Sublime set up as their default so we really moved into lunch at this point. Katt ordered pizza and got our vegan one from Sizzle Pie. I’ve had their pizza before and really like it but this one was SO good! I’ll have to get it again.

    After lunch we delved into the subject of web literacy and then had a maker party. We were divided into groups of mostly 2 and then were given a web literacy topic to explore. I was paired with Yenni and our topic was Community Participation. We were both so happy to have this topic because it’s something we both feel so strongly about. We really connected and went off onto side discussions about foster care and other invisible populations.

    After we researched our topic we had to take turns presenting. Adam and David presented on open vs closed licensing for content. We presented next and it’s starting to feel better being up there. Whew! Virginia and Eva spoke about sharing, Mary Anne and Becky talked about security, Jessica, Peri, and Sofie talked about privacy, Candida and Carmen discussed navigation, Mel and Barbara went over credibility, Tina and Zeus showed various ways to search, and finally K and JD talked about collaboration.

    After we were done with web literacy we were directed to and were told to use one of the tools to create a “thing” that kind of reflected on why we were in Ascend. Yikes! It felt stressful to have to create something on the fly but it was a great task! It didn’t have to be perfect or even very good. It was just a way to kind of show what sort of skill level we have. I had no idea what to do at all so just made a quick image and video montage in Popcorn Maker. We had to then write a week one blog post and insert a link to our “thing”, commit, push to our remote repo and then submit a pull request. I blog at the end of each day so I just inserted my link into a blank document but I managed to get it done.

    We did our check-outs and everyone was very glad it was the weekend and pay day! We were able to hang around after for some social time if we wanted but it’s Andrew’s birthday so I wanted to get home as soon as I could. It was incredibly beautiful outside again so the walk to the train was wonderful as was the walk down our street. The beautiful weather did not stop me from letting my insecurities get the best of me though as I reflected on my week. I started over-thinking everything as usual but took the time to email Lukas about my concerns. She got right back to me and put my worries to rest. I wish I could just stop them entirely! I am hoping this program will at least help me to deal better with this part of me. Bleh, enough of that.

    Andrew was still working and Wayne needed to run to the store but we planned on going out to dinner so I read a book until we were all ready to go. Jayde was spending the night at her friend’s house and Natale wasn’t feeling well, Jason and Alice had other plans so it ended up just being the three of us. We wanted to try an Ethiopian restaurant we had been hearing about so we drove to SE and ate at Bete Lukas. Wow, it was fantastic! We always get the vegan platter whenever we have Ethiopian and there are usually one or two items I don’t really care for. Not at this place! I loved everything they served and there was plenty of food. We actually had some left on the platter by the time we were all stuffed.

    We came back home and watched and episode of Dr Who. Andrew had a bit of a cold so he went off to bed and I read my book for a bit. Now it’s bedtime for me.

    Today I learned that Beethoven was black. Ok, there is a lot of discussion about this but it’s pretty clear that he was NOT white as history has portrayed him and as pretty much everyone I know was taught.

    First Week Recap at Ascend Project

    12 Sep 2014 »

    This Was Week was very intense. !!!

    Well after the awaited day from the first day. It all went ….

    First Task - Everything Wrong with Frozen in 3:46 Minutes - Loaded

    Added failed coins and extra comments to existing video about frozen, emphasizing some points using Popcorn Maker Editor.

    Link Everything Wrong with Frozen in 3:46 Minutes - Loaded

    A week in wonder

    By Yenni

    12 Sep 2014 »

    A week in wonder.

    The night before the first day of the program was reminiscent of the joys I had prior to visiting Disneyland as a kid. I couldn’t sleep in anticipation. I did not know what to expect, I did know that I was about to embark on a journey. My peers in the project would become my new community, my family.

    We are here to make a difference in the face of technology. We are here to change the future in the present. To become part of something larger than ourselves.

    As the week progressed, I had a slew of negative affirmations- self delivered. Thoughts that reflected past experiences when attempting to break the glass ceiling and into a realm of possibilities. Fortunately, the facilitators/ mentors/ prophets of the program have been nothing short of a blessing. They have provided me with a wonderful learning environment that is conducive to the learning of all participants.

    Amazed, blessed, grateful, are not sufficient in explaining the overwhelming positivity I feel towards this experience.

    end of the first week

    By Barbara Miller

    12 Sep 2014 »

    A poem I came across earlier this week reminded me of why I’m participating in ascend and what I love about it. I’ve begun a Webmaker Thimble make using this poem.

    Week 1

    12 Sep 2014 »

    My First Week

    ### The Mozilla Milieu

    This space is vibrant, conscientious, supportive, &c. I’ve never committed to a 9-5 and as a result felt trepidation at first. But from the outset, the unwavering support and opportunities for group collaboration instilled a halcyon vibe.

    Major Topics Covered:

    1. Mozilla: What We Do, Why It’s Important

    2. Git(Hub): the Stupid VCS

    3. Crafting an Online Presence


    By Mary Anne Thygesen

    12 Sep 2014 »

    First Week


    Maker Party

    This is what I made with Mozilla X-Ray Goggles

    [What I made]( ```
    The hardest thing for me to learn has been how to play when coding. When I first learned how to code in FORTRAN it was using puch cards. You couldn't make a mistake. You had a limited amount of cards. A short time to use the punch card type writter. A narrow window of time to turn in your stack of cards. Then the waight time to get back a print out of your program. You had to be perfect.
    Now I can play. I can break things. Make a mess. Not get it correct the first time. And nothing bad happens. There is no spell checker in Markdown. *Whheeeee*
    #####I had a site for custom clothes, now it is called cats and dogs with data.
    [Cats and Dogs with Data](

    First Week - Finished!

    By Adam

    12 Sep 2014 »

    It’s the end of the week and I’m actually really proud of the fact that I was able to get through it having gone from never had a 9 to 5 job to being in class in the Ascend Project from 9 to 5. We’ve gone from doing primarily “Who are we as learners, how do we want the space to look like, how do we treat eachother?” to “Navigate your way around the command line, customize the bash, here’s how to get out of Vim.”

    Today we did a lot of stuff involving termnal in the morning. This afternoon we talked about web literacy topics such as privacy, security, searching, and open licensing. We also played around with Webmaker - my results of that are here: .

    Ascend Project First Week

    By Tina

    12 Sep 2014 »

    This first week of ascend has been a whole lot of config management. To say: we’ve all spent a lot of time getting situated and setting up our potential development environments. Getting a new computer to play around on has been quite fun. I’m all about computer configs and settings. But it hasn’t all been about configuring our computers. We’ve taken a sizable chunk of time making sure our space is as we want it, in a societal sense. I think it’s pretty cool that a program like this would take the time to make sure that each participant can feel comfortable and safe in the program’s environment.

    So far the hardest part has been these creative endeavors. Namely this blog post, the previous blog post, and this intro page I remixed using I struggle when instructions aren’t clear or I have to choose a creative direction and stick with it. Sorry.

    Never-the-less, I’m still excited about the next 5 weeks of Ascend! I can’t wait until we build firefox from source, change things and see them built into the browser, or fix bugs and watch those fixes make their way to release. I’m really interested in learning how to contribute to FLOSS (Free-Libre Open-Source Software) on a technical level. Hopefully we get into something like that.

    Week One in Review

    By amanda houle

    12 Sep 2014 »

    Hello, welcome to the Mozilla Portland office and the Ascend Project! We are going to start out with some:

    ~~Community Building~~

    • Meet and build The Team.
      • We came up with these awesome participant Agreements
    • Find your individual strengths.
      • We took a quiz at Gallup Strengths Center to determine five areas of our own individual strengths. Why? …to become more engaged, productive and happier!
    • Examine and discuss your strengths.
    • Discuss some more and redefine those strengths and OWN them!
    • Commit one of those babies to the group.
    • Embrace each other.

    I completely appreciate this community building and our collective agreements. Can you find this is a typical tech company/environment? One could not only hope…and build.

    From day one to day five, anxiety transforms into excitement, confidence and it’s infectious! Here is more of what we played with:

    GIT * GitHub * Presentations * Command_Line * SUMO * Army of Awesome * Mozilla Open Badges * Firefox Nightly * Aurora * Bash * Presentations * Web Literacy * WebMaker * MoPad / Etherpad * subl * Blog Posts * Twitter * Fair Trade Chocolate * A Cadillac of an espresso machine * Did I mention, Presentations?

    Links to some of this week’s work:

    Week Six in Review and goals for next week

    By amanda houle

    12 Sep 2014 »

    Hey, it’s our last day! Woohooo! I’m actively focusing on the positive-ness and sense of accomplishment right as I have a feeling this afternoon, it’s going to be: pass the tissues….

    This last week has been such a blur. The first two days I spent setting up yet another development environment and bug hunting/fixing. Two things: I really enjoy setting up an environment and the other thing is: I was going to help Yenni set a dev environment for One and Done. Then, we were going to find her a bug to work on and get her OPW application started as a result of this process. By day two, Yenni was helping me set up MY environment and that was really awesome. Teamwork is fun.

    In actually working on the bug, I taught how to use some of the developer tools, CSS, and how to search for syntax. It’s important to find a balance between just giving enough information to figure things out on your own and just plain doing it for the person.
    One of the things that I am able to pull out of my prior experience is enough of a connection with a person to help them find their edge and encourage them to stretch. So many things come into play (they are tired, having a bad day, super excited…), but one goal of a teacher is to leave enough of a challenge yet not leave the learner feeling that the learning is too far out of their grasp of understanding. For each individual, this would be a different amount of information.

    I would’ve been a wreck on Tuesday night if I had just gone home and worried about our Thursday presentations. Thank you to Lisa and family for a wonderful get together with beautiful, awesome neighbors and friends!

    A part of each day this week has been writing and practicing our presentations with each other. It’s funny, I think I prefered the presentations that we did in the first week where we were given about a 30 minute to an hour notice and then just go! These feel more important or serious.

    My big challenge for myself was to not just get up there and ramble on about whatever. My coach has been curious as to why I feel more confident about contributing to open source projects and applying for work now. I wanted to be able to answer that with 3 clear ideas without a lot of extraneous (read: rambling) anecdotes. My first draft of the speech was a short collection of stories that gave examples of where my confidence grew from. I read it for Lukas and Kronda and I ran out of time. Hmmmm… where to cut? The night before my presentation, I finally had a chance to read it to someone who had not had anything to do with our group - thanks for your edits, Mom and thanks for listening, Dad! I could get a chance to see how much they got out of it not having attended Ascend. The result was staying up way too late cut, cut, cutting down to just the three points that I wanted the viewer to come away with. I feel that in the end, it was less personal and fun and more educational. I mean, I hope that someone could walk away with clear ideas of how I grew confidence here. I should also point out that I have not yet had time to process my whole 6 week experience here yet. I’m sure I could easily revise it more a few weeks from now.

    Today is Friday and we are about to hear the last of the presentations. I would normally be a lot more stressed out than usual as I still have some goals that I’d like to complete. I plan on taking next week to catch up on a few household things that I have been neglecting - but more importantly, I want to keep up this momentum.

    		__Goals for my Ascend Project, unofficial Week 7:__
    		* Set up yet ONE MORE dev environment (did I mention that this is a lot of fun now?)
    		* I'd like to start on Wednesday and see how far I can go with the idea of ONE-BUG-A-DAY!
    		* I have been neglecting my Wordpress (sorry, Kronda).  I'm going to get my hosting set up, transfer my account over to []( and get that looking pretty pretty.
    		* Apply for a couple of the internships that we've been invited to apply for. yay!
    		Goals for the rest of 2014:
    		* Help someone else get set up as a Mozillian!  What better way to pay it forward and reinforce my own learning?  I also want to help build the community. 
    		* Shit, I've got to find paying work!  :)

    For now: So long, and thanks for all the fish!!!

    Making things is hard

    12 Sep 2014 »

    I survived the first week! Everything went great until I had to make a webpage in a half hour!

    This is a link to a thing I am not proud of! It doesn’t work right and I haven’t figured out how to fix it! Ascend Lunches: Week One

    I’m going to learn more, it will be fine, sometimes learning new things is stressful.

    Week 1 - First Day!

    By Becky

    12 Sep 2014 »

    First day of Ascend Project

    The first day of the Ascend Project was full of awesome. We took some time getting comfortable and meeting each other, learning about each others strengths and how we can help each other.

    We also got to hang out with everyone during the Mozilla Monday Meeting. Which was kind of a cool experience. Watching people be okay with their mistakes and the mistakes of others.

    There is a lot of information which is overwhelming but offers so much. It will be an exciting adventure in a fun environment.


    Climbing Onward

    By Carmen Cordis

    12 Sep 2014 »

    The first week of Ascend has been a flood of information, and we’re learning as we go, but there’s a lot of catching up to do!

    We’re each creatively multitasking to make contributions while learning different aspects of programming.

    What’s great about the Ascend Project is that we’re all taking in the energy of the space, solving problems as they arise, asking questions, and taking care of business, as individuals and as a team. We are students. We are teachers. We are innovators. We are cheerleaders. We are friends. As Mozillians, we can fulfill each of these roles, and more! We can plan our goals, equip ourselves with the tools to succeed, and carry onward with the thoughtful support of our team.

    It’s been a long time since I’ve had such a jam-packed schedule as I do with Ascend. I’ve become accustomed to independent projects, and my schedule has always been flexible. Making the 9 to 5 schedule each day has made me feel a little more sleep-deprived, but every time I walk to the office, I feel a rush of inspiration about the new day. In one short week, I have learned so much, and each day brings new challenge with new hope.

    So far, I’ve learned how to use Vim, debugged the Evil Snowperson’s photo theft, explored the command line prompts, researched various topics for presentations, explored Mozilla’s latest innovations, solved problems with my classmates, contributed to the Etherpad, participated in several teaching moments, identified some bugs, and started designing an HTML page with Webmaker’s Thimble! Here’s the draft of my page (which I’ll need to improve when I can).

    On Friday this week, we had an amazing Maker Party, where we paired up and researched resources from Mozilla Webmaker to teach back to the class.

    Candida and I were tasked with exploring web navigation, and we were both quite intrigued by the concept of Filter Bubbles. Our curiosity about online tracking and “user customization” facilitated an amazing project where we deconstructed how websites often filter their feedback to the user, based on what the user has already done in the browser.

    We asked everyone to use the same search engine and search for the same terms, and we found out that different people saw different search results!

    When you type a search into a search engine like Google, the results you see will often be narrowed and focused based on your geographic location, other websites you have visited, and certain efforts made by companies to prioritize their search results over other results. It turns out that companies pay a lot of money to improve their chances of being near the top of the list in a search engine!

    However, we discovered many ways for users to customize their settings so that they can see exactly what their connection is doing, and so that websites cannot track them. Several Ascenders presenting in our Maker Party (Thank you, Jessica, Peri, and Sofie!) encouraged us to utilize resources like the Mozilla Lightbeam add-on, The Tor Project, and private browsing.

    When Candida and I presented to the group, I really appreciated that our talk about “escaping the filter bubble” related so well to the wisdom shared by our classmates in their presentations. We also had a wonderfully enriching discussion about net neutrality and writing to Congress!

    During our presentation, a question arose: “Why would someone want to escape the filter bubble and see the web without customization?” Candida shared her compelling wisdom about how important it is to be aware of the impacts of our online activities, and how corporations respond to what we do online. There’s a lot of money, privilege, politics, and power involved, but it’s up to us to be informed about the outcomes of our decisions. Thank you, Candida! Your words continue to inspire us!

    The internet is a vast, open resource, full of so much knowledge and wonder! When we can browse as independent users without the invisible restrictions imposed upon us by third parties, the doors to learning are wide open. That’s what open source education is all about!

    If you’re looking for a search engine that doesn’t track you, try for more privacy!

    Eli Pariser has also created a very helpful set of resources for escaping the filter bubble!

    Push and Pull

    By Lisa Hewus Fresh

    11 Sep 2014 »

    Today felt good but long. Yesterday I had mentioned that I would like to move seats just so I can start meeting the others in the cohort. Today we had assigned seating and I was moved one seat to the left. Hmmm….but new people were at my table so that was good. I got to sit next to Tina and that was great. She’s kind of quiet but she has a wonderful sense of humor. She was totally on top of things all day too which was great to see. We did our check-ins and then Kronda played a cute, motivational video for us. Katt came in and went over some more office policies just to make things clear. So far we aren’t being a bother to the regular Mozillians and I would love to keep it that way.

    We moved on to setting up our Mozilla profiles. I’m not sure how everyone else feels but it made me feel like a true Mozillian. Here I am! I definitely need to work on a decent bio though but it will do for now. Once we got that done we worked on making badges. We each got to come up with our own and then award it to the other participants. I figured mine should relate to the word ‘Ascend’ so I was thinking a hot air balloon with the Firefox logo would be perfect. It turns out that Mozilla doesn’t have a hot air balloon! Their logo is perfect for one so I might have to put in a request. Anyway, I didn’t have time to make my own image so I grabbed some random happy looking one.

    Setting up IRC was next but I had already set it up a day or two before so I continued to work on tweaking my environment. It seems a never ending task but I enjoy it. I am having an issue with my command prompt though since importing my bash_profile from another computer. It seems to be tabbed in and I’m not sure why. I looked at my PS1 but don’t really see a problem. But my Git highlighting works! I’ll have to test out my vimrc tomorrow and make sure my syntax highlighting works there.

    I think we broke for lunch after we set up IRC. The food was SO good today! I had a vegan lentil shepherd’s pie and a salad. After lunch we all installed multiple versions of Firefox, nightly, Aurora, Beta and release. Lukas walked us through setting up multiple profiles so that each version has their own. We did a Git review and then Kronda briefly talked about Markdown so everyone could begin writing their blog posts. I’m somewhat thankful I started blogging each day so I was able to copy and paste what I already had. We have to submit our blog posts as pull requests on the Ascend repo so it’s great practice pulling, committing and pushing.

    We then had the pleasure of meeting Chris Beard the CEO of Mozilla and Dave Slater the Chief of Staff. They were both very nice and welcoming and seemed to be truly happy about us being here.

    I was a straggler trying to finish getting my blog posts pushed and get pull requests submitted before I left. My Andrew showed up so that we could head over to the Portland Perl Mongers meeting that evening. We had about an hour to kill so we walked over to Voo Doo and got a couple of vegan doughnuts. Fried dough with sugar is the best! It was such a beautiful evening so we decided to walk over to Free Geek for the meeting. It’s only a couple of miles away so off we went. It was nice to talk about our days even though it was mostly me talking about mine. I picked Andrew’s brain about Git and vented about a couple of my frustrations in class.

    View from Hawthorne Bridge Walking across the Hawthorne Bridge looking at the I-5 Marquam Bridge and the new Tillikum Crossing Bridge beyond.

    The meeting was typical. Someone was giving a talk about random and it was super boring but Andrew seemed interested and I love going with him regardless. After the meeting we all walked over to Lucky Lab, grabbed some food and had some lively discussions about a crapload of subjects. It was getting late and we were bussing it home so we said our goodbyes and RAN to the bus several blocks away. Apparently my schedule was off a bit and we ended up waiting around for about 5-6 minutes but I got to catch my breath. It was a pretty good day for the most part.

    Today I learned that ‘git pull –rebase’ is VERY useful! No annoying merge commits cluttering up the commit history.

    First Day

    By David

    11 Sep 2014 »

    David Hinojosa

    So I hear that I have to make a blog, and man do I not know what to say right now over all its been a pretty good day, I’ve been able to help a lot of people with the things I understand. which isn’t much but its enough to stay ahead for now which is nice. So thats all for now I’m gonna push this up.

    something something markdown is easier than i thought

    First day at Mozilla's Ascend Project

    By Adam

    11 Sep 2014 »

    The first day of the Ascend project was on September 8th, 2014. On the first day we went over ground for the space terms of working together as a group (how are we going to treat one another and what not) as well as the space at large (cleaning up after oneself, which spaces are for Mozilla staff as opposed to participants of the Ascend Project, etc). We also completed a skill finder assessment and did group activities around our results.

    In short, when didn’t do any code related things on the first day (though we did unbox our MacBook Airs), rather we worked on how to make sure our shared working environment is conducive for learning and working together.

    Ascend Project First Day

    By Tina

    11 Sep 2014 »

    Getting right into it, the first day of Ascend was a bit of a blur. After some introductions we all got roped into attending Mozilla’s weekly Monday meeting. The meeting was super casual with a bunch of Mozilla offices from around the globe all streaming to each other. I really liked how they incorporated a wiki for the meeting minutes.

    After the meeting we each got to open a new macbook air. I’m not big on Apple as a company nor their products, but I also have no reason to lament a gift horse! It’s a solid piece of hardware, as most Apple products are, but there are some UI quirks that I’m not a fan of. “Natural” scrolling comes to mind. On a positive note: I really enjoy the fullscreen features combined with quick desktop switching. I can see that being super helpful for workflow.

    Once we all opened our laptops and got them up and running, we were had to do a strength finder exercise. It consisted of 117 (da chief) questions of the “Strongly agree - Neutral” scale. After analysis it came up that I’m strong at: Harmony, Ideation, Restorative, Analytical, and Responsibility. There’s a part of me upset by them using different parts of speech, but I digress. Hopefully my strengths will help me succeed at this program.

    Third Day's a Charm

    By Lisa Hewus Fresh

    10 Sep 2014 »

    My first days at the Ascend Project have been great and today was no exception. I arrived early as usual and grabbed an almond yogurt and some carrots for breakfast. Once everyone was there and had eaten we got right to check-ins. It seems everyone is doing well and we were all excited to learn more.

    Lukas and Kronda were going over the basics of Git so I listened while I worked on continuing to set up my environment. I needed brew, pip, virtualenv, virtualenvwrapper, my bash_profile and my vimrc. I worked on getting that all going and helped Carmen who was sitting next to me as needed. She is wonderful. A very gentle soul. Her meekness and insecurity tends to overshadow her sharp wit but I constantly see her catching on to all the information being thrust upon her even when she says she is confused. I love her delight at learning a new concept. It’s a great thing to witness.

    We broke for lunch and it was blah today. Sandwiches were ordered and I have no idea where they got them but whoever made them thinks that vegans love a dry sandwich with some random veggies on it. Not so much. That sounds like complaining but I really don’t mean to. I have been completely spoiled in this program and I don’t know how I can ever thank anyone properly for this opportunity. I hope to just pay it forward.

    Early in the day I made my first pull request on the mozilla/ascend repo but I screwed it up by not looking carefully before I committed and ended up with a note from Lukas asking me to fix the issue before it could be merged. I fixed it and resubmitted but there was still some weirdness. I dunno. It got merged and I will be more careful! I hope.

    We were split up into groups of 2 to 3 and were given some specific git commands to research. We got ‘remote’. Our group of three researched it and then had to get up and present. It was so much easier to speak in front of everyone today than yesterday! Maybe because the Mozilla employees weren’t watching or maybe it really was easier. Anyway, the instructors loved seeing the change from one day to the next so they plan on having us do a lot of presenting. It will be good for me since I think I would like to try giving a talk at a conference one of these days once I actually know about something worth talking about.

    The day kind of flew by and before I knew it, it was time for check-out. Everyone really seemed to have a great day and were looking forward to tomorrow. I was going to the Women Who Code meeting this evening at 18:30 so I hung around for about an hour to kill time. There were others there and I don’t think they minded me staying.

    I headed over to the library so I could meet Alena and baby Anya and walk to Puppet Labs with them for the meeting. We hopped on a streetcar instead and made it over there more quickly than I thought a streetcar could manage. The meeting was great. Paige is the organizer and she gave a great talk on regular expressions and then Alena talked about a cool website that WWC is getting started. I think it would be fun and interesting to help out with the site if I can find the time.

    Alena with Anya, Paige and I walked to the streetcar stop so they could make the long trek out to Beaverton and I began walking to the Max. Andrew was nice enough to come get me though and that saved me a lot of time and I got to tell him all about my day before he headed off to bed. I think it’s time for me to do the same.

    Today I learned that regular expressions aren’t nearly as daunting as I kept telling myself they were! I also learned that I like my cohort more and more each day. What an awesome group of people.

    Zero to Portland

    By Candida Haynes

    10 Sep 2014 »

    My first day of the Ascend Project reaffirmed that I was about to experience a life-changing opportunity. I would have the time and support to link the loose ends that had characterized three years of informal learning in technology. I expected to dive right into code. That is not what we did.

    Instead, we spent time getting to know each other’s strengths, remembering our own contributions, and learning how to nurture a healthy, cooperative learning environment. I never expected to have this kind of experience in technology, but I am grateful.

    As an educator, I have had the fulfillment of watching others (mostly children) grow. As a sound artist, I have been fortunate to watch other artists grow in the rich community that I left behind in New York. To think about the challenges that some of my colleagues are overcoming to take on this challenge is overwhelming. I look forward to witnessing what “grow” means to the unspoken superheroes around the table where I type this blog post.

    Plugging Along

    By Lisa Hewus Fresh

    09 Sep 2014 »

    Day two of the Ascend Project was great as well. I am not used to having to be somewhere from 09:00 to 17:00 and I really do not want to be late so I caught the early Max just in case. Lukas was the only one at the office besides some Mozilla employees. She was setting out bagels and cream cheese for our breakfast so I grabbed one and had some tea. The other students began to arrive and everyone got some breakfast before we all got our computers and got seated. We did our morning check-ins and got our daily agenda.

    We did a couple more Strength Finder exercises before moving on to a tech related exercise. It seemed pretty straight forward. We were put into groups of 3-4 people and then each group was given a Mozilla open source area to research. We had a list of questions we needed to research the answers to so our group of 4 got busy researching SUMO, the Mozilla support community.

    Research questions

    We all worked together on our research and wrote up nice posters with our answers because we figured we would have to present our findings to the class. This was true but what we didn’t know was that it was going to be a tad bit more formal. But first lunch! It was another spectacular food choice thanks to Kat, the amazing woman who keeps the office running so well.

    We did have to present our findings to the class but we had to stand at the podium with microphones to present AND the Mozilla employees were invited to come watch and ask questions! Ack! We were the second team so had to go up fairly soon and NOBODY wanted to do the talking. We stumbled through it quite poorly and it was really painful to watch everyone struggle so I just did the best I could which was not that great. Oh well. I did get up there, I did talk and I didn’t die so….success!

    After we did our presentations we had a short bathroom break and then it was time to see if we could make some sort of open source contribution in just 10 minutes. I tried but was unable to complete the task. About 4 people got something contributed and that was great. One person answered a support question on Twitter and the other three edited some documentation.

    Kronda took over at this point and began teaching the class the basics of the terminal, command line and Git. It was fun to watch how delighted some were with these new found skills. I worked on setting up my dev environment, forking the Ascend repo on Github, perusing the files and such.

    Now it was the end of the day so we all did our check-outs. Most of us were still really excited but pretty tired and ready to head home. I am really loving this program.

    Today I learned a lot about various Mozilla open source products and communities like SUMO, MDN, Webmaker, QA and add-ons.

    First Day

    By Mary Anne Thygesen

    09 Sep 2014 »

    First Week

    One more day to go.

    Friday is tomorrow

    My head is full

    My heart is warm

    under tilde is backtick


    First Day

    By Yenni

    08 Sep 2014 »

    Best day of the rest of my life.

    It’s difficult to trust what you don’t understand. To embark on a journey with folks you just met, and believe that whatever happens will be better than all previous paths exhausted. How do you prepare for a new life chapter, a hard re-direct?

    By showing up and doing the work! Knowing that the road is paved, despite not being able to see more than one step ahead. Trusting that you were chosen for your aptitude, and that your mentors/teachers/guides have your best interest in mind.

    Believing that you are a part of something bigger than yourself. A movement of modern needs for equality.

    This is my chance to make a difference, a contribution on a scale I cannot currently comprehend. As I move forward, I will remember this opportunity as a major turning point and smile.

    First day at Ascend Project

    08 Sep 2014 »

    First day at Ascend Project

    Well, as the weekend unfolds, I can’t get to feel comfortable in the chair, or the bed, or the couch. The feeling of starting a long awaited dream has been a pretty deep desire of mine. Ascend, is that dream I asked for. It is even better than I imagined it in my head. It is perfect. The energy is surprising and the place amazing. Yet, still the feeling of nervousness wrapped my core in fountains of dry questions.

    As the the morning comes to a glare, the sun shines in the deep end of the east. I can feel my heart pumping. My feet tinkle and my skin is shivering. We take the bus with out hopes high and our hopes in the most perfect place.

    The city electric train here is called, MAX. It arrives at 8:30 am the end of our stop in downtown PDX – that is short for Portland. Arriving a half an hour early can be a nervous crashing situation. We, the participants, explore the area around. This new place where we will claim are new lives by the hands of a great giver. Their “theirs”, will become our “ours”. And we will merge into this new world.

    “Are we ready for it?” “ Am I ready for this?” ”Can I do this?” “Did I dress appropriately for the occasion?” “I hope now, none, no one is ready this” Well, the thoughts are undoubting and the knees are doubting to stay quiet. For a minute I thought I heard the sound the cracking as they shackled in disagreement. My heart is certainly here to stay.

    My heart joined forced with my mouth and eyes, which became very much alive and the certain look of Mint Chocolate. “This will keep me going.” My eyes and mouth convinced those thoughtful knees of mine to stay calm. Chocolate does it. I think a minute of silence to honor chocolate. Umm chocolate.

    As people arrive. We all seem very happy and nervous to be here. I can feel the impostor syndrome throughout everyone’s eyes. “Perhaps, we don’t really belong here? —- Perhaps I don’t make the cut? —- What if there is a JavaScript test?”

    Short pause. The clocks keeps ticking. We are placed the wonderful clean clean meeting and cozy table. The chairs are comfy. I know my knees appreciate that. Not that it is related in anything the concept of sitting with the knees, but, there is a butt, and the but, is that the knees enjoy the release from the heavy lifting of too much stress. Release of happy hormones, fill the spirit by the chemicals contained the chocolate.

    Presentations are in the making, and everyone exposes their points of view. I cannot recall any specifics. I do know that it felt better and better, as the batter of words mixed and held a common voice amongst the struggles of computer and social and emotional beliefs that we all shared.

    We had some rules to read and some more introductions to make, and some ice to brake. Finally. After a all is said and done. And the fun day was so awaited. It all went so fast. Poom! That was easy! And it was awesome. Project Ascend Rocks!. The day went so fast.

    I was glad, it was actually pretty welcoming and open. And I cannot wait for tomorrow to come back and keep developing new knowledge! Great start! And thank you and tired by the end of the day.

    The End

    First day

    08 Sep 2014 »

    Our first day was fun. We learned alot about ourselves and others. Meeting a lot of new faces. It was a very nice day.

    first day at ascend project

    By Barbara Miller

    08 Sep 2014 »

    I had a great day meeting all the Portland participants and learning about my and their strengths, but not any of our technical strengths. We are all welcome here, and all have many strengths to offer, whatever our particular technical skills.

    What a wonderful change from those old computer science classes!

    My First Day

    08 Sep 2014 »

    My First Day

    My first day entailed meeting my fellow participants & identifying some personal strengths. The casual energy and sincere optimism made me feel warmly received.

    Beginning to Ascend

    By Lisa Hewus Fresh

    08 Sep 2014 »

    I didn’t sleep well last night. I’m sure it was my nervous excitement about starting the Ascend Project this morning. I was up early, showered and ready to go. We were supposed to be there at 09:00 but I was early. As I was walking to the Mozilla offices from the Max I ran into Kronda, a co-leader of the project. I seem to run into her often and I think it’s great. She’s great. She has a way of saying really powerful things in a really concise manner. I definitely hear her and her words lift me up. I’m thrilled she agreed to help with our cohort!

    We made our way up to the office and since I was early I jumped in and helped get things set up. The rest of my new cohort began to show up and mingle, make breakfast, coffee, tea…who knows? Mozilla is wonderfully generous and is providing us with a bounty of food and drinks. If they don’t have something we feel we need to get through our day, Lukas will do her best to provide it for us.

    Once we were all fed and seated, Lukas went over how the AP would generally flow. We would start out with a morning check-in so that everyone could just let the rest of the group know how they were doing that day. It’s a really good way to keep the communication open and to know if someone is having an off day and needs space or whatnot. We all did our check-ins and everyone was pretty happy and excited to be there. Dino re-introduced himself and went over his role as our logistical liaison. We then went over the attendance policy and came up with some changes and clarifications that would make things clear and fair for everyone.

    Then it was time to open our new computers! We eagerly unboxed them and began getting them powered up and set up. It was fun to hear the Mac users helping out the non-Mac users. The first thing I did was use Safari to download Firefox. It has been my browser of choice for many years. I then installed iTerm2 and Adium for irc. I’ll get tmux tomorrow and grab my vim.rc as well.

    The person that runs the Mozilla office, I am horrible with names and have forgotten hers already, took over for a bit and went over office etiquette and then let us know that each Monday Mozilla has their All Hands meeting with all employees from each Mozilla office (with the exception of the Asian offices because of the time difference) and that we would be attending and perhaps participating in these. We took a quick break and then came back for the meeting. It was so interesting to see the various Mozilla spaces and to listen to the different projects people are working on. Everyone was very relaxed and friendly. It seems like a nice place to work and I guess we will be getting a taste of what that will be like over the next six weeks.

    After the meeting we had lunch and then everyone took the Strength Finder 2.0 quiz. It was very interesting! My top five strengths are input, learner, intellection, adaptability and positivity. We did some group exercises that involved mingling and discussing our thoughts and feelings regarding our strengths. Everything was very positive and confidence building. I think this was a great thing for me for sure because I tend to look at my weaknesses so that I can improve them. Dino made a great point about how we can also think about our strengths and how to improve those.

    We all did our check-outs and it was pretty evident that we were all still very excited but very tired! It was a long day full of a lot of information. This post is long and I definitely missed some of the other things we did so yes, we covered a lot of ground. Last but not least we got a tour of the rest of the office space and then we were free to go.

    I walked with a student who is here for the AP all the way from New York. She has never been to Portland and doesn’t know anyone. She was unsure about how to get to her bus stop so I decided to walk with her and catch the Max at a different spot. We chatted while we walked and it turns out she was having major trouble with the electronic transit pass she purchased. This wouldn’t be a big deal except she bought a one month pass for $100 and her application claimed she had no valid ticket. Yikes! We walked to Pioneer Square to see if the Trimet office was open but they were closed when we got there. I sat with her and we tried several things to try and get her ticket to show up but nothing worked. Luckily she had her receipt she could show until she gets this sorted out, hopefully tomorrow. We spent about two hours trying to work it out so I got home after 18:00 even though we were finished up one hour early at 16:00. A looooooong but wonderful day!

    Today I learned about my top five strengths. Fascinating. It was like reading a horoscope but one that actually applied to me.

    Intro to Ascend

    By peri ahmadi

    08 Sep 2014 »

    How I learned to stop worrying and love the puter

    So this was my introduction to working in the Ascend project that Mozilla is so graciously putting on. I came into this thing suuuper excited to learn and empower myself through knowledge. The first day started off great because I got to meet the lovely folks in charge of running this shindig, as well as the other lovely folks who are here to learn. I was absolutely floored when I realized what an awesome situation I lucked into. The ability to learn something I'm interested in in a perfectly tailored environment. Everything we could possibly need or want was provided for us so that we'd have nothing to worry about except learning programming. Then the Mozilla meeting happened and, in watching that, I realized how far away I am from my goal. It dawned on me that I wouldn't experience a 6 week montage where I listen to awesome rock music while I work out and get my programming on and fast forward to the end of Oct. when I'm suddenly this super in-shape computer genius about to land my dream job. I got serious work to do and I am level 1 novice. I got scared, nervous, filled with self-doubt. I don't think I can do this.

    I calmed down. And everyone else here helped to calm me down. Lukas and Kronda answered my questions without (amazingly) making me feel stupid for asking. I got the help and reassurance and motivation I needed. Baby steps. I got this. I'm gonna come back tomorrow and tomorrow and tomorrow. There won't be a montage, but success is more satisfying when I've earned it the hard way.

    First Day Ascending the Spiral Staircase

    By Carmen Cordis

    08 Sep 2014 »

    People have often told me that computers were not for me. I was not “that kind of person” and programming was “too intense” for me to understand. Last week, I made a change in my life by believing that I could learn more, do more, be more, and change more.

    I joined the Ascend Project.

    We are 20 people (and many mentors strong!) with various backgrounds and experiences, coming together to learn as much as we can about programming. Our mission is to contribute to open source web materials in order to improve educational resources and web literacy wherever we can. As participants in the project and as new Mozillians, we cherish the thoughtful support of each of our teachers, and we are all grateful for the amazing resources Mozilla has offered us.

    Thank you, Lukas, Kronda, Dino, Debbie, Katt, Shawna, and each of the Mozillians who have dedicated their time and energy to be part of these moments with us!

    During our first day, we shared our expectations, hopes, and goals for what the project would look like. I was definitely nervous, and expecting a pop quiz in programming language, but I discovered that Day One was the Day of Strength. We took this day to create a community, empowering each other and providing support whenever needed.

    After writing agreements for respecting each other (and ourselves) during the course, we were introduced to the StrengthsFinder assessment, created by the Gallup Strengths Center. We had 20 seconds to answer each question about our feelings and behaviors. It’s difficult to prioritize things with only 20 seconds! Each participant received a list of their Top 5 Strengths!

    As an exercise in encouragement and empowerment, we discussed our Strengths in small groups, and came together to share what we learned. I learned a lot about personal strengths by listening to what other people received, and comparing those results to my own.

    In the middle of reading my Strengths assessment, I felt like I was reading my own life, described on a piece of paper. Each one of the categories described my feelings and behaviors so accurately that I felt strongly encouraged to believe in my ability to succeed in Ascend. I also started crying a bit from the overwhelming sense that my emotions had been displayed before me in a way I could communicate to others.

    My Top 5 Strengths are: Learner, Context, Individualization, Connectedness, and Relator. Each of these strengths empowers the others, and I love that I’ve found a way to explain my personality through these strengths.

    • As a Learner, I relate to the world by learning as much as I can. I’m not perfect by any means, and we all have differing phases of memory, but I love exploring new ideas and learning new things. I also learn by teaching, when I can.
    • In terms of Context, I seek to understand why things are the way they are, based on historical events that may have caused them to be the way they are. The StrengthsFinder accurately identified that I love researching ancient history!
    • Individualization isn’t what it sounds like. I didn’t like the name at first, but I agree with the Strength as one of my top 5. I strive to empower people as individuals, with unique lives, lenses, and experiences. In order to work well with multiple people, I make it a priority to validate their individuality.
    • Connectedness seems related to Context. I see events as connected to each other, and I seek out the “webs” connecting things. My learning style involves linking concepts together to create new things.
    • The Relator strength involves deconstructing information, to make it understandable for multiple types of people. I love this one, because I’ve been very inspired in my life to support people through tutoring and teaching. I really enjoy presenting information, creating concept maps, finding different ways to explore ideas, and brainstorming through creative methods!

    One of my course goals is to share my Strengths with the combined Strengths of my fellow participants. We are forming a bond of learning which is changing us all.

    To my amazement, we were invited to participate in the formal updates meeting attended by Mozillians around the world! Honestly, I didn’t comprehend most of the things that were said, because it seems like the systems and resources are so new to me. I don’t know these things now, but I will find out when I can.

    Lunch was AWESOME! There was amazing, excellent, splendid kale salad! :) I also really appreciate the coffee flow…

    We took a wonderful tour of the Mozilla office, as well (thanks, Katt!) and reflected on our first day together.

    At the end of the day, I was somewhat confused, and very tired, but this is an amazing roller coaster ride!

    I’ve known for a long time that I’ve wanted a long-term career in teaching, yet I also readily believed the people who told me that computers and computer science would forever baffle me. I was going through life just “accepting” the messages that this whole branch of information was completely distant from my experience, and impossible to understand. Mozilla thinks differently. Learning is everywhere!

    Ascend = Leveling Up in Life!

    08 Sep 2014 »

    Last week, I left my admin job of 3.5 years in the insurance industry. Today, I began a new chapter that I hope will turn into a long and fulfilling career in tech.

    I arrived, as I think we all did, bursting with excitement and nerves. First of all, the Mozilla office is lovely! There’s a beautiful community space and a stocked kitchen, and Ascend provides us with breakfast and lunch each day. I feel incredibly fortunate to be here.

    The first thing we did together was create agreements for how to foster a safe and welcoming work space for each other. Already I felt valued and respected. Then we unboxed our brand new MacBook Air laptops (oooh, shiny!), and took a StrengthsFinder quiz to identify the natural talents we bring to the group. My top five are Empathy, Positivity, Adaptability, Developer, and Input. We then mingled around and discussed our strengths with each other, then made little posters to put up around the room with our name and our strengths. I joked with some friends that the assessment said I’m really good at “knowing stuff” and “being happy at you” … no surprise there!

    Today we didn’t get into any coding or technical work, and even though I’m very eager to cram as many marketable skills into my brain as possible in six weeks, I’m still very glad that we spent the day creating community, focusing on strengths, and setting the stage for a positive and supportive learning environment.

    After feeling rather stagnant for quite a while, I’m now feeling very empowered, strong, optimistic, and like I am where I want to be at this point in my life.

    First Pilot, 20 People

    29 Jul 2014 »

    Today the Mozilla Portland Space hosted a drop-in Open House so most of the 20 participants of the first pilot could come see the space and meet each other.
    Along with a couple of local Mozillians, Dino, and Kronda; they sat around in the space we’ll be working out of from September 8 - October 17, 2014 and played “Two truths and a lie” which ended up being quite funny and a great way to get a taste for the various personalities (as well as uncovering some people’s dark humour tendencies).

    In order to wind up with these 20 finalists there was a 2-step process beyond the application that collected interest.

    Application Timeline:

    • June 1st: Applications open
    • June 30th: Applications closed
    • July 1st: Email to applicants (44) regarding step 2*
    • July 20th: Close of step 2 time window
    • July 22-25th: Interviews with applicants who completed step 2 (24)
    • July 25th: Notification of selection decision
    • July 29th: Open House @ Mozilla with selected participants

    For me, these two months went by quickly. On June 1st when applications opened, there was very minimal publicity (mostly Tweeting) because of being busy with regular work.
    During the time between applications opening and Open Source Bridge (which kicked off on June 24th) there was one push for awareness of the program thanks to Dino sending out 12-15 emails local organizations letting them know about the project, the application, and the deadline.

    During the week of Open Source Bridge, after I did the June 25th keynote, and after Ascend was announced at the after-party on June 25th, we went from 3 applications to 44 total by the closing date. The applications came in from several sources:

    • Outside/In where I had gone and spoken to 7 youth during the week of OSB
    • NAFY/PEAR - local youth services for employment
    • KBOO radio’s mailing list for volunteers (thanks to Open Source Bridge connection)
    • Open Source Bridge party/keynote/website
    • Twitter/Facebook share
    • Finding a post about ascend from searching Mozilla’s web properties for JavaScript

    Of those submitted one was from someone out of town who was not actually able to participate but wanted to be kept in the loop about future instances. That left 43 who were sent requests for the JavaScript task, to be completed in just over 2 weeks.

    During the time of the JavaScript assignment, a few people were proactive about getting in touch if they were stuck, or having trouble getting access to a computer. In the applications, all had stated they had computer/internet access so my plan to set up ‘office hours’ at the Portland Space ended up not being needed. There was one applicant who later got in touch because he was having trouble finding time to do the work on borrowed computers so we tried to arrange time with a laptop at the office but our communication lapsed and he didn’t get back to me before the deadline passed.

    While some folks felt comfortable getting in touch via email if they were stuck, and I was more than happy to troubleshoot either over phone or email, some stayed quiet. About 5 days before the July 20th deadline, I sent out an email to anyone who hadn’t submitted their link to a completed CodeAcademy course. I wanted to check in and see if anyone was struggling but not asking for help. This turned out to be the case for at least 3 people, who I tried to help get unstuck.

    By July 20th, only 18 people had submitted completed JavaScript coursework. Since there were 20 spots to be filled this led me to encourage communication with a few others who had expressed frustration, lack of access, and other barriers so that I had more people to consider for the final group. Six other applicants ended up being contacted for and interview.

    Interview Questions:

    • background with technology, what worked/was successful and what was challenging
    • what they saw as barriers to connecting with technology & open source community
    • what sort of problems they were interested in
    • example of a problem they had solved, how they had done it, what they were proud of (intentionally not tech-specific)
    • what a successful program would look like for them
    • if they had any questions about Ascend or for me

    In one week, I held 10 interviews back to back on Tuesday afternoon, then another 7 each on Thursday & Friday.
    The stories people told were powerful and there was also such obvious enthusiasm in each applicant for the course and the potential it held beyond the 6 week intensive.

    At the end of the day on Friday, hard decisions were made and I sorted 20 people into the ‘accepted’ group, putting the remaining 3 onto the waitlist. One of the interviewees didn’t live in town and wouldn’t have been able to make it to Portland in time so they were taken out of consideration.

    At today’s meetup we held space for questions and also for any requests of things that hadn’t been considered yet. We went over what was provided and then also brainstormed on other support:

    • peripherals available for those who need them
    • tallying & getting awareness around food restrictions/needs
    • carpooling/parking options
    • sharing information on childcare options
    • mentors - looking at setting people up with one or more mentors who also intersect with some of the underrepresented aspects of this group

    Takeaways from doing this process include:

    • Application follow-up was only 1/2 of the total applicants - we should look for a higher application ratio next round
    • Outreach did not get as wide as I intended, with such a short turnaround time the posters & postcards didn’t get distributed to local churches, libraries, community centers
    • Many of those who did not make it through round 2 came to the application via OutsideIn/NAFY/Pear (all three youth services) – we need to look into this more but I have another post to make about my ideas here for what we could do differently

    Applications Closed

    01 Jul 2014 »

    Time for Round 2

    As of this afternoon, the application form has been taken offline and the applicants to date have been contacted regarding the next step in the selection process.

    Here is the correspondence with applicants:

    Thank you for your interest in being a part of the first-ever Ascend Project taking place in Portland, Oregon this coming September. Applications have now closed and it’s time to move on to the next step in the selection process where you are asked to do a bit of self-directed learning. You’ll be doing beginner JavaScript because we will be using it in our time together this fall when learning how to write tests.

    Please complete the following on or before July 20th:


    Go to and create an account - set your username to be the first letter of your first name, then your last name (using the same name you submitted your application with). If there is a conflict with existing usernames, please add the number 789 – hopefully that will handle all conflicts.

    e.g.  I am Lukas Blakk so my account would be lblakk  
    (or lblakk789 if lblakk was taken)

    If you are very new to the web and to programming do the HTML/CSS course as a softer start before tackling the JavaScript - it is here and it will give you some good foundations that will come in handy later

    The course everyone needs to complete to continue to be considered as a potential participant in Ascend is: – you must do the entire course, all the way to the Cash Register exercise. You should get a visible signal once you have completed the course (and a badge).

    • SEND A LINK:

    When you have completed the entire JavaScript course send the URL for your user account (e.g. ) to so that your completed goal(s) can be confirmed. You will get a confirmation of receipt and meeting the goal.

    Once you have completed your JavaScript course and received confirmation that your goal has been met please sit tight for further communication regarding the final step in participant selection which will be a brief interview either by phone, video, or in person.

    Selection process for the 20 spots in the Portland Ascend Project will be completed on or before July 31st so you will know by then what to expect for September. If you have any questions or concerns while you are working through this exercise, please send them to

    Tips for getting through the programming exercises:

    Not everyone is going to feel super comfortable with the material. As someone who came to programming at a later age, I can recommend the following things have worked for me when trying to learn programming (or just new things in general):

    • Read through the directions carefully before starting to write any code
    • When you are getting feedback that there’s an error, read your code out loud to yourself and see if it matches what the directions sound like when also read out loud to yourself
    • Always check for those pesky semi-colons that go at the end of a JavaScript statement
    • Take it slow, read both code and directions carefully, sometimes the smallest mistake hides itself well and computers are VERY LITERAL, they do not know how to improvise on what you’ve given them to work with
    • Be patient and gentle with yourself, errors in code are not a reflection of your ability to learn well - everyone gets them at different times, forever, it’s called being human - so if you need a break, take one! Walk away for a minute or go do something totally different and then come back to your problem with fresh eyes
    • Focus on understanding why your code had an error – add it to your mental bank of what possible issues could be so that every time you are debugging your code you can go back to things that have happened to you before and try those in attempting to fix the problem
    • There are hints in the Code Academy lesson area, use them if you need them, no shame if you feel like you’ve tried everything else you can to understand what might be incorrect in your code Doing this exercise shows your commitment to participating in a project with such a large scope as Ascend will have but it’s also an introduction to learning how you learn. Pay attention to what’s working for you and what’s not. We’ll talk about this more in class, and even if you do not end up being selected for the first Ascend Project there’s benefit to understanding what works for you in whatever you want to learn, by whatever means.

    Thanks everyone, I look forward to hearing back from you as you complete this next stage.

    The week in Portland was very instrumental in getting to meet people outside of the current tech environment. Thanks to Claire at Outside In I was able to go and speak directly with homeless youth who were curious about this opportunity. With help from Shawna Scott and Dino Anderson there were several blasts of communication to local organizations to spread the word about applications being open and it really worked. When the applications first opened there were only 3 from the largely un-publicized first week. Then, thanks also to Open Source Bridge for having me keynote about Ascend, and to attendees who engaged me in discussion, offered help, introduced me to potential participants, and spread the word around Portland we went got 40 applications by the time the window closed. More than enough to go through and work with people to create a strong cohort of learners from many different walks of life but all of whom are seeking that chance to get connected and go deeper.

    Coming soon, posts about budget/cost learning as well as the curriculum beginning to take shape and be available for feedback.

    Going Live

    30 May 2014 »

    And we’re off!

    Today the first inquiry from the site came in. Things are getting very real now. The application form is up on the site, so now it’s time for social media pushes and getting flyers & posters distributed in Portland in the coming weeks. If you are in Portland and have a place for a poster to go up, or cards to be placed out where potential applicants might see them - please reach out!

    Here’s what I’ve learned so far in getting to this point:

    • Everything took longer than I’d estimated
    • People asked great questions at that informal chat including: Would we have a bug tracker? (Yes, we do now on GitHub) What happens after this? (Working on pulling in more opportunities for grads including OPW and hopefully internships with other projects) What’s the four year goal? (I’m working on this one - having more of these programs in more places seems like the obvious answer for now)
    • I am trying to get better at asking for help and it’s paying off (Thank you Madhava for the poster!)
    • Definitely getting more familiar with Jekyll and markdown which is great because it allows every aspect of this project & website can be open

    Now that the applications are kicked off, here’s what’s next:

    • Looking for volunteers to spread the word on the ground in Portland (see volunteers)
    • Getting posters & flyers printed and distributed
    • Looking for opportunities to talk about the project
    • Keynoting at Open Source Bridge about the project and looking for contributors & mentors at the conference
    • Processing applications and making sure people get office hours if they need them
    • Setting up office hours with the Portland Space
    • Doing the Training-Up program with Greg Wilson as I start iterating on the curriculum

    Update on deadlines coming up:

    • June 30th - Applications close
    • July 15th - Start interviewing applicants who have completed Round 2 (Codeacademy’s JavaScript module)
    • July 30th - 20 Participants selected and notified for the Portland group

    Introducing Ascend

    09 May 2014 »

    Explicit Invitation

    You are invited to apply for this project if any of the following applies to you: you are looking to break the cycle of living paycheck to paycheck, you feel like there’s more for you to learn and push yourself to try in life, you are a person of color, you identify as LGBTQ, circumstances have not made it possible for you to start on or complete a 4 year college degree and you are not currently pursuing one, or for any reason you want to work with technology but have felt like it wasn’t inviting or available to you up until now.

    The Ascend Project is a 6 week, full time course that removes many barriers and allows participants time and support as they focus on learning typical open source practices: IRC, bug trackers, code review, committing patches, and the larger opportunities available to users & developers of the open web. The curriculum will focus on setting people up to succeed, getting hooked on solving problems with code, and being a part of a bigger community with a mission for global good. The intention is to counter the manner in which many populations are either completely ignored, or sometimes pushed away from participation in computer science and open source contributions when it costs too much to join in.

    This site is served and hosted on the Ascend Project GitHub repo so that all the materials, as they are being developed, can be available for viewing/input/contribution. If you are interested in contributing, please take a look at the Issue Tracker and get in touch.

    Community Planning Meetings

    We will be starting a public call for community planning around this first pilot, please stay tuned for call in details and link to notes.

    Upcoming deadlines

    Pilot 1: Portland, OR

    • May 12, 2014: Open the Call for Applications (Round 1)
    • June 13, 2014: Applications closed

    Pilot 2: New Orleans, LA

    • Planned for January/February 2015
    • Need to confirm location