Ruby Conference Australia 2016 — Gold Coast!

Posted on by Vi Nguyen and Sarah Ni

This year’s Ruby Conference Australia was held on the Gold Coast, a vibrant and breathtaking city, known for its world famous Surfer’s Paradise — a beach and surfing haven — and home to the country’s most exciting theme parks.

Over two days in February, 26 amazing speakers from around the world came to Sea World Resort to share their knowledge in all things Ruby-related — technical and non-technical. There were five elective workshops that were offered on the first day being Developer Flow, Go, Trailblazer, Rails Girls and Rails Girls Next. As Vi attended the conference and Sarah attended a workshop separately, this blog post will be split in two parts. The first highlighting the main talking points from the various talks, whilst the second will be a description of Rails Girls Next, a workshop that follows from Rails Girls. Each section represents our own personal views and experiences.

5 Take Aways from the Talks by Vi Nguyen

Though Ruby Conf was a technology conference, for me, it really brought home the idea that what enhances technology is the human element, and that code really is just an expression of that.

Takeaway #1 — Want to go from newbie to expert coder? Read code & fill in your learning gaps.

Saron Yitbarek’s talk “Reading Code Good” shared eight guidelines on how a person could go from newbie to expert code. One hour every Sunday, Saron would read code with a few mates and from this social learning she tried new things that then prompted questions, research and interaction with the code. The digression from what was known and what wasn’t known was where most of her learning happened. Importantly, by learning together, it filled a gap in that self-learning to code can be excruciatingly lonely and overwhelming, but, when done together, it’s not so scary.

You can watch Saron’s talk in full here.

Takeaway #2 — Your ruby gem does more than just distribute libraries, you can use local ruby gems to better structure your large rails app.

In Enrico Teotti’s talk, I learned that ruby gems could be used locally to better manage very large applications (previously, I just used remote ruby gems so I could avoid writing code from scratch). Instead of generating new scaffolds and classes within one big app, local ruby gems could be used to create a dependency structure. What this means is that a local ruby gem would contain everything that has your first feature in it and when you get new functionality, you extract shared functionality to another gem. What you then get is a view of the application in chunks => reduced cognitive overload => more manageable application.

If you are interested in the technical implementation of using local ruby gems, watch Enrico’s talk.

Takeaway #3 — Empathy makes you a better developer because your feature implementations are likely to be closer to what the user wants.

Ernie Miller’s talk was about empathy as a building block for humane development. Humane development has at its core a simple and obvious belief that humans work with other humans to build software and this software is subsequently, used by humans. Because of this, it’s important to cultivate empathy (i.e. how to speak the thoughts and feelings of someone who isn’t you). Empathy makes you a better developer because you’ll have a better sense of why you’re building something and why it’s important. Your perception goes from “What would I want if I were them?” to “What would make them smile?”. Programming is about building things and according to Miller, “If you’re empathizing well, you’ll build something people love”.

Ernie’s talk is fantastic and you can watch a recording of his talk on empathy here.

Below is a picture of Ernie and I — don’t forget to check out his awesome t-shirt!

Ernie Miller at Ruby Conf Au 2016
Ernie Miller at Ruby Conf Au 2016 (Photo: Vi Nguyen).

Takeaway #4 — Event sourcing as an alternative to using the CRUD accepted actions of “update or destroy”

The talk by Sebastian von Conrad questioned whether data should be destroyed or updated at all. This was really useful to me because sometime in late 2015, my developer installed the paranoia gem because I wasn’t comfortable with deleting data that was associated with say, a user account. When a rails app destroys or updates data using Active Record, the original data is lost. Is it right to lose data? Well…something that might not be useful now may be useful later. In the case of organizations that rely on user generated content, like Wikipedia, destroying data could create huge problems - imagine what would happen if a user were to be able to delete their account and have their associated contributions deleted aswell…

Sebastian talked about Event Sourcing which ensures that all changes to the application state are stored as a sequence of events - kind of like an accounting system so that nothing is deleted but rather a balance is kept of all that’s happened. With event sourcing you can query events and use logs to go back to a past state. That’s pretty neat!

