At what time of day do famous programmers work? Part 2. Workweek vs Weekend.

Some time ago I've published a blog post At what time of day do famous programmers work?. I've parsed serveral git repositors, filtered out the commits by one person and created graphs — the hour of day and how many commits were done in that hour by that person (and the results are pretty interesting).

Chris Lattner was very kind to share that link on Twitter and he has also suggested a great idea:

I suspect that you could also get an interesting view of all the charts if you consider weekends and weekdays as two different datasets per person, e.g. plotted side by side.

So, here it it. This is the same data as in the previous post, but split in two graphs. The graph on the left shows commits made on workweek, the graph on the right shows commits made on weekend. (Sometimes there are working days that are on weekends and there are holidays on the workweek, but here is a straightforward separation: Monday to Friday to the left, saturday and sunday to the right). Left and right graph has the same scale.

In the bottom of the graps there is total number of commits and the percentage. There are 5 workdays and 2 weekdays, if you do the exact number of commits on every day, the percent of commits made on workdays is 71.4% and the weekend percent is 28.6%. So, if the weekend percent is more than 28.6% it means that person works on this project on weekends more that he works on weekdays. And if the weekend percent is less than 28.6% — it means the person work on this project mainly on workdays.

And this time in the graphs I'm also showing the git commit hash that the repo was up to and I'm writing the exact command that generats graphs. I do it to make is simpler to reproduce.

Linus Torvalds

https://github.com/torvalds/linux:

$ git show|head -1; git log --author="Linus Torvalds" --format="%H %ai" | perl script.pl
commit fec88ab0af9706b2201e5daf377c5031c62d11f7

  hour          Monday to Friday                       Saturday and Sunday
    00       42                                     19
    01       14                                      7
    02       16                                      4
    03       10                                      3
    04       17                                     11
    05       91 *                                   25
    06      166 *                                   97 *
    07      659 *******                            134 *
    08     1601 *****************                  201 **
    09     2138 ***********************            440 ****
    10     2229 *************************          734 ********
    11     1967 **********************             703 *******
    12     1677 ******************                 580 ******
    13     1654 ******************                 431 ****
    14     1640 ******************                 399 ****
    15     1798 ********************               341 ***
    16     1619 ******************                 336 ***
    17     1451 ****************                   285 ***
    18     1181 *************                      184 **
    19      903 **********                         120 *
    20      698 *******                            155 *
    21      484 *****                               93 *
    22      201 **                                  39
    23      116 *                                   12

Total:    22372 (80.7%)                           5353 (19.3%)

https://github.com/git/git:

$ git show|head -1; git log --author="Linus Torvalds" --format="%H %ai" | perl script.pl
commit 9d418600f4d10dcbbfb0b5fdbc71d509e03ba719

  hour          Monday to Friday                       Saturday and Sunday
    00        7 **                                   2
    01        6 *                                    1
    02        3                                      1
    03        0                                      0
    04        0                                      0
    05        0                                      0
    06        0                                      0
    07       19 ******                               1
    08       25 *******                              2
    09       67 *********************               23 *******
    10       79 *************************           29 *********
    11       78 ************************            34 **********
    12       69 *********************               28 ********
    13       48 ***************                     25 *******
    14       47 **************                      23 *******
    15       67 *********************               37 ***********
    16       62 *******************                 15 ****
    17       54 *****************                    5 *
    18       44 *************                       10 ***
    19       39 ************                        10 ***
    20       41 ************                        17 *****
    21       37 ***********                         12 ***
    22       22 ******                               9 **
    23        9 **                                  10 ***

Total:      823 (73.7%)                            294 (26.3%)

Sebastian Riedel

https://github.com/mojolicious/mojo:

$ git show|head -1; git log --author="Sebastian Riedel" --format="%H %ai" | perl script.pl
commit d6eca913536eaca09c9beeaa913e32c8dd2228ac

  hour          Monday to Friday                       Saturday and Sunday
    00      491 **********************             194 ********
    01      400 ******************                 153 *******
    02      350 ****************                   122 *****
    03      308 **************                     106 ****
    04      240 ***********                        101 ****
    05      243 ***********                         91 ****
    06      223 **********                          75 ***
    07      155 *******                             53 **
    08      116 *****                               31 *
    09      117 *****                               28 *
    10      157 *******                             41 *
    11      158 *******                             67 ***
    12      227 **********                          75 ***
    13      247 ***********                         95 ****
    14      363 ****************                   125 *****
    15      398 ******************                 138 ******
    16      476 *********************              154 *******
    17      517 ***********************            161 *******
    18      541 *************************          182 ********
    19      473 *********************              168 *******
    20      461 *********************              165 *******
    21      453 ********************               175 ********
    22      508 ***********************            178 ********
    23      481 **********************             200 *********

