I applied for summer of code

squimrel
4 min readMar 24, 2017

Since February 27 17:00 UTC I’ve been looking at the project ideas which were published by around 200 organisations that got accepted to Google Summer of code.

In particular I wanted to work on a project that used python, C or C++, weren’t related to web development and did have source code that looks good and makes sense.

As a C++ and Rust advocate who never really worked with C apart from learning assembly I’ve always thought about how crazy those C developers must be to take care of all the deallocations manually. I really wanted to see what it’s like to work with C. I might write a separate article about this in the future but let’s just say it’s actually pretty fun and simple. That’s why I looked at PostgreSQL and Git.

PostgreSQL — Foreign key for Array elements

I thought this project was interesting because I wanted to use this yet non-existent feature myself at some point.

I started of reading a little about this on the mailing list but got bored pretty quickly and moved on to reading the documentation and source code.

It was quite interesting but in such a large code base I had a hard time to figure out what belongs where and it wasn’t immediately clear to me how things should be done even though I had tools such as cscope and 2000 pages of documentation to help me out and I’ve even attended a course on database design before.

The reason why I didn’t spend more time on it was that I eventually went back to read everything about the project on the mailing list and it wasn’t even clear what syntax they wanted to use, what exact feature they wanted and how it should behave since there were serious doubts on how this would perform in various situations.

Git — Script to builtin

Git looked great. There seemed to be more than enough work for everyone and I liked the source code much more than the source code of PostgreSQL.

They require every student to complete a tiny microproject which seems like a great idea to me and so that’s what I did. Poorly only after four days I eventually read the part that said that they’ll only take a maximum of two students and there were already a lot of great students applying for it and since I didn’t want to take their spot away I abandoned the project a couple days later.

Fedora Project — Media Writer support for persistent storage

Since I’m a Fedora user and fan, Fedora definitely also was on my list with their python and C++ projects. But when I found out that you have to give away your identity to them right away via the FAS account I closed their site without looking at most of the projects.

When I finally looked at the Fedora Media Writer project after I returned from Git I fell in love. The author of the project knew what he was doing. It was cross-platform (Linux, Windows, Mac) and even the commit messages were written properly.

After looking at this project for a while it seems like implementing persistent storage isn’t even that easy because currently on every supported platform the downloaded iso is simply dd-like copied over to the portable media device. It’s not clear what the best solution is, especially since it should preferably be a solution that adds no extra dependencies to external programs and should work on three different platforms so I’ll probably have a lot of fun experimenting with different approaches.

One could say though that I haven’t even applied yet since I only spoke to my potential mentor and shared the draft of my application with Fedora Project so far. I’ll properly wait for my potential mentor to give me some feedback on my application before I’ll post it on the wiki. Also I only have access to the wiki since a couple hours.

This is the project I’ll settle for and I won’t look at any other project anymore. If won’t be taken for it then I’ll not take part in Summer of Code but one thing is for sure I’ve learned already quite a lot during this application period since I’ve setup a new mail stack for myself: Exim + PostgreSQL + SpamAssasin + Dovecot + offlineimap + notmuch + msmtp. With this stack and git format-patch working with mailing list was fun! Also I learned how it’s like to read a lot of source code and documentation just to write a single line of code.

To be honest I only write this blog post because I want to get used to blogging every week since that’s something I’ll have to do when I get accepted for summer of code with Fedora Project, sponsored by Google.

--

--