timeline example

My GCI Experience
Picture

[starter] Get started with Linux!

This task involved me downloading a linux distro and installing it. The end result was an image with a picture of the terminal with my username inside it. This was the start of my GCI journey!

View work 23-Oct
Picture

Create your own GPG key then authenticate to GitHub and sign commits

The aim of the task was to setup a GPG key with GitHub. The purpose of adding a GPG key to commits is to verify to other users of GitHub that you are who you say you are. I had been given a YubiKey 2FA token from an event I attended so I thought it would be even more secure if I set it up with that. Now all my commits require me to have my hardware token.

View work 23-Oct
Picture

[easy] My first ssh connection!

This task involved me connecting to a remote sever over the SSH protocol and searching for a hidden file.

View work 24-Oct
Picture

Install the Sugar Development Environment

This task was a beginner task for Sugar Labs who at the time I knew little about. I followed the readme on how to install the Sugar Development Environment and explored the GUI. The evidence of completion was a screenshot of my XO with my username. This was the start of my journey for the organisation I would stay with throughout the whole of GCI.

View work 25-Oct
Picture

Design a new twitter cover image and theme colors for @openwisp

This task involved me designing the profile background for the @openwisp Twitter profile. I wanted to make it as eye-catching as possible yet still simplistic enough that it got the organisations message across. The end result was chosen amongst several GCI student’s submissions.

View work 25-Oct
Picture

Create a landing page for Primero

Primero is a new sugar labs project developed during GSOC. I designed a page which would show what Sugarizer Primero is all about. The mentors offered several pieces of advice to help me make sure the page was the best it could be.

View work 26-Oct
Picture

Create a contributor's page for Sugar Labs

My task was to create a contributor’s page in a similar style to Zulip chat’s. A Sugar Labs contributor had already made an implementation plan which I followed. I used python to generate the JSON list which was then read by JavaScript on the webpage and interpreted client side to make a grid of contributors. I think this is an important page to have on the Sugar Labs website as it really emphasises the open-source value.

View work 28-Oct
Picture

Integration of viewer.js into SugarLabs_Social

This task was implementing a “click to zoom” image functionality for all images in the upcoming Sugar Social platform. This was my first project with the Social repository and my first time making a Pull Request. This is when I started to realise the beauty of open-source.

View work 30-Oct
Picture

Fix broken frontend issues on ASLOv3

This task was a simple fix to the Sugar activities directory, ASLOv3. The icons for the headers of the cards on the details page did not have any spacing between them so the page looked rather strange. With some simple CSS the issue was fixed.

View work 30-Oct
Picture

Improving Typography of Blog(SugarLabs_Social)

This was my second task on the Sugar Social platform. After consultation with my mentor. I had an idea of what he wanted and what would work well. I followed a similar trend to blog sites like Medium with a serif font and an initial at the beginning of the blog. This typeface made the blog posts look much cleaner and more professional.

View work 01-Nov
Picture

Sugar Labs Social: Fixing position of side Navigation Menu

Yet again, I was working with the Social platform and this time I was attempting a more complex styling challenge. The bootstrap navigation bar to the left was currently staying in place so when the user scrolled the navigation bar would scroll away. Although it seemed simple to me at first, the challenge involved several hurdles which I had to get over. For example, the content needed to be relatively placed to compensate for the navigation bar becoming fixed in space. Additionally, the mobile version of the platform had to have a suitable replacement as well. In the end, my mentor was very pleased with the result. I really wanted to make sure that my tasks at the best quality they could be.

View work 05-Nov
Picture

Sugarizer Fix: Save Stopwatch activity context in Journal #201

This was my first task with Sugarizer, the Sugar platform port in JavaScript. While looking over code of other tasks I managed to grasp the basics of the datastore library that is provided by Sugarizer. What seemed intimidating at first actually turned out to be relatively simple once I had understood the basics.

View work 06-Nov
Picture

Complete the Sugarizer development tutorial

Before I went on to complete a series of Sugarizer tasks, I felt it would be a good idea to go through the development tutorial to get a well-rounded view of the Sugarizer libraries. I made a simple pawn activity and made some suggestions on how the documentation could be improved for future users. Although I had some knowledge of JavaScript, it was by no means exhaustive so this tutorial was also a good refresher on some fundamental concepts.

View work 06-Nov
Picture

Sugarizer Fix: Flip activity don't detect end of game #215

This task’s aim was to implement the functionality for two different win scenarios. Previously the user had to get all the tiles to be flipped to the user’s foreground colour, with the fix it allowed both the foreground colour and background colour. It also fixed the issue where the help button would not be detected as a win.

View work 07-Nov
Picture

Sugarizer Fix: ChatPrototype activity does not sanitize input #225

The Chat program in Sugarizer had an issue raised by a fellow GCI participant where the user’s chat event was not sanitized. This is quite a serious security flaw which web developers have to be careful about when writing a web application. My fix was to strip out all tags on receive so no code could be executed.

