Displaying activities 1 - 25 of 71 in total
October 01, 2017
September 28, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 28, 2017 15:49 UTC
First, we met with Dave and discussed with him the changes we made to our code: 1. new test in model tests and working model 2. deleting Dave’s suggestions from previous day. Second point was not a good idea :) We worked on API test for giving multiple feedback and came up with a simple code that validates that our feedback was given only once and if not then gives an appropriate message.
This bit of code is working now!
Marie tested SoundCloud Deployment documentation for Justine and so learnt how it is with deployment in SoundCloud as pre-boarding session.
Then, we spent some time practicing our Demo talk with Daniel and corrected the mistakes. Daniel showed Marie how Java, Clojure, Scala, TypeScript work in opposite to Python. And Ines worked on our last task to limit giving feedback within 30 days since Pickup. Daniel helped us later how to remove some unnecessary code and put our code to the right place. Our test for time range 30 days is now not failing but another invitation test gives us AssertionError that is not related to Feedback. We will try to fix it tomorrow on our last day :)
September 27, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 27, 2017 15:54 UTC
We started the day with validation. With some help from Dave we made sure that a user is allowed to give feedback only once per pickup in the serializer. Afterwards we also found a solution to validate that in the model (with unique_together validator). For both variants changes in the test setup and tests itself were necessary, because we created several feedback objects there which didn’t pass the new validation. So we refactored our tests. Afterwards we started to work on the last necessary validation: checking if the pickup the user wants to give feedback about isn’t older than 30 days.
In the Afternoon we worked on our Slides and the scipt for the SoundCloud Demo on Friday.
Team NK42 (Foodsaving and Foodsharing)  — at September 27, 2017 08:41 UTC
Tuesday’s Daily Log:
- we continued to work on our talk for the SoundCloud demo on Friday (it is almost finished, we just have to practice the talk)
- in the second half of the day we concentrated on the workshop preparation that we organise next week, created the list of topics we will cover on Friday, Saturday with Python students, divided tasks and sent out the first email to our coaches
September 25, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 25, 2017 15:53 UTC
Today we started with adding information about testing to our Beginners guide. Now we covered all topics we planned to, so we asked @tilmann and @nick for feedback.
Afterwards we wrote a new test that checks if a single user can give more than one feedback per pickup. We started to implement corresponding functionality but we couldn’t finish it till 3pm. The last hours we prepared our talk for the SoundCloud demo on Friday.
Team NK42 (Foodsaving and Foodsharing)  — at September 25, 2017 10:00 UTC
Daily log for friday (bit delayed)
In the morning we fixed the tests for filtering feedback and pushed it. It get’s merged into master! \o/
In the afternoon we prepared the talk we gave Friday evening. We talked about foodsaving.world, the Feedback issue, what we have learned and what we struggled with, our successes and about all the great people helping us on that path. We also prepared a little quiz about django REST, what was quite fun.
September 21, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 21, 2017 21:38 UTC
Today we tried to write the test for filtering of a store. It did not work so well but we went step by step and figured out some logic behind our test.... then we worked on our funny slides about what we have done during our rails girls Summer of Code. It was fun and we are going to practice it tomorrow and then present that at Mozilla between 6 and 9 pm at Mozilla office. You are all invited to come over and be entertained tomorrow!!!! :)
September 20, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 20, 2017 16:55 UTC
We did filtering today and wrote 2 tests that check if about and given_by filters work correctly. Both tests are passing :) With Derek, we have learnt about how things are displayed in browser with Flask. Marie had 2 job interviews with SoundCloud people. Marie also worked on making the Friday presentation more entertaining and funny.
September 19, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 19, 2017 15:58 UTC
We started the day with adding a new permission that checks if the user who wanna change a feedback entry is the same user who gave that feedback. We already wrote a test for it and today we were able to finish this task. Afterwards we pushed our changes to master and Tilmann merged it! \o/
Afterwards we learned about filters with Derek and started to experiment with the filtering in api.py. In the afternoon we worked on our presentation for Friday.
September 18, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 18, 2017 16:21 UTC
Marie spent the day learning a lot about Python, Django while working on a code challenge. Meanwhile Ines made a first draft of the slides we will need this Friday at the RailsGirls presentation.
She also worked on the foodsaving beginners guide, especially on the chapter 'Stores app in detail' and the new chapter 'tests'. Furthermore, she wrote a short introduction to give some context and learned some things about Markdown – especially: it's not so easy to generate a table of content automatically!
September 15, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 15, 2017 15:57 UTC
Ok – one of the tests, we wrote yesterday didn't work. I mean it didn't fail, but it also didn't check what it should check. So we figured out how to make sure that testpatchfeedbackworksas_collector really checks if the stored feedback changed.
We also started to work on our new creative test that should test that our collector does not give a feedback for another person and does not pretend to be a collector he is not :slightlysmilingface: Our test is called:
test_patch_feedback_fails_as_evil_collector. We discussed this with Tilmann and it sounds logical to have such test for
PATCH. The only thing is that our test causes now anohter 20 errors :slightlysmilingface: We started to write a permission for this reason…
Then, we practiced some simple algorithms on whiteboard to try to explain each other what is what doing and how we would look for solution with minimum Google searching. We tried 2 algorithms in total. Then, we listened to demos that SoundCloud employees presented in the cafe.
September 14, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 14, 2017 16:30 UTC
Dave showed us how to fix our unit tests checking min and max value of weight in testmodels.py - we were missing `model.cleanfields()` while raising ValidationError.
With Derek, we practiced whiteboard dictionaries coding. In fact, it is quite hard to stand in front of people and not be able to google/copy syntax and come up with own ideas on spot. We learnt about dictionary iterations, dictionary comprehensions and sets.
Later, we were a little bit working on project. We wrote another test that displays an error message when the user inserts negative or too high number into field
weight. This test was not needed we found out 2 hours later :slightlysmilingface: Because the
ValidationErrorhas the message for
MinValueValidatoralready included in itself :slightlysmilingface: Then we created a new http method PATCH in Feedback for changing a given feedback and we wrote 6 api tests for PATCH - everything works \o/
September 13, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 13, 2017 16:37 UTC
In the morning, Ines wrote descriptions on permissions, api, factories and tests in the chapter “store app” in our beginners guide. We repeated the usage of built-in methods for lists and list comprehensions we learnt about the previous day. We have learnt about tuples, sets and dictionaries - their differences, usage, time consumption etc. We started in the morning and continued in the afternoon learning about dictionaries with Derek. Later, we wrote some code in validator for giving max and min value for our FloatField. The code is still not so correct as we would imagine but we are working on improvement. Marie checked the Project documentation Ines wrote in the previous days and corrected the typos. Ines corrected our blogpost change requests. We are also looking for coaches for our Python beginner workshop in October, so we posted it in SoundCloud Slack, contacted some people we know and posted it on Twitter.
September 12, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 12, 2017 20:23 UTC
Today we practised python syntax with Derek (list comprehension, doing magic with
map()etc.) and tried to solve some small tasks by ourself afterwards, for example:
# make a list in range 100, just every 7 number, just even numbers, return as string
[i for i in range(100) if (i%7)==0 and (i%2)==0]).
We also joined a online meetup with other RailsGirls teams and organisers from all over the world and did some organisation for the talks we will give in the next weeks.
The foodsavers changed the name of the repos (foodsaving-backend -> karrot-backend / foodsaving-frontend -> karrot-frontend). So Ines changed the links and descriptions in the beginners guide. She also added some information about Serializers and how to use Docker.
Marie worked on algorithms again and covered these topics: Prefix Sum, Sorting, Stacks & Queues, Leader, Maximum Slice Problem, Prime and composite numbers, Euclidean algorithms. She wrote them in terminal, tried to understand (90% of understanding) and modify them. Now, she has to learn how to test them and how to come up with the formula for any algorithm she needs to solve.
September 11, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 11, 2017 19:17 UTC
Ines worked on the documentation today. First she improved the formatting and parts of the content in the chapters 01 Setup (changed chapter about frontend), 02 Project Architecture (new graphic, changed the description of the apps) and 03 Server and Swagger (minor changes for clarification). Afterwards, she started a new chapter about stores. Here we want to explain how the apps work and how models, serializers etc. work together.
Marie worked on her algorithmic thinking as she did also whole weekend. She practiced the fundamentals in Code Wars and then tried to solve the first task in Codility training center (achieved 76 %). Then she read a few chapters about different types of algorithms - arrays, iterations, time and space comlexity and counting elements. She hopes she will improve her algorithmic thinking in Python so much that she will be able to solve any puzzle (hopefully!) at technical interview.
September 08, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 8, 2017 16:17 UTC
In the morning I made some minor changes in a graphic used in the blog post we wrote yesterday. We reviewed the change requests in our open pull request for RailsGirls blog post. Afterwards we did some research about FloatFields. We tried to use min_value and MaxValueValidator but the tests failed. We also attended a talk at SoundCloud about deep music signal representation (We admired but not fully understood the topic.).
Most of the day we planed a community event. At the first weekend of October we will give a python workshop for beginners. We already have a place (Classroom at SoundCloud) and a meetup page (https://www.meetup.com/PyLadies-Berlin/events/243202510/) with description and time table.
September 07, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 7, 2017 15:48 UTC
After focusing on the blog post yesterday we spent this day with coding again. Most of the day we work on the task "Make sure that weight=null AND comment=null fails". We needed some time to figure out how the test and the validator (in serializer.py) should look like. Most validators in the foodsaving code are field validators – named
validate_fieldname. But we don't want to validate a single field but two. So we needed a model validator. That also means that we needed a different error message in the test using
non_field_errorinstead of the field name behind
We had lunch with Laura from the Travis Foundation who organises the Summer of Code, what was very nice. In the late afternoon we did some organisational stuff and started to work on the next task: "Change ‘weight’ field to FloatField"
September 06, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 6, 2017 18:10 UTC
We wrote our last blogpost for RGSoC 2017 whole day - created infographics, added photos, adjusting text formatting, corrected text typos - in total 32 commits: https://github.com/rails-girls-summer-of-code/summer-of-code/pull/409. We also had a meeting with our coaches and our mentor and talked about:
- coaching sessions and how to improve them
- what’s next in 3 weeks
- closing party in September/October 2017
September 05, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 5, 2017 16:03 UTC
We started our day with plannig of additional functionalities to Feedback. We created a Backlog for each commit:
- Make sure that weight=null AND comment=null fails
- Change ‘weight’ field to FloatField
- Add PATCH
- Refacture the field
- Add filters
- Limit multiple feedback for the same pickup per collector
- Limit the overall period in which feedback can be given
- create Statistics
We do not know if this is realistic plan until the end of September but we would be very happy to finish no. 1 and 2.
Then, we worked on our first round of functionalities: Make sure that weight=null AND comment=null fails. We realised that we have to have it as API test for feedback. Tomorrow, we have to solve our KeyError. We wrote some validation with validate() method according to Django REST documentation but we have to solve some problems before we can create open Pull Request.
For the rest of the day, we had to work on our last blog post that has to be handed in until tomorrow. It is a blog post for Rails Girls Summer of Code about how we were doing during our RGSoC :)
September 04, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 4, 2017 15:12 UTC
Today, I googled the term “Django ORM”, looked at definition and started with Django documentation: https://docs.djangoproject.com/en/1.11/topics/db/ about databases. I guess I should go through all topics here. I covered the first chapter Models today - there I did not make the chapter about Model inheritance.
Then, I repeated the knowledge from this course: Introduction to Relational Databases - SQL, Python
https://www.udacity.com/course/intro-to-relational-databases--ud197# Here I went through the 1st chapter Data and Tables.
At the end, I read this: https://stackoverflow.com/questions/3748295/getting-the-sql-from-a-django-queryset as Derek recommended us.
September 01, 2017
Team NK42 (Foodsaving and Foodsharing)  — at September 1, 2017 15:45 UTC
We made a plan in the morning:
- Write text for heartbeat
- Plan RailsGirls Blogpost
- Work at beginners guide
- Start with next tasks written in the issue
We wrote a text for heartbeat - nice fairytale about 2 RailsGirls sailers sailing in code ocean :slightlysmilingface: We changed the format of our Foodsaving-backend beginner guide to MarkDown and installed MacDown (it has very nice graphical interface). We created a new repo for Foodsaving-Documentation we work on. We added 1 chapter about Project Architecture and 2nd chapter about Swagger there.
We had a call with our supervisor Kasia and did some administrative things with her.
We read some previous RailsGirls blogposts, got inspired and wrote down our ideas about our planned blogpost:
- Code Example
- Tips / lessons learned
- Issue #xxx in Numbers
- conference talks planned
At the end, we reviewed Tilmann’s minor changes to Feedback and learnt how to write reviews (even bad ones), how to approve some commits or add there comments. We were not sure if we can use the functionality ‘Request changes’ in Reviews.
August 31, 2017
Team NK42 (Foodsaving and Foodsharing)  — at August 31, 2017 17:45 UTC
After struggling with the api tests yesterday we had a great time today. First, we fixed the api tests with some help by Tilmann and Dave and pushed them. Tilmann and Nick had a look on our branch and gave some feedback – they suggested some changes, but also said that we are very close to merging into master. We did the changed and also added some unit tests for testing the model. And finally it happened: our branch feedback3 gets merged!!!
\o/ \o/ \o/
There are still some things to do: adding filters and made change the field name ‘about’. – but now it’s time to celebrate.
August 30, 2017
Team NK42 (Foodsaving and Foodsharing)  — at August 30, 2017 15:30 UTC
We wrote the first draft of a beginner guide for Foodsaving-backend project. Ines pushed it into her repo and we asked Tilmann if we can keep this format and if they like our idea. Tilmann said that it is a good idea, so we will keep going and write how to understand the code and write a new code in Foodsaving.
Then, we worked on our failing test
AssertionError: 2 != 0
. First, we wrote the code like this:
my_feedback = Feedback.objects.create(given_by=cls.member.id, about=cls.past_pickup.id, weight=2, comment='whatever might be true')but it did not work because Python complains about TypeError. Later, we found out that the failing part might be with
aboutbecause we use
cls.pickup.id. But our class does know which id it should take which is strange. We would expect that if a pickup using PickupFactory can create a fake data for testing purposes, it can also access some data there. We played with this code whole day and have got many errors that we solved and then got another errors and another errors. We get also django
InerfaceError: connection already closed
error. Many errors are very hard to interpret even with proper question directed to Ms. Google. We are going through the errors/failures interpretation with Dave tomorrow morning.
August 29, 2017
Team NK42 (Foodsaving and Foodsharing)  — at August 29, 2017 15:42 UTC
We started the day with talking about security in GitHub. Afterwards we decided to code separately for some hour: Marie wanted to create Feedback instances in the file createsampledata.py as well as directly in the shell. Ines wrote a FeedbackFactory and tried to use it in testfeedbackapi.py. To avoid merge conflicts we both worked on a new branch.
In the afternoon we worked together on the new branch feedback3withfactory. We were able to create two feedback objects but they caused many errors. We solved some of them, but we didn't manage to solve the AssertionErrors raised because the validations and permissions don't seem to be running for the new feedback objects.
So we started to understand Factories, the @post_generation decorator and the setUpClass – and we planned go on with that tomorrow. But tilman suggested another way to create sample data which sounds much easier. We will try that tomorrow on the feedback3 branch.
August 28, 2017
Team NK42 (Foodsaving and Foodsharing)  — at August 28, 2017 15:49 UTC
Today, I finished the tutorial about OOP programming: https://jeffknupp.com/blog/2014/06/18/improve-your-python-python-classes-and-object-oriented-programming/ I went though topics like self, init, instatiating an object, class attributes, inheritance and abstract classes.
In the next tutorial, I learnt about how to use static, class and abstract methods in Python. Then, I tried to mix all methods together and it worked. Source: https://julien.danjou.info/blog/2013/guide-python-static-class-abstract-methods