Project Plan and Ruby Habits

We had a wonderfully active day on Tuesday, March 31st. Not only did we get a more solid idea of our project plan, but we also attended (and in Pilar’s case, organised) Ruby Habit’s meetup, focussing on Git.

In the morning, Jan from Hoodie was kind enough to join us for a video call in which we quizzed him on suitable project ideas. He gave us a written summary of everything that he thought would be suitable for our level, and then explained everything in detail during the call. Of course, many aspects of the projects about which we spoke are above our level, but not to the extent that we would not be able to do them. There is a clear progression of level throughout the project involvement, which we are both quite excited about!

About a week before this call with Jan, I had some difficulty in setting up Hoodie on my machine, so I called out for help on Twitter. Ola from Hoodie was really quick to reply with an offer of help and several different methods by which to contact her to chat about the problems I was having. Her help was wonderful and as a result, Hoodie is now fully functional on my machine! I have yet to make a good enough app to share, but I am enjoying getting to know how it all works. I mentioned to Ola that myself and Pilar are submitting a RGSoC application and she told me that not only was she already aware of this, but that we could list her on our application as one of our mentors.

Jan has invited us to begin contributing to the project already, which we are both planning to do. In my own case however, I need to get to a better level of knowledge of Javascript before I dive in. Luckily Jan and Ola are on hand to help us out if and when we need it, and of course our coaches are too!

That evening, we all met once more in Rochuspark for Ruby Habits. Although this group is still in its early days, there is a wonderful sense of openness and friendliness amongst the attendees. With such a relaxed atmosphere, I find it really easy to ask questions and to learn.

One of the Ruby Habits members, Yanko, had offered to present a beginners level introduction to Git and Github. While the subjects discussed were more or less things myself and Pilar were already familiar with, it was great to clarify some other ‘not quite so clear’ aspects of Git.

We began the workshop with some exercises led by Yanko (get the blood flowing so that nobody falls asleep!) and then an explanation of the basics of Git. Yanko was a very good presenter on the subject, and even continued to teach us after a short break following almost fainting! That’s quite the amount of dedication!

Our homework after Ruby Habits was to contribute to the repo set up on Ruby Habits github page. I personally ran into problems, given my limited access to the repo itself. It helped me to get more practice with pull requests, which is always good!

All in all, our Tuesday was a wonderfully productive one. Now that we have a more solid project plan in place, it helps us to see where we are going and what we should focus on in particular in order to learn loads over the summer!


Saturday: Lovebirds and Applications

Yesterday, Shelly came over to my house, got to meet my parents, my dog and, the newest members of our family, Boco and Pusheen, whom I had just picked up from a breeder that very morning.

She came mid afternoon and we were able to get a lot done for the team:

Solve the deploy problem

I had already run into this problem several times, having my personal blog, the ruby habits blog and this blog all on my computer (and then having to go through solving this problem again after installing bootcamp on my computer and restoring it to my last backup). So this is an annoying problem where you can’t deploy because something’s up with your _deploy folder. Shelly was having this problem so I told her that when she came over we could look at it and solve it together since I’d gone through that problem several times. Usually the solution is as follows:

  • rm -rf _deploy within your git folder to remove an existing deploy folder, if it exists, which isn’t working
  • mkdir _deploy to make a new deploy foldercd _deploy to move into the new deploy folder
  • git initto initialise this folder, that way git knows to keep track of this folder too
  • git remote add origin (your repo url)sets the origin as the default branch
  • git config branch.master.remote originafter this the deploy folder should be set up and you should be able to deploy using rake deploy

Settle our team name

Unfortunately, as adorable and fitting as Team Neko was as a team name, it was taken by a convention organisation team, and so it was time to pick a new team name. Linking back to a conversation we had on our first meeting we thought it would be great to have something linked to a mythological creature, we both like them and thought it would be a nice way to include something we love in into our work.

