TecendoBits

Why I Think Open Source Is Better for Women

| Comments

The first answer that cross my mind is “OSS/FLOSS/FOSS is a world where you can express your opinion freely” and we cannot see this in many others environments.

I usually don’t start this kind of discussion because more than one time I was talking to men about it they didn’t get it (most of them think there is nothing wrong having 5 girls in a class of 40 applicants accepted in a Computer Science course). I did my CS bachelor and I never understood why sometimes I was the only woman in the class. I still don’t get it! In the high school my female friends were just as good in math as me, so I am sure they would be pretty excelent in CS. Women have been influential since the beginning in this area, and it is clear the ability to be great at it is not only given to men.

But this reminds me that even I wasn’t going to do CS, I chose psychology and I changed my mind after that because I did the exam (known as ‘vestibular’ here) to study in the University where my parents are located. There were only engineering choices and I opted for CS (I don’t know why) and I was accepted. I had one semestre untill the exam to psychology course (in another town) so I started the CS bachelor. The main fact here is: I LOVED the classes since I got in!! Why in hell didn’t I considered the possibility of it before?? And that’s is one of the bigger causes of why we don’t have more women in CS, they just don’t know what they can do with it. And I am not sure if I know how to answer, because there are many factors to consider: how was my childhood? What were my toys? What was the profession of the women near me? What men talk about women about then? Also why didn’t I know what a computer scientist does and how can women work (and be good) in it?

One thing I remember while choosing my profession was this question: do you prefer to deal with people or to be in a office and just work with your computer? Of course my answer was people, because I didn’t know what I could do with computers! It is a shame that the marketing around CS (at least here) is that a computer scientist don’t interact with people and spend all the time drinking coffee and writing computer games (ok, some of them do that :) ). Why almost everyone in the outside think we don’t interact with anyone? BTW, here begins the central topic: Open source is a better world for women because it allows you to interact with other people in many ways rather than in a proprietary project. Although a recent survey found that just 1 out 10 open-source programmers are women!

Yesterday I marked in a social network the women I know that are interested in computer stuff (to spread the world about OPW). Only 25! When I started to count the men I decided to stop couting about the 130. Those women are mostly not related to open source projects, I know so many more in other social networks (Github, Linkedin, IRC) and those are open source makers! This fact reminded me why I think it is better for women: It creates a HUGE community engaged where the meritocracy is the key point. Meritocracy is one of the topics I most love about open souce and also why I do like to encourage women to be part of. In this world surrounded by gender prejudice, no man or woman can tell you that you don’t worth enough because by developing open source you prove YOU CAN without a single doubt. And that’s a good way we can fight against the “impostor syndrome” which ties the hands of a lot of women.

Test Gardening Final Post - in Numbers

| Comments

Below are some measurements of interesting stuff I did during the amazing OPW internship.

Total of days: from June 17th to September 23th (99 days)
Days of work/fun: 71
Hour per day: 8 (in average)
Total hours: 568

Code lines: 3939 +-
Code lines added: 3,150 ++
Code lines removed: 789 –
Commits for Mozilla: 43
Pull Requests for Mozilla: 27

Socorro
Pull requests opened (here): 21
Commits accepted: 34
Code lines added: 3,010 ++
Code lines removed: 769 –

Old Socorro-Crashstats (Now it is included in Socorro)
Pull requests opened (here): 5
Commits accepted: 6
Code lines added: 75 ++
Code lines removed: 5 –

Configman
Pull requests opened (here): 1
Commits accepted: 3
Code lines added: 65 ++
Code lines removed: 15 –

Number of Bugs smashed: 22
Number of Bugs touched: 28

[Bug 874650] [tracker] Refresh Socorro Test Suite
[Bug 913583] The elasticsearch tests shouldn’t use commonconfig. Pull Request
[Bug 913584] The postgresql tests shouldn’t use commonconfig. Pull Request
[Bug 913581] The middleware_app tests shouldn’t use commonconfig. Pull Request
[Bug 713973] rewrite unit tests to not depend on old config
[Bug 875106] Write integration test for a skiplist entry test . Pull Request
[Bug 874648] Evict unittests that touch external resources. Pull Request
[Bug 906962] We need a service that calls backfill functions of PostgreSQL and also tests for it. Pull Request
[Bug 907469] We need the backfill service linked to middleware. Pull Request
[Bug 904243] we need tests for socorro/external/postgresql/tcbs.py. Pull Request
[Bug 904238] we need tests for socorro/external/postgresql/util.py. Pull Request
[Bug 892672] Integrate socorro/integrationtests in Socorro Test Suite. Pull Request
[Bug 820512] submitter_app has no unit tests. Pull Request
[Bug 888952] Add test coverage for crontabber_state_json() view. Pull Request
[Bug 888520] Add test for exploitable_crashes view. Pull Request
[Bug 866448] Documentation needed for coverage testing. Pull Request
[Bug 913428] Rework middleware exceptions. Pull Request
[Bug 916905] Too many graphite metrics from Socorro, some including UUIDs. Pull Request
[Bug 853920] Implement statsd on the internal middleware. Pull Request
[Bug 912552] Statsd middleware failing on non-ascii characters. Pull Request
[Bug 757447] unittest/cron/fillDB.py deprecated? Can we remove it?. Pull Request
[Bug 533628] Rank column in Topcrashers CSV output starts with 0 instead of 1. Pull Request
[Bug 864854] permission denied, role monitor does not exist errors when running Socorro unit tests on Ubuntu 12.04 LTS
[Bug 651661] unit test failure in testGetJsonOrWarn
[Bug 817461] “make test” does not fail if db timezone is wrong
[Bug 874697] Clarify the role of Socorro-Tests vs unit and integration tests that are part of core Socorro
[Bug 744446] consistency in Socorro unit tests
[Bug 912727] Run *-integration-test.sh in parallel to unittests [future]

