A new phase

What happened to me, and why was my site down? Well, I was busy with other things.

During the spring I was busy with doing my final thesis (which can be read in English here or here). That took a lot of my time and many hard weeks later I finally got my Bachelor of Science with a Major in Computer Science (in Swedish: Filosofie kandidatexamen med huvudämnet datalogi). So I guess I’m a web developer with a degree now!

Right after receiving my degree, I got a mail from someone at my university, offering me a job as a research assistant in the field of open source and open standards! At first, I was uncertain about it and was considering declining since I didn’t have a place to live after the summer (I didn’t pass the requirements for my student apartment any more), but I decided I would go to the interview to see what it was all about.

I left the interview with a couple of their previous research papers and I was invited to a second interview, leaving me some time to decide. I was still uncertain, but I was still thinking of declining since I didn’t where to live. However, at the second interview, I decided I would take the job. The pay was good and certainly better than nothing at all. That’s when the hunt for somewhere to live started.

Finding something to rent is pretty much impossible if you haven’t been in the queue for long enough. I’ve been in the queue at the company that ran the student apartments for three year, but you had to have been in the queue for five years before even having a chance. Even at other companies it was impossible, since I hadn’t placed myself in their queue previously. I looked far and wide, in all the nearby cities, with no luck.

I tried looking for renting apartments as a “second hand renter”, I would rent an apartment from someone who rents it from someone else. I did not get much replies on the mails I sent, and the ones I got was a bit dodgy and some sounded like a scam.

After about a month of this and still having nowhere to live, I got desperate. Then by chance, I was looking at apartments that you “buy” (called “bostadsrätt” in Swedish, it’s a type of apartment where you “buy” the apartment in an auction, but you don’t own the apartment, you own a share in the company owning the apartment and the right to live there. You still have to pay monthly.). I had disregarded this option in the beginning since they usually involve a huge investment (in Skövde, it’s not unusual for a one-room apartment to cost 200 000SEK ($29000), being a newly graduated student, I didn’t have anywhere near that).

I found an apartment in a nearby town, 20 minutes away by train, that was being sold at an opening bid of 15 000SEK ($2176) which I could definitely afford. The auction had been open for 7 days already with a bid at 25 000SEK ($3628), and was about to end, when I called them and requested a visit.

It was pretty close to the train station, which was pretty good. The apartment however was small and old. It was on the 3rd floor, no elevator but that didn’t matter. The walls in the room needed to be fixed since the previous owner had made huge holes in the wallpaper, but I knew about that since before since it was stated in the ad. The kitchen was small, could barely fit one person in there. Same with the bathroom, almost no place to move around. But I had no choice, I needed somewhere to live. So I made a bid at 27 000SEK ($3918).

All previous bidders left, and I thought I was safe, until a new bidder came. The price went all the way up to 51 000SEK ($7400). Luckily I got the GSoC stipend last year which I still hadn’t spent as well as some other savings from previous work and an Android app contest I once won, I managed to buy the apartment, but it was just on the limit.

The whole move has been quite stressful. It all started back in July. My old apartment had a terms of notice of 3 months, meaning I had to cancel the apartment 3 months before I move and I’d still have to pay the rent for those 3 months. June and July are free months, so if you are smart, you cancel the apartment in April and you can leave it in July, unfortunately I wasn’t smart and cancelled it a month too late. However, if the new renter would be interested in moving in in August instead of September, then I don’t have to pay the rent.

So I made all the preparations in hope I wouldn’t have to pay for August. I needed a place to move my stuff though, and my mothers friend offered his storage for free, in a town about 130km away. So we moved all of the stuff there, which cost me 1600SEK ($232). Then it turns out the new renter didn’t sign until September, so I had to pay rent anyway, about 4500SEK ($653). Then we had to move all the stuff back to the new apartment when I got access to it, which again cost me about 2000SEK ($290), and I bought some new furniture at IKEA for roughly the same price.

I finally got my stuff moved in but I couldn’t put up much of my furniture since we need to paint the room and it would be a hassle with the furniture in the way. I decided I will do the painting myself together with a friend, since it would be extremely expensive to have a painter do it, so I hope it turns out okay (I chose a light blue paint, btw). I’ll try to document the process and post it here later when it’s done.

Enough of that though. Today marks 2 weeks at my new job. I don’t really know what to say about it. I’m collecting data about how Firefox implements various open web standards. So far I’ve read the Web Storage and the Indexed Database specifications and I have read a lot of bug reports and tried to summarize them. To be honest, it’s a lot to read and it isn’t particularly fun at times (but it’s still interesting). I had rather wanted to code something, but I knew what I was getting myself into, but I still think it’s great experience and good money right out of college. I’m still unsure what exactly I’m supposed to do, and I have a hard time to focus, but it’ll probably get better when I’m more used of it and have a clear path. It’s only a short-term position until the end of the year anyway, then I have to decide if I should sell my newly bought apartment and move somewhere else (closer to webdev jobs) or stay and do some freelancing or something I can do from home.

What I’ve learned during GSoC and phpBB

During this summer I’ve been working on an REST API for phpBB as part of my Google Summer of Code project. I’ve learned a lot about a lot of things during the summer and I’ve surely had one of the best summers in a while! I wanna give out a thanks to the phpBB team, and summarize what I’ve learned and done during the summer.

What I’ve learned

I’ve learned a lot about the open source world which I hadn’t really entered before. Mainly in this regard I’ve learned more about Git and how to do proper pull requests and such (also a lot about rebasing, branching and other useful things I’ve never had done before). I’ve gotten more used to read others code and understand their code as well as modifying it. I’ve also got to pickup the phpBB coding guidelines and it has helped a lot to improve my code.

