Update Lightning Invitations to Latest Specification

My name is Malintha Fernando and I am a student developer from Sri Lanka, currently studying at University of Moratuwa. I started contributing to Mozilla some months back (Still got a lot to learn) as my first contribution in open source and glad to be a part of the Lightning project in GSoC 2014. :)

The objective of this project is to improve Lightning’s scheduling system by updating the available features to the latest RFC specifications. As we know most of the Lightning’s implementation were done referring to the draft version 4 of the RFC 6638, there are some features lagging behind from the final RFC document.

This is a diff of two versions.

This is a summary of changes identified so far which are planned to be implemented.


All comments are mostly welcome.

I hope to post all GSoC updates at my personal blog, me-levense once or twice a week.

Got selected to GSoC 2014


Every Computer Science undergraduate who might have heard about GSoC would not merely be satisfied of hearing it. Definitely, there will be some tries to participate in it. It is not a plenty of undergraduates’ dream to getting selected to Google Sumer of Code, certainly there is a lot more than a plenty.

In University of Moratuwa, where I study, GSoC is not just another event in the world of Computer Science students. It has become a part of their culture. Creating participants in GSoC in massive numbers is just-another practice of the university activities. All the related field students (students from department of computer science and the faculty of Information Technology) work hard to get selected in this prestigious event in the world open source calender.  University staff, past GSoCers and Google Student Ambassadors encourage undergraduates to apply for the event expecting not the  stipend but targeting  on the massive reputation that a student can gain from it.

Why UoM is special at GSoC?

UoM is holding the record for participating most number of students for the competitive event for impressive 7 consecutive years with 265 participants for all previous 9 years since the inception!


These numbers were steadily increasing over all past years even during the war era. Even Chris DiBona, Director of Social Impact and Open Source at Google mentioned his excitement over these numbers during his speech at his “Decade of Google Summer Code” speech at University of Moratuwa.

How did I motivate?

It is said that “Eighty percent of the success is showing up”. It wasn’t false that much if you once look at a GSoCer’s ability to show up. They are pretty good at what they are showing up. They are mastered of the field and always got highlighted in the industry as well as in the university.

In the very first year of the Uni life, i could attend to a small meet-up of past GSoCers and newbies. They were from Fedora project and encouraged us to apply to Fedora project in the GSoC 2012.

I was like… “What the hell is Fedora?” and “What is the relationship between Fedora and Google?”

I looked into some documentation of fedora and projects in the GSoC. I would be lying if I said I could understand a single project in the list.

Well… Time passed, promoted to the level two in the faculty. Again, looked in to the projects list. Unfortunately, it was the exam season and couldn’t allocate time to understand optional worse, neglecting the necessary worst.

At the time I moved to level 3, I was somewhat matured about the scopes of projects and the amount of contribution I had to made to yield some results.

Selecting Mozilla


My answer for the question “Why Mozilla ?” in the proposal template form.

There are several reasons behind selecting Mozilla. I was using Firefox and loved its designs ever since I got hands to a computer. Another reason was my desire to commit for a project that would cause cheer of a lot of users. Contributing for a project in Mozilla that actually used by millions of people all around the world, causes a feeling of satisfaction by knowing that there can be someone making use of some code snippets I wrote. I always enjoy volunteering. Satisfaction becomes bigger, when the project becomes bigger. Finally, I would happy to repute my GSoC participation with a big brand name in the internet like “Mozilla”.

Start Contribution

Mozilla was one of the most forefront open source projects in the world. It has thousands of contributers, contributing to various technologies and perspectives.

Designers,  Coders in tens of projects, bug reporters, bloggers contribute to the progress of  Mozilla. I would say that, at the first time I visited to this website, I was amazed. My question was, “Do they have a site for this thing too?”


It has provided you a lot of alternatives to match with your preferences. Mine was JavaScript and Calendar!

Once I got my choice……….

Okay, here is the tricky part…

Once I got my choice, I moved to the melange site! Not to the Mozilla developer network! I wanted to see that was my selection correct. I wanted to make sure that is there a possibility to have another GSoC project from this project. I went through project list of 2-3 years. yes there was. So I was correct! There was several projects in last years and seemed a possibility was there. (Of course, you can suggest a project by looking at the codebase or the Bugzilla – the bug tracking system of the Mozilla, but notice I was a newbie to the giant project)

thunderbird_logo-wordmark_RGB-300dpiI went through Thunderbird’s documentations and Bugzilla to find out available bugs. I found a nice documentation describing where to start and how to find out new bugs and get then assigned.

Have to say that, Mozilla has the best stored knowledge in world of open source I found so far. There developer network, provides you solution for any sort of related technical matters.

After going through a lot of documentations (and a lot of them) I though to focus on the Thunderbird’s calendar extension, Lightning project.


-This article is getting longer with my excitement grows- have to make this short –

I had to search for easier bugs in bugzilla, and a get one of them assigned to myself. Certainly, I didn’t have authority to get a bug assigned to myself. I had to comment in the section asking from someone to assign the bug to me. Once you get a “New start bug” to work on, you can contact the mentor assigned to the bug to get any doubts clarified.

After I got some experience with the codebase I turned to the GSoC. Went through the project statement, contacted the mentor for clarifications and glad to say that they were really responsive! Sometimes, they may take some 24s of hours to reply, but always give them arounf 48 hrs to reply for a mail. They also have their own works other than volunteering. :)