If you’re interested in event sourcing, you can watch Sebastian’s talk here.

Takeaway #5 — Programming is an expression. Read what’s out there and look at style guides but also, find your own voice.

As idioms exist in language, programming languages are not excluded. Arne’s talk was about burning your idiomatic ruby. While idiomatic language sounds natural and requires less mental processing, according to Arne, “treating idiom as normative hampers innovation”. For example, what would happen if a new language got ported into Ruby? In such cases, we shouldn’t be rigid in the way we approach programming. Idiomatic doesn’t necessarily always equal good. Programming is expression and there are style guides out there that you can reference, but it’s also important to find your own expression.

Arne will be introducing a really exciting screencast and he’s an expert in Clojure, so definitely follow Arne on twitter. You can also check out his very intelligent talk called “Burn Your Idiomatic Ruby” here.

In conclusion…

While not a ‘takeaway’, it’s also worth mentioning for those interested in business or who are operating their own business, that Jeff Casimir’s talk shared some great business gems (pun intended). Mila Dymnikova’s visual notes on this highlight the main points from his talk perfectly. A big thank you to Mila for allowing me to share her notes on this blog.

Notes on Jeff Casimir talk by Mila
Ace notes on Jeff Casimir's talk by Mila Dymnikova (Notes and Photo: Mila Dymnikova).

So that’s a wrap! If you wish to see the full set of talks, they’re online here. But, before I go, this is an Australian conference right? So I’ll leave you with a collage of party pictures and the obligatory Aussie animal pictures.

A collage of social events at Ruby Conf Au
1. From left to right: my roomie, Indah who is a front-end dev, Jo who is lead developer at Culture Amp and I at the opening party (Photo: Vi Nguyen).
2. A cutie pie koala, just because (Photo: Thomas (originally posted to Flickr as Koala Bear) CC BY 2.0, via Wikimedia Commons).
3. From right to left: Timmy from BuildKite, Indah and I at the opening party. We forgot our logo tees (Photo: Vi Nguyen).
4. A surprise breakfast for the speakers and volunteers at Sea World Resort — we had breakfast next to dolphins (Photo: Freibuis).
5. From left to right: Lauren and Jo, both Ruby Australia committee members at the closing party at Movie World (Photo: Vi Nguyen).
6. An octopus, my favourite animal. This is a blue-ringed octopus that you can find in Australia. If you see it, get away from it quickly. One of the few things that can kill you in Australia, other than crocodiles, poisonous spiders, snakes etc… (Photo: Elias Levy (Blue-Ringed Octopus) CC BY 2.0, via Wikimedia Commons).
7. From left to right: Allison and I. Allison was a speaker and her talk was about remote working (Photo: Vi Nguyen).
8. Batman and I. He said I looked lovely… but then I heard him say that to all the other girls (Photo: Indah).

Rails Girls Next Workshop by Sarah.

What you need:

The Rails Girls Next workshop is a step up from the Rails Girls workshop.

The workshop started at 9am at Sea World Resort. Nothing better than a fantastic location with great morning tea.

Why Sinatra instead of Rails?

Rails: Things happen magically under the hood.

Sinatra: More flexible in comparison, but would require you to implement some elements yourself.

We then began learning the ways of building a Rails app from scratch through Sinatra! Develop your app on the cloud!

Ruby Girls Sinatra App Guide

This was written by Sorcha and is a very excellent step-by-step guide we followed to understand how each file works in Rails. It’s very easy to follow and quite self-explanatory.

Caution: I learnt that Sinatra is NOT structured like how files in Rails would.

For instance, Routing in Sinatra is controlled in the controller, whereas Routing in Rails is in a separate routes file.

Put Your App Online With Heroku

I then deployed the app to heroku. A couple of us in the workshop were having a problem with getting the app to deploy (Error: Application not found).

Here’s the solution: Since Sinatra is structured slightly differently from Rails, you’ll need to modify config.ru since gems and classes are located in config/application.rb

Sinatra configuration
Configuration set up of Sinatra in Rails (Photo: Sarah Ni).

