Open Source Contributions
on GitHub

You can support me through my GitHub Sponsor page ✌️

2020 - 1725 public commits
2019 - 4526 public commits
2018 - 2639 public commits
2017 - 2601 public commits
2016 - 1520 public commits
2015 - 3828 public commits
2014 - 328 public commits
2013 - 21 public commits
2012 - 1 public commits

Check out my GitHub Profile 🤖

2
13
41
42
23
28
18
25
3
10
22
4
27
9
12
18
18
7
2

2020-05

4
1
4
6
5
19
2
6
0
15
10
35
2
2
9
4
0
1
7
1
2
26
14
19
27
27
17
10
21
3

2020-04

21
16
12
64
22
3
0
0
21
35
19
17
34
26
19
5
8
16
0
9
15
42
4
32
27
5
11
8
6
5
12

2020-03

15
2
6
10
15
3
10
0
4
1
3
0
2
32
20
16
11
7
10
0
6
67
30
44
7
18
4
0
0

2020-02

0
0
2
14
2
24
5
3
0
0
0
11
44
16
16
1
6
14
6
0
0
0
0
0
9
1
2
1
15
43
10

2020-01

3
2
16
1
0
0
0
3
9
33
26
28
5
8
4
22
0
0
8
17
28
3
5
21
72
10
0
0
1
0
1

2019-12

4
0
2
0
13
2
20
39
21
18
35
3
36
86
26
0
0
15
12
26
0
0
5
11
6
0
0
8
12
41

2019-11

8
2
2
15
26
10
3
0
3
1
12
0
20
0
4
1
0
2
0
0
0
0
0
0
0
1
0
0
0
0
0

2019-10

0
0
14
18
0
9
7
0
0
0
4
0
8
36
15
0
0
6
19
14
10
24
26
19
6
5
6
1
6
17

2019-09

24
16
44
15
22
9
7
11
0
0
0
5
29
14
14
16
3
12
0
19
57
31
16
6
23
7
6
19
6
1
31

2019-08

6
3
6
1
2
0
0
0
15
7
0
3
27
27
26
14
24
69
73
10
45
50
57
9
0
0
0
29
5
20
0

2019-07

0
0
0
0
4
6
0
1
0
31
44
47
74
30
80
80
32
3
66
85
23
0
0
0
9
48
31
120
193
29

2019-06

3
30
52
4
1
15
3
0
3
0
7
4
13
46
12
83
63
13
0
0
0
0
1
0
0
0
12
52
6
6
65

2019-05

2
21
6
4
21
41
35
30
0
2
92
1
0
0
5
4
12
12
1
0
0
1
3
11
0
2
2
1
1
1

2019-04

0
30
15
2
8
3
10
0
17
25
3
9
0
4
2
5
0
12
2
9
1
32
18
14
16
20
18
1
0
0
12

2019-03

0
1
0
7
24
73
14
1
3
0
0
4
0
0
0
0
0
4
23
14
2
1
5
2
3
10
0
15

2019-02

2
1
12
0
1
0
1
7
1
0
0
2
3
3
0
0
0
1
2
0
2
0
6
0
0
0
0
2
3
4
0

2019-01

1
13
1
6
0
0
0
0
0
0
1
1
2
0
5
6
1
0
0
0
8
0
3
3
0
0
20
0
14
4
6

2018-12

0
0
29
0
15
0
15
0
0
0
9
0
30
0
27
3
10
1
0
9
1
50
0
0
0
0
5
11
1
13

2018-11

9
0
6
15
18
4
3
7
0
0
0
0
0
8
15
0
3
0
8
2
7
0
1
0
0
1
0
0
0
0
2

2018-10

0
0
0
4
0
1
0
0
0
0
0
3
0
0
0
0
0
3
0
0
0
0
8
4
0
1
0
3
85
43

2018-09

9
10
0
10
0
29
43
0
7
4
4
4
2
1
1
0
0
0
12
27
33
5
0
3
2
2
0
1
0
1
0

2018-08

0
0
0
21
7
1
2
1
0
1
14
19
13
1
9
1
1
14
6
16
9
76
1
2
4
24
5
0
1
2
27

2018-07

32
4
8
1
0
2
23
26
12
25
7
25
10
19
68
46
25
8
3
4
0
3
18
1
13
24
31
4
4
5

2018-06

0
5
5
7
6
5
0
17
18
15
9
34
5
3
9
0
2
1
59
23
8
1
5
2
13
23
9
0
0
4
34

