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!

Peri's Blog

Blog posts by

    Red Rubber Ball

    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.”


    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!

    Strikes and Gutters, Ups and Downs

    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 :/.

    Buggy Bugs

    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.

    Week Two How To

    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!


    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.


    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

    Intro to Ascend

    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.