Team l1ghtsab3r (VOC) [2016]

Hello all! We are team l1ghtsab3r and we're going to be working on the project VOC.

About the project

VOC is a transpiler that converts Python bytecode into Java bytecode. In this, a .py file will be converted in a .class file that can be executed in a Java Virtual Machine. This is useful for writing Android applications or writing web applications for situations where JavaEE is the only available deployment platform. The documentation for this project can be found here: https://voc.readthedocs.io/en/latest/

About us

We (Soumya and Srishti) have known each other since the last three years and have done several course projects together in our institute. We've been roomies for a long time now and have an amazing rapport among us. We have always wanted to contribute to opensource and RGSoC surely is a great way to get us started! We look forward to the amazing summer which lies ahead. :D

Mentors

Supervisors

September 30, 2016

It feels so weird writing the update for the last day. No more supervisor and team calls. No more excitement about the next big thing we are gonna pick up. No more Reminders to update your team log (Maybe good? :P)

We had our team call yesterday and so today ends without a blast. But we didn't want it to.
So, we sent in a PR with a huge amount of work (https://github.com/pybee/voc/pull/262)
Seeing how much we loved working for VOC and working with Russell, who has been an absolute delight, we are going to continue working.
We will also be holding a Intro To Open Source Session next week in our institute and would be spreading the word about RGSoC and VOC around us.
We will be in constant touch with our coaches, our mentor and our supervisor because we absolutely loved them!!

This is team l1ghtsab3r signing off!

September 29, 2016

What we did today

We had our monthly team call today with Russell (our mentor), Natalie (our supervisor) and our coaches. We discussed about how RGSoC has been really empowering for both of us and how we wish to pass on the baton to other girls in our community. That being said, both of us would still continue to work on VOC, as this project has been really close to our hearts, this being our first open source contribution.

We are currently working on the open PRs, and tying up the loose ends.

What we plan to do tomorrow

September 26, 2016

We learned a lot about bytecode hacks yesterday and are more than ready to use these in our project as well :D
We met three of our coaches, Anuvrat, Sambhav and Naman!
Apart from this we also spoke to many people about our RGSoC project and even wanted to give a lightning talk about it, but since we were running short on time we weren't able to. We also spoke to PyLadies about starting a PyLadies Delhi chapter. :D

September 19, 2016

What we did today:

Sent in a PR to CPython! Issue#28203
Caught that bug while working on Complex function in VOC. Manish Goregaokar, our coach helped guide us towards working on and sending in a patch.
We've completed the complex function for VOC as well now. Just the tests are left. :D
On a side note, University exams have begun.

What we plan to do tomorrow

Complete the Complex function tests
Work on visit_For method
Attend to the PR in CPython
Study for Univ exams :'(

September 16, 2016

What we did today:

Both of us had college assignment deadlines today! It is kinda hard to juggle university along with the daily goals for RGSoC. Nevertheless, we are really happy that we are getting to learn so much through this.
We worked on the visit_For method today, and are continuing to work on the Complex datatype.

What we plan to do tomorrow

Continue working on the visit_For method
Have a look at the open pull requests
Our mid term exams are from next week, so gearing up for those as well!

September 15, 2016

What we did today

We had our weekly call with out supervisor today :D
We are still working on the complex datatype. Along with that we had a look at what Java bytecode instructions are required to implement “else” handling in a for.

What we plan to do tomorrow

Make the visit_For method and add the bytecode instructions when a for/else is encountered.

What we plan to do tomorrow:

September 09, 2016

We had our monthly team call today. We discussed the following:
* What happened during the last two months?
* How is it going to working remotely?
* What works great, what can we change for September?
* Plan for September

September 05, 2016

We worked on the complex data type we were working on earlier. Link to the PR sent earlier: https://github.com/pybee/voc/pull/244
Most of the work we did today was reading and understanding the existing code base since the working of the complex data type is quite different from what we've been working on till now.

Also, since both of us got selected as Anita Borg scholars this year, we attended the Anita Borg retreat last week which was an amazing experience. We got to meet other amazing women in technology who inspired us even more. We also met a friend of Russell, our mentor :D Apart from that, we told other fellow scholars about our RGSoC project, VOC and they showed interest in contributing towards opensource as well. Both of us would like to thank RGSoC for the opportunity it has given us. It is from here that we have truly dived into technology and this has enabled us to be better leaders in our fields.

August 16, 2016

This week starts off with a Tuesday. Yesterday was our national Independence Day which also means that we got a day off! Yay :D
We worked on completing the imul methods and our PR should be finalized by tomorrow.

August 12, 2016

We worked on imul methods to be able to throw the specific error for each datatype. We were originally using one approach to solve the problem, but it turns out that there were problems with that approach. Now trying something new.

August 09, 2016

We couldn't get a lot of work done today. We worked on implementing bool methods today as well, and finished implementing two of them (radd and rmul). A few of them are still left. We aim to cover them in the next 2 days.

July 28, 2016

Today was an especially exciting day as Soumya was able to attend an event organized by Lean In India. The event's aim was to discuss the problems faced by women and inspire them to break the barriers. I talked about my experience with RGSoC and my experience with Google Code Jam For Women. I encouraged the women there to apply for these programs, solving their queries as to how to get started. Helping them in tackling issues faced by them in their colleges. I think the best session of the event was the mixer when I got to speak to so many women and talk to them about their experiences and mine.
Facebook Page link
All in all, I made some amazing friends :D

As for our project, in a discussion with our mentor Chiang Fong Lee, we discovered an inconsistency in the way code has been written, The args for each method are not defined. Because of that, 5*6 works. However, 5.mul(6) won't work. We are sending in another PR making these changes in all the methods.

We messed up one of our pull requests :| What happened was that we created a new branch from master, where we planned to implement methods for Boolean. But we didn't realise that our previous commits weren't merged, so those got in to the new branch as well. We spent the day figuring out how to resolve this as we wanted the branch to be for Boolean methods only.
Apart from this, we also attended a "Girls In Tech" event nearby: https://www.facebook.com/events/1640270066291554/
It was a really fun opportunity to discuss and learn new things! The Lean In campaign in India was also officially launched here!! All in all it was a great day, full of learning. :D

July 22, 2016

Work done today:

*Talked to Russell, our mentor today. We had been stuck in writing tests for quite some time now. He helped us to understand the entire flow pretty well.
* Fixed the issues in our blog post
* Got some headway in implementing String, Dict and List methods. (As mentioned earlier, we were stuck due to the lack of tests for quite some time now)

July 18, 2016

So, it was Srishti's birthday on Saturday! We went out with few of our friends and had loads of fun :D

Things we covered today:

Had a really amazing call with Anuvrat, our coach. He instructed us on how to go about writing the tests. Apart from this, he also suggested several conferences we should attend and also explained to us, why we should be attending conferences at all. The call was really motivating \o/

We have worked on various suggestions mentioned on the pull requests of our blog post. We will be pushing the changes in some time :D

We have started working on the suggestions provided by Anuvrat for implementing the tests.

All in all, it was an amazing start to the week :D

July 15, 2016

We spent our day today working on the blog and have come up with a little something that we hope all of you would enjoy. It should be up in a day or two.
We also talked to our supervisor, Natalie about the conferences we want to attend. We are still deciding on which one to attend. So many choices!!! :D

P.S.: We spent almost an hour in untangling a necklace, but oh boy! It was worth the effort xD

Completed the following tasks:

2nd PR ready to be merged

Started on List methods

Started on String methods

We got started on List and String methods. However, we realized that most of them do not have test cases. So, for these, we'll have to add test cases and the methods.
Couldn't make much headway. We'll get started on writing the tests next. On a bright note, our 2nd PR is ready to be merged. Also, we'll be working on adding a linter on Travis.

July 06, 2016

Completed the following tasks:

Added Unary Operators for Bool including pos, neg, invert (PR Merged)

Added test cases for round

Improved modulo method for Float

Read the cpython implementation for contains

Added test cases for float to test round half to even feature. This resulted in breaking the modulo function. Fixed the Float part of the modulo function.
The Int part shows precision error due to implementation. However, same code copied in Int and Float. So, there's a need to modify both.
Implemented the unary operators for Bool.

New interesting thing learnt today:

Round can be implemented in many ways. Python uses the round half to even behaviour. i.e. round(4.5) = 4. round(3.5) = 4

Modulo is implemented differently for different language. Different language creators could not decide whether the final answer should have the sign of the dividend or the divisor, so every language makes it's own specification. Java uses the sign of the dividend. i.e 4.5 % -4.5 = 0.0. Python uses the sign of the divisor. i.e. 4. 5 % -4.5 = -0.0

Tomorrow, we'll be tackling the precision error and the methods for List. A lot of tests for that seem to not have been implemented yet. We're planning to look into that as well.

Had good interaction with coaches. Learnt a few things. All in all, a good day!

Completed the following tasks:

ne method for float

Finally, we started coding. We were able to finish the work listed above. We feel that we are still raw while writing code. Switching every line to the python datatype object and using it's method takes us a little time. We have to scout the datatypes and it's properly. Hopefully, a few days of work should help us out in this front and we should become more used to using these methods.
For every method we work on, we first run a few tests of our own on python and see how the method behaves. If there are some aspects we are unable to understand we look at the cpython implementation of it. Once we are clear of the approach we wish to use, we start our coding. We then run some tests and make sure that there are no bugs left. Then just commit and push!

Tomorrow, we'll be tackling these:

round method of Float

contains method of string.

Team l1ghtsab3r

July 03, 2016

We had an amazing time talking to all our coaches, our mentor and our supervisor on Kickoff day :D It was highly enriching and all of us got to know more about the project we'll be working on (i.e. pybee/VOC). We discussed a couple of issues we will be focusing on in the next week. Moreover, we spent the day setting up the project environment and getting the tests running. We did face a few problems in running the tests, but our coach, Sambhav helped us to resolve those issues.
Apart from this we also set up our communication channel on Slack and a GitHub repo we will be using for keeping track of our progress.

September 30, 2016

It feels so weird writing the update for the last day. No more supervisor and team calls. No more excitement about the next big thing we are gonna pick up. No more Reminders to update your team log (Maybe good? :P)

We had our team call yesterday and so today ends without a blast. But we didn't want it to.
So, we sent in a PR with a huge amount of work (https://github.com/pybee/voc/pull/262)
Seeing how much we loved working for VOC and working with Russell, who has been an absolute delight, we are going to continue working.
We will also be holding a Intro To Open Source Session next week in our institute and would be spreading the word about RGSoC and VOC around us.
We will be in constant touch with our coaches, our mentor and our supervisor because we absolutely loved them!!

This is team l1ghtsab3r signing off!

September 29, 2016

What we did today

We had our monthly team call today with Russell (our mentor), Natalie (our supervisor) and our coaches. We discussed about how RGSoC has been really empowering for both of us and how we wish to pass on the baton to other girls in our community. That being said, both of us would still continue to work on VOC, as this project has been really close to our hearts, this being our first open source contribution.

We are currently working on the open PRs, and tying up the loose ends.

What we plan to do tomorrow

September 26, 2016

We learned a lot about bytecode hacks yesterday and are more than ready to use these in our project as well :D
We met three of our coaches, Anuvrat, Sambhav and Naman!
Apart from this we also spoke to many people about our RGSoC project and even wanted to give a lightning talk about it, but since we were running short on time we weren't able to. We also spoke to PyLadies about starting a PyLadies Delhi chapter. :D

September 19, 2016

What we did today:

Sent in a PR to CPython! Issue#28203
Caught that bug while working on Complex function in VOC. Manish Goregaokar, our coach helped guide us towards working on and sending in a patch.
We've completed the complex function for VOC as well now. Just the tests are left. :D
On a side note, University exams have begun.

What we plan to do tomorrow

Complete the Complex function tests
Work on visit_For method
Attend to the PR in CPython
Study for Univ exams :'(

September 16, 2016

What we did today:

Both of us had college assignment deadlines today! It is kinda hard to juggle university along with the daily goals for RGSoC. Nevertheless, we are really happy that we are getting to learn so much through this.
We worked on the visit_For method today, and are continuing to work on the Complex datatype.

What we plan to do tomorrow

Continue working on the visit_For method
Have a look at the open pull requests
Our mid term exams are from next week, so gearing up for those as well!

September 15, 2016

What we did today

We had our weekly call with out supervisor today :D
We are still working on the complex datatype. Along with that we had a look at what Java bytecode instructions are required to implement “else” handling in a for.

What we plan to do tomorrow

Make the visit_For method and add the bytecode instructions when a for/else is encountered.

What we plan to do tomorrow:

September 09, 2016

We had our monthly team call today. We discussed the following:
* What happened during the last two months?
* How is it going to working remotely?
* What works great, what can we change for September?
* Plan for September

September 05, 2016

We worked on the complex data type we were working on earlier. Link to the PR sent earlier: https://github.com/pybee/voc/pull/244
Most of the work we did today was reading and understanding the existing code base since the working of the complex data type is quite different from what we've been working on till now.

Also, since both of us got selected as Anita Borg scholars this year, we attended the Anita Borg retreat last week which was an amazing experience. We got to meet other amazing women in technology who inspired us even more. We also met a friend of Russell, our mentor :D Apart from that, we told other fellow scholars about our RGSoC project, VOC and they showed interest in contributing towards opensource as well. Both of us would like to thank RGSoC for the opportunity it has given us. It is from here that we have truly dived into technology and this has enabled us to be better leaders in our fields.

August 16, 2016

This week starts off with a Tuesday. Yesterday was our national Independence Day which also means that we got a day off! Yay :D
We worked on completing the imul methods and our PR should be finalized by tomorrow.

August 12, 2016

We worked on imul methods to be able to throw the specific error for each datatype. We were originally using one approach to solve the problem, but it turns out that there were problems with that approach. Now trying something new.

August 09, 2016

We couldn't get a lot of work done today. We worked on implementing bool methods today as well, and finished implementing two of them (radd and rmul). A few of them are still left. We aim to cover them in the next 2 days.

July 28, 2016

Today was an especially exciting day as Soumya was able to attend an event organized by Lean In India. The event's aim was to discuss the problems faced by women and inspire them to break the barriers. I talked about my experience with RGSoC and my experience with Google Code Jam For Women. I encouraged the women there to apply for these programs, solving their queries as to how to get started. Helping them in tackling issues faced by them in their colleges. I think the best session of the event was the mixer when I got to speak to so many women and talk to them about their experiences and mine.
Facebook Page link
All in all, I made some amazing friends :D

As for our project, in a discussion with our mentor Chiang Fong Lee, we discovered an inconsistency in the way code has been written, The args for each method are not defined. Because of that, 5*6 works. However, 5.mul(6) won't work. We are sending in another PR making these changes in all the methods.

We messed up one of our pull requests :| What happened was that we created a new branch from master, where we planned to implement methods for Boolean. But we didn't realise that our previous commits weren't merged, so those got in to the new branch as well. We spent the day figuring out how to resolve this as we wanted the branch to be for Boolean methods only.
Apart from this, we also attended a "Girls In Tech" event nearby: https://www.facebook.com/events/1640270066291554/
It was a really fun opportunity to discuss and learn new things! The Lean In campaign in India was also officially launched here!! All in all it was a great day, full of learning. :D

July 22, 2016

Work done today:

*Talked to Russell, our mentor today. We had been stuck in writing tests for quite some time now. He helped us to understand the entire flow pretty well.
* Fixed the issues in our blog post
* Got some headway in implementing String, Dict and List methods. (As mentioned earlier, we were stuck due to the lack of tests for quite some time now)

July 18, 2016

So, it was Srishti's birthday on Saturday! We went out with few of our friends and had loads of fun :D

Things we covered today:

Had a really amazing call with Anuvrat, our coach. He instructed us on how to go about writing the tests. Apart from this, he also suggested several conferences we should attend and also explained to us, why we should be attending conferences at all. The call was really motivating \o/

We have worked on various suggestions mentioned on the pull requests of our blog post. We will be pushing the changes in some time :D

We have started working on the suggestions provided by Anuvrat for implementing the tests.

All in all, it was an amazing start to the week :D

July 15, 2016

We spent our day today working on the blog and have come up with a little something that we hope all of you would enjoy. It should be up in a day or two.
We also talked to our supervisor, Natalie about the conferences we want to attend. We are still deciding on which one to attend. So many choices!!! :D

P.S.: We spent almost an hour in untangling a necklace, but oh boy! It was worth the effort xD

Completed the following tasks:

2nd PR ready to be merged

Started on List methods

Started on String methods

We got started on List and String methods. However, we realized that most of them do not have test cases. So, for these, we'll have to add test cases and the methods.
Couldn't make much headway. We'll get started on writing the tests next. On a bright note, our 2nd PR is ready to be merged. Also, we'll be working on adding a linter on Travis.

July 06, 2016

Completed the following tasks:

Added Unary Operators for Bool including pos, neg, invert (PR Merged)

Added test cases for round

Improved modulo method for Float

Read the cpython implementation for contains

Added test cases for float to test round half to even feature. This resulted in breaking the modulo function. Fixed the Float part of the modulo function.
The Int part shows precision error due to implementation. However, same code copied in Int and Float. So, there's a need to modify both.
Implemented the unary operators for Bool.

New interesting thing learnt today:

Round can be implemented in many ways. Python uses the round half to even behaviour. i.e. round(4.5) = 4. round(3.5) = 4

Modulo is implemented differently for different language. Different language creators could not decide whether the final answer should have the sign of the dividend or the divisor, so every language makes it's own specification. Java uses the sign of the dividend. i.e 4.5 % -4.5 = 0.0. Python uses the sign of the divisor. i.e. 4. 5 % -4.5 = -0.0

Tomorrow, we'll be tackling the precision error and the methods for List. A lot of tests for that seem to not have been implemented yet. We're planning to look into that as well.

Had good interaction with coaches. Learnt a few things. All in all, a good day!

Completed the following tasks:

ne method for float

Finally, we started coding. We were able to finish the work listed above. We feel that we are still raw while writing code. Switching every line to the python datatype object and using it's method takes us a little time. We have to scout the datatypes and it's properly. Hopefully, a few days of work should help us out in this front and we should become more used to using these methods.
For every method we work on, we first run a few tests of our own on python and see how the method behaves. If there are some aspects we are unable to understand we look at the cpython implementation of it. Once we are clear of the approach we wish to use, we start our coding. We then run some tests and make sure that there are no bugs left. Then just commit and push!

Tomorrow, we'll be tackling these:

round method of Float

contains method of string.

Team l1ghtsab3r

July 03, 2016

We had an amazing time talking to all our coaches, our mentor and our supervisor on Kickoff day :D It was highly enriching and all of us got to know more about the project we'll be working on (i.e. pybee/VOC). We discussed a couple of issues we will be focusing on in the next week. Moreover, we spent the day setting up the project environment and getting the tests running. We did face a few problems in running the tests, but our coach, Sambhav helped us to resolve those issues.
Apart from this we also set up our communication channel on Slack and a GitHub repo we will be using for keeping track of our progress.