2018-05

31
28
19
19
8
26
1
14
12
35
0
1
6
0
0
0
0
4
1
0
1
11
9
0
0
0
0
0
1
0

2018-04

9
4
0
5
0
2
3
2
6
1
25
22
3
0
1
0
0
0
1
6
4
12
6
0
1
1
3
0
14
1
5

2018-03

0
0
5
0
5
6
3
21
14
4
1
10
4
4
1
7
9
23
17
6
1
35
15
13
0
0
2
0

2018-02

3
10
2
1
7
19
3
3
7
3
2
10
10
24
7
2
6
3
24
0
0
2
19
4
3
0
10
1
3
23
9

2018-01

6
14
2
1
0
0
0
3
45
0
0
0
0
0
28
6
2
0
0
1
5
33
20
55
2
0
8
0
14
18
20

2017-12

7
15
13
10
32
3
0
0
4
0
0
15
30
3
1
7
3
19
50
19
0
1
0
0
0
14
1
4
2
23

2017-11

0
7
20
13
10
27
6
17
6
109
154
3
25
9
6
9
41
0
0
0
3
0
5
82
69
0
0
0
0
0
22

2017-10

16
1
1
0
1
0
13
27
4
9
2
5
2
37
23
14
15
0
17
18
17
28
5
5
0
2
16
0
0
0

2017-09

0
0
0
0
0
0
5
7
0
1
0
0
0
0
0
0
0
0
2
4
1
0
0
0
2
24
13
3
2
1
1

2017-08

5
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
4
0
4
0
4
0
0
0
0
0
0
4
0
0
0

2017-07

0
0
0
0
0
0
0
1
0
0
0
0
0
3
0
1
1
1
0
5
12
32
9
2
0
4
3
6
20
2

2017-06

0
4
8
0
4
11
5
3
0
2
38
18
1
2
0
0
0
2
10
0
1
0
0
0
0
0
2
0
0
3
1

2017-05

19
4
0
2
1
0
0
0
8
0
1
1
4
0
6
0
0
1
3
0
0
7
0
0
4
5
2
7
8
18

2017-04

1
5
1
3
2
0
0
9
14
1
4
7
0
5
0
12
1
0
0
8
4
1
1
0
0
3
11
0
0
30
0

2017-03

4
0
0
5
3
8
12
5
6
27
0
1
1
5
11
4
0
1
7
3
7
0
8
8
4
2
2
0

2017-02

0
0
0
4
8
0
0
3
0
1
1
1
2
4
7
0
0
1
2
0
0
0
0
0
0
0
0
5
0
0
419

2017-01

0
0
0
0
0
0
0
3
0
0
0
0
0
0
0
0
0
1
2
4
1
0
3
5
6
8
0
0
3
2
5

2016-12

0
4
0
1
4
3
0
0
10
4
1
0
0
0
0
0
0
0
1
2
0
5
6
6
5
5
1
4
2
2

2016-11

0
3
0
9
2
9
1
2
1
20
13
1
6
16
4
2
33
6
0
11
8
6
0
2
5
3
1
4
2
2
0

2016-10

5
9
27
21
6
7
53
3
16
9
2
4
16
28
9
2
15
25
0
0
1
4
11
2
2
0
0
0
0
0

2016-09

0
0
0
0
2
0
10
0
1
1
0
0
1
0
2
1
0
4
14
0
0
1
0
0
0
0
0
0
0
0
0

2016-08

0
0
0
0
2
1
4
21
1
5
5
2
0
0
0
0
0
3
2
1
3
6
0
2
6
5
0
0
2
1
1

2016-07

3
1
2
0
0
14
7
5
3
0
0
0
0
3
0
0
0
0
2
0
0
0
1
2
0
0
0
0
3
1

2016-06

11
13
0
2
5
2
0
0
6
0
0
2
2
0
0
2
0
0
0
1
7
3
0
0
20
1
11
0
0
0
0

2016-05

0
0
0
0
0
0
0
6
0
0
2
2
0
0
3
1
0
2
0
0
9
3
1
0
0
5
0
0
10
2

2016-04

0
0
4
11
12
26
14
10
14
3
3
0
3
4
7
5
8
3
2
4
12
4
3
1
6
22
8
25
16
3
24

2016-03

4
0
0
0
0
0
0
5
3
12
6
6
3
6
7
7
0
17
10
3
0
12
2
0
0
2
3
0
5

