Team Code Bears (diaspora*) 
- Starts On
- July 01, 2017
- Finishes On
- September 30, 2017
- Last Activity
- September 30, 2017
We are a Berlin-based team working on the diaspora* project- a distributed and privacy aware social network - for the Rails Girls Summer of Code 2017. We're super excited for starting this program and SoundCloud, our hosting company, is very welcoming . We'll keep you posted on twitter: @ruby_bears . Check out diaspora*, too (https://diasporafoundation.org/)!
Will be added by RGSoC Organizers
September 30, 2017
Team Code Bears (diaspora*)  — at September 30, 2017 13:24 UTC
Today we finished working on the PR comments. All the tests passed!!! And
we pushed our last peace of code for the summer.
We also presented the project at SoundCloud demos and had a sad farewell
from all the nice people there.
Thanks for this amazing summer!!!
September 28, 2017
Team Code Bears (diaspora*)  — at September 28, 2017 21:00 UTC
We fixed today the comments on the PR. Still got one more: https://github.com/diaspora/diaspora/pull/7624/files/82b51fe2be2e831a65901525d46b479326fb5e7b#diff-e05cbf49e32c6e7bf561b6624025f416
September 26, 2017
Team Code Bears (diaspora*)  — at September 26, 2017 15:44 UTC
We and our last retro today and it was very nice. lots of good points raised and some improvement suggestions for next SoC. We kept recapping what we have learned this summer and talked with diaspora ppl to understand where our PR stands.
September 22, 2017
September 20, 2017
Team Code Bears (diaspora*)  — at September 20, 2017 14:14 UTC
Today we worked mainly on fixing the comments that we received on the questions that we asked yesterday on the issue page on github. Some minor fixes we were able to solve quickly. Then it took us some time to find a db query to retrieve the month and the day of a birthday that works both with mysql and postgres. Finally we managed to solve this using the extract method.
After that we ran the rspec and realized that some tests were failing that seem to be somehow related to our changes. We are still in the process of figuring out what the exact relation is an how we can solve it.
September 19, 2017
Team Code Bears (diaspora*)  — at September 19, 2017 16:44 UTC
Today we finished our tasks on the issue. We checked in the rails consul and server that the birthday notification works. We created a notification and saw that it calls the right methods in order to send a notification and an email. Then, at the email notifications preferences, we switched off the check box for the birthday notification and saw that a notification is sent but an email isn't. We also checked that this functionality is tested in the code. Then we asked on the issue page some questions we had and we are waiting for answers. Tomorrow we want to run all the tests . Other than working on the issue, we started to work in the end presentation for the Rails Girls Berlin end event.
September 18, 2017
Team Code Bears (diaspora*)  — at September 18, 2017 15:37 UTC
Today we made some amazing progress on our issue. After struggling a lot with the different methods in workers, mailers and so on, we figured out why our test was not passing. We actually solved a list of 6 steps that we had written to ourselves last week (and we thought it would take us at least 3 days to finish :) ):
- draw a birthday notification life cycle
- figure out where to add an argument in the send_notification method
- finish the specs
- add the view template for the email
- add possibility to choose if user wants to receive an email notification
- add a date to the text in the translation file (including a new method to call the date)
September 16, 2017
Team Code Bears (diaspora*)  — at September 16, 2017 11:52 UTC
We started the day just where we left yesterday: tracking the path of one Bday notification. Apparently 9 files are involved in this on the server side. We still did not find our missing/wrong code, but some questions came up. Next thing to do would be to compare the Bday notification path to another notification path and see if there is a difference.
Other than working on diaspora we fixed comment on our blog-post.
September 14, 2017
Team Code Bears (diaspora*)  — at September 14, 2017 20:38 UTC
Today we decided to leave the worker tests behind for now and started working on the mailers. We successfully did a TDD cycle for the first part of this. Then we got a bit stuck on understanding one method, because the test keep telling us that needed to give one more argument. So we followed the path of the mailer, and found one method that needs one more argument. Now we need to find out how to pass this argument, since we are not calling the method directly. But it seems that we did some progress on the issue today. We also made a plan on all the steps that are missing to solve the issue.
September 13, 2017
Team Code Bears (diaspora*)  — at September 13, 2017 20:15 UTC
Today we tried to understand in detail what the destroy method on a contact does. Our data model is sometimes quite confusing, since there are Users, and each user has a profile and a person. The person is the user viewed from the outside. So we had some confusion about what is a contact and what receiving and sharing means for each contact. We figured it out in the end more or less, but we will contact the community to make sure that we got it right. Next step then is the mailers.
Team Code Bears (diaspora*)  — at September 13, 2017 08:05 UTC
We finished writing the worker tests. We had to set a test where the user don't have a contact, and spent quite some time realizing how to do that. But, we managed to understand the test helper and how to use it best in order to set up the tests. We still need to make sure we are using the right method in the worker, but other than that this part is done and we can move on to the mailer.
September 11, 2017
September 08, 2017
Team Code Bears (diaspora*)  — at September 8, 2017 17:33 UTC
Today we finished writing the worker and started writing the tests for it.
We have some more tests to write and struggling with setting up the contact object for the test. The last test fails because of that.
After that we plan to refactor the tests file.
Important concepts we learned this week: Mocks, Stubs, Sidekiq, Timecop (freeze), pgadmin
Repeated: ActiveRecords queries(where), Rspec contexts
September 07, 2017
Team Code Bears (diaspora*)  — at September 7, 2017 15:50 UTC
We started working on the worker and it's tests
First we defined the expected behaviors from our worker.
Then we started writing the
performmethod at the worker.
At the coaching session we made the query to the database more efficient that it was.
We still have an error - we are probably calling the notify method in a wrong way so we need to figure that out before we continue to specify the tests.
Good documentation for our current issue sidekiq wiki and a related rails cast video.
We were also handling some problems running the app on one of the computers. After a-lot of stuck overflow trail and error, we simply reset this computer to the first commit, pulled again and it worked
September 06, 2017
Team Code Bears (diaspora*)  — at September 6, 2017 14:14 UTC
Today we went deeper into some new rspec concepts. The notifications specs are written a with new syntax we did not met in the specs we worked on so far. We had a great white board session with our coach about mocks in rspec. This documentation was helpful.
Afterwards we played with the spec we wrote in
contacts_birthday_spec.rbin order to practice what we learned. We made the test fail some times and then made it green again.
Now we feel much more ready to write tests for the rest of our feature.
September 05, 2017
Team Code Bears (diaspora*)  — at September 5, 2017 15:36 UTC
Today we wrote the test for the notification we created yesterday. It was challenging because the rspec syntax was a bit different that we are use to. Through working on the tests we realized that some things in our actual implementation were wrong and we fixed them. Now we have a notification and an rspec for it. Next steps are (while keeping tdd in mind):
1. Create a test for a worker and a worker.
2. Create a test for a mailer and a mailer.
3. Enable the user to turn off birthday notifications emails.
September 04, 2017
Team Code Bears (diaspora*)  — at September 4, 2017 15:14 UTC
Neta is back, yay! So nice to be working as a team again :)
Today we solved the first step in our plan for the current issue: created a new notification type in
app/models/notificationsand made it work through the console.
For tomorrow we will write the tests for this new notification type and then create a worker that calls the notify method with the users contacts as recipients when a user has their birthday.
September 01, 2017
Team Code Bears (diaspora*)  — at September 1, 2017 09:58 UTC
Yesterday I worked mainly on understanding how the exisiting notifications work. I played with the Rails console to create different kinds of notifications. For this step the files that are most relevant are:
app/services/notification_service.rb--> there the type.notify method is used, which is why it is important to have a self.notify method in the class of each notification type in this directory:
app/models/notification.rb--> here the recipient, actor and target are passed which is relevant to us when creating the new notification type
With one of the coaches I discussed the need of separating different parts of the software in software design. Still need to read more about this, as I´m not sure if I understood everything he said :)
August 30, 2017
Team Code Bears (diaspora*)  — at August 30, 2017 20:11 UTC
Besides continuing with the first steps to solve the next issue, I learned mainly about security and encryption today. Had a nice long session with a coach about this and she pointed me to this amazing website, which I can highly recommend: https://securityinabox.org
Also I had to fix some small things on my laptop which I´ve had issues with since I had to reinstall my linux some weeks back.
August 29, 2017
Team Code Bears (diaspora*)  — at August 29, 2017 19:00 UTC
After two coaching sessions today, this is the plan how to approach the issue from now on:
1) understand how the existing notifications work (important files and directories:
2) create new notification type which shows the birthday of a user to their contacts (here still without workers, just displaying the birthday in the Notifications)
3) get all of this working in the console
4) create worker that iterates over all profiles on a pod, checks if today is the birthday and then for each contact of the user calls the method in the newly created birthday notification type (see step 2) (important files and directories:
5) create NotificationMailer according to the other Notification types (important files and directories:
From step 4 onwards it would be nice to use TDD as the steps are quite clear. For steps 1-3 it´s better to try stuff and play around until it works.
August 28, 2017
Team Code Bears (diaspora*)  — at August 28, 2017 14:44 UTC
Neta is off this week, so I, Rete, started to read more into topics that are necessary for our next issue. These include:
Also continued looking at the -possibly- relevant sections of our code and started thinking about how to approach this issue keeping TDD in mind...
August 25, 2017
Team Code Bears (diaspora*)  — at August 25, 2017 15:47 UTC
Today again we needed to look at some more comments we got from the reviewers. We really really hope that our corrections are ok now. We had a session with one of our coaches on questions we had about the requested changes and that was very helpful. Then we started discussing our next issue and how to approach it. Realized that we need to learn about workers and sidekiq next week. Finally we had a look at the relevant code before going into the weekend.
August 24, 2017
Team Code Bears (diaspora*)  — at August 24, 2017 14:37 UTC
Today our front-end code got approved from the reviewers but we got some more comments on the back-end code of our PR. We had to remove one method to make the code shorter which also involved some more changes in other parts of the code, particularly the tests. We also wrote one more test that we were asked to write. In the end it took us some time to make all the tests green. Now we´re hoping that there are no more changes on that side. Lets see...
Regarding our next issue, we are thinking of this one. We decided to work on the same issue rather than picking two separate ones as we had thought before.
August 23, 2017
August 22, 2017
Team Code Bears (diaspora*)  — at August 22, 2017 18:07 UTC
This morning we finished working on the avatar issue we started yesterday - you can take a look at the result here.
We also wrote a test for it and ran the required tests before pushing the code. Now we are waiting for another review on our code from the diaspora community. Here you can find the PR
Then we started choosing our next issue. We looked at a lot of issues and narrowed down the options to a short-list at our coaching session. We still need to discuss it. The main considerations now are:
* pick an issue we could end till the end of the summer
* pick an issue/issues where we can try working separately after working closely (and successfully) so far
August 21, 2017
Team Code Bears (diaspora*)  — at August 21, 2017 15:04 UTC
After opening the PR [https://github.com/diaspora/diaspora/pull/7550] last Thursday, we got some feedback on small things to fix. We did this in the morning. Then we decided to have a look at one more small feature regarding this issue, which was to add the user´s avatar next to the option they voted for. It took us the rest of the day, so in the end we were only left with finding the right part of the css to change the layout. We will do this first thing in the morning tomorrow. Then hopefully move on to the next issue :)
August 17, 2017
Team Code Bears (diaspora*)  — at August 17, 2017 18:03 UTC
We started the day with another nice retrospect.
The rest of the day we spent mainly on getting our code ready for the pull request.
We cleaned the code after cleaning the code according to the checks results , we fetched changes from the project's remote, committed our changes and rebased our branch, alongside we fixed some conflicts and squashed irrelevant commits- following our git work-flow before a PR.
But! after we fetched the changes from the project's remote we started having problems.
We had to install gems that were missing, and lots of tests failed now... we fixed the tests we knew how to fix, but most of the failures were related to migrations. With the help of our coach we realized it's probably it is related to problems on our local machines and we ran g
rake db:migrate. It didn't work so we couldn't figure it out completely just yet. That will have to wait for next week.
On the other hand, we decided that we can still open the PR and work on all the fixes together, so we did :).
August 16, 2017
Team Code Bears (diaspora*)  — at August 16, 2017 17:12 UTC
Today we made some big progress on our issue and we will open a PR tomorrow. We had some correspondence with the diaspora community on the Jasmine tests, which was very helpful. We read about the syntax and then we were able to write the front-end tests on the users vote. Then we ran the pronto checks and got some warnings, which we will take care of tomorrow.
August 15, 2017
Team Code Bears (diaspora*)  — at August 15, 2017 15:34 UTC
Today we did come recap on CSS and got an introduction to SCSS from one of our coaches. This was very helpful to understand the CSS in our code. We then went over to editing the css in our code so the progress bar would change color instead of the text. The only thing left on this end, is to remove one line of code regarding different color themes that the user can choose in their profile.
August 14, 2017
Team Code Bears (diaspora*)  — at August 14, 2017 15:32 UTC
We focused on writing rspecs for our ruby code for this issue. We had to refresh our memory a bit but at the end we wrote two tests:
post_presenter_spec.rb:90. The most complicated thing was to create all the relevant variables for the tests. The coaching session was very helpful for that.
We also learned a-lot about how to use a debugger in order figure out what is not working. We also learned what possible problems that could rise from using the
idattribute and how to avoid using it as much as possible.
Even though it was a bit slow, at the end of the day we have two good tests on the beck-end side. The challenge for this week would be to write front-end tests, which we never did before.
August 11, 2017
Team Code Bears (diaspora*)  — at August 11, 2017 16:07 UTC
Today we had a huge progress with the issue!
First of all, we were able to implement a better way to show the user's vote in the client side. We got a lot of help from one of SoundCloud developers. After he suggested and explained his solution, we implemented it, fixed some bugs and refactored the code.
Then we turned to the question HOW to present the user's vote. For that we continued the discussion on the issue on git-hub, which is still going on.
We also started to touch testing for this issue.
Our coaching session today was dedicated to git, once again, continuing our git mastering training. You can check the level of craziness we got to (hope it's clear enough) here.
A very productive day!
August 10, 2017
Team Code Bears (diaspora*)  — at August 10, 2017 16:15 UTC
We continued our struggle with the issue, here is the summery of our it:
We’re not sure what is the best way to display the answer the user voted for in the template. We get all the data in the Poll JS model, but we don’t really know what would be the best way to go from there to displaying it in the template.
Other then struggling we:
* Kept watching the front end related tutorials ans digging in the code with our coaches. We are still at the same point but we understand a bit better what is going on.
* Kept refactoring the back-end methods and now they look really nice.
* Had a very nice meeting with another team that worked on diaspora over SoC 3 years ago. We got some good tips and a lot of encouragement. It was very necessary after this long week of struggling :)
August 09, 2017
Team Code Bears (diaspora*)  — at August 9, 2017 16:09 UTC
We spent the day in two main tasks:
2. Getting human help on the front end side of our issue:
* we had a remote coaching session which helped us understand a bit more the
* we turned for help to the SoundCloud developers channel to check if there is someone that actually knows Backbone and Handlebars, and set a coaching session specific to this topic on Friday.
August 08, 2017
Team Code Bears (diaspora*)  — at August 8, 2017 18:32 UTC
Today we mainly continued working on our database query, created a JOIN and made it work. Then we realized it needs more refactoring, so we did that as well.
We also checked with the diaspora community about the way our users vote should be displayed in the browser. From the feedback we got, it looks like we need to dive deeper into Handlebars and Backbone and also we might not need the JOIN after all. We also started looking at the Handlebars templates which we will continue tomorrow.
August 07, 2017
Team Code Bears (diaspora*)  — at August 7, 2017 15:03 UTC
In the afternoon we started looking at our solution from Friday especially with respect to the database query. We got the hint that we should make one query instead of two, so we would have to do a JOIN. So we first looked at the psql console to learn about JOINS and then went to the Rails console to see how JOINS work in Rails. Tomorrow we will go back to our code and see how we can change the query using a JOIN.
August 04, 2017
Team Code Bears (diaspora*)  — at August 4, 2017 15:59 UTC
Today we looked mainly at the topic of Presenters, which was the main topic that was missing for us to get a step further in our issue. And it did!! First we looked at some tutorials but we realized quickly that we need a coaching session on this. So we had a really helpful session and at the end of the day we were able to show the option a user voted for in a poll in the browser.
This is what we did:
* Added a method in the
models/poll.rbfile which includes the call to the database
* Added a method in the
app/presenters/post_presenter.rbfile, passing the current user to the method in the model.
* Added this method in the
non_directly_retrieved_attributesmethod of the
app/presenters/post_presenter.rbfile which is then passed to the
* Called the relevant attribute of the json from the
app/assets/templates/poll_tpl.jst.hbsincluding an if-statement which refers to a variable in the
* Added some lines to the
What a successful end of a very confusing week :)
August 03, 2017
Team Code Bears (diaspora*)  — at August 3, 2017 15:07 UTC
We started our day with a second retrospective - very good one :)
We then did more of what we have been doing in the past week:
* Search the code and play with it either in the console or in the localhost
* In the coaching session: getting one step forward to understanding the files structure of the project in order to figure out where we need to add some code
Tasks for tomorrow:
* Practice git
August 02, 2017
Team Code Bears (diaspora*)  — at August 2, 2017 19:00 UTC
Today was mainly about getting confused :) So here is a small recap of our process so far:
Our objective in this issue is to display the user's vote on a poll.
We spent time learning about databases and creating test data in the local database in order to experiment.
We then thought we would need to create a
showaction in the
But! as we discovered today, the
poll_participation_controllerprobably is not related to solving this issue after all, because the view files are calling to poll-related methods from the model files. This is where our confusion started. Moreover, diaspora views don't use the standard HTML with erb, but HAML, Backbone.js and Handlebars.js, which we don't know at all.
We spent the coaching sessions today to research the diaspora code and trying to figure out where we need to add code. Our main suspects are:
on the back-end side -
poll_presenter.rband on the front-end side -
Our tasks for tomorrow would be to keep researching the code and re-focus our learning efforts.
Team Code Bears (diaspora*)  — at August 2, 2017 08:34 UTC
We started the day with two major tasks:
Configuring the broken computer so we could bring it back to the project. It worked! Finally we can both can have a computer each :)
Creating more poll data on our local DB and practicing what we learned the day before. We made a list of the steps in order to create a poll in the DB.
After creating this data we need to add some code to the
poll_participation_controller. In order to learn how to do that we watched the part on the
showactions in our tutorial.
Then we looked at the diaspora code, in the controller and the views. As always so far on diaspora things are not so straight forward and we need to do more digging and learning before we can write some actual code.
In addition we had another git session with our git expert coach.
July 31, 2017
Team Code Bears (diaspora*)  — at July 31, 2017 16:05 UTC
Today we first spent some hours watching the very helpful Lynda tutorial on ActiveRecords and ActiveRelation. Then we went back to our second issue and created a Poll, a Status Message and Answers in the Rails Console. It helped a lot understanding better the code and database structure of the project.
Tomorrow we will:
- create more users and polls
- play with the data
- solve some more git issues
- look at the
July 28, 2017
Team Code Bears (diaspora*)  — at July 28, 2017 15:30 UTC
Today was mainly about practicing what we have learned the past week and then learning some more:
1. Git: practiced git commands with one remote on a mock repo we opened in our organization - merge, rebase, fetch, pull, push and friends. Next step would be to practice with two remotes, like the flow we have on diaspora.
2. Rails console: after learning some commands the day before, it was time for some independent practice with diaspora's code. Of-course we encountered some problems with validations, which made us dig into diaspora's code and understand it better :).
3. Ruby on Rails on-line course: this course is very helpful so far. In the past week we were watching parts of the chapters about db, migrations, models, ActiveRecordsand ActiveRelation and associations. We still have a way to go but this course is a good start.
4. HAML: started looking into HAML which is how the views on diaspora are written. Probably we need to add some code to the poll views, so we need to understand them first ;).
We hope next week to crate enough fake polls data in order to test the behavior of the polls on diaspora and then finally get to solving the issue itself.
At the end of the day - joined some ping pong at the SoundCloud cafe :)
July 27, 2017
Team Code Bears (diaspora*)  — at July 27, 2017 14:42 UTC
Today we spent quite some time getting the blog post uploaded as we had some problems with Jekyll Versions. In parallel we worked on bringing one of our laptops back to life, which was more or less successful as this is being written on the laptop concerned. Even all git configurations are still there. Just some problems with rights which will be solved hopefully soon.
Then we had a session about databases, created a fake poll via Rails Console and practiced some git exercises from Tuesday's coaching session.
July 26, 2017
Team Code Bears (diaspora*)  — at July 26, 2017 16:02 UTC
The stuff we did today:
1. Issue #4888: The issue regards showing the user's vote on the poll area. In order to figure out where exactly code is missing we looked at the db, the model, controllers and the views
So far it seems like this issue is more about missing code in the views than about db and logics- but we still have some more figure outing to do before we really know what code is missing and where.
2. Had another general introduction to ActiveRecords terms:
has_manyin order to understand better the tables structure of diaspora.
3. Read this guide to diaspora's models structure which helped us to understand a bit more about the app.
4. Broken computer: there is a new drive!!! just need to check that the back-up actually has all the configurations.
5. We finished writing the blog post! Just need to push it to github :slightlysmilingface:.
Plan for tomorrow:
1. Keep making fake data to test with diaspora's poll features.
2. have a third git session with our git expert coach.
3. push blog post to github.
4. If there is time left - keep learning about db.
July 25, 2017
Team Code Bears (diaspora*)  — at July 25, 2017 15:21 UTC
We got our first PR merged!!!! :) What a nice message in the morning after so many fixing cycles...
Then we continued learning about databases and ActiveRecord. Also we continued writing our first blog post.
In the afternoon we had our next session about git which was very helpful again and we think we are on our way to understand better why we are having so much trouble with it.
Tomorrow we will start looking at the sub-issue that we picked from our next issue, which will deal with databases and ActiveRecord.
Also one of us will buy a new hard drive today and hope to bring her computer back to life tonight...
July 24, 2017
Team Code Bears (diaspora*)  — at July 24, 2017 16:28 UTC
We spent half a day with finalizing the fixes for the 6559 issue PR and pushed it after re-basing and squashing. We hope that those are the final touches and that we will have a merge soon :)
We started last week to look at this issue. It involves a list of issues regarding poll features. We read the issue and the entire discussion alongside testing polls creation on our own diaspora profiles, and came up with a list of 9(!) improvements. In our coaching session last week we divided the list to two categories: Visual issues and Missing behaviors: At today's coaching session we decided to pick up the issue regarding - marking the option the user voted for and start from there. We had an intro coaching session on ActivRecords and continued researching the topic ourselves with the sources we found last week. You can find a more detailed description of that here
Also we had to work only with one computer because the other is still down. We spent some time trying to figure that out as-well...
July 21, 2017
Team Code Bears (diaspora*)  — at July 21, 2017 19:04 UTC
Today we worked on further comments on our PR, got git messed up again and managed to solve that finally. The build returned green!!! we hope to see a merge in the beginning of next week :)
Because the we couldn't figure out the git flow yet, we dedicated our coaching session to git basic. We spent 2 very useful hours on this topic and gonna pick it up from the same point next week. As diaspora flow refers only to one person working on a specific branch, we need to figure out how the flow would be with 2 people working on the same branch.
Other then that, one of our laptop died and didn't seem to wanna become alive again. Task for the weekend: fixing the laptop with hopefully no data loss...
July 20, 2017
Team Code Bears (diaspora*)  — at July 20, 2017 14:53 UTC
Today started with a very productive retrospective. We are really happy about the outcome and we feel like we are on the right track :) Thanks to all our coaches for all the support in the past weeks!
Then we had a coaching session about Continuous Integration. We learned about the concept in general and ran the checks (pronto) that we actually should have run before our first PR :)
After that we went back to the comments we got on our PR, ran pronto again and fixed the small things that it was warning us about.
We made the decision on having the pod_name instead of "Diaspora*" in the header as it was suggested in our PR.
Then we ran all the tests and checks (rspec, jasmine, cucumber, pronto) and got all of them green except for cucumber. As the failures were not on parts of the code that we touched in our work, we decided to commit and push. We will ask on the PR about the failing cucumber test.
In this process we also learned a lot about discussing with the community and running tests and checks before opening a PR.
Now we're waiting for more feedback from the project.
July 19, 2017
Team Code Bears (diaspora*)  — at July 19, 2017 20:26 UTC
Today we mostly dealt with fixing the comments on our PR.
We did a list of all the corrections needed to be fixed or discussed.
On our way to fix the code, we had some problems with git (couldn't pull the code to one computer) and with ruby versions discrepancies. We got a lot of help from our coach working on this. Afterwords we jumped right into fixing and refactoring the code, making the relevant test fail and then making it green, very satisfying very satisfying. We corrected almost everything, the rest we will do tomorrow. You can see the entire comments and discussions here.
In between we had a session with SC IT team in order to get external company emails and organized our 1st retrospective meeting :).
July 18, 2017
Team Code Bears (diaspora*)  — at July 18, 2017 15:21 UTC
First thing we did this morning was to look at the comments our pull request got. Even though it was exciting to already have some comments, we realized we need a small break from handling this issue. Therefor we decided to give it another day, maybe get even more comments and fix things tomorrow.
at this point we started to work on our second issue . It involves a list of issues regarding poll features in diaspora. We read the issue and the entire discussion alongside testing polls creation on our own diaspora profiles, and came up with a list of 9(!) improvements. In our coaching session we divided the list to two categories:
1. Visual issues (like radio buttons alignment or delete icons alignment and so on).
2. Missing behaviors (like enable to shut down poll/time limit voting, mark the option the user voted for, enable re-sharing poll ans so on).
We don't know if we actually will tackle all those issues, we still need to choose some and prioritize.
In any case, after a quick look at the code we have realized we need to learn about Active Records and ORM, so we are looking at some videos and tutorials.
July 17, 2017
Team Code Bears (diaspora*)  — at July 17, 2017 17:47 UTC
Today we did our first pull request. YAY!! After fixing the code and the according tests, it took us more time than we thought to do the actual pull request because of some issues with git while preparing for the pull request. Also phrasing what we did and why we opted for one solution rather than another took quite some time. Anyway towards the end of the day we did the pull request and now we are waiting for replies. Excited and nervous...
July 14, 2017
Team Code Bears (diaspora*)  — at July 14, 2017 15:32 UTC
This week we had an amazing learning process, that helped us to make a step by step progress with our issue. The building blocks we established with each coach (either about rspec, git or ruby on rails) merged together into a more or less integrative understanding of what we need in order to solve the issues, and all that is very exciting!
On a practical note:
1. We met with Cristophe, a diaspora's pod admin and contributer. He explained us a bit about the project, the code and the community- all very helpful information. Nonetheless, he invited us to come meet him every other Friday, so we actually got a coach who is super familiar with diaspora's code, which is amazing!
2. We changed the
default_headersmethod in the base.rb file and fixed the corresponding test in the notifier_spec.rb. You can see the changes here.
3. At the moment we chose the following solution: when a sender has a name, the FROM header will show "Diaspora (name)", when a sender doesn't have a name the FROM header will show "Diaspora". However, we haven't decided whether it should be the final solution. We need to consider the fact, that if we add text it should be translatable. We made this flowchart to make the process more clear (the questions in green are still not decided). You can see the flowchart here.
4. Regarding the case where there is no sender present, we got an answer saying that there is another email type with no sender, so we need to write a test for this case as well.
On Monday we are planning to:
1. open a pull request against upstream/develop with our current solution and ask there about our "yes text"\"no text" deliberation.
2. Write the extra test for the "no sender" case.
3. Make sure the spec we wrote today is the right place of the spec file and if not, move it to a better place.
Second week was a blast!! thanks to all of our team members :)
July 13, 2017
Team Code Bears (diaspora*)  — at July 13, 2017 18:15 UTC
Today we made some progress regarding our testing skills and we discussed out first issue on github with the community and openend a pull request. Our first issue is on mailing headers for mails going from diaspora* to users. After structuring the content of our first issue yesterday, we had different cases we are looking at:
1. no sender present
2. sender present
2.1. Firstname AND/OR Lastname present
2.2. no Firstname OR Lastname present
- We added some missing tests for case 1.
- For 2.1. we already wrote tests and changed the code in the last days
- For 2.2. we needed to get more into the code, which we started yesterday and continued with today. We wrote a test for this case and found the places where we need to change something in the code.
So the next step is to actually write the code for case 2.2.
You can find a more detailed description of our progress here
July 12, 2017
Team Code Bears (diaspora*)  — at July 12, 2017 15:04 UTC
Today we did some progress both with rspec learning and issue solving.
Regarding the issue we posted a question on the issue page and got some answers. We also posted it in the IRC channel but realized there is no point posting at both channels. That means that we learned smth today regarding communication in the diaspora project.
Regarding testing, we made some progress with the rspec tutorial (after we solved some versions issues and rational paths issues that interrupted running the tests in the first place). We were able to write example rspecs and they passed!! all the hard work of learning TDD payed off!
Our next goals: figure out if the answers we got on our questions are sufficient and write tests for the piece of code we changed
July 11, 2017
Team Code Bears (diaspora*)  — at July 11, 2017 15:41 UTC
Today we made some major progress in solving our first issue and getting into the github workflow. In particular, we
- read up on the ruby gem "configurate" as this gem relevant to our first issue
- went over the git workflow again, to make sure we understand it and that we can start working on our first issue properly
- decided to have one fork of the project on our organization repo on github, instead of having each one her own fork. So we forked the diaspora repository to our team github organisation (https://github.com/codebearsteam/diaspora) and set it as a remote origin.
- opened a branch for our first issue: https://github.com/codebearsteam/diaspora/tree/6559-ergonomy-suggestion
- pushed our preliminary solution to this feature branch
- spoke with our mentor about our ideas and questions on the solution and got some very useful hints from her
- We also updated our log for the coaches, which mainly helped to collect and organize all the materials we collected so far for learning: https://github.com/codebearsteam/daily-log/blob/master/20170711_week1_update.md.
For tomorrow we plan
- to open a pull request and ask our open questions on the issue in the community (on github or irc channel)
- continue working on the
- write some more tests related to the issue
- solve some small testing excercises on rspec and learn rspec syntax
July 10, 2017
Team Code Bears (diaspora*)  — at July 10, 2017 15:41 UTC
Today we worked on two main subjects:
1. Reading the Rails's Action Mailer guide
2. rspec - more and more and more testing
Both subjects helped us to come one step closer to solving the issue.
After a session with our coach we tried to play a bit with the spec file and the actual code and saw that it actually works!!! Very exciting moment.
Now, in order to solve our issue we need to:
1. Build a test for case in the issue
2. Change the code file - fixing the issue
3. Change all the related tests.
July 07, 2017
Team Code Bears (diaspora*)  — at July 7, 2017 16:49 UTC
After quite upsetting news that SoundCloud will lay off 173 staff members (https://blog.soundcloud.com/2017/07/06/note-alex-ljung/) you can imagine that the working atmosphere was not the best yesterday. We were told that it would be better to work from home today, which we did. So we continued working on some topics that we have been working on with our coaches in the past days.
- continued working on some testing and refactoring exercises given by two of our coaches in the past days
- watched and discussed video tutorials on testing and rspec
- went over written tutorials on rspec
- read more about the Action Mailer in Rails
We wish this first week, which has been very exciting, hadn't ended with those bad news and we're wondering how this will affect our working experience. In this first week we have already learned so much and we are very grateful for having such wonderful coaches who are super good at explaining and give us really good little exercises so we learn the general concepts step by step. THANKS to our WHOLE team for giving us a great start into the summer!
July 06, 2017
Team Code Bears (diaspora*)  — at July 6, 2017 19:43 UTC
Today we learned more about testing and it's so much fun!
This is what we did:
- learned more about the general concept of testing and TDD
- learned more about rspec and pry
- started writing simple tests
- started to look at the rspec tests in diaspora, especially with a focus on the first issue we will work on
- (probably) found the part of the diaspora code that we will have to work on in our first issue (lets see if that's true :) )
- had a good call with our supervisor (Thanks, Fanny!)
July 05, 2017
Team Code Bears (diaspora*)  — at July 5, 2017 14:54 UTC
Today we were supposed to have another on-boarding session at SoundCloud but unfortunately we missed it due to some sudden room and time changes :(
So after a short meeting with one of our coaches in the morning we started reading up on
- the diaspora* git workflow
- testing and test driven development (TDD)
In the afternoon we had another session with our coach on those two topics. Especially the part on testing & TDD was super helpful. I (Rete) am super excited to learn more about testing and TDD in the upcoming days and weeks.
We also had a short look at our first issue (https://github.com/diaspora/diaspora/issues/6559), which we will start to tackle from next week onwards and did logistics (setting meeting time with supervisor and former RGSoC students working on diaspora*)
Tonight we will have another coaching session on the diaspora* git workflow.
July 04, 2017
Team Code Bears (diaspora*)  — at July 4, 2017 15:57 UTC
Today we had some more interesting SoundCloud on-boarding sessions:
- A security in engineering: we learned some on unsecured code and how to prevent security issues during the development process.
- Copyrights and data security: we learned on the issues SoundCloud is dealing with regarding sound recording copyrights and about personal data distributions laws in Germany.
In between we became closer to finish our settings and self-organisation:
- Finished setting a slack team, a GitGist and team viewer, and signed-up for the diaspora* IRC channel. We sent all this info to our entire team, so from now on- all of us can be connected!
- Sent calendar invitations for coaching slots and the first retrospective meeting.
- contacted a possible workshop facilitator about diaspora*.
Team Code Bears (diaspora*)  — at July 4, 2017 10:03 UTC
We spent most of the day on an on-boarding sessions with other new SoundClouders and another RGSoC team. During those sessions we covered:
- An office tour
- SoundCloud history and vision
- Security at SoundCloud
- Getting laptops and setting them up.
We also had some time discuss our self organisation and summarise the kick-off meeting we had with all the coaches the week before:
- Started to set up communication tools: a team slack channel and a gitgist page for coaches' updating, and finalising the weekly coaching schedule.
- We discussed the writing of the daily logs and blog-posts, our daily routine and pair programming (we have also decided to do pair programming during the work on the first issue).
Finished the day exhausted and happy!