260

# Mathematics, Surprisingly

Do programmers need advanced mathematics? And what if they are designing and implementing a programming language? In the talk I will show where I needed mathematics in my work at Jut and how bad job I would have done without understanding it. You can think of this as a small contribution to a discussion about education of programmers and the role of mathematics and other theoretical subjects in it.

Presented at Rubyslava #52 (Data Science Edition).

October 22, 2015

## Transcript

3. None
4. None
5. None

134.675 }
7. ### read … | ( reduce -every :5s: max(value) by host

| @timechart; keep time, value | @logger )
8. ### read … | ( reduce -every :5s: max(value) by host

| @timechart; keep time, value | @logger ) read @timechart reduce keep @logger

!~ …)

!~ …)

16. ### (a 1,1 ∨ … ∨ a 1,m(1) ) ∧ …

∧ (a n,1 ∨ … ∨ a n,m(n) )

!~ …)
18. ### read (status = 500 or status = 404) and (status

= 500 or url !~ …)
19. ### read (status = 500 or status = 404) and (status

= 500 or url !~ …)

m = max(x)
22. ### { c: 3, s: 6, m: 3 } read …

| reduce c = count(x) s = sum(x) m = max(x) { x: 1 } { x: 2 } { x: 3 }
23. ### { c: 2, s: 3, m: 2 } read …

| reduce c = count(x) s = sum(x) m = max(x) { x: 1 } { x: 2 }
24. ### { c: 1, s: 1, m: 1 } read …

| reduce c = count(x) s = sum(x) m = max(x) { x: 1 }
25. ### { c: ?, s: ?, m: ? } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
26. ### { c: 0, s: ?, m: ? } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
27. ### { c: 0, s: ?, m: ? } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
28. ### { c: 0, s: 0, m: ? } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
29. ### { c: 0, s: 0, m: ? } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
30. ### { c: 0, s: 0, m: undefined } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)
31. ### { c: 0, s: 0, m: undefined } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)

34. None
35. None
36. None
37. ### { c: 0, s: 0, m: -Infinity } read …

| reduce c = count(x) s = sum(x) m = max(x) (nothing)

= count()

= count()

c)

46. None
47. None

49. ### Set S, operation ⊕ : S ⨉ S → S

1. ⊕ is associative on elements of S 2. S contains identity element under ⊕

52. ### Moment Duration :2015-04-01T20:05:27.034: :now: :3 weeks and 1 day ago:

:20:05:27.034: :3s: :1 hour and 23 minutes:

54. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D

56. None
57. None
58. None
59. None
60. None

2
62. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
63. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
64. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
65. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
66. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D

P in
69. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
70. ### N * D → D D * N → D

N / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
71. ### N * D → D D * N → D

D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
72. None
73. ### N * D → D D * N → D

D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
74. ### N * D → D D * N → D

D / D → N D / N → D D % N → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
75. ### N * D → D D * N → D

D / D → N D / N → D D % D → D M + D → M D + M → M D + D → D M - M → D M - D → M D - D → D
76. None
77. None