It’s done…

Preparations and orientations were finished. Now this is the time for discovering the exact meaning of “Coding”.

Hope, I will be able to achieve my goals and contribute to the Internet giant in my capacity to make open source more productive and Internet a better place.


CodeExpertz | An online coding workshop for school students

CodeExpertz 1.0 was an online school programming competition held exclusively for the students of Sri Lankan schools.

Dare enough? Visit CodeExpertz at Codechef!

As the prime technological institution of Sri Lanka, we had taken the initial step to provide a platform for them to showcase their hidden talents and improve their skills in the field of computer programming. This was a new avenue for the students to get the exposure to the real world technology matters at a very young age which we at IEEE Student Branch of University of Moratuwa (IEEE SB UoM), consider as a great privilege. This was held on the 28th of September 2013 from 9.00 am to 6.00 pm at the University premises with the participation of more than 40 teams.

Question team - Lihini, Madawa and Me

The competition was created to

• Motivate school students to be technologically sound in solving real world problems, especially using computer programming

• To provide students an online competitive environment to investigate their talents in programming

• Give IEEE Student Members a challenge to embrace team work – an important skill to develop for career success

Students, who are currently studying in a school especially in Ordinary Level and Advanced Level classes and students just finished their advanced level examinations, were eligible to take part in this competition.


Organizing this type of a novel event required a lot of commitment, dedication and considerable attention towards many aspects. Student branch members were so passionate about working on a project which involved the development of the skills of students, the future of our country.

Prior to the competition, a series of workshops were conducted to provide the awareness about programming and the competition. These workshops were held in selected schools and institutions all over the country as well as at the University of Moratuwa premises. These were conducted by our high caliber undergraduates representing the technical committee of this event. All of them are members of the IEEE Student Branch of University of Moratuwa. We were able to witness the enthusiasm of the students towards this competition and we were more than happy to receive encouraging feedback regarding these workshops.


Me, the Sir. 😛

The standard of the knowledge level of the competitors were truly amazing and that made the competition more excited as the time passed. After an intense competition, the team ‘RCCoders’ from Royal College, Colombo won the championship while the team ‘The EE Crew’ from Nalanda College, Colombo and the team ‘Pulverizes’ from Rahula College, Matara became the 1st and 2nd runners up respectively. The team which won the first place comprised of following students; Chamath Palihawadana, Roshnal Lihinikadu and Sanila Vindula Jinendrasinghe. The award ceremony was held during the IEEE Day 2013.


This cutting-edge competition was praised by many people including the Principals, teachers and the students as well. They are eager to participate in these kinds of events each year and we are hoping to retain the momentum till this year’s competition. This unique experience had made most of them realized about their hidden skills which they can improve in the future. We were extremely glad to partnership with Dialog IdeaMart and we had Digit.lk as the online media partner who supported us in hosting our event throughout the entire procedure of the competition.

Digit.lk was our online media sponsor. Dig-It!


AT commands and Interfacing a PIC microcontroller with a GSM module

AT commands are a list of commands that you can use to communicate with any kind of a mobile phone or a GSM module serially. First you have to identify the GSM module and it’s own AT commands list first. In a case that you don’t have a GSM module, you can use a basic mobile phone connected to the pc as a gsm module. (note it’s not working stand alone, always with the PC)

After connecting the mobile/GSM module to the PC via serial or USB try to communicate with it with using a hyper terminal(win XP) or Putty client(any OS). Download putty from here. 


Same way find the serial port of the GSM module and try to communicate.

There are various at commands to select sms mode, dial a number, Bluetooth(mobiles with bluetooth), access sim memory and all operations.

Ex: ATD 0711234567;

//dials the number


Hang the phone

Note : if you are using a mobile phone, there’s a big possibility of it’s not supporting the text mode but the PDU mode.  To check the format it supports, type AT+CMGF=? in the terminal. If the device returns “0” it supports only the pdu mode. That implies you can’t send a text as it’s but need to convert into PDU format.

If it returns 1 or 0,1 it says it supports text mode and both respectively.

Interfacing with the IC

After you are done with your mobile/gsm module and understand the AT commands, use ISIS to simulate the circuit.

AT commands can be issued to the device via HSEROUT/TX pin of the IC. And will be received by the RX pin of the device. (Module or the phone. If it’s a micro usb phone, u don’t need to worry about the TX,RX of the device)

To output a command to the device using hardware serial port of the PIC,

hserout [“ATD 711234567;”,13,10];

//13 : carriage return , 10: new line character

Home Automation with Android | University Level 1 Project

This project was carried out during level 1 of our university life. – Gained an A+ too 🙂

We were totally new to Android, micro-controller programming and I didn’t know the ABC of AT commands at all. At times the project was seemed unachievable. All we knew at the beginning was, we need to control some electronic components with a mobile phone. We went through all type of connection establishing protocols we could done using a mobile phone to the micro controller. We went through bluetooth, internet but couldn’t see a way to receive the message from the micro-controller.

Finally found AT commands that allows to control a mobile with serial communication.

We used a PIC 16f877A at the receiving end along with a mobile phone. Micro-controller was programmed to issue AT commands and used my computer running with a ISIS program as an interrogator to the mobile phone.  Capture

Then we moved to a GSM module which could be directly connected with the PIC.

Once the GSM module received a SMS, the PIC reads it using AT commands and it could take the defined action for the particular message.

AT commands