View work 08-Nov
Picture

Gather Contributors Data From Our Wiki

This task’s goal was to gather the list of contributors from the Sugar Labs wiki. My previous implementation of code only involved the GitHub contributors which is leaving out a large proportion of the Sugar Labs organisation. This was not acceptable to have some contributors listed while others were not. I first attempted gathering the user’s off using the MediaWiki API but after consultation with Walter

View work 11-Nov
Picture

Design a promotional flier for either the Turtle Art or Music Blocks project

For this design task, I thought it was important to be as simplistic as possible to attract the younger audience and the casual social media user. I didn’t want there to be too much text as nowadays most of the internet population can only look at something for half a second before scrolling along. Although the design was simplistic, I tried to add some layers to create a 3D effect to add a bit more depth. Overall, I was happy with the flyer produced.

View work 14-Nov
Picture

Sugarizer Fix: Add number of play in Flip activity #216

For this task, I needed to add a flip count to the flip activity so the user could tell how well they are doing. I also added a coloured indicator to allow the user to directly see how well they were doing.

View work 14-Nov
Picture

Sugarizer Fix: Abacus does not display solution with big numbers #140

This task was to fix the issue where the Abacus activity would not display numbers over a certain length. I corrected this by directly scaling the text in proportion to its length. This meant the text always fitted within the area.

View work 20-Nov
Picture

Sugarizer Fix: Change background color for Speak activity #245

This task was to implement a feature which allowed the background of the activity to change according to the user’s XO color. I implemented the functionality to get the current user’s colors and then added the variable to the canvas background which would change the user background when they opened the activity.

View work 22-Nov
Picture

Sugarizer Fix: Add the sleeping face into the Speak activity #246

For this task, I had to implement a “idle” face feature which is a port of the Sugar core activity. It is simply a fun feature. I started by drawing an arc around the same point of the eye and then added this to the draw eyes function with an idle boolean. When the user had been idle for more than 2 minutes this boolean would be set to true and close the eyes. Upon review, my mentor told me that if there were multiple eyes the sleeping eyes were misaligned, however after a few line changes the issue was fixed.

View work 24-Nov
Picture

Sugarizer Fix: Add an history of last QR Code generated/read in QR Code activity #244

This task was to add a combo dropdown box which would allow the user to select their previous QR codes and see them again, which is a feature in many QR code making apps. At first, I made the mistake of using a dropdown box in addition to the input box but then after review the mentor informed me that it should have been built into the combo box. I quickly fixed this issue and the task was accepted.

View work 26-Nov
Picture

Sugar Labs Social: Ajax or lazy loading for feeds

This tasks aim was to implement a social media style infinite scrolling for the Social feed. After following the advice of the mentor on using Django paginator. It was fairly simple to implement. At first, I was quite intimidated by this task as I had no prior knowledge on Django but after starting it became fairly simple.

View work 02-Dec
Picture

Test performance of Sugarizer RPi Image and improve performance

For this task, I had to install the Sugarizer school box image on a Raspberry Pi. The install was fairly simple for me but I did spot some items that could be added to the documentation. For example, I thought it would be useful if there was a complete beginners guide with exactly what hardware was needed. However, I believe this issue was fixed by my tutorial video I made in another task.

View work 02-Dec
Picture

Music Blocks Lesson Plan

For this task, I had to create a music blocks lesson plan. I used my previous knowledge with teaching Y6 to help create the lesson as accessible as possible. In total it lasts around an hour, with several practical’s and important concepts introduced. I also ran a lesson that weekend to evaluate how successful it was.

View work 05-Dec
Picture

Design a promotional flyer for Sugar Labs

Again, for this task I tried to make the poster as simple and eye-catching as possible. Each element was supposed to have a meaning. For example, the rainbow background is supposed to show the diversity of people within Sugar Labs.

View work 05-Dec
Picture

Sugarizer SchoolBox video tutorial

Sugarizer School Box is a Raspberry Pi version of the Sugarizer Server. For this task, I had to make a demonstration video on how to set it up. When making the video I tried to make it as clear and easy to understand as possible. However, this did mean that it ended up being a 10-minute video…

View work 08-Dec
Picture

Create a new activity for Sugarizer

I made a Flashcards activity for Sugarizer similar to the popular learning platform Quizlet. The user can create flashcard “sets” which could be saved to look back over in the Future. Research shows that flashcards are one of the most effective ways to engage "active recall" of information so I thought it would be a useful activity to include in Sugarizer.

View work 09-Dec

Create a video/article of your experience in GCI this year

You are reading it now!

09-Dec
Picture

Design a mockup of diatonic keyboard for Sugarizer Primero web app.

For this task I had to create a mockup html template for this image. I needed to make sure it was responsive for mobile devices as this is what Primero was all about. This was my closing task in GCI :(

View work 11-Dec