Total:     8103 (73.8%)                           2878 (26.2%)

Chris Lattner

https://github.com/apple/swift:

$ git show|head -1; git log --author="Chris Lattner" --format="%H %ai" | perl script.pl
commit 354eb4d7292951c34f2ba1e5f87a32e40c4a9f9b

  hour          Monday to Friday                       Saturday and Sunday
    00      249 ******************                  75 *****
    01      130 *********                           55 ****
    02       43 ***                                 36 **
    03       57 ****                                20 *
    04      197 **************                      68 *****
    05      332 *************************           94 *******
    06      245 ******************                  68 *****
    07       82 ******                              34 **
    08       17 *                                   14 *
    09       13                                     27 **
    10       30 **                                  11
    11       36 **                                  10
    12       16 *                                   14 *
    13       33 **                                  15 *
    14       60 ****                                45 ***
    15       84 ******                              42 ***
    16      177 *************                       52 ***
    17      197 **************                      48 ***
    18      183 *************                       54 ****
    19      110 ********                            41 ***
    20      203 ***************                     97 *******
    21      278 ********************               116 ********
    22      275 ********************               112 ********
    23      249 ******************                  92 ******

Total:     3296 (72.7%)                           1240 (27.3%)

Rob Pike

https://github.com/golang/go:

$ git show|head -1; git log --author="Rob Pike" --format="%H %ai" | perl script.pl
commit 89d300b821551c9955414caf3066ae602813f6ea

  hour          Monday to Friday                       Saturday and Sunday
    00       24 *                                    5
    01        1                                      0
    02        1                                      0
    03        5                                      0
    04        0                                      0
    05        2                                      3
    06       16 *                                    3
    07       46 ***                                 16 *
    08       57 ****                                23 *
    09      104 ********                            22 *
    10      222 *****************                   18 *
    11      310 ************************            28 **
    12      165 ************                        19 *
    13      321 *************************           18 *
    14      296 ***********************             21 *
    15      284 **********************              17 *
    16      246 *******************                 18 *
    17      204 ***************                     20 *
    18       62 ****                                11
    19       62 ****                                 7
    20       77 *****                               14 *
    21       68 *****                               11
    22       57 ****                                 7
    23       46 ***                                  5

Total:     2676 (90.3%)                            286 (9.7%)

Brad Fitzpatrick

https://github.com/memcached/memcached:

$ git show|head -1; git log --author="Brad Fitzpatrick" --format="%H %ai" | perl script.pl
commit 78eb7701e0823643d693c1a7a6fd8a0c75db74d8

  hour          Monday to Friday                       Saturday and Sunday
    00       11 ******************                   0
    01        8 *************                        2 ***
    02       15 *************************            2 ***
    03        6 **********                           1 *
    04        7 ***********                          0
    05       12 ********************                 1 *
    06        8 *************                        0
    07        8 *************                        0
    08        2 ***                                  0
    09        0                                      0
    10        3 *****                                0
    11        1 *                                    0
    12        0                                      0
    13        0                                      0
    14        0                                      0
    15        0                                      0
    16        3 *****                                1 *
    17        7 ***********                          1 *
    18        9 ***************                      0
    19        8 *************                        1 *
    20       10 ****************                     2 ***
    21        8 *************                        2 ***
    22        9 ***************                      2 ***
    23        9 ***************                      5 ********

Total:      144 (87.8%)                             20 (12.2%)

https://github.com/golang/go:

$ git show|head -1; git log --author="Brad Fitzpatrick" --format="%H %ai" | perl script.pl
commit 89d300b821551c9955414caf3066ae602813f6ea

  hour          Monday to Friday                       Saturday and Sunday
    00       38 ******                               6
    01       26 ****                                 4
    02       24 ***                                  2
    03       21 ***                                  3
    04       24 ***                                  2
    05       25 ****                                 2
    06       18 **                                   3
    07       36 *****                                2
    08       65 **********                           3
    09      102 ****************                    12 *
    10      132 *********************               13 **
    11      150 ************************            10 *
    12      113 ******************                  11 *
    13      122 ********************                 8 *
    14      142 ***********************              6
    15      143 ***********************             17 **
    16      151 *************************           11 *
    17      144 ***********************             14 **
    18      130 *********************               13 **
    19      118 *******************                  9 *
    20       93 ***************                     11 *
    21       91 ***************                      9 *
    22      107 *****************                    8 *
    23       65 **********                           4