Big thanks to Sorcha, Rachelle and Daphne for teaching us the tiny details of MVC and Routes.

Sarah and the conference

At first glance, this probably doesn’t make sense.

In short, I actually had to make a quick trip up to Sydney (fun fact: it’s a 1.5 hour-long flight) to attend an awards ceremony. I’m humbled to have been nominated by GradConnection as one of the Top 100 students in Australia, 2016.

In closing…

Thank you to the team at Rails Girls Summer of Code and Ruby Conference Australia for giving both of us the opportunity to attend Ruby Conf Au 2016. It was fantastic and a great time was had by all!

How to apply for RGSoC 2016 — in five steps

Posted on by Lieke

Illustration: Rebecca Conrad


Today we’re officially opening the applications for Rails Girls Summer of Code 2016! Our brilliant Rebecca Conrad crafted this step-by-step illustration about how to apply in 5 steps.

First things first: Who can apply?

Our aim is to create opportunities for new coders on further learning. For this reason, we are looking for applicants who attended at least one Rails Girls or a comparable community-built workshop like Black Girls Code, PyLadies or similar initiatives — and continued learning after that.

While no one is discouraged from applying on the basis of gender, preference will be given to female and genderfluid applicants.

One of the most important things: you have to be able to spend 3 months (July to September 2016) working full-time on your project, so you’re not able to go on holiday during this period.

In short: if you identify as female, participated in a coding workshop, kept learning, and don’t have any (other) plans from July to September 2016, you’re very welcome to apply!

Second: Find a Pair

One of the requirements of the Summer of Code is that you are a two-person team, living in the same city and being able to meet up every day. It’s not possible to apply alone.

If you don’t have a teammate yet, be sure to find one before submitting your application. Understand that it’s important that you’re able work together very closely during the three months of the program. Setting up a team means not just finding someone else to lodge an application with, but someone who you will need to get along with in this period of intense project work.

You don’t know how to find a pair? Read more in our guide.

Third: Find coaches

We require you to have at least two local coaches. Coaches are developers who are able to give you guidance during the summer: they sit down with you, guide you through relevant coding steps and fine-tune with you at regular intervals (4 to 8 hours a week).

We’ve put together some advice on finding coaches here.

If you know someone who’d like to be your coach, you can direct them to our guide for coaches.

Fourth: Find a coaching company / workspace

A coaching company provides your team a place to work from during the summer. They’ll provide you with office space and a team of coaches. It is a bonus on your application if you can find a place where you’ll be working together with your teammate and your coaches.

And yes, there’s also a guide for coaching companies for you to share.

Fifth: Choose a project

If you found a teammate, coaches and a place to work, there’s only one thing left to do: choosing a project.

A good place to start is to have a look here at our list of Open Source projects approved for RGSoC 2016. Be sure to ask your coaches for their input on which project they feel would be most suitable for you and for them to help you with.

If you want to work on a project that’s not on the list, the maintainers need to submit their project to us first. You can find more information on becoming a Project Mentor and submitting a project in our guide for Mentors.

Apply

Can you check off all of these steps? Yay! Then you’re ready to submit your application — you will have time until April 10th, 17:59:00 UTC. But before you do, we recommend you to head over to our Students Section and to check out the full application guide. Good luck applying — we’re looking forward to reading your application!

If you’ve read the Application Guide, you can create your team and application in our Teams App.

If you have more questions on how to apply, you can also hop into our Student Support Slack channel.

Let’s get another amazing summer started!

Extra Week of OSS project submissions starts today!

Posted on by Ana Sofia

Extra Week of OSS project submissions

Good news for all project maintainers: We are re-opening up our project submissions for one extra special week. This gives you more time to submit your Open Source project still for RGSoC 2016!

As you may have noticed, we have closed our project submissions in February. Since then, we have been receiving messages from people who really wanted to submit their projects as well, but for many reasons, they missed the deadline. After a careful reflection, we decided to give everyone an extra week to submit their OSS projects.

So, mark down in your calendar:

The extra week of project submission starts today, 14th March, and ends Sunday, 20th March at 17:59:59 UTC.

