Chapter 10 of The Nature of Code, Neural Networks, begins with the perceptron, a single-layer linear classifier trained by the perceptron learning rule. This applies it to measured weather.

I train the perceptron on a year of New York humidity and pressure with rain labels from the Open-Meteo archive, so the linear boundary has to face messy weather instead of a hand-drawn cloud of points.

Each day of 2025 for New York (Open-Meteo archive) is a point placed by mean relative humidity and mean sea-level pressure and labeled rain or no-rain by whether precipitation exceeded 0.5 mm. The perceptron adjusts three weights until its decision boundary separates the classes as well as a straight line can. The residual overlap is the chapter’s point: a single layer is limited to a linear boundary.

The perceptron computes \(\hat{y} = H(\mathbf{w} \cdot \mathbf{x} + b)\) with the Heaviside step \(H\), and trains by the update \(\mathbf{w} \leftarrow \mathbf{w} + \eta\,(y - \hat{y})\,\mathbf{x}\) for learning rate \(\eta\). Its decision boundary \(\mathbf{w} \cdot \mathbf{x} + b = 0\) is a hyperplane, here a line in the humidity-pressure plane. Rosenblatt’s convergence theorem guarantees termination only if the classes are linearly separable; rainy and dry days are not, so the boundary settles at minimum error rather than zero.

Data source: Open-Meteo Archive API
Endpoint: https://archive-api.open-meteo.com/v1/archive?latitude=40.71&longitude=-74.01&start_date=2025-01-01&end_date=2025-12-31&daily=precipitation_sum,relative_humidity_2m_mean,pressure_msl_mean
Access: Public, no key. Loaded from an hourly server-side refresh when possible, with a bundled snapshot fallback, and a live browser fetch only when the API allows CORS. Data window: Jan 1, 2025 - Dec 31, 2025 (pulled Aug 6, 2026 UTC)

