We’re almost halfway through the summer, which as every year can only mean one thing: It’s time for the official RGSoC Day Off!
What’s the RGSoC Day Off, you say?
Every year, we encourage our participants to take a day off to decompress, relax, and come back to work ready for the second half of the program; this ensures that they have some time they can spend away from the computer and do anything they feel like doing on that weekday. This year, our official RGSoC day off will take place on August 19th.
For some students, the Day Off just means “not coding”; for others, it’s the possibility to try doing something new and exciting or to spend the day outdoors and with friends. If you need some ideas on what to do on your very own day off, we’ve collected some here; our teams in the past have gone swimming, hiking, baked cakes, or just hung out with their family. However, you can really just do whatever you want: The sky is the limit!
The only rule is: no work, no commits, no learning code for that single day. We know it’s difficult, but we also hope you can follow through ;)
If you want to document your day off, you can use the #rgsocdayoff hashtag and post tweets or pictures of your day. But hey, you don’t have to — it is a day off after all.
On this note: We wish you a lot of fun on your official RGSoC Day Off!
It’s amazing to see how many people all over the world support Rails Girls Summer of Code.
Sponsors, coaches, mentors, supervisors decided to play a part in bringing diversity to IT and help us make our program work. But it doesn’t stop there. Many tech conferences have a hand in RGSoC too.
We encourage our students to attend conferences as part of their scholarship program. We believe that a novice coder can benefit a lot from a good conference, be it learning new things, making new contacts or getting in touch with a larger community.
This year we decided to experiment and don’t make a conference raffle; instead we asked students about conferences they were most interested in and tried to make their wishes come true.
We are very grateful to the conferences and their amazing organizers, who support us this year. It takes lots of efforts to organize a good conference and make it accessible to everyone. We appreciate this a lot!
Here are some of the conferences which generously granted free tickets to our students this year.
Date: September 15-16, 2016 Location: Warsaw, Poland Twitter: @CodemoWarsaw
Interested in attending this conference too? Contact us for getting 20% off promo code.
Date: October 3 - 6, 2016 Location: Copenhagen, Denmark Twitter: @GOTOcph
Interested in attending this conference too? Contact us for getting 10% off promo code or getting involved as a conference volunteer.
Date: February 9-10, 2017 Location: Melbourne, Australia Twitter: @rubyconf_au
Interested in attending this conference, contributing to the diversity ticket fund or giving a talk? Contact us for more details.
Didn’t find yourself in the list? Exhale! This is not the whole story yet. More conferences are coming soon!
We are Kasia and Ula from Warsaw, Poland. We met on Ruby on Rails basic weekend course organized by Coders’s Lab in November 2014.
When we finished it, we started to think what we should do next. We decided to apply for RGSoC 2015 but we weren’t chosen as a team. We didn’t give up and applied for 2016 edition and that’s how KaUlah team was born :)
You probably may guess how we created our team’s name, but we’re going to explain it anyhow. First two letters are from Kasia’s name and remaining part is from Ula’s name. Some of you may tell that it sounds similar to known Mexican coffee liqueur „Kahlua”. It was our inspiration and finally occurs that both words are anagrams :)
Our team
KaUlah Team with coaches. From left: Tomasz, Kasia, Ula and Piotr. (Photo: Piotr Stachewicz)
Ula: I was a financial specialist and then one day I encountered coding, started to work on it, learn, research and met a lot of fantastic people who helped me.
I am involved into Geek Girls Carrots meet-ups, coordinate Python and mentoring SQL courses, and I go deeper and deeper into it. So in my free time I am helping others to run into IT, also I like traveling, mountain hiking and watching old episodes of TopGear.
Kasia: I started programming two years ago at home and then on Coder’s Lab RoR course. Before programming I was occupied by PhD studies in chemistry. Finally, it turned out that programming is not so different from chemistry, you research, experiment, learn and at the end get results.
In my spare time I pet my two lovely cats (Janusz & Grazynka) or play handball.
From left: Yorick (mentor), Grzegorz and Tomasz (coaches), Lucas (supervisor). (Source: gitlab.com and Lucas Pinto twitter account)
Above you can see pictures of great developers who are helping us during this summer: Piotr Szotkowski and Tomasz Stachewicz from Rebased (first picture, they are joining RGSoC for third time!) and from GitLab Tomasz Matczukin and Grzegorz Bizon (first time coaches). Our mentor is Yorick Peterse (who was a coach last year) and our supervisor - Lucas Pinto (who is a newbie as we are).
We are working at coaching company office so we meet Tomasz and Piotr everyday. With others we communicate via slack channel and Discussion section under issues.
So far we’ve mentioned our team but on our slack channel there are more people who support us - other GitLab employees.
What are we working on?
When we saw the list of projects available for RGSoC GitLab Community Edition became our number one right away. Previously we developed our small apps into GitHub. And now working on GitLab CE give us amazing opportunity to see how repository system is build and how it works. GitLab is an application to code, test, and deploy code together. It provides Git repository management with fine grained access controls, code reviews, issue tracking, activity feeds, wikis, and continuous integration. Contributing to GitLab CE is an amazing experience and fun.
What tips do we want to share about our journey?
Always check your branch.
Tests are very important.
Be patient - ask, check, read before you push.
Remember to rebase and squash.
Don’t miss empty lines.
Learn and learn - it’s great!
You can improve your code.
Issue is almost always more complicated then you thought.
What will we do next?
Finish all issues in progress.
Find issues, features and bugs for the next weeks.
We are silly sometimes! Left: Jeena. Right: Malisa. (photo: Malisa/Jeena)
Hello World! We are Team JaM: Jeena and Malisa from beautiful Portland, Oregon, USA. We are two biologists who met each other while studying bioinformatics, the child of biology and computer science. This summer, we are working on Servo, the parallel web browser engine written in Rust, and we cannot be having more fun! Josh Matthews is our project mentor, Stefan Novak and Nick Fitzgerald are our coaches, and Scott Kobewka is our supervisor.
More about us!
On our recent trip to a cat cafe. Jeena debugging next to a cat, and Malisa debugging a cat. (photo: Malisa/Jeena)
Jeena:
I spent about half of my life in South Korea, and the other half in the West Coast, USA. I studied genetics in college because I was amazed by how DNA with only 4 letters could translate into so many different flavors of life, ranging from salmonella to elephants. After college I worked at BoltThreads for a few years, where I programmed yeast to make spider silk. I recently realized that programming computers is similar to programming genomes with DNA, and I decided to study bioinformatics. The more I learn programming, the more I realize how fun it is! Maybe it is no surprise that I find programming fun because I like to make things, including ceramics, cooking, and knitting.
I always welcome learning opportunities, so please reach out to me through my blog or twitter!
Malisa:
I’ve spent most of my life in Seattle and Pennsylvania, with bits here and there in Long Island, New Zealand, and Japan. I really love Portland so far! I majored in Biology as an undergrad, but I’ve always wanted to study more computer science because of its emphasis on problem solving and algorithms. To that end, a little over a year ago I decided to get my Master’s in bioinformatics, and since then I’ve been coding full-time. I’m super excited to have an opportunity to broaden my programming skills this summer with RGSoC.
In my free time I enjoy the following in large quantities: eating, reading, cuddling with cats, swing dancing and ballet, and exploring different Portland-area neighborhoods.
Stefan and NickOur coaches pretending to be not so silly... Left: Stefan. Right: Nick. (photo: Malisa/Jeena)
Stefan works at Oregon Health and Science University, helping researchers and doctors share data. Though he may not admit, he is also a pinball master!
Nick works at Mozilla, where he hacks on Firefox Developer tools and Spider Monkey. On the weekends, you can find him playing bike polo.
What are Rust and Servo?
Rust is a systems-level programming language that was started in 2010 by an employee at Mozilla. It is a compiled language, so creating executable code is slow, but runtime is fast. It is also memory safe, so pointers will only point to things that actually exist. Lastly, it is designed for concurrency and parallelism on multiple cores. You might consider using it for projects where you would otherwise write C++ code. Plus we think Rust is easier to read and write than C++.
(photo: www.rust-lang.org/en-US/, www.servo.org)
Servo is also Mozilla’s baby. It is a parallel browser engine, and it is written in Rust! We are working on Servo this summer.
…what is a browser engine anyway? To generalize, a browser engine takes a URL and displays the document that corresponds to it. Every web browser has one. For example, Firefox’s current browser engine is called Gecko and is written in C++. Mozilla’s long-term plan is to replace bits of Gecko with bits of Servo. You can read more about browser engines here.
Our Project
(photo: www.slate.com. edited by: Malisa)
Within the vast codebase that is Servo, our task is to implement the Fetch API. The Fetch API sends an HTTP Request, similar to XMLHttpRequest. We are writing the Fetch API in Rust and connecting it to the JavaScript task.
Sending an HTTP Request via the Fetch API involves a request and a response. Our task is to follow the class templates for Request, Response, Headers, and Fetch, which are specified by the WHATWG standards for the Fetch API. We’re lucky to have very specific instructions and goals for our project. ;)
What have we achieved so far?
So far we have implemented the Headers API and the Request API. We started out pair programming (which really revealed some of the differences in the way we think and approach programming), but then we moved onto independent tasks.
One cool thing is that because our code is so dependent on the rest of Servo and the WHATWG specifications, over the past month we have had to modify other parts of Servo’s codebase to add additional functionality that our code depends on. We’ve also filed issues with WHATWG where the Fetch spec requires clarification. This has helped us realize “hey, what we’re doing actually affects the rest of the world, and we’re in it for real!”
Probably even more exciting is the influence that this project has had on us.
The Rust and Servo communities are both really awesome, and since we started working with them our standards for human interaction have gotten higher. ;P
Coming into this project, we had no experience with low-level languages. We were both used to writing lots of one-off scripts in Python. Working with Rust has really forced us to think about what’s going on in the stack and the heap and what happens in memory when you create or copy an object. It is tough but rewarding.
On a related note, working on such a big project with such an unfamiliar codebase and lots of contributors is a very valuable experience. Good documentation and collaboration etiquette is appreciated by everybody.
Plus this is the first time we’ve even heard that web browser engines exist!
What tips do we want to share?
Document your daily learnings with TIL (“today I learned”). When you feel like you’re not making progress, go through your TILs and realize how far you have come!
Be vocal about your thoughts, especially when pair-programming. Other people sadly cannot read your mind.
Asking questions is the fastest way to becoming less dumb fast – Julia Evans
What will we do next for the project?
You can see our goals on Servo’s issue page. Our next steps are to address the remaining components of the Fetch API, which means:
- Finish the Request API implementation
- Finish the Response API implementation
- Implement the fetch method
- Implement Promise in Servo
- Refine the Request, Response, and Headers APIs
This fall, we are attending Strange Loop and Rust Conf, so come say hi! If you happen to be in Portland, OR, drop us a line, and we’ll take you to our favorite cafe :)
Thanks for reading, and visit our blog for daily updates and in-depth discussions (coming soon)!
We're team Rookies, Tehetena and HyeSoo! (Image: Tehetena Masresha and HyeSoo Park)
Hei, we are Tehetena and HyeSoo from team Rookies. We named our team ‘Rookies’ because we wanted to keep our beginner’s mind throughout the RGSoC journey. We live in [Helsinki, Finland]. We are studying Information technology, and we love to learn new technologies. We learned about RG last year and we are happy to be part of RGSoC 2016.
We chose Hoodie project as our RGSoC project. Hoodie is a framework for frontend web applications that abstracts away the backend. Simply, Hoodie is a no-Backend technology! Hoodie is entirely written in JavaScript. It has been an amazing experience, since we have started working on the Hoodie desktop application project. For the project, we have been working on UI/UX part of the application and learning how to use Git, Node, localStorage and API to implement functionalities.
Gregor is our project mentor. Esko, Omid and Musse are our coaches, and Pilar is our project supervisor.
This is a greeting from us :D Click here to check our videovideo greeting.
Rookies team in the main, at the bottom-right corner, from the left, are Esko, Gregor, Omid and Pilar. (Image: Pilar Huidobro)
We’re team Rookies!!!
You can check out more stories about team Rookies’ activities from our blog.
Tehetena: I am a second year student at metropolia UAS majoring in Mobile solutions. I have attended couples of meetings organized by the Rail Girls community in finland. All the meetings have helped me meet new people and learn from their priceless knowledge. Our team even ended up having a volunteer coach we met at the those events. I would not dare to call myself a very sociable person before, but now I have developed my skills of communication. I am sometimes scared to ask questions or explain things in my head the way I wanted, but during this summer I can say that I have completely avoided all those bad behaviours and became more confident and happy.
I have studied different programming languages at school. This summer I actually get to test and teach myself way more than I have even expected.
HyeSoo: I study Information Technology student focusing on Mobile Solution. I worked at an online retail company as a web designer in South Korea. While I was working as a web designer, I wanted to learn how to build an application using the images I had designed. Soon after, I was able to come to Finland to study IT. I met many friends from all over the world and was able to learn many new technologies and IT concepts while working on hands-on practices. This year, I worked on several school projects such as making Android chat app, Android RSS reader app, media sharing application and IOS indoor positioning app as part of my mobile solution curriculum. It was fun to learn how to come up with creative ideas as a team. While I was working on the school project, I realized my interest lies in making an interactive, creative fun web application and mobile application.
Thanks to the Rails Girls coach’s invitation, I was able to join Helsinki Rails Girls meetup last year at the first time. In 2015, I attended the Rails Girls workshop. It was an exciting chance to meet like-minded people, to share and expand our knowledge and experience. I also met one of our coaches from the RG Helsinki meetup.
It has been an amazing summer with working on Hoodie desktop application with mentors and coaches. I have been learning not only the programming, but also the passion and wisdom from them. The supports from RGSOC community, mentors and coaches encouraged me to move on the next step of the project. In this summer, I would like to learn more and grow as a person while contributing to the project.
What we’ve achieved so far
When we started the project, we had low self confidence. Even though we have taken classes on different programming languages, when it comes to working with it we always thought that we did not have all the knowledge it took to complete the task. Now we have understood that every working experience is a great opportunity to teach ourselves new things every day.
The very first lesson we learned was Git. We have done several school projects that we have managed to save and clone project repositories on Git, but after we have started working on the hoodie desktop application, there have been many challenges. At first, we did not know how to propose issues, pull request, fetch from remote, rebase and so on, and we were confused with the concept between local and remote. With our mentor Gregor’s help and many trials & errors, we now have better understanding of how the Github actually works and how it is used in our project and also when many contributors are working on the same project.
Other than using Github, we have also learned a lot on UI building and how to implement functionalities on the application, using HTML, CSS and Javascript. We learned how to use event listener, event target, .map, .forEach and localStorage. Especially, using localStorage and making API were very interesting. We followed the tutorials which were made by Gregor. It was very helpful and easy to follow. After practicing the code with tutorials, we had a call to solve the problems together and had a Q&A session. We have a call almost every day. It has been really helpful and given us deeper insight on how coding can be applied in the application and how we can use it in the desktop application with Electron framework.
This is our repository of Hoodie desktop application.
Supports from a mentor and coaches
Sometimes there were some problems which took longer time to solve, but our skilled coaches: Omid, Esko and Musse and mentor Gregor taught us different ways to solve them, and most of the times the new approaches were even easier and clearer to understand. The mentors and coaches’ guidance helped us experiment on different coding practices we came across online.
From left, Tehetena, Omid, Esko and Hyesoo. (Image: Tehetena Masresha and HyeSoo Park)
Our next journey and our hope
When UI is ready with several Usability tests, we are going to add functionalities to the Hoodie desktop application. As a final step, we are going to wrap the UI and functionalities with Electron framework.
We are hoping to make a useful Hoodie desktop application for the users. Without RGSoC, it could be quite difficult to dive into real world of IT. While writing this post, we realized once again that many great people helped us come this far. One day, we hope that we can also be that person who helps others to open up more opportunities and broaden their horizons. Thank you for providing us this wonderful chance to be part of RGSoC. RGSoC made this summer very special to us. Happy Summer & happy coding! ;D
You can access more detailed information on our project plan in our organization.