Exercistas Say Goodbye

Posted on by Mixolidia & Sarah

This summer we pushed, pulled, squashed, force pushed, gave lightning talks, exercised, interviewed, toured, travelled and became official core contributors to exercism. It’s all due to Rails Girls Summer of Code and we’re so grateful.

Exercistas & NIRD

(Image: Exercistas)

Working out of the NIRD office in Seattle allowed us to learn what it is like to work as part of a team in an office and learn all the tools of working remotely. From time to time, the NIRD staff works remotely and our exercism team spread from the West to East Coasts. We are in Seattle, WA, our supervisor JZ is in L.A., our mentor Katrina is in Texas and of the UX/UI team we are working with, one member is in L.A. and the other in NYC.

Working on exercism was a bit of a whirlwind which just started to settle. We started out with a plan to streamline the onboarding process of new users to exercism. At our mentor’s suggestion, to learn the codebase we decided to institute a small feature by the end of the first full week: a menu of languages available on exercism. So we hit the ground running and smashed right into a wall of the most convoluted codebase either of us had ever seen. We waded through it, took some missteps, but achieved our goal of making our first pull request within 7 days of starting RGSoC.

That was just the beginning. We toured Julep, Porch, and Facebook, met some of their software developers, also met developers from EnergySavvy all in our quest to learn more about software development and the Seattle Tech scene.

Through RGSoC, we were able to attend the last Madison+ Ruby conference and give a LIGHTNING TALK!

Exercistas @ Madison+ Ruby

(Image: Exercistas)

At first it was a bit terrifying finding out that we were giving a talk. That’s why we practiced and practiced, gave our talk in front of our coaches, mentor and even a local meetup. The Madison+ Ruby crowd was very supportive, welcoming and seemed to love our talk and exercism. We were also treated like full fledge speakers and received a yummy speaker goodie bag. We even got to meet Anika! Attending Madison+ Ruby was a great experience.

Exercistas <3 Anika

(Image: Exercistas)

We ended up doing so much more than we’d planned in our application for RGSoC. We didn’t just restart a conversation about the ease of access of the website for new users, we were able to influence nearly every aspect of the site.

We made this!

(Image: Exercistas)

…and that’s just the front page. We submitted a total of 36 pull requests, 29 of which were merged and 7 of which went back to the abyss where they belong.

Our original project was to improve the onboarding experience, and boy did we go all-out on that one. We’ve been meeting with User Experience professionals for two months now to entirely redesign this aspect of the site. As part of this project, we ran user interviews, made wireframes, and will be doing more user testing in the future once the redesign is complete.

The two large features we added were information pages showing the languages and exercises available, and an engagement-driving feature that suggests five exercises to comment on every day that are appropriate for the user’s level of experience.

We surpassed all of our goals for this summer. We never thought we would be able to reach the level of ease we now have with Ruby and exercism after three months. We loved being able to influence the direction the site was taking and having Katrina take our comments and suggestions to heart.

Exercistas <3 Katrina

(Image: Exercistas)

Rails Girls, it was a lovely summer, and we are so grateful to have had this opportunity!

Conference Raffle Round Two

Posted on by Laura

As we’re nearing the end of the program, it was also time to get the second round of our WORLD-FAMOUS conference raffle going. We’re excited to finally announce the winners:

RubyConf Colombia (16-17 Oct): RubyGirls Quito
EuRuKo (17-18 Oct): GirlsCoders Warsaw, R’n’B
Codemotion (2-3 Nov): GirlsCoders Warsaw
beyond tellerrand (2-4 Nov): Delta Quadrant
StarTech Conf Chile (6-7 Nov): RubyGirls Quito
RubyKaigi (11-13 Dec): Tessie (Pilar & coach Ramon)
RubyConf Australia (10-13 Feb 2016): Melbourne
RubyConf Philippines (8-9 Apr 2016): Tessie
Ruby Conf Kenya (5-7 May 2016): CocoaGems

