27th September 2017
Day 39:
Hello World!
For ifPairElseUnknown, today marks the last day of Rails Girls Summer of Code 2017.
RGSoC has come to an end!
Today we hosted a morning tea to present our Rails Girls Summer of Code experience and thank all those who helped us along the way.
It has been a great pleasure working with our amazing team. They have all provided us with a wealth of knowledge, which we can take away and implement as we continue to learn.
We had the amazing support of four coaches, Adel, Tim, Adam and Simon.
-
Adel has been an amazing support, while we have been here at Zendesk. She has made sure we had everything we need to work effectively on our project. She has also made time in her busy schedule to run sessions on Git and Javascript and cooked delicious treats to share with everyone.
-
Tim has provided support remotely. We have regularly sync with him over Zoom. We generally focused our sessions around TDD. Tim also opened our eyes to security. We find that Tim explains things in an easy to understand way and we really like his approach to TDD. He is also extremely patient and understanding as a coach.
-
Adam has regularly come to Zendesk to work one on one with us. Teaching us how to refactor code, better ways to write clean code and reviewing our pull requests.
-
Simon was a great help to Sophie, when it came to Linux and RVM issues. He provided great knowledge when refactoring our work, with clear explanations.
Both Simon and Adam helped out early on with our applications before our team was selected to participate. They helped us understand which projects may be suitable for us to work on and helped us setup our local environments before the program started.
Also a special thank you to Luis Ferreira who provided coaching to Jenny when she was in Portugal for the European Innovation Academy and who continues to support her even on her return to Melbourne.
A big thank you to everyone at Zendesk for providing a welcoming and supportive environment for us to work.
Thank you to our Project mentor Julia, it has been a pleasure working on your project and we look forward to continuing our work on if-me.org.
Thank you to our RGSoC Supervisor Vi, it has been a pleasure getting to know you and the support has been fantastic
Lastly, we would like to say a BIG thank you to the Organisers of Rails Girls Summer of Code and all the sponsors for making this experience possible. This has been such a wonderful experience, we have enjoyed the opportunity to contribute back to the community in a positive way. This is an experience we will never forget!
26th September 2017
Day 38:
Hello World!
Things we did:
- Fixed error on issue [#455] Secret Moment
- Added translation on issue [#455] Secret Moment
- Worked styling the button on issue [#455] Secret Moment
- Session with Tim
- Session with Adam
- Worked on final presentation
- Had our last Global team meeting online
Things we learnt:
- Learnt about Foreman
- Learnt about pry-byebug
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Finalise presentation
25th September 2017
Day 37:
Hello World!
Things we did:
- Attended AlterConference on the weekend and listened to a range of talks
- Added styling to the Secret Share Button on issue [#455] Secret Moment
- Added Date Expiry on issue [#455] Secret Moment
- Session with Tim
- Session with Simon
- Session with Erica on Product Management
- Worked on final presentation
- Celebrated Sophie’s birthday
Things we learnt:
- Learnt about Product Management
- Learnt about CSS
- Learnt about modal boxes
- Learnt about the importance of feedback
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Finalise presentation
20th September 2017
Day 36:
Hello World!
Things we did:
- Went though how to add HTML time date input and require
- Discussed delegate method
- Added test on validating the Secret Share
- Refactored Secret Share Tests
- Session with Adam
- Session with Tim
Things we learnt:
- Learnt about Migrating between Macs
- Learnt HTML strftime
- Learnt about Rubocop styling
- Learnt about a useful Atom plugin for block converting
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Finalise presentation
19th September 2017
Day 35:
Hello World!
Things we did:
- Attended Security training session
- Global team meeting
- Attended Zendesk’s Women in engineering lunch
- Session with Simon
- Fixed a Pull Request
- Adjusted CSS for Secret Share button
Things we learnt:
- Learnt about Security
- Learnt about CSS and styling
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Finalise presentation
18th September 2017
Day 34:
Hello World!
Things we did:
- Attended Elixir Girls workshop on the weekend
- Attended Zendesk Tech Talk
- Prepared presentation
- Created and sent out invitations for final celebration
Things we learnt:
- Learnt about Elixir
- Learnt about Metaprogramming
- Learnt about webpack
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Finalise presentation
13th September 2017
Day 33:
Hello World!
Things we did:
- Fixed foreman bootstrap script so that dependencies are installed before the build to enable server to run
- Committed change and made a pull request #626
- Lunch with Adel
- Discussed preparations for final celebration
Things we learnt:
- Learnt about React on Rails
- Learnt about Stages of a Compiler
- Learnt about Anaconda
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
12th September 2017
Day 32:
Hello World!
Things we did:
- Refactored spec for issue [#455] Secret Moment
- Continued to update our local environment to support React
- Session with Tim on Security
- Session with Adam on Merging with master
Things we learnt:
- Learnt about Rails strong parameters
- Reviewed Git Merge and Rebase
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
11th September 2017
Day 31:
Hello World!
Things we did:
- Ran [#455] Secret Moment code through Rspec and Rubocop
- Refactored spec and controller codes
- Updated our local environment to support React
- Session with Tim
- Prepare for end of program celebrations
Things we learnt:
- Learnt yarn
- Learnt to refactor using methods to shorten length of code
- Learnt to design using canva
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
4th September 2017
Day 30:
Hello World!
Things we did:
- Added if/unless statements for feature flag in view [#455] Secret Moment
- Turned on feature flag in Dev environment [#455] Secret Moment
- Added tests for feature flag [#455] Secret Moment
- Prepared [#455] Secret Moment for pull request and formal review
- Pushed Blog post 2 to RGSoC
- Attended Zendesk bookclub on Bayesian
- Session with Tim
- Session with Adam
Things we learnt:
- Learnt about Kanban
- Learnt about importance of security
- Learnt the process around pull requests
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
3rd September 2017
Day 29:
Hello World!
Things we did:
- Added feature flag to issue [#455] Secret Moment
- Read recommended articles on feature flag
- Completed Blog post 2 for RGSoC
- Updated our fork of RGSoC
- Session with Tim
Things we learnt:
- Learnt how to continuously ship new features to production with the confidence of not impacting your customers
- Learnt how to have better development with Feature Flags
- Learnt about Feature flags on Rails
- Learnt about A Simple feature toggle for a Rails app
- Learnt about Custom Configuration
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Add if/unless statements for feature flag in view
- Turn on feature flag in Dev environment
2nd September 2017
Day 28:
Hello World!
Things we did:
- Refactored tests on issue [#455] Secret Moment
- Worked on Blog post 2 for RGSoC
- Attended Zendesk Tech Talk on Security
Things we learnt:
- How to create an infographic using canva
- Learnt about Security Conferences
- Learnt that you can make cool keyboards
- Learnt about DuckDuckGo search engine
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Continue working on Blog post 2
30th August 2017
Day 27:
Hello World!
Things we did:
- Pair Programming on issue [#455] Secret Moment
- Refactored Date/Time Expiry [#455] Secret Moment
- Global sync with Team
- Session with Adam
- Attended Zendesk bookclub on Bayesian
Things we learnt:
To Do:
- Continue Pair Programming on issue [#455] Secret Moment
- Create tests for issue [#455] Secret Moment
- Continue working on Blog post 2
29th August 2017
Day 26:
Hello World!
Things we did:
- Moved to a different area to work at Zendesk
- Met some cool people in Data Science and Data Engineering at Zendesk and invited to their bookclubs
- Worked on Blog post 2 for RGSoC
Things we learnt:
To Do:
- Pair Programming on issue [#455] Secret Moment
- Create tests for issue [#455] Secret Moment
- Create Date/Time Expiry
- Global sync with Team
28th August 2017
Day 25:
Hello World!
Things we did:
- Pair programmed on issue [#455]
- Added expire and reset functions to Secret Moment
- Added authorisation tests
- Session with Tim
- Session with Simon
Things we learnt:
- Learnt about Design Systems
- Learnt about Rails Console
- Learnt about button_to
- Learnt about Rails Routing
- Learnt about Cargo Cult
To Do:
- Pair Programming on issue [#455] Secret Moment
- Create tests for issue [#455] Secret Moment
- Create Date/Time Expiry
23rd August 2017
Day 24:
Hello World!
Things we did:
- Pair programmed on issue [#455]
- Created test on expiry error display for Secret Share
- Added expire and reset functions to Secret Moment
- Rebase master with new Rails 5 upgrade
- Session with Adam
- Session with Tim
Things we learnt:
- Learnt about key features of Rails 5
- Learn more about Feature Flag
To Do:
- Pair Programming on issue [#455] Secret Moment
22nd August 2017
Day 23:
Hello World!
Things we did:
- Pair programmed on issue [#455]
- Global Sync with Team
- Translate button to Spanish and Portuguese
- Started creating expiry for ‘Secret Share’ link.
- Session with Simon
Things we learnt:
- I18n
- Redirecting
- Flash Notice
- Time
- Learnt about link expiration.
- Learnt about Feature Flag
To Do:
- Pair Programming on issue [#455] Secret Moment
- Display error page
- Add expire and reset functions to Secret Moment
- Session with Adam
- Rebase master with new Rails 5 upgrade
- Session with Tim
- Learn more about Feature Flag
16th August 2017
Day 21:
Hello World!
Things we did:
- Pair programmed on issue [#455]
- Wrote tests for issue [#455]
Things we learnt:
- Learnt about security
- redirect_to matcher
- controller specs
To Do:
- Pair Programming on issue [#455] Secret Moment
- Display error page
- Add expire and reset functions to Secret Moment
- Check for render partial conflicts
15th August 2017
Day 20:
Hello World!
Things we did:
- Pair programmed on issue [#455]
- Committed Render view on current user and guest
- Global sync with team, to talk about this week’s tasks
- Submitted preferred conference to attend
- Arranged sessions with our coaches
- Created three different events on Nexpaq’s modular hardware device
Things we learnt:
- Learnt about rendering view for current user and guest
- Learnt about .try method
- Learnt about Modular Devices with Nexpaq
To Do:
- Pair Programming on issue [#455] Secret Moment
- Submit talk for AlterConference
14th August 2017
Day 19:
Hello World!
Things we did:
- Worked on issue [#455]
- Looked at slide deck on Pair Programming
- Set up a proper pair programming environment
- Researched guest access
- Revised Ruby on SoloLearn
Things we learnt:
- How to work effectively as a pair
- Learnt about Devise
- Learnt about referrer method
To Do:
- Pair Programming on issue [#455] Secret Moment
9th August 2017
Day 18:
Hello World!
Things we did:
- Worked on issue [#455]
- Added and wrote test for GET secret show for issue [#455]
- Revised Ruby on SoloLearn
Things we learnt:
- Learnt more about Git in terms of rebase and merge
- Learnt the relevance of adding index in db
- Learnt about Ruby Active Job Basics
- Learnt about git bash prompt
To Do:
- Pair Programming on issue [#455] Secret Moment
- Revise ruby
8th August 2017
Day 17:
Hello World!
Things we did:
- Updated our local branches
- Created test for issue [#455]
- Reviewed and commented on each other’s Pull Requests
- Did Git tutorial on CodeSchool
- Revised Ruby on SoloLearn
Things we learnt:
- Learnt about GUIs GitKraken, Gitup
- Learnt about version control in Git
- Learnt how to checkout previous branches on Source Tree
To Do:
- Continue working on issue [#455]
- Pair Programming on issue [#455] Secret Moment
- Revise ruby
7th August 2017
Day 16:
Hello World!
Things we did:
- Updated our local branches
- Addressed comments on Issue #363 JS test for CharacterCountSpec.js
- Attended tech talk lunch session at Zendesk
- Reviewed and commented on each other’s Pull Requests
Things we learnt:
- How to correct our commits in git
- Learnt about Salesforce
To Do:
- Team meeting
- Pair Programming on issue (#455) Secret Moment
- Revise ruby
2nd August 2017
Day 15:
Hello World!
Things we did:
- Sophie refactored Unit test (Issue #491
- Sophie completed Unit test (Issue #491)
- Sophie had mentoring session with Adam (Worked on issue #491 and learnt about Dir.glob)
- Sophie spoke to Adel about Truthy/Falsey in JavaScript
- Sophie spoke to Tim about how to use ‘Focus’ in Rspec
- Sophie used Focus for Rspec
- Applied CSS to buttons in meetings
- Completed Meeting calendar (Issue #113)
Things we learnt:
- JavaScript Equality Table
- Handy keyboard shortcuts
- How to use Dir.glob
- How to Focus a Spec Official Doc
- Guard
- Learnt about CSS
- Learnt basic Python
- Learnt how to create a chatbot using Python
To Do:
- Work on Secret Moments Feature (#455)
- Work on JS Tests (#363)
- Review and comment on each other’s Pull Requests
1st August 2017
Day 14:
Hello World!
Things we did:
- Sophie continued working on Unit test (Issue #491)
- Sophie did a JQuery tutorial
- Sophie revised basic JavaScript concepts
- Global sync with team
- Sophie had a pairing session with Tim, to rebase a branch
- Sophie created an alias for git commands
- Worked on Issue #113
Things we learnt:
- Different ways of testing
- Basic JavaScript and JQuery concepts
- Revert and Rebasing a branch
- OhShitGit!
- Git Aliases
To Do:
- Sophie to finish unit test(#491)
- Work on JS Tests
- Review and comment on eachother’s Pull Requests
31st July 2017
Day 13:
Hello World!
Things we did:
- Sophie continued working on Unit test (Issue #491)
- Sophie did a JQuery tutorial
- Sophie revised basic JavaScript concepts
- Sophie used Rubocop to refactor code
- Worked on finalising the google calendar for meetings (Issue #113)
- Did a tutorial on CSS to make the google calendar button look better
Things we learnt:
- How to write simpler/readable tests
- Basic JavaScript and JQuery concepts
- Basic CSS concepts
- How to create actions in controller
To Do:
- Sophie to finish unit test (#491)
- Practice JS Testing on exercism
- Work on JS Tests
- Finish (issue #113)
- Finish google calendar for meetings (#113)
26th July 2017
Day 12:
Hello World!
Things we did:
- Sophie continued working on Unit test (Issue #491)
- Had a pair programming session with Adam
- Sophie sat in on a talk about Open Source, at Lunch
- Sophie had remote pairing session with Tim, to work on Unit test (issue #491)
- Sophie started looking into ‘stubbing’ for tests
- Sophie used Rubocop to refactor code
- Continued to work on Issue 113
- Coded google calendar button into meetings page (issue #113)
- Added route to the google calendar button (issue #113)
Things we learnt:
- Difference between stubbing and mocking
- How to write simpler/readable tests
- Built in Matchers
- Methods to use for Google Calendar
- About Google API
To Do:
- Sophie to finish unit test (#491)
- Practice JS Testing on exercism
- Work on JS Tests
- Finish (issue #113)
25th July 2017
Day 11:
Hello World!
Things we did:
- Global sync with team, to talk about this weeks tasks
- Sophie continued working on Unit test (Issue #491)
- Sophie attended communication workshop at Zendesk
- Sophie had remote pairing session with Tim, to work on Unit test (issue #491)
- Worked on issue (#455) Secret Moment - Add button, Connect to Route and Create random url
Things we learnt:
- 5 tools you can use for effective communication (Feelings Check; using [Plutchik’s wheel of emotion(http://www.6seconds.org/2017/04/27/plutchiks-model-of-emotions), Mirroring, Validation, Empathising, Appreciation)
- How to write a rake task
- Learnt about rails helpers - button_to, redirect_to, SecureRandom
- Learnt about Unity, ARKit and Google APIs
To Do:
- Sophie to finish unit test (#491)
- Practice JS Testing on exercism
- Work on JS Tests
- Practice JQuery
- Share story map and discuss with team
- Delegate tasks for issue (#455)
- Work on issue (#113)
- Research on how integrate google calendar with rails
24th July 2017
Day 10:
Hello World!
Things we did:
- Tech talk on Atom pluggins and react
- Started unit test to check that the translation files do not have missing keys (Issue #491)
- Had a chat to Adel about testing
Things we learnt:
- Learnt about browser testing
- What tools you can use for testing
- Learnt about Atom pluggin, how to build a pluggin
- Learnt about unit and intergration testing
- Testing on multiple devices (Mac, Windows, Linux, Mobile Phone)
To Do:
- Finish unit test (#491)
- Share story map and discuss with team
- Delegate tasks for issue (#455)
- Continue work on issue (#455, #10)
- Practice JS Testing
- Practice JQuery
19th July 2017
Day 09:
Hello World!
Things we did:
- Had a session with Adam, to discuss new feature(Issue #455)
- Created user journey map, for new feature (Issue #455)
- Started story map, for new feature (Issue #455)
- Did JS Testing exercises on Exercism
- Made changes to a Pull Request
Things we learnt:
- What steps to take, to create a new feature
- What tools to use, to create new feature
- Learnt about Selenium testing
- Story Map structure; Goals > Activities > Tasks > Stories
- User Journey structure; User > Goals > User Journeys > Actions > Stories
To Do:
- Finish story map for new feature (#455)
- Share story map and discuss with team
- Continue work on issue (#455, #10)
- Practice JS Testing
- Practice JQuery
18th July 2017
Day 08:
Hello World!
Things we did:
- Had global team meeting
- Did JS Testing exercises on Exercism
- Worked on Issue #455
- Made changes to blog as required
Things we learnt:
- UUID and different approaches available to create shareable link SecureRandom
- Javascript on Exercism
To Do:
- Use mockups to create a plan
- Continue work on issue (#455, #10)
17th July 2017
Day 07:
Hello World!
Things we did:
- Morning stand up to go over today’s tasks
- Converted RGSoC blog to Markdown
- Published RGSoC Blog
- Researched Secret URLs
Things we learnt:
- Learning how to generate a secret link
- How to prioritise tasks while working remotely
To Do:
- Work on issue (#455, #10)
12th July 2017
Day 06:
Hello World!
Things we did:
- Refactoring session with Adam
- Reviewed and familiarised ourselves with the project’s code
- Reviewed Git commands
- Session on JS Tests with Tim
- Created plan for prioritised task with Tim
- Linked Trello with Github
- Continued working on the RGSoC blog
Things we learnt:
- Refactoring
- Git commands
- How to link Trello to Github
- Useful websites to learn JQuery and Git
To Do:
- Work on issue (#455, #10)
- Publish Blog post to RGSoC
11th July 2017
Day 05:
Hello World!
Things we did:
- Met up with the team
- Had tasks prioritised and level of difficulty noted by our mentor, Julia
- Updated our test environment and fixed any issues on our local environments
- Had a JS Test session with Ryan from Zendesk
- Committed our first JS Test
- Continued working on the RGSoC blog
Things we learnt:
- How to fix our local environments
- How to do JS Tests
- How to commit to github
To Do:
- Work on more JS Tests
- Continue working on the RGSoC blog
10th July 2017
Day 04:
Hello World!
Things we did:
- Set up remote pair programming in Atom
- Participated in Monday Meditation at Zendesk
- Attended a Zendesk Tech talk
- Wrote first draft for RGSoC blog
- Set up TeamViewer
- Signed up for AlterConf as recommended by Julia
Things we learnt:
- How to use Atom for remote pair programming
- What JSON Payload is
- REST vs gRPC (Tech Talk)
To Do:
- Meetup with the team
- Review and prioritise tasks for the next three weeks
- Double check remote pair programming is working properly
- JS Test for missing specs
- Continue working on the RGSoC blog
5th July 2017
Day 03:
Hello World!
Things we did:
- Met our awesome Supervisor, Vi Nguyen
- Synced with the team in 3 different cities via Zoom
- Setup SourceTree / SmartGit
- Converted ifPairElseUnknown Github into an organisation
- Updated Ruby version to 2.3.4
- Rebased from master
- Completed and pushed Contributor blurb for ifme
- Added our blogs into RGSoC Team App
Things we learnt:
- We have great support from the supervisor, coaches, and mentor
- The difference between rebase and merge in github
- How to create cartoon mangas
To Do:
- Set up remote pair programming
- JS Test for missing specs
- Write first draft for RGSoC blog
4th July 2017
Day 02:
Hello World!
Things we did:
- Introduction to Zendesk team at Retro
- Sync with Julia (Project Mentor)
- Prioritised feature work and tasks on Trello board
- Continued setting up Dev environments
- Watched recommended RoR talk on Michael Dawson- The biggest cause of bugs in your application: ‘git commit’
- Github learning session with Adel Smee
- Scheduled time with Adam Rice to go over refactoring
- Updated Ruby version 2.3.1 to Ruby version 2.3.4
Things we learnt:
- How to use the coffee machine
- Best way to commit to git
- How to priortise work load in Trello
- Using Source Tree with Git
- How to use Zoom for meetings
- How a ‘Retro’ is run
To Do:
- Meet with Vi (Supervisor)
- Sync with team 11am
- Set up remote pair programming
- Complete Contributor blurb for ifme
- JS Test for missing specs
3rd July 2017
Day 01:
Hello World! Today marks the first day of Rails Girls Summer of Code 2017. We woke up 6am, to a chilly Melbourne morning of 8 degrees celsius, in order to get our kids off to childcare and into the Zendesk Melbourne CBD office by 9am.
We were warmly greeted by one of our coaches Adel Smee, who settled us in and introduced us to some of the Zendesk team.
In the morning, we participated in a 30min Meditation session, which was an fantastic way to start off RGSoC. Meditation helps manage stress, aids in focus and aligns well with our project ifme.
We had lunch with Adel Smee and Adam Rice to kick off our first day and mark the occasion at YUZU. After lunch Simon Hilderbrandt stopped by to assist us with setting up our daily logs. Tim Moore was also available online to answer any questions we had.
Completed to date:
- Filled out team info on RGSoC
- Set up team email account (ifpairelseunknown@gmail.com)
- Set up team twitter account
- Set up team github account
- Set up Daily Log
- Set up Trello
- Set up calendar and meeting schedule
- Answered interview questions for ifme contributor post
- Set up Dev environment and set up project locally
To Do:
- Review ifme code
- Review and prioritise Feature Work
- Schedule a time to go over refactoring with Adam
- Watch recommended RoR talk on Michael Dawson- The biggest cause of bugs in your application: ‘git commit’
- Set up remote pair programming
- Complete Contributor blurb for ifme
We are blessed to have the support of our local Ruby community and RGSoC organisation. Thank You to our wonderful coaches; Adel Smee, Adam Rice, Simon Hilderbrandt and Tim Moore, our project mentor Julia Nguyen and RGSoC supervisor Vi Nguyen.