Total:     2080 (91.9%)                            183 (8.1%)

Rasmus Lerdorf

https://github.com/php/php-src:

$ git show|head -1; git log --author="Rasmus Lerdorf" --format="%H %ai" | perl script.pl
commit 35c5e0a052254d1b501496567c16b159d72977a9

  hour          Monday to Friday                       Saturday and Sunday
    00       23 *******                             32 **********
    01       19 ******                              10 ***
    02        7 **                                  14 ****
    03       17 *****                               11 ***
    04       27 ********                            15 ****
    05       36 ***********                         16 *****
    06       28 *********                           13 ****
    07       15 ****                                 7 **
    08       27 ********                            17 *****
    09       37 ************                        19 ******
    10       26 ********                            11 ***
    11       22 *******                              3
    12       23 *******                              7 **
    13       40 ************                         3
    14       39 ************                        28 *********
    15       46 **************                      25 ********
    16       77 *************************           27 ********
    17       73 ***********************             31 **********
    18       74 ************************            25 ********
    19       40 ************                        16 *****
    20       44 **************                      12 ***
    21       61 *******************                 21 ******
    22       72 ***********************             24 *******
    23       60 *******************                 18 *****

Total:      933 (69.7%)                            405 (30.3%)

Guido van Rossum

https://github.com/python/cpython:

$ git show|head -1; git log --author="Guido van Rossum" --format="%H %ai" | perl script.pl
commit 18c5f9d44dde37c0fae5585a604c6027825252d2

  hour          Monday to Friday                       Saturday and Sunday
    00      280 *******                             66 *
    01      207 *****                               26
    02      250 ******                              54 *
    03      202 *****                               45 *
    04      197 *****                               32
    05      101 **                                  25
    06       51 *                                   16
    07       37                                     15
    08       95 **                                  12
    09      169 ****                                17
    10      180 ****                                20
    11      217 *****                               13
    12      286 *******                             31
    13      528 **************                      44 *
    14      791 *********************               53 *
    15      936 *************************           58 *
    16      811 *********************               88 **
    17      720 *******************                 81 **
    18      739 *******************                 76 **
    19      699 ******************                  90 **
    20      710 ******************                 108 **
    21      676 ******************                  73 *
    22      693 ******************                  57 *
    23      475 ************                        42 *

Total:    10050 (89.8%)                           1142 (10.2%)

Fabrice Bellard

https://github.com/FFmpeg/FFmpeg:

$ git show|head -1; git log --author="Fabrice Bellard" --format="%H %ai" | perl script.pl
commit af5f770113212b2893e897a04b007c1e1428bb26

  hour          Monday to Friday                       Saturday and Sunday
    00       11 ****                                 6 **
    01        4 *                                    0
    02        1                                      0
    03        0                                      0
    04        0                                      6 **
    05        0                                      5 *
    06        0                                      0
    07        4 *                                    0
    08        4 *                                    0
    09       15 *****                                0
    10       19 *******                              1
    11        7 **                                   3 *
    12       13 ****                                 0
    13       36 *************                        5 *
    14       36 *************                       11 ****
    15       12 ****                                11 ****
    16       33 ************                        11 ****
    17       45 ****************                     6 **
    18       40 **************                      10 ***
    19       18 ******                              12 ****
    20       25 *********                            6 **
    21       27 **********                          19 *******
    22       67 *************************           41 ***************
    23       28 **********                          15 *****

Total:      445 (72.6%)                            168 (27.4%)

The script

Last time I've used one-liner to create graphs. This time I wasn't brave enough to write code that shows these graphs in one line, and I've created the script. It is writtern in Perl, so it will run on most linux/mac os systems out of the box without the need to install anything. I have deliberately written it in pure Perl only with libraries that ships with perl, there is no need to install anything in additon to make this script work. I did it to make it simple to run in case somebody what to experiment with this script in some other git repo.

Ivan Bessarabov
ivan@bessarabov.ru

17 july 2019