excitement

Congratulations!

You should have all already been introduced to your respective conference organisers; and as always, we’re happy to introduce first-time (and even second-time) conference goers to people from the local Rails Girls community. If you need to be introduced, let us know - we can try connecting you. For those of you giving lightning talks, we always have those tips and tricks handy so you can rock that stage! Don’t forget to take pictures and, most importantly: have fun!

Last but not least: We’d like to thank again all of the conferences who offered tickets for our second round conference raffle:

ArrrcampRubyConf PhilippinesRubyConf ColombiaStarTechConf ChileWebcamp ZagrebCodemotion BerlinRubyConf AustraliaOpen Source & Feelingsbeyond tellerrandEuRuKoRubyKaigiRubyConf Kenya

You’re all amazing! ♥

Review of Rails Girls Summer of Code 2015 by Team Melbourne

Posted on by Vi and Sarah

G’day!

We’re Vi & Sarah. We’re the team that makes up Team Melbourne, the first Australian sponsored team to participate in Rails Girls Summer of Code.

Image: Team Melbourne

From July to September 2015, we created an advertising plugin for Discourse that supports Adsense, DoubleClick for Publishers and Amazon Affiliates. This was our first ever contribution to open source.

In the podcast below we interview each other and talk about our experience in Rails Girls Summer of Code (Q&A Format with 5 questions each. Duration: 13 minutes).

Official Link to the Podcast on Soundcloud & Podcast Transcription on Team Melbourne’s Blog.

Don’t have 13 minutes to listen to the podcast? Below we’ve summarized the skills that we’ve gained over three past three months in 8 dot points:

  • Javascript: Prior to the program, we completed Codeacademy’s Javascript course and read Eloquent Javascript. The challenge came with picking up Ember.js from scratch. It took a while for us to get our heads around Routes, Views and Templates!

  • Google Doubleclick for Publishers: We had to create code that supported both Adsense and DoubleClick for Publishers in harmony. One key feature of DFP is custom targeting, where we built an infinitely increasing user input box that supported multiple keys and values.

  • Amazon Affiliates: This was an additional feature in the last 3 weeks of the project. We found out about Banner and Product Link Amazon Ads, and managed to build support features in the plugin.

  • Git: With multiple contributors, we quickly learnt the ins and outs of managing a full project and to ensure that it was in sync. We learnt about symlinks, submodules and more…

  • Mobile Testing: We learned how to deploy Discourse to a live site (Docker) in order to test mobile ad features.

  • Pair Programming: This allowed us to discuss features and programming approaches in an effective and engaging manner every day. It’s a great approach!

  • Asynchronous Loading: With Ember.js, advertisements would time-out without a page refresh. We fixed this and the tough part was ensuring ads would work with Discourse’s asynchronous logic.

  • Productivity Platforms: Our amazing coaches introduced us to Slack, Trello, and Daily Stand-Ups. These were effective tools in making sure the project continued to stay on track!

Image: Team Melbourne

Exciting News: Vi’s business that provides tutoring for selective school and scholarship tests is sponsoring for 2016 Rails Girls Summer of Code.

We’d like to thank Rails Girls for giving us the opportunity, Redbubble for being our coaching company and Discourse.org for building something amazing!

Image: Team Melbourne

Start using our Advertising Plugin! Follow us on Twitter. Read about our journey on the Team Blog.

Team Tremors - Amazing Journey

Posted on by Nelly and Mercy

Team Tremors

Nelly and Mercy (Image: Nelly & Mercy)

We have been working on the RapidFTR project, which assists humanitarian workers to gather, sort and share information about separated children in emergency situations so they can be reunited with their families. Working on this project has broadened our programming knowledge especially in Ruby and Rails. We have interacted with Git (It was not that easy at first :)), CouchDB, Solr, and Gems. At this point, we cannot say that we are masters with Ruby and Rails, but we are much better than when we started learning it.