We were very happy thinking along the lines of Team Kelpie until we realized people might think we ourselves were the kelpies… Seriously? I was just thinking how cute our logo could be! Shelly and I each with a strand of kelp in our hair hugging a kelpie! It was at this point that I may or may not have brought up Nessie and how my favourite creature growing up was Tessie from Earthbound. Since Tessie is a real life cultural thing and not just something from a game, we thought it would make a nice team name while still being unique and different to Nessie. Although Tessie is from Lake Tahoe, we decided to stick to that name because as adorable as “Dessie” would be, the Danube isn’t a lake and Neusiedler See would have given us Nessie again…

And that’s how the name Team Tessie came about. We love mythological creatures, we love dinosaurs and we love Tessie, need I say more?

Get started on our application

Even though there was still quite a bit of time to go, we thought it would be a good idea for us to start filling out the application. We started off by adding ourselves in as a team, adding that we would like to work on Hoodie, fantastic team of coaches and Jan, who would be our mentor in the project (Shelly met him and a whole bunch of the Hoodie gang at .concat() and said they were absolutely lovely). We started working on our personal student but quickly got stuck on writing “About Me”s. Did everyone else feel awkward answering that payment question, or was it just me? We decided it would be best if we finished answering our individual parts another day by ourselves and proceeded to sort out other things, like our current availability schedules so we could keep meeting up to work on stuff together, our team twitter and e-mail account, etc…

All in all, it was a very productive day and I’m glad that Shelly was able to come out here. We even thought of a bunch of fun things, such as the possibility of coming here on Fridays to work on our project/BBQ.


Starting Javascript

After speaking speaking to Jan and Luca, we learned that the two projects we were interested in pursuing might involve Javascript, or at least we would benefit in knowing Javascript if we were to be involved in either. I had a strong interest in learning Javascript after attending an Angular workshop.

So we took the necessary steps: we got JavaScript: The Good Parts and JavaScript: The Definitive Guide and we signed up for the codecademy’s JavaScript course and we faced this thing head on!

My first impressions of Javascript were very posistive. I really like codecademy’s course. It reminded me of going through try ruby when I first attended Rail’s Girls St. Pölten (especially string.length). In fact, I liked it so much that I added it to my dailies on Habitrpg (my to do list manager). One of the things I really liked about it was that it had varied learning methods kind of like Duolingo has for languages, for example, besides just having you type in commands to the terminal by copy pasting, it challenges you by not giving you the answer or simply stating, “Type this into the terminal: thing to copy into the terminal”. I was very pleased when I logged on one morning and the beginning of the chapter I was starting began with a little challenge off of something that had been taught two chapters ago. It was a great recap and shows that this is more than just a tool to copy-paste answers to “learn” a programming language.

The boolean challenge was the first one I had to get a hint for. Even though I’m familiar with boolean logic, I wasn’t sure how to use it in Javascript and the explanation didn’t really show an example first, so I used a hint and it was clear right away.

There were examples of pre-written code where you have to fix it to do a certain thing, and that felt pretty great because it made me feel like I actually understood what the code was supposed to do. Makes you feel like you get it and it works!

One a side note: when I got to the operators, I just had to know why the “equal to” and “not equal to” operator had one “=” more than C++. As usual, found a really great and interesting answer on stack overflow, it’s pretty interesting if anyone’s curious.

Did I mention, I had ridiculous amounts of fun doing this course?

I would highly recommend the course to anyone wanting to get a small start on JavaScript. It’s simplified, but it explains when it is so and does teach the correct syntax as you progress.


A Flood of Good News

We are getting quite a lot of encouraging news already, even though we are only in the first stages of things.

First off was our experience with Wirsing. I’ve mentioned it before, but at the last Vienna.rb myself and Pilar got up to ask the other rubyists present if anyone would be interested in coaching us. Clemens from Wirsing was kind enough to offer, so we emailed with him the following day. Not only was he enthusiastic to coach us, but so were the other members of Wirsing! They have offered to be a coaching company for us in every aspect other than providing desks - this being that they work out of a co-working space here in Vienna. Fortunately for us, we have been offered desks in a different co-working space, so this works out quite well! Wirsing only work on projects that they love, and this is often with a focus on environmental or sociological issues. Their company tagline is “Software for a better future” which really is a great starting point to have.