Another thing I’ve learned (but still need to delve deeper into) is Symfony, composer and dependency injection. Prior to GSoC I had barely used any of them. I managed to use what I learned in other projects almost instantly as I got a new job as a part time web developer at a local company, and we use a lot of these things there (but using Laravel instead of Symfony).

I’ve learned a bit about cryptography and hashing, to use for authenticating the API. To be clear I’m still confused with all of this and probably have to take another look at it later, but I definitely know more about it now than I did before.

I’ve learned a lot about various design practices, and new stuff like repositories, entities and so on, which was new to me. This too has helped me at my new job as we use these kinds of things a lot.

Thanks

I want to thank the phpBB team for accepting my proposal, it has been one of the greatest summer in a long time for me. I’ve learned a lot of useful stuff and I’ve met a lot of new people in the process. I would also like to say thanks for the generous invite to the hackathon in Montreal, it was really fun and I would do it again if I ever get the chance in the future.

A last word

It seems like I’ve given up on the project but I sure haven’t, just that I’ve been busy with some courses at college as well as that I got a new part time web development job taking away my time. I’m still thinking about the API and still planning the next steps, and I promise to finish what I’ve started. I’m currently planning and preparing for my final thesis work this spring, but I probably have some free time now and then when I can devote myself to the API again, don’t worry :).

GSoC, phpBB API and hackathon in Canada!

The results from GSoC (Google Summer of Code) has been out for almost 2 weeks now but I haven’t had time to write about it yet. I was one of the six that get to work for phpBB and I’m really excited to do this! As I’ve mentioned earlier I tried to apply to phpBB with the API last year but didn’t have any luck back then but this year I was lucky to be selected.

What I’m gonna do this summer is to create a REST API for phpBB. It would allow developers to create various applications that can interact with phpBB in an easy way. Examples could be mobile applications, desktop applications and more. If you wanna check out my proposal, it’s publicly available here. I think it’s gonna be a lot of fun creating this and I hope it turns out awesome.

Furthermore, I’ve been invited to phpBBs hackathon in Montreal, Canada in July! The event is between July 10 – 14, but I’ve decided to stay a bit longer until July 19 to sightsee a bit and meet up with a friend of mine. It’s gonna be a lot of fun, I’ve only been on a smaller hackathon before that I hosted myself. It will be my first trip outside Europe, I think it’s gonna be awesome.

Open source – Start contributing early

I’ve come to a realization that I suck at contributing to open source projects. It’s not like I dislike contributing to open source or believe I suck at coding, but that I just don’t know what to contribute, how to do it and feeling insecure about my code and solutions. I became interested in programming in 2007 and since then I’ve only coded alone on my own projects. I never contributed to open source projects because the thought never crossed my mind.

It wasn’t until last year when my friend Callum Macrae showed me GSoC (Google Summer of Code) that I (slowly) started to contribute to open source projects. The goal of GSoC is to submit a proposal of how you would make any of the registered open source projects better, and if you are chosen by the open source organization, you’ll implement your proposal during the summer and you get paid by Google for doing so. Last year I submitted a proposal to phpBB to create an API, but I didn’t get chosen (looking back at that proposal I realize how bad that proposal was so it wasn’t a surprise I wasn’t chosen).

To increase ones chance to get selected you’d have to contribute to the project beforehand. I checked the bug tracker for things I could fix but come to a realization: I have no idea what I am doing. As I’ve only worked alone for so long I always knew what bugs there were in my projects and how to solve them, but this wasn’t the case anymore. I checked bug report after bug report but I wasn’t secure enough to fix any of them. Fortunately I found a couple of rather easy ones to get a hang of the open source workflow of phpBB. Here was my next problem: how exactly do I submit my patch? phpBB uses GitHub, and I’ve used git and GitHub before but only for my own use. I read some instructions on the phpBB wiki and asked Callum as he contributes to phpBB as well, and sure enough, just fork the repo, branch from the correct develop branch, fix whatever bug you were about to fix, commit that to your own repo and submit a pull request. Easy enough.

Or not. No one had ever reviewed my code before. No one had ever commented on it. This had led me to become very insecure about my code and I was worried what others would think about my solutions and my coding style. I was unsure what I would put as my commit message, and sometimes even afraid to send the pull request. I managed to fix some four or so small bugs but after my proposal was rejected I got a bit bored with contributing and forgot about it and went back doing my own stuff instead.

This year I’ve tried again with GSoC and phpBB with same idea but a much better proposal than last year and I’m in the same position and I’m trying to get used contributing again. I still have issues with insecurity and how I should solve things the best way, but I’m trying my best to overcome these obstacles and get more active contributing to various open source projects.

The message I want to send is to start as early as possible with contributing to open source projects. Even if you don’t know enough programming yet, check the bug tracker occasionally, try to understand parts of the projects code and when you find a bug report that seems easy enough for your skill level, don’t be afraid to fix it! I believe by contributing to open source projects, you’ll learn to be a better team member and you get valuable feedback on your work. It’s a crucial skill and you really need it later in life when you are working in teams at whatever job you get.

I know for one that currently I’m not the best at working in teams. I’m doing ok with groups of 2 – 3 persons, but when working in large groups I have a hard time making myself useful for the rest of the team. I do wish I’ve started contributing to open source projects earlier in my life so I would be more prepared at it when starting college, but I guess it’s better late than never am I right?