These Open Source Projects are the basis of our program. From this list, the applicants choose projects they want to work on during the summer and apply for those. The selected teams will then work full-time on them for three months with the help of coaches and the project maintainers. This will allow the students to grow as developers and, at the same time, bring more developers into Open Source Software.

In order to submit your Open Source projects, find out what makes a good project, what programming languages we accept (spoiler: all of them!) and how much time you need to be a mentor - please read our Guide.

How to support RGSoC 2016 with your company

Posted on by Anika

What better day to think about getting more women into Open Source than today - on International Women’s Day!

While we are working towards equality all year round, today is an especially good day to shed some light on how you and your company can support us in this mission:

Getting more women into Open Source - one summer at a time.

2015's Teams

Our 2015 teams from all over the world!

Sponsoring

Fund our mission

To make RGSoC possible, we need sponsors! This program with all that it entails can only happen with the help of amazing people donating small or large donations. We are so happy to have amazing companies already on board again for this year like Github, Travis CI, Google Open Source, Gitlab, Basecamp and many more. We already have already 8 teams funded, and only 4 to go. Help us fund those last teams!

Here you can find our Sponsorshop packages with all perks a company’s heart can imagine - we even single handedly pack and send out our lovely care packages to students with your merchandise.

Coaching Companies

Get involved locally

Every team needs a place to work and coaches to apply for Rails Girls Summer of Code - If your company wants to support us in hosting and coaching a local team, this is your way to go! We are eternally grateful to all companies who are dedicated to the teams during the summer.

Allowing your devs dedicated time to coach a team will support a great cause, let you stay in touch with the Open Source community and help advertise that you are working together with us towards getting more Women in to OSS. A good example for this are Soundcloud, Absolventa, 6Wunderkinder or Travis CI, who have supported teams as companies and stood by them with all the coach power they could give.

Your can register here: https://teams.railsgirlssummerofcode.org/, set up a profile with your GitHub login and be sure to check our Guides on how to become a Coaching Company.

Helpdesk

Remote coaching

Your devs can also help out in our remote #helpdesk Slack channel during the summer, where students can ask for help if their coaches are not available or are stuck as well. If you are interested in that, you should register in our Teams-App as well and tick the “Interested in helping out as helpdesk coach” box. We’ll write a grateful blog post about your involvmeent and will mention you in our tweets and Facebookpostings with lots of love.

We hope you’ll join us in one way or another on our journey to bring more women into the OSS world. Contact us if you have more questions.

Help us make Rails Girls Summer of Code 2016 happen: Donate now!!

Our 2016 crowdfunding campaign is open!

Posted on by Laura

The days are getting longer, the sun is a little more visible in the winter sky, and with spring nearing, we’re glad to announce there’s an even better reason to rejoice: Our crowdfunding campaign is open!

A little earlier every year

Since its inception in 2013, our program has grown from a grassroots movement to a program involving all in all over 700 people — with a bigger impact on the Open Source community every year. In 2015 we broke all our records and could fund not 10, but 16 teams! We’ve even managed to open the campaign a little earlier every year, giving more sponsors the opportunity to support us from the very beginning.

Our early birds

In the last few weeks, we’ve been reaching out to some of our most faithful supporters; the early donations of these 19 (!!!) sponsors and partners, and their support, have helped to get this campaign started with a bang.

We’re amazed — sparkles-in-our-eyes, jaw-dropping kind of amazed — to see how much of our goal we’ve already reached. Six teams are already funded — let’s keep this momentum going!

donatebecause

Last year, with the hashtag #donatebecause, we encouraged our community to donate for our last stretch goal, towards funding extra teams. This year, we’re asking you from the beginning to donate, because:

We know you can help us make a difference. Even the smallest amount helps!

We can’t wait to meet all of the teams we will be able to fund this year, and we’re always so incredibly happy about every little donation that comes in. No amount is too small, and your money will go towards a great initiative to help awesome women learn and code during the summer.

So, what are you waiting for? Donate to our crowdfunding campaign today, and help us make a difference in our Open Source Community! <3