Lines of irc talk with my awesome mentor: 2800 till now :)
Number of words in private irc chat with my mentor: 38310
Weekly meetings #breakpad: 14

Report’s blog posts: 7
Report’s blog posts characters(no spaces): 33719

Please, Let me know if you wanna another measurement included here.

Test Gardening Report Week 13

| Comments

Bugs

Bug 913583 - Remove commonconfig from Elastic Search tests.
To smash this bug, I had to create a configuration using Configman very similar to the one I created in PostgreSQL tests. This bug was way easy than the first one, because there are just two tests of Elastic Search. Pull Request 1533.

But for solve Bug 913581 I subclassed middleware_app of the PostgreSQL test configuration.

Test Gardening Report Week 11-12

| Comments

Configman

Configman it is a great tool for setting up configuration options. It is a new style of configuration used by Socorro, catching options of environment variables is way better than using a commonconfig.ini. The main code contributors are @twobraids and @peterbe :)

@peterbe assign me an issue on Configman related to make +include somefile.ini relative to the source file, instead of the current working directory of the executable. The issue was the 88 and my Pull Request 89 fixed it.

Manual Testing

| Comments

What is it?

It is the process of an manually test the software to see if it works as expected. The key is to find correct behavior even when doing unexpected use of the software (like filling a wrong username). It is really important to do before release to end users.

For small projects, the test can be done in a exploratory way by not following any set of rules, testing the software behavior given what the tester thinks it is important. This works well when you have a software that does not have a variability of different behaviors. For example: you have a code that calculates the sum of two numbers. You need to test what happens if you insert different data types of numbers, if works with integers and floats, negative numbers, large numbers and if the result is correct.

Test Gardening Report Week 9-10

| Comments

This week closed a cycle of 2 months in this amazing OPW experience. I am so glad to be part of an incredible team like Socorro. I was reflecting about our hopes and expectations, sometimes we feel that we don’t have to dream huge because the risk of the dream come true is little, but if we always dream at the lower limit, we never are going to experience the happiness of doing something that really challenges you. I know that doing challenging things all the time can be frustrating, but the gratification is so much higher than the fear of do not getting whatever you want.

I am digressing into this because I have just one month till the end of the OPW and I am enjoying so much that I don’t want it to end. But I am sure that because of this awesome experience I am rethinking a lot of thoughts that I have about myself, like my capability of doing what I really want (maybe sometimes I feel a little about getting into the impostor syndrome).

Test Gardening Report Week 7-8

| Comments

This is a short post about my seven and eight weeks contributing for Socorro. It is brief because I had problems with my etherpad-diary and I lost some of the comments, so I wrote here my code contributions during this time.


Automatic elastic search tests

Thanks to @adrian I made the integration test test_elasticsearch_storage_app.py be automatic and I closed the Bug 892672. The Pull Request related was the 1383. Basically, what I did was to call the test code inside a shell script that Jenkins runs. To make elastic search test works, I configured the host to be jenkins-es20 and setted up the environment before to call the test itself.

Test Gardening Report Week 5-6

| Comments


Test Documentation

I finished a first version of documentation by fixing @peterbe suggestions on my Pull Request 1336 and @selena merged the code into socorro repository :)


Automatic integration tests

At Bug 757447 @adrian suggested me to integrate the two test scripts of socorro/integrationtest/ into our test suite. So I filled in Bug 892672, which aims to automate those tests.

Test Gardening Report Week 3-4

| Comments

I started to run deeply on Test Gardening. I initiate to understand the architecture and the behavior of Socorro Project, but it is a project that constantly is changing technologies, so it is important to keep learning about it.


Bugs

I begin these weeks smashing some bugs related to Socorro Crashstats, dealing with mocks, urls and json:

Bug 888520: Add test for exploitable_crashes view. Pull Request 401. Was to create a test_exploitable_crashes function for crashstats.exploitable_crashes url: