David Majda
October 22, 2015
310

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

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

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

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

!~ …)

!~ …)

13. (a 1,1 ∨ … ∨ a 1,m(1) ) ∧ …

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

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

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

= 500 or url !~ …)

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

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

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

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

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

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

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

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

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

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

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

31. { c: 0, s: 0, m: -Infinity } read …

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

= count()

= count()

c)

41. Set S, operation ⊕ : S ⨉ S → S

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

44. 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:

46. 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

2
49. 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
50. 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
51. 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
52. 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
53. 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
56. 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
57. 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
58. 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
59. 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
60. 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
61. 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