Latest data pull 365 rows
Jan 1, 2025 - Dec 31, 2025 (pulled Aug 6, 2026 UTC)
Humidity (%)
Pressure (hPa)
Rained
85
1000.4
yes
56
1011.5
no
57
1013.7
no
54
1010.6
no
51
1016.4
no
72
1013.7
yes
65
1008.9
no
51
1014.3
no
51
1008.8
no
55
1013.1
no
71
1003.6
yes
64
1012.9
no
67
1015.6
no
52
1015.6
no
47
1019.6
no
55
1017.5
no
67
1015.2
no
75
1016.2
yes
91
1008.8
yes
69
1017.8
yes
62
1033.5
no
57
1033
no
52
1028
no
63
1021.7
no
69
1026.4
no
63
1021.7
no
61
1017.2
no
51
1004.2
no
54
1000.4
no
51
1019
no
84
1016.5
yes
78
1012.4
yes
51
1033.4
no
85
1021
yes
72
1012.8
no
52
1027.7
no
83
1020.3
yes
71
1012.7
no
54
1025.2
no
87
1015
yes
72
1027.2
no
73
1029.9
no
88
1024.8
yes
92
1015.2
yes
56
1028.6
no
61
1031.9
yes
98
1002.9
yes
57
1004
no
37
1019.7
no
42
1026.2
no
57
1018
no
56
1019.7
no
56
1027.7
no
55
1020.3
no
69
1018.8
no
64
1010.4
no
68
1010.9
no
77
1009.4
yes
60
1005.4
no
51
1001.7
no
38
1015.9
no
41
1024
no
57
1023.2
no
74
1011.5
yes
77
992.3
yes
48
1002.7
no
49
1004.9
no
51
1012.5
no
55
1011.2
no
65
1008.9
no
52
1012.5
no
70
1018.1
no
77
1020.5
no
91
1020.3
no
94
1015.4
no
82
1009.2
yes
55
1016.7
no
63
1018.2
no
91
1011
no
65
1003.3
yes
55
1008.3
no
50
1017.7
no
82
1013.9
yes
63
1010.7
no
57
1015.5
no
54
1022.5
no
52
1022.1
no
66
1015.1
yes
84
1020.5
yes
84
1008.9
yes
66
1009.6
yes
55
1029.4
no
85
1021.5
yes
66
1019.1
yes
67
1024.6
yes
83
1011.8
yes
77
1010
yes
65
1005.7
no
47
1021.8
no
66
1026.7
no
82
1022.2
yes
89
1014.9
yes
71
1012.8
no
62
1011.8
no
70
1000.6
yes
54
1005.7
no
53
1018.2
no
61
1023
no
60
1015.8
no
51
1020.9
no
53
1025.8
no
66
1015.4
no
43
1020.9
no
42
1024.2
no
42
1022.5
no
82
1011.9
yes
57
1013.2
no
43
1023.7
no
46
1021.2
no
47
1013.8
no
38
1020
no
63
1012.3
no
62
1011.1
yes
84
1012.6
yes
91
1017.2
yes
92
1017.5
yes
69
1015
no
71
1015.6
no
88
1013.3
yes
67
1013.1
no
59
1021.4
no
61
1025.9
no
80
1021.7
yes
89
1018.7
yes
89
1012.7
yes
93
1008.7
yes
84
1002.8
yes
60
1002
no
58
1007.3
no
54
1013.5
no
71
1015.6
yes
84
1010.9
yes
78
1009.4
yes
72
1013.2
yes
63
1018.4
no
60
1021.8
no
57
1026
no
57
1025.7
yes
85
1017.9
yes
82
1007.5
yes
82
992.1
yes
59
1003.9
no
61
1014.1
no
56
1019.2
no
52
1022
no
55
1017.4
no
57
1013.1
yes
70
1008.2
yes
78
1009.5
yes
87
1011.9
yes
87
1011
yes
61
1016.2
no
48
1016.4
no
42
1018.5
no
65
1018.4
yes
81
1020.9
yes
84
1020.5
yes
90
1017.6
yes
90
1013.8
yes
83
1009.5
yes
64
1010.1
yes
57
1017.8
no
57
1017.2
no
59
1017.2
no
45
1017.8
no
41
1016.1
no
58
1016.6
no
61
1022.5
no
75
1019.1
yes
66
1014.7
no
51
1014.8
yes
75
1011
yes
81
1010.6
yes
67
1010.4
no
59
1016.2
no
49
1020.3
no
50
1017.7
no
71
1015
yes
74
1014.1
yes
74
1015.2
yes
79
1014.3
yes
80
1015.7
no
79
1017.8
no
74
1018.3
no
80
1017.5
yes
87
1017.5
yes
83
1016.3
yes
79
1011.4
yes
55
1014.7
no
59
1018.1
no
71
1010.9
yes
54
1010.5
yes
46
1018.3
no
59
1022.9
no
57
1021.8
no
61
1014.7
yes
61
1017.2
no
72
1016.8
yes
64
1014.6
no
55
1015.1
no
52
1014.8
yes
75
1014.6
yes
81
1019.6
yes
70
1023.3
no
66
1021.4
no
59
1020.1
no
62
1024
no
66
1028
no
63
1027.6
yes
57
1024.9
no
56
1023.4
no
48
1023.2
no
48
1022.5
no
59
1018.4
no
71
1012.9
yes
81
1011.8
yes
64
1018.2
no
74
1020.2
yes
67
1013.8
yes
67
1017
yes
59
1022.3
no
70
1018.3
yes
79
1015
no
61
1015.1
no
57
1017.9
no
72
1015.1
no
67
1009.6
no
41
1014.5
no
48
1017.1
no
48
1019.8
no
50
1015
no
44
1016.5
no
42
1021.4
no
55
1023.3
no
57
1021
no
67
1015.4
no
73
1011.9
yes
76
1012
yes
78
1013.7
yes
86
1016.2
yes
64
1023.5
no
71
1025.7
no
77
1022.7
yes
59
1019.2
no
57
1021.4
no
73
1020.5
yes
67
1016.9
no
70
1021.6
no
62
1023.3
no
70
1019.6
yes
76
1014.9
no
63
1014.4
no
54
1021.8
no
67
1025.6
no
72
1021.1
no
73
1016
no
87
1016.1
yes
93
1013.1
yes
80
1008.9
no
76
1014.1
no
77
1016.7
yes
71
1021.8
no
71
1019.3
no
52
1020.5
no
57
1029.3
no
68
1028.9
no
63
1023
no
64
1024.4
no
65
1024.9
no
69
1021.2
no
71
1015.5
yes
54
1027.8
no
66
1032
no
79
1024.2
yes
76
1018.6
yes
90
1013.7
yes
83
1016.4
yes
75
1015.3
no
56
1014.3
no
50
1015.2
no
65
1016.2
no
80
1014.9
no
76
1008.3
yes
63
1012.7
no
71
1007.6
yes
62
1012.1
no
67
1018.4
no
67
1026.3
no
68
1028.5
no
63
1028.5
no
67
1026.5
no
65
1021
no
87
1010.1
yes
75
994.8
yes
52
1009.8
no
70
1023.5
no
81
1021
no
51
1016
no
56
1016.5
no
51
1012.2
yes
64
1017.6
no
70
1006.6
yes
82
1010.4
no
89
1004.7
yes
59
1006.8
no
60
1010.2
no
65
1011
yes
64
1017
no
67
1010.7
no
65
992.7
yes
50
1005.1
no
52
1018.8
no
75
1021.8
yes
72
1024
no
82
1019
no
84
1012.6
yes
72
1016.1
no
62
1020.3
no
74
1023.7
yes
93
1010.6
yes
57
1011.3
yes
52
1013.5
no
52
1027.1
no
75
1027.4
yes
62
1023.7
no
83
1017.3
yes
72
1013
no
70
1017.6
no
53
1024.9
no
73
1014.4
no
71
1017.4
no
52
1022
no
39
1024.2
no
71
1007.3
yes
63
1001.5
yes
49
1015.1
no
63
1019.6
no
86
1015.4
yes
68
1022.7
no
76
1023.1
no
71
1017
no
82
1023.7
no
87
1004.5
yes
58
1017.5
no
61
1017.6
no
53
1030.8
no
80
1024.8
yes
73
1017.4
no
69
1018.9
no
49
1022.1
yes
90
1016.7
yes
90
1022.3
no
90
1001.6
yes
48
1003
no
49
1009.6
no

All 365 days are listed below.