Start of the Project

Initially, setting up the project on our local machines was a bit challenging (we were discouraged at first :( ). Nelly uses a Windows environment and that required vagrant installation (with this, one does not require a manual install of all the features) alongside setting up the project on her machine. On the other hand, Mercy uses a Linux environment and that required manual installation of the required features of the application. At the end of it all, we had installed so many features and gems but the good news was that the application was working perfectly fine after a couple days of setting up our respective environments.

RapidFTR setup Blog

We noticed the guidelines for setting up RapidFTR on our local machines was not so clear. We decided to write more detailed instructions which can be found here. This would also be used by new and upcoming contributors to the project.

United States International University - Africa Summer, 2015 Hackathon

Last semester, we had a hackathon at our university which was amazing. A few universities across Nairobi, Kenya were in attendance too. Surprisingly, out of 80 people in attendance, only 7 were female :0 :0 :0. That got us a bit worried since that clearly showed not many female coders and programmers are out there. We created a kind of a revolution to encourage women into programming. How did we do that? Well, it was easy. We came up with a women’s award category called ‘Nekesa Kiboi’ Award. Nekesa Kiboi is a combination of both our names.

The award focused to provide funding on the best project done by a female(s). The theme of the hackathon was based on social innovation. More details on the hackathon can be found here. The winner under the Women’s award category did a hardware hack using raspberry pi for digital display which incorporated the use of counter and timer. As simple as it was, their project can be further extended and applied not only in the university, but also in the country for digital display purposes.

Team Tremors

Announcing the Women’s Award Winner. L-R: Paul, Mercy, Nelly and Prof. Wamuyu Kanyi (Image: Team Tremors)


Team Tremors

Women’s Award Winner (Image: Team Tremors)

We decided to have that because we know women have potential in programming that they can exploit and the award was a way to facilitate and drive women in the hackathon to exploit their potential. Well, we did not do that alone. We contributed some of our RGSoC funds and also got help from our professors and friends. We encouraged the girls at the hackathon to work on projects and join community groups like RGSoC, AkiraChix, and Women in Tech Africa. Such groups help women of like minds to learn from each other and grow together.

Team Tremors

Hackathon Day (Image: Team Tremors)

Meeting with Team Techylite

Team Tremors

Esther, Nelly and Mercy (Image: Team Tremors)

We met up with Esther Monchari, from Team Techylite. They work on the Speakerinnen project. It was such a great day to spend time chatting, learning from each other and sharing our experiences. We actually had our weekly skype call with Cathy together with Esther. Cathy was excited to see and have a chat with the two teams from Nairobi, Kenya.

Conferences

We could not manage to attend any of the conferences because of the proximity. But, we attended the Women in Tech Africa Conference held at ihub in Nairobi, Kenya on September 10th 2015. This was the launch of the Kenya chapter. The conference aimed at identifying women in tech from Africa, and to organise activities that would support these women across the African continent. During this conference, we learned to apply the tech knowledge in business growth. In addition to that, we learned how to be techpreneurs. Where we focus on both technology and entrepreneurship. That was a good perspective to look at technology since most people would always associate technology with techies and rarely with techpreneurs.

We would be attending the 2nd Annual African Women in Technology Conference, hosted by AkiraChix held on October 15th 2015, in Nairobi, Kenya. AkiraChix is a non- profit organisation that inspires and develops the force of women in technology who will change Africa’s future. From the 2nd round raffles tickets, there would be a RubyConf in Kenya and we are so looking forward to it. We are hoping to give a lightning talk during both conferences.

What we learned during RGSoC

Throughout this journey, we learned to work as a team and absorbing pressure when things don’t work out as we anticipated.

We managed to fix the issues on the project that was required of us and we also learned how to make successful pull requests. :)

We also learned that women are few and needed as well in the STEM world. Well, based on our experience from the hackathon, we noticed that most girls are enthusiastic about programming but lack that drive and motivation. We had the chance to encourage the few female that attended the hackathon, shared our RGSoC experience and the lots of opportunities alike that are available for women in STEM.

Challenges We Faced

We faced a couple of challenges but the two major ones were Internet reliability and writing cucumber tests. We use a space at the university for the RGSoC. At some point, internet connectivity was so slow that we opted to use LAN connection as opposed to WiFi. Sometimes we would even use our phones for internet connection. That saved us some trouble.

Writing cucumber tests was very challenging for us (extremely challenging :) ). We asked pro ruby programmers around Nairobi, Kenya concerning cucumber tests and surprisingly, none of them write tests because they say it is difficult and confusing. Eventually, we managed to find our way through understanding cucumber tests and actually writing them. :)

Our Gratitude

We appreciate our mentors, Sri Prasanna and Anne Mwangi for guiding us through the whole project. They showed us the easy way out to work with not only the RapidFTR project, but also understanding the project’s code and the importance of writing tests :) :). Our supervisor, Cathy Nangini, has been very supportive throughout the program. From the weekly skype/hangout calls and updating our progress with her, to also linking us up with the tech people across the globe. She has also been very understanding on the unreliable internet that would occur a few times. Thank you very much Cathy :). Not forgetting our Coach, Paul Bombo, For being with us from the word go. Paul, we are apologize for ever bugging you, but you’ve helped us quite a lot both during the sad and happy times. :) :) And owww… and Max Musau. The one guy that we took over his office whenever the university labs were closed for the night. Thanks Max for giving us a space in your office ;). And all in all, we appreciate the RGSoC community which is and will always be a lovely family.

What next???

The RGSoC is coming to an end and we are glad to be part of the journey. We have a positive impact from the experience. This is not the end for us as we will still continue to learn everything new, and take the initiative to encourage other women to be part of ‘Women in Technology’.

A Tale of Sweet Cocoa with Gems

Posted on by Karla and Emma

Team CocoaGems

Emma and Karla during the first week in the GitHub office.

A little bit of background

CocoaGems is a pretty large team. We had the great fortune of having four mentors from CocoaPods and a total of seven coaches. Five of our coaches are from GitHub and two of them are private coaches. GitHub hosted us during the entire Summer of Code and provided us with office space in their beautiful office in San Francisco. CocoaPods is a dependency manager for iOS development written in Ruby. It allows iOS developers to use pods containing libraries and also to share their own pods with other developers.

What we did together

While pairing with our CocoaPods coach Boris Bügling we worked on a CocoaPods plugin called CocoaPods Label. Step by step we created and released our first gem together. We took terms driving, navigating and asking questions. As you fellow developers know, pairing is a great way to practice your patience, asking questions and taking initiative. Communicating about code can be frustrating when you are having trouble explaining what you mean, but it gives you hints about what you need to work on more since the only way to be good at explaining something is to really understand it. It is also pretty epic to put your trust in someone much more experienced to walk you through there ways of thinking and solving problems.

Team CocoaGems

Karla, Boris and Emma visiting the Twitter office.

We also had more theoretical sessions with our coaches at GitHub about general Computer Science subjects like algorithms, search, sorting, regular expressions, piping etc. As individuals we worked on our own project helping CocoaPods with defined issues. This allowed us to work with projects that inspired us at our own pace. While working on our issues we scheduled tutorial sessions with our coaches and mentors about concepts we needed to understand to be able to solve our issues. As if this wasn’t enough we also worked on our side iOS projects with one of our savant GitHub coaches to better understand CocoaPods audience. We also created a blog together using Jekyll. It is a developer friendly blog tool that allows you to write blog posts in markdown and just push it to your git hub repository to post a new blogpost using GitHub pages.

Team CocoaGems

During CodeConf in Nashville we got to take a 3D image.

Team CocoaGems

We also got some nice t-shirts, had fun and learned a lot.

What we learned

Karla:

How do you work on an Open Source Project without a read.me as a newbie? As some of you may know this summer CocoaGems have been working on CocoaPods. Sorting the order of how pods are listed in an Xcode project. The issue I have been working on this Summer Cork did not contain a read.me. Fortunately, I had mentors and coaches who offered there precious time to work with us. The question that confronted me shortly after choosing to work on Cork is how do you go about getting more background of the Code base while learning Ruby? Git-blame came to the rescue. Git-blame allows you to track down the first person to contribute to the file and also to track every other commit since the first to the most present connecting each one to its author and date. While working on an open source project it is useful to know whom the contributors of each commit are because it makes it a lot easier to ask them questions directly.

How to automate your learning process. Is that even possible? learn to schedule meetings with mentors, coaches, colleagues and managers naturally by scheduling one each and every single time after every session. The best resource available for learning aside of the web are definitely our coaches and mentors. I learned to schedule as many sessions with them. Some were in person, some were over screen hero and some of the meetings we scheduled were also with other RGSoC participating teams and or Github Summer of Code students in particular Mark Tareshawty. Google Calendar became my best friend. Adding Meetup events that I wanted to attend and also scheduling a well thought out plan for the day made it so that transitioning from one activity to the next happened with as least cognitive exertion as necessary.

Emma:

I wanted to take the opportunity to get exposed to different parts of programming during this summer. To get started I chose one of the issues labeled easy in the CocoaPods repository. The pods used to be ordered case sensitive and that caused confusion for users with a large number of pods. By working on this issue I learned a great deal of things that I can’t imagine learning in a better way. I hadn’t been exposed to a larger codebase before an it felt exciting to search for the lines of code that loaded the pods in Xocode. I picked my coaches and mentors brains for all of there tips and tricks to find the right place and ignore everything else. I also learned more about how sorting works and became better at understanding Ruby syntax. Once I got the sorting figured out it was time to rewrite the tests. I needed to learn how to write tests, did a bunch of online tutorials and got help from our coaches. Once the tests succeeded I was very proud to do my first pull request ever to an open source project.

After that I worked on moving the source code for search to its own plugin (gem) to make the codebase more modular. By doing so it will be easier to make changes or improvements to search in the future. With my new skills from previous work it was easier to get started, however CocoaPods is pretty huge and has its own infrastructure to get your head around. I struggled with understanding the development environment and how to run my local changes with Rake. Once I got that figured out I worked myself backwards copying code too the new plugin and making sure I got everything right. Moving the tests for search was actually more complicated than moving the source code since the tests required a lot of files in the fixture folder to run the tests. By working on this I got a better understanding of what a gem is an how it’s structured. For the last month I chose to work on a new web project called CocoaPods stories that enables user generated lists of pods. I’ve always wanted to learn more about databases and I feel really inspired to be able to do so in this project working my way through the issues.

Thank you <3

Karla: The summer was a full on learning experience - it makes me happy to know that we kept a RGSoC Team Apps journal- this summer has to be the best well spent three months of my life and best use of time. An enormous thank you to our CocoaPods Mentors: Kyle Fuller, Orta Therox, Boris Bugling and Samuel Giddins. To our GithHub coaches: Jake Boxer, Jesse Toth, Rachel Meyers, Rob Rix and Ross Mc Farland. Learning about software development, fundamentals, Git, algorithms,how to write tests, and Agile has been a great experience with you!!

Emma: I just want to aim a big thank you to everyone who made these three months of immersive learning possible. Thank you to Rails Girls Summer of Code organizers for creating this excellent program to help change the ratio in open source development. Thank you to CocoaPods for believing in us, giving us support and projects to work on. Thank you to GitHub for hosting us and giving us coaching in various subjects. Thank you to our private coaches for your patience, time and support.

Team CocoaGems

Members of CocoaPods getting together for dinner after AltConf. Photo by Karla