2016-02

2
0
5
16
4
3
22
48
9
4
7
42
0
0
10
1
3
4
1
4
6
27
15
5
23
6
14
6
3
10
1

2016-01

1
0
0
0
0
20
0
0
1
0
0
0
0
2
1
20
13
1
0
3
5
11
4
28
7
2
4
20
9
2
9

2015-12

22
34
40
10
17
16
13
9
6
54
2
23
41
27
34
54
33
10
31
23
40
6
0
0
2
4
5
7
25
21

2015-11

25
6
43
28
28
8
20
26
33
3
12
8
15
4
7
5
3
3
1
17
15
7
4
3
0
2
6
12
1
1
12

2015-10

3
5
7
17
0
2
3
8
3
0
13
24
17
7
6
0
25
0
1
3
0
10
0
16
16
64
7
13
1
7

2015-09

5
53
17
7
4
5
4
20
31
16
9
34
14
30
28
23
35
14
22
15
41
48
0
7
29
2
0
2
3
20
10

2015-08

3
29
12
7
11
24
19
37
22
0
40
6
34
69
5
0
0
0
2
1
0
3
0
0
1
0
6
0
1
0
0

2015-07

0
0
0
0
0
0
0
0
0
0
0
0
0
4
10
18
7
72
15
41
0
18
56
98
96
0
2
29
85
64

2015-06

116
0
24
1
11
0
6
40
2
2
23
57
23
12
17
2
31
25
7
27
9
36
3
0
0
0
0
0
6
3
0

2015-05

7
4
0
0
13
0
0
0
0
0
0
0
6
9
0
0
0
0
2
0
0
0
0
0
0
0
3
1
0
0

2015-04

0
0
0
0
0
0
0
0
0
56
9
2
1
7
0
0
3
10
4
0
0
1
2
0
0
1
0
2
0
0
3

2015-03

21
10
12
21
8
6
19
1
6
7
10
0
6
23
14
0
0
0
0
0
5
4
0
2
0
0
0
0

2015-02

0
0
0
0
3
0
1
3
0
0
0
1
1
7
4
4
0
1
13
0
34
33
10
0
0
0
0
0
0
6
0

2015-01

9
2
0
0
2
0
1
8
12
1
0
0
0
0
0
0
20
9
0
1
0
5
0
0
0
0
2
0
0
0
0

2014-12

2
9
1
50
0
0
0
0
0
0
0
11
2
0
4
0
0
0
0
0
2
3
0
5
5
1
16
10
22
61

2014-11

2
1
2
0
0
0
0
0
0
0
5
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
2

2014-10

0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2014-09

0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
2
0
0
0

2014-08

0
0
0
0
4
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1

2014-07

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2014-06

0
0
0
0
0
0
0
0
2
0
0
0
2
1
0
0
0
0
0
0
0
0
0
0
0
0
2
0
0
0
0

2014-05

0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0

2014-04

0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
0
2
1
2
0
0
0

2014-03

0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0

2014-02

0
0
3
0
0
1
2
0
0
1
0
0
1
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2014-01

0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-12

0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0

2013-11

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-10

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
3
0
0
0
0
0
0
0
0
0

2013-09

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-08

0
0
0
0
0
0
0
0
0
2
0
1
0
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
2

2013-07

0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-06

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-05

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-04

0
0
1
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-03

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-02

0
0
0
0
0
0
0
0
2
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2013-01

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-12

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-11

0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-10

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-09

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-08

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-07

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-06

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-05

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-04

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-03

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-02

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0

2012-01

Testing in Node.js by example using the SOLID principles Clean up Mac OS: How I freed 35GB of space Fixing 431 Request Header Fields Too Large in Node.js Setting up a Verdaccio npm registry Privacy and Coherence visit the /archive to see all 132 posts Elixir trick: start an Observer window with mix Validate your RSS feed Minimal dark mode with CSS and JavaScript Using µcompress to dramatically optimize static assets Ad blocking with Raspberry Pi and Pi-hole Optional chaining in Node.js 14 Nullish coalescing in Node.js 14 Road to Elixir: Monitor Crypto assets Resuming Elixir by self-hosting plausible analytics devblog: yet another static site generator, seriously visit the /archive to see all 132 posts Boring software development Full list of Chromium Puppeteer flags and command line switches How to connect puppeteer to a Proxy Crawling a web site with browserless, puppeteer and Node.js Ultimate web scraping with browserless, puppeteer and Node.js