We have been in contact with Jan Lehnardt, the mentor for the Hoodie project in rgsoc. A lot of things in my life happen due to fortuitous timing. At concat, I sat beside a fellow with a rather impressive beard. I was introduced to him and we briefly spoke, and then a few minutes later he got an email confirming Hoodie for RGSoC. I told him about myself and Pilar’s upcoming application and asked him all about the project, what it entails, and whether it is suitable for beginners. If I hadn’t been siting next to him at that moment I might not have ended up speaking to him about RGSoC at all. I was lucky enough to meet several other people from Hoodie that day too, they’re all really great people and I love the ethos of the company. They give a detailed explanation on their about page but the basic gist could be summarised in this particular paragraph;

The reason why Hoodie exists is that everyone involved in this project wants to help make the web a better place for everyone, and everyone of us is convinced that web development should be accessible to as many people as possible.

They have a big focus on diversity and inclusiveness, something that is so important, but not always a given.

All in all, we have quite a lot of great things going our way already. I really hope this streak continues and that we get accepted for RGSoC. It really would be wonderful to work with so many enthusiastic, intelligent, and lovely people!


(octo)Pressing Problems

One of the most fun learning experiences I’ve had while working on our Summer of Code application is getting to work with octopress. I had previously used it a little bit for my personal blog, but I’d mostly just made a couple of posts and with some help, I was able to set up a new layout.

Working on our team was a whole new challenge. We agreed that it would be a better learning experience for us as a team that if we ran into any trouble, we’d help each other out.

As fun as it has been to learn octopress, I have run into loads of problems! It’s not just octopress either, it’s git! Practice makes perfect though, right?

The first silly problem I ran into was that I forgot my SSH key password. It shouldn’t be that big a deal, right? Just make a new one? It wasn’t working though… I tried a couple of times to get it to work but it just wouldn’t. Finally I had to give in and just watch despairingly as my awesome Github streak reset (keeping it up for 6 days was a huge personal achievement), this wasn’t going to be a problem that I would solve in one day.

Naturally, the next morning I just tried the basic steps I’d been following the day before and… it worked. Why? We shall never know, it’s just one of those things.

The great news was that it worked and I could continue working, right? Wrong. I had naïvely thought that I could keep working on the posts I had to do, even without git, because sitting around and waiting for it to fix itself was a huge waste of time.

That was a huge mistake and it is one I won’t be making ever again.

The reason was that was such a terrible mistake was that, of course, in the mean time, Shelly had contributed posts of her own. This meant that I had unwittingly caused a monstrous merge problem, which, to make matters worse, I had no idea how to deal with.

After many struggles, the solution we applied was to make a new folder, clone the repository onto there, move all the edited markdown folders somewhere else (thank goodness I had only edited markdown files!), move all the edited folders into the newly cloned repository folder, add, commit and finally push. It was a pretty crazy solution, and there’s probably a better way to do it, but it did the job!

Shelly and I kept running into obstacles on our git journey, and I feel like it’s never been more applicable but practice does make perfect. I feel like the more we use it, the less both of us have been breaking things.

Just to make sure we don’t run into any snags, I made us a little cheat sheet:

This whole experience brought back memories of solving puzzles as a kid, or getting through a tough dungeon in a Zelda game. I think we just need to keep practising, but it’s been a fun experience running into these troubles and having to find solutions.


Vienna.rb #22

Vienna.rb is always quite a fun evening. The first time I (Shelly) went, I went alone and promptly squirrelled myself away in a corner to listen to the talks.
I needn’t have been so nervous! Everyone at vienna.rb is super friendly and welcoming. On this particular first night, Floor Drees (who has so very kindly offered to be our supervisor for RGSoC) came over and introduced me to Pilar. We started talking about how we both want to apply for summer of code, our goals, and I think the conversation also wandered towards favourite video games.

But, I digress. Flash forward to Vienna.rb #22. This came the day after Team Neko’s first meeting in Cafe Neko. As Pilar mentioned in the previous post, we were both excited to meet Luca Guidi to ask some questions about the Lotus project and to find out what is expected. Luca was very open to chat to us and we spoke over pizza in between some talks. It was a pleasure to meet Luca, and the chat with him only served to add to our motivation and excitement about what is (possibly) to come!

The talks that evening were, as always, quite interesting.

The first talk was by Stefan Haslinger. Mr. 100 000 Volts gift-wraps Rubies and Opals This talk was quite informative but I have to admit that it went a teeny bit over my head this time. Sometimes the level of information is just that teeny bit out of my grasp so I don’t fully follow things…YET. What I did follow was very interesting!

Next up was Pilar’s brother, Ramon. He presented his talk *How Teaching Kids Made Me a Better Developer” which he was due to present at concat() in Salzburg the following Saturday. I have written about this talk in my post about concat, which I have not yet posted.
Ramon’s talk was great. The subject matter is something that I identify quite a lot with, given my background of teaching kids, albeit teaching English rather than anything technical. It was wonderful to get some tips on how I can use one area to help the other.

Then, two wonderful ladies who are applying for summer of code got up to ask if anyone present would like to join our list of coaches for the duration of the programme. I mean their. Dangit, I’ve never been good at writing in the third person.
As a result of this, we have gotten the support of not just one more person, but a whole company! The folk of are really enthusiastic about helping us out over the summer. Added to our original list which already had a few people, we have a fantastically strong support network behind us if we are lucky enough to be accepted onto summer of code.

It’s quite humbling that so many people are not just willing, but eager to help and support us in this endeavor. It’s wonderful inspiration to pay it forward and again, more proof that I really should not have been at all nervous the first night I ventured to a vienna.rb!

Laura Gaetano was the last speaker of the evening, with a talk that opened the evening’s discussions. The topic was Github as a Project Management Tool. The talk explained the way in which Laura and her team use Github to track things, and the discussion broadened to include experience people have with Trello and Blossom. As a beginner in this industry, I found it really helpful to get an overview of how to effectively manage projects with some personal feedback thrown in.

This was a particularly encouraging edition of Vienna.rb. Excitement is building for our upcoming application!


Our First RGSoC Meeting

After the hustle and bustle of February (more like getting Ruby Habits off the ground) was slowly dying down, we finally took our first step and set up a date for us to sit down and talk about our plans for this year’s Rails Girls Summer of Code.

I came to the meeting very excited to tell Shelly that I had just seen that Lotus had gotten accepted as a project for RGSoC. I had seen Luca Guidi give a talk on Lotus at a previous Vienna.rb meeting, and I remember thinking at the time,

“Wow! That’s really cool! I really want to be good enough some day to be able to do something like that, build my own framework.”

Of course, at the time, I dismissed the thought and left Lotus as a mere note in my book, but now with Rails Girls Summer of Code, that actually had a chance of happening! To make things even better, Luca was attending the next Vienna.rb meeting, giving us the perfect opportunity to meet him personally and ask him what exactly he would expect us to work on if we were to take on the Lotus project.

Our first decision as a team was that it would be a really good idea to start a blog, even before applying, so we could record decisions we had made together, things we had learned and already start chronicling our journey into the world of tech. We kind of panicked on the name picking, and figured that we should pick something quick, because we’d be changing our name later and if we didn’t, we’d both go home, obsess about it and never start the blog.

We went with Team Neko as our meting was taking place at Café Neko, the local cat coffeehouse.

After hours of stealing glances at the adorable inhabitants of the cat café, we were finally able to tame Luca, a majestic maine coon who secretly loves chin scratches.

All in all, we had a very successful evening. Together we looked at the projects, talked about which ones we liked and which ones we felt capable of doing. We also had a look at last year’s team’s blogs to get some inspiration (and it worked! We started this blog, didn’t we?) Best of all, we got to know a lot about each other. In a lot of aspects we compliment each other and in others we’re so similar that it’s uncanny. I have a feeling we’re gonna make a great team!