Who are we?
We are Naggita Keziah and Joannah Nanjekye from Kampala, Uganda. We met at a tech meetup dubbed GeekNight kampala at the former thoughtworks kampala offices where Joannah was speaking about the Transition from continous intergration to continous delivery. The chemistry was instant and we decided to team up and apply for the Rails Girls summer of code with a strong desire to start our journey of contributing to open source.Now here we are one of the 20 teams around the globe sponsored for the fellowship.This is our first time in RGSoC and we are so grateful to RGSoC for this grand opportunity.
Our goal for the summer of code is to learn and learn as much as we can, to become better developers with clean code, to write thousands of lines of code for qutebrowser, to pass on what we have learnt and our experiences to the community and to build a bigger network through networking with those in RGSoC.
This is our team:
Supervisor Kasia Jarmołkowicz (bottom right); coach Wilson Kiggundu(top left); coach Kisitu Augustine(top right); mentor Florian Bruhin (bottom left)
Keziah: Is a third year undergraduate software engineering student at Makerere University Uganda. Her greatest emphasis is in designing scalable software solutions to solve the common problems in our community through using apropriate technologies.
She has a great interest in Python programming language and Real time Embedded systems. she loves mentoring and inspiring others and she is currently a coach at Django girls, a Tech Kids tutor and a math tutor. She would love to see more women taking up STEM courses at the university.
She started learning python in July 2015 from AI research lab where she was doing her internship. she fell in love with python and she has never looked back. After her internship she joined Django girls Kampala as a participant in September during which she developed flashtrolley an e-commerce site that connects small business owners to their customers. After her cohort of study, she enrolled to become a coach for the next cohort..
Joannah: She earned a degree in Software Engineering from Makerere University, Kampala, Uganda. She joined Laboremus Uganda as a software engineering trainee from September 2013 to March 2014 after which she joined Fintech Uganda Limited as a programmer till June 2016.
She has primarily been developing software in C# for all her roles in industry but has this passion for ruby and python. She first fell in love with python from her first year in university till she learnt of ruby from ruby Friday events that were held at thoughtworks Kampala. During ruby Fridays she was able to learn ruby programming and after which she was able to teach in one of the days in the next cohort of ruby Fridays. She has worked with ruby frameworks like Ruby on Rails and shoes and Python frameworks like django. She has contributed to many banking applications during her position a programmer at Fintech Uganda Limited.
Other than programming she loves planes and very curious about how they work and in September this year, she will be moving to Nairobi to finally join aviation school to purse aeronautical engineering with a bias in Engines and frames a dream she had from childhood.
What we are working on
We are working on qutebrowser, a keyboard driven, vim like browser. The browser is built with python3, PyQt5 and QtWebEnginee and it is 100% open source.
We chose to contribute on qutebrowser because we wanted to do something interesting and loved the idea of browsing the web using commands and shell. The project also presented us a great opportunity of learning new things and exploring python3 and PyQt5 deeper.
The fast pace and sheer amount of information keeps us on our toes, but we have each other, our coaches( Wilson and Augustine ) , our mentor (Florian) and supervisor (Kasia) to keep us on track. Thank you all for your selfless help :)
What have we achieved thus far?
About the project
- Browser architecture. We had no idea how a browser archiecture looks like before we joined the summer of code. But now through the different tutorials and udemy course that our coaches and mentors pointed us to, we feel that we are now comfortable with the architecture of a browser.
- Knowledge of TDD and application. Testing has now become a very important aspect of our programming.Now we use it frequently and know how to write tests and apply the idea of TDD. We are writing tests for the commands on qutebrowser..
- App features. We are currently solving issues 1395, 844 and 47 and hopefully we will have a pull request for one of them this week and for our tests.
- Python3. We have expanded our knowledge in python forexample the use of pdb, decorators and more OOP.
- Qt. We read a great deal QtUrls when trying to solve issue 1998, understanding the QtWebEnginee.
- Becoming Github Gurus. We are now quite used to performing various GitHub gymnastics such as rebasing, squashing, resolving conflicts, etc. (but sometimes it still acts mysteriously).
Our first conference
- Arrival. We arrived in Nairobi, Kenya for the conference on Wednesday 20th of July 2017 in the morning. We rested for some hours before we started the conference.
- Networking session. We attended this session on 20th/July/2017. We made alot of friends, exchanged business cards and it was an amazing evening.
- Day 1 of the conference. We gave a presentation on how drones, sensors and apps are rewriting the rules in agriculture and the future. This talk pulled attention from the attendees after which we got an invite from one of them to do the same talk at another engineering conference in nairobi.We listened to other presentations from other women in the african tech space.
- Day 2 of the conference. On this day we did not have a talk but we listened to different panels being conducted by different women in the tech space in Africa. They talked about common reasons why women exit stem , how to succeed as a woman in tech , how to run successful startups and the various innovation opportunities in the fintech space. We also witnessed some women led startups pitch their products and win funding and incubation space.We ended the day with getting some swag from google.
And Yeah..our kickoff Party
We also had an amazing kickoff party with our host C.K Japtheth and the great minds Shakira and Angela
- Rails girls Kampala. We are currently in the process of reviving Rails Girls Kampala chapter,a community that had gone cold after thoughtworks left kampala . We are doing this so that future RGSoC fellows have a commnunity they can call home in uganda as we impart ruby on rails web development skills to ladies in our commnunity. As part of the program , we shall run an 8 week cohort of ruby on rails programing sessions and a rails girls kampala all with the support of our hosts The Innovation Village kampala.
- Hack for Corruption. We are in the process of organising a hackathon to cub the raging problem of corruption in our country. This is an idea that was bone during a discussion we had during our rails girls kick off party with the Team lead of The Innovation Village kampala. We talked about how technology can impact our country and as we closed the party We coined hack for corruption which is the war against corruption.The organisation for the hackathon is underway with the help of our hosts The Innovation Village kampala.
Tips we want to share
- Take a deep breath, don’t panic. A castle wasn’t built in one day :)
- You need to first clearly understand the problem before writing code for it.
- Understanding the code flow is the first step to diving into legacy code.
- Writing tests for legacy code is one of the best ways to understand the code base.
- Be persistent because persistence breaks resistance. Look for all possible ways for squashing that bug, don’t give up and don’t settle.
- Make your week’s plan and stick to it.
- It’s good to express your problem in clear way, so your helpers can give related suggestions and solutions.
What will we do next ?
- Finish all the issues at hand
- Write more tests for the project
- Embark on solving other issues
- Revive rails girls kampala
And we are always looking for new contributors for qutebrowser, so please, join us!
Follow us on twitter and like us on facebook for daily updates :)</p>
Who are we?
We are Patricia Arbona and Melissa Fabros, and we are based in the Bay Area of California.
Patricia had lived her entire life in the Midwestern part of the United States, primarily in Ohio and Chicago. She attended the University of Chicago for college, and studied Latin American history in addition to Spanish and Portuguese. Afterwards, she had a career at a major educational publishing company, where she was an editor and translator (Spanish-English/English-Spanish) for Spanish High School textbooks. She believes passion for foreign langauges translates well to programming, because she views programming as learning a new type of foreign language. She moved out to the Bay Area earlier this year, to attend Hackbright Academy, a fellowship for women who wish to transition to software development. It was at Hackbright where she met her dear friend, Melissa!
Thanks for the intro, Patricia! Melissa comes to programming from the world of non-profits and higher education. Her interests in programming started in middle school where she was one of the first girls to join the computer club. However, she majored in English and American Literature in college. She loved the way literature “codes” the human brain to build worlds and emotions in the imagination. She is a PhD candidate in English from the University of California, Berkeley. She maintained her coding interests by making small web page projects. A friend once told her that reading good code is like reading good writing, which piqued her curiosity. Since that conversation, she went from teaching at the University of California, Merced to taking part-time coding classes, completing a Google Summer of Code internship, graduating from Hackbright Academy, and starting the Rails Girls Summer of Code fellowship.
Together, we’re working on the Lektor project, a Python-based content management system. The project uses the Python programming language to build static web pages that also have a dedicated administration interface. The build system is in Python, admin UI is written in React.js, and the static pages use Markdown.
Our project mentor is Armin Ronacher. Our local coaches are Ramil Nobleza, Gavin Crooks, Samantha Trieu, and Seema Ullal
Below is our team:
Clockwise from top-left, Team Hackbrighters (Patricia and Melissa), Gavin Crooks, Ramil Nobleza, Samantha Trieu, and Armin Ronacher.
What have we achieved so far?
We merged a pull request that helps users install the Linux dependencies needed to run Lektor. We’ve tasked ourselves with giving some love the Lektor’s admin UI.
The first thing we did was to set up our workstations at Github’s office in San Francisco.
Everyone at GitHub has been extremely supportive and welcoming us for our summer fellowship. Octocat has been especially helpful in giving moral support:
We also had our Kick-Off party with our sagely mentors. At the Kick-Off party, Melissa and Ramil caught a Zubat!
We researched how developers test React.js components by interviewing every front-end developer we walked into.
What tips do we want to share about our journey?
Transitioning from another career (We’re both humanities majors previously deeply involved in Eduation) is really hard. Be nice to yourself while you’re learning because learning to code is a marathon, not a sprint. Some days you won’t be able to wrap your mind around a new or difficult concept.
Transitioning careers is difficult. It’s moving into the unknown, and some people won’t understand why you’d pursue something new. People who are close to you will question you about your choices–they may see your decisions as rash and drastic. Others may doubt you. But if you invest time in yourself to learn, to meet people, and to establish new roots (whether in a new town or a new profession), the concepts and people who seemed mysterious start to make more sense.
You have to believe in yourself and find friends and colleagues that will help hold you up during hard times.
What will we do next for the project?
- We’ll make a pull request for an update to the community page’s Code of Conduct.
- We’ll write test coverage for Lektor’s Admin UI page.
- We are in the process of learning React, so we can contribute updating the UI’s components.
Who we are
Izabela: Mostly known for being a cook, cleaning lady, Lego architect and a companion to all sorts of crazy activities, like camping trips based in the middle of the living room and ridiculously long scooter/skateboard adventures (on an alien planet). Also known as a scary monster named Monstro or a fellow pirate Larry, on a ship made of cardboard. Summarizing, a Mom (also called Mammoth) of a 3 year old bundle of pure energy, named Zuza. Also a bit of a gamer (indie games in particular). Comic/manga/anime and boardgames fan. Loves to eat - addicted to kimchi, pho and curry. Can’t imagine life without rice, pasta, edamame and tomatoes. Loves to draw & create pixel art after a beautiful day filled with coding. True believer in the World’s true beauty – diversity.
Kinga: long-time-sense-of-life-passion-and-career-path-seeker. Would like to travel the world and get to know and understand as much as possible. And as many people as possible. Deeply in love with and addicted to her two cats Richard and Leon. And with/to cats in general ;) Loves Asian food, especially Indian cuisine. Likes to cook, bake and read, but often has other things to do instead. Conglomerate of opposites /zodiacal Gemini tells everything…/. Tries to survive in a world full of gluten and dairy ;) Does American Tribal Style and a bit of tribal fusion bellydance. Cares about nature. Wants to do things that are meaningful and ethical and help make world a better place. Artistic soul that wants to create. With no IT and any technical edu/experience/skills decided to get into programming. Taught kids Scratch / ScratchJr, Blockly with Wonder robots, HTML+CSS. Hopes to start working as a programmer in a near future. Now or never. Interested in hard and soft. Dreams about “making something that works and is useful” like some machine built and programmed by herself. And about having a house with a garden away from the city.
Iza & Kinga/ RubyCats
We met three times during Ruby workshops and events. After the 3rd time decided to apply to RGSoC together. Cats are one of our shared interesteds, so the name for our team came to us by itself ;)
So here are the real (Ruby)cats:
Tosio & Manio
Best listeners ever. All over the place pukers. Warm and cozy hot water bottles => Crazy Tosio & Grandpa Manio. My best friends.
Rysio & Leon
Richard and Leon are both sheltered foundlings. Leon came to us as a kitten half a year after Richard. Richard became his friend and mummy ;). They’re both extremely sweet and crazy.
Stuck between a rock and a hard place
Those 3 weeks were a bit of a struggle for us. All the plans got washed away by a huge wave of our knowledge deficiency. But as they say, what doesn’t kill you, makes you stronger. We hope for a better. We try hard to make things better.
What we’ve learned
- Partitioning, dealing with virtual machines on Vbox and VMWare, different Linux distributions and continuous reinstalling and setting up all the good things required or useful for Ruby and Rails
- Git, gitflow, GitHub. Recently commit and their messages good practices
- Using and customize different tools like Sublime Text, Trello, Slack,
- Basics of debugging
- Basics of Rspec
- Expanded out knowledge about validations and callbacks
- Got familiar with some new frontend issues incl. Sass and Slim.
- We’ve realized how much it takes for a newbie to understand what’s going on in the code of a working app, how much it takes to understand its architecture.
- An interesting experience is to observe the daily functioning of software company.
Plans for the remaining two months
- Contribute more - hopefully with expanding knowledge, more contribution will follow.
- Learn to ask for help more often, not feeling stupid and guilty of a Not Knowing crime ;P
- Believe in ourselves more - be happy with little things we do good.
- The knowledge - it’s never as full as we would like it to be, we will try not to stress over this.
- Take small steps, don’t try to eat a whole cake at one.
- Keep learning and practicing what we know.
- Smile more often and hug a lot of cats.
Loading (Image: Team Wikimedia Commons)
So at its core the LoadToCode team consists of two components: Thea & Marie. They found each other in Berlin on their way to learn programming. What a lucky coincidence! Now they are one of 20 teams all over the world that are participating in this year’s Rails Girls Summer of Code. Of course, Thea & Marie are not the only components that are needed to make this summer as code- & joyful as possible…
…so the Rails Girls Summer of Code has started!
Say Hello to Berliner Team LoadToCode
Big Team Laugh (Image: Team LoadToCode)
So our Rails Girls Summer of Code has started, we got welcomed by our hosting company SoundCloud and got an introduction to the company + a goodie bag! Day by day, we get treated very well, coffee and food only adds to the good feeling! So on the picture you see glorious & very smart Duana, patient & clever Remy and last but not least encouraging Ruby hero Sergio!
Here we are! LoadToCode = Thea + Marie
Psssst: Here we are, sitting at our desks, looking very serious and trying to understand Rails, Git & LEAP. I mean, this picture is an exception, we normally don’t look that funny.
Component “Marie”: Finishing her Masters in Interdisciplinary Latin American Studies and was researching about the user experience of period tracking apps from a social perspective. She became curious for programming after a Rails Girls beginner’s workshop in 2015. She is a fan of digital rights like encrypted communication and dared to dive more into coding. She is more than happy to combine many interests during the RGSoC.
Component “Thea”: She holds a bachelor degree in economic computer science and gained some work experience in that field. However she always wanted to deepen her programming knowledge. She then started to get involved with Ruby/Rails via the RubiesOnDaCloud study group in Summer 2015. Now with the RGSoC she is ready to put more effort in the project “to learn programming”!
Team Picture of Thea & Marie (Image: Team LoadToCode)
Hippie-Hackathon | What happened so far
So we got invited to a whole week of a hackathon (we call it Hippie-Hackathon), full of LEAP-knowledge, Q&A with Leap-Coders & last but not least socializing via campfires and advanced mime guessing. So how would YOU describe Quantum, SHA 512 or propietary software?
(Image: Team LoadToCode)
This does not only look code- & joyful on the photos, it really was. A little campfire is highly recommendable for the teams who are having a winter of code or the teams that live in Germany!
What we learned
- Overview of LEAP Architecture: Learning about Bitmask, Soledad, Pixelated! It is complex, but not impossible to understand, we recommend to start using these services. They care for your security and privacy!
- Web Applications with Rails, creating a blog webapp with Rails
- Git & Github
What comes next:
So in order to get more structure and keep track of our tasks, what we have done and we’re we heading to, we created a Kanban board.
Kanban Board: Goals, ongoing tasks and Backlog :) (Image: Team LoadToCode)
At the end of our 3rd week we’re gonna improve our presentational skills and give an overview of the LEAP project to our coaches at SoundCloud. 20 minutes of presentation and 10 minutes Q&A, so we hope to be prepared enough for the tricky questions.
At the end some dog content! \o/ Here you see our favourite Colleague, adorable mate and patient listener!
CTO of SoundCloud (Images: Team LoadToCode)
The Twitches in their element! (Image Credits: Humans of IIITD)
Yeah, that’s not quite how the Twitches came into being. It was a heatstroke that led to us meeting. If you have ever seen a Bollywood movie, you will relate. On a scorching July morning, our protagonists/narrators met at a college orientation, that both of them would not end up joining. Vrinda was feeling too hot and was lost on the campus when she asked Taneea’s Mom for directions.
T: I hated you on sight.
V: I don’t even remember seeing you. But I remember asking your Mom for directions. She is so sweet.
T: (Rolls her eyes) Oh, she remembers seeing me.
Just to give you a little introduction, T stands for Taneea:
“I am an Indian student pursuing Bachelors of Technology (B.Tech) at IIIT-Delhi. I have a myriad of interests, coding being just one of them. A hacker, a programmer, and a hardcore Berlin Artparasites fan, I am an outdoorsy person who likes to solve problems in real life (including the ones where almost everyone on Earth spells my name wrong). I am a hopeless romantic and a geek, but an unlikely one. A day spent with my laptop, and an interesting problem to solve, having delicious food (with copious amount of exercise, of course!) only to get into bed with a hot cup of coffee in hand is my idea of bliss. I hope to touch lives and make a difference to the world through my work and expression. I want to be an engineer, a problem solver, and all things awesome!”
And V stands for Vrinda:
“I am a Computer Science Engineering student at IIIT-Delhi. The best way to describe myself would be that I am a problem solver. For me, coding is a way to solve problems. I live for the rush that you get when your code finally does what you want it to do- or more often than not, something similar. I am also an avid reader and a language enthusiast (coding as well as natural languages). I can speak, English, Hindi, German and some Punjabi. Few things are important to me in life, programming being just one of them, and reading, and good food. Good food is paramount. So is Harry Potter - I am a fangirl @TheChirpyBitch. Also, I love TV- comedy shows, sci-fi thrillers, detective shows. My current obsessions include Orphan Black, Veep and everything Marvel.”
“Words are, in my not-so-humble opinion, our most inexhaustible source of magic. Capable of both inflicting injury, and remedying it.”
Our not-so-pleasant encounter was soon followed by life in adjacent rooms of our campus dorms. What came next was a similar taste in music, a shared love of reading, writing and a common craving for caffeine in the wee hours of the night and mimicking iconic Bollywood scenes, like here:
Team Twitches, in their element, pretty much! (Image Credits: Team Twitches)
We first started working as a team at the end of our freshman year- for a course assignment. We quickly realized that we worked well together, filling the gaps for each other. From then on, there was no looking back. We were elected as the coordinators for our college’s Literary Society in our sophomore year, and that really tested us. We clashed a lot but at the end of the day, we would find a way to make both our ideas work. We have been roommates for a year and loved every minute of it.
“It is our choices, Harry, that show what we truly are, far more than our abilities.”
Our decision to apply to RGSoC this year was extremely delayed. It wasn’t until February that we’d made this decision. And after that decision was made, the next biggest challenge was to find our coaches. 3 days, an infinite number of messages to people asking them to coach us, and a ban from Meetup.com later, we had four amazing and capable coaches willing to take on the task of coaching us throughout the summer. That’s when, to represent our twin-like nature and preserve our love for fiction and fantasy, we came up with the name “Twitches”.
Team Twitches' customized logo! (Image Credits: A dear friend of the Twitches' : Varnit Jain)
As part of the Rails Girls Summer of Code, we are contributing to OpenFarm, which is a free and open database for farming and gardening knowledge, that according to one of our mentors, Rory Aronson, also is a potential API for Farmbot.
We were first attracted to OpenFarm because of the plethora of opportunities that it provides to programmers and non-programmers alike. The learning curve is huge. It also has great potential in India where two-thirds of the population are farmers. Right now, we are getting accustomed to the code base by solving issues. It is so satisfying when your PR gets merged! Next, we would like to add our own features to the website.
Two PRs Merged on the same day! (Image Credits: Team Twitches)
To get selected as a sponsored team for RGSoC’16 was probably (read: definitely) one of the best days of our lives. It gave us an opportunity to grow not only as programmers, but also to grow as an integral part of the community of women developers contributing to open source across the globe. The first week of the program brought with it celebration, excitement, nervousness, and even frustration. Between uninstalling Linux, getting notified by a bot that we hadn’t updated our log (and having a mini heart attack because of it) and sending our first PR- it was truly a roller-coaster ride.
Team Twitches with their supervisor Ramon! (Images: Team Twitches)
The RGSoC team even put us all on the ‘Thank You’ board, and the students got our very own Slack channel for community bonding!
Team Twitches on the Thank You Board! (Image Credits: Ana! (RGSoC Organizing Team))
- Never write ‘Yes, do as I say’ if Linux asks you.
- When submitting a PR:
Hound: 17 violations found
Us: We would like to be excluded from this narrative.
- Don’t forget to write the daily logs- or the bot will remind you.
- Try solving a problem yourself before asking for help. Most of the time, you can solve it- it’s just lack of confidence that is stopping you.
- Never judge an issue by its cover.
- Never fear or hesitate to ask for help. It can come from the most unlikeliest of places.
Like always, Albus Dumbledore has exactly the right words:
“Let us step into the night and pursue that flighty temptress, adventure.”
Disclaimer: A special thanks to JK Rowling, and Khaled Hosseini for being amazing writers and providing us with quotes that we'll carry with us till the end of time.