I thought I’d offer an update on my continuing phone-based diversion with the language-learning app called Duolingo.
I still actually rather dislike the app – but after trying some other options, I feel it’s the best of a bad bunch. It’s the only one that I’ve tried that can run fully and reliably without an always-on internet connection, for example, which is an actual necessity for me given where I live (rural Alaska).
I sometimes sigh in disgust at the obvious linguistic shortcomings – it’s often clear that non-native-English speakers are being given free rein in providing material for the English facing language learner, and likewise that non-native-Spanish speakers are doing the same for the “Swedish for Spanish Speakers” program I’m working through. And that makes me wonder about the grammatical and idiomatic quality of the language I’m trying to learn, too. So if you try Duolingo, just always remember to assume it’s not a great or perfect snapshot of the language you’re trying to learn. Think of it as taking lessons from someone not much farther along than yourself, maybe?
But I have managed to spend at least 5 minutes (about 1 “lesson”) on Korean every day since I started the program, while riding on the bus to the airport on my last day of my short visit back to Korea, last Spring. And I think I’ve genuinely learned and even gotten comfortable with some Korean vocabulary that I was unfamiliar with before (which perhaps speaks only to how lousy my Korean ever was – it was always horribly domain-constrained, during my years living there).
Meanwhile, aside from my steadfast commitment to working on my Korean, I dedicate another 5-20 minutes a day with some other language. All of these other six languages were deliberately chosen for their level of expected difficulty for me (which is to say: fairly high).
I find it genuinely rewarding to try to puzzle through some obscure aspect of introductory-level Vietnamese or Swedish grammar, trying to guess at the pattern before finally breaking down and spending 2 hours of follow-up research on wikipedia or somesuch. Syntax is something I just plain enjoy learning about. Vocabulary is harder, for me. Each time I switch languages, I spend a few lessons making crazy-stupid mistakes until the 100 word passive vocabulary that’s been built up is reactivated.
I make a point of trying to keep all my seven languages on Duolingo “in sync” – though because Korean is the only one I commit to doing some of every single day, it always ends up ahead. But I make sure I distribute my time to the others evenly, so that the “number two” language in the queue is always shifting. Here is a snapshot of my current “points” (“XP”) in my languages in Duolingo.
I think my favorite language, by far, is Vietnamese. It’s also the hardest, for me – so I think, as with Korean, I’m specifically drawn to languages I find quite difficult.
I dislike that Duolingo shields users from learning to type “non Roman” scripts – so even the Korean (where I’m much more advanced than the other languages, which is entirely belied by my point totals above, because I “tested in” to the Korean quite deeply into the course, if that makes sense) doesn’t ask me to type answers in Korean. And that’s frustrating, because “typing Korean” is one skill I mastered quite early in my language-learning journey, and I could even win speed-typing contests against my students typing Korean on my phone when I lived there – just don’t ask what whatever it is I just typed means. I think typing would make the new vocabulary “stick” much more effectively, for me.
Nor do the Arabic, Greek, nor Ukrainian programs give me the option or opportunity to learn to type my answers in those languages – they just give you written-out choices. But meanwhile, those languages with Roman-based scripts have quite intensive requirements to type in answers, which leads to a higher level of word-shape memorization, by far. Vietnamese is the “weird” outlier in this dimension, because it is, nominally, a Roman-based script – so Duolingo insists on making me type it. But the number of diacritics for Vietnamese is painfully huge – people do weird “text art” using Vietnamese diacritics, because it offers so many possibilities. “Typing” Vietnamese on a phone keyboard is apparently an art too arcane to ever bother even trying to explain. You either know or you don’t. So I get lots of errors on my Vietnamese because I simply can’t figure out what combination of keys will give me the combination of diacritics I know that I need. But I think that over time having the requirement to type in answers increases longer-term retention of vocabulary, at least for me – I’ve always been a very visual and text-based learner. So I can sincerely say that even though the scores are all basically equal, so far my learning of Vietnamese, Welsh and Swedish are far in advance of the other three non-Korean languages (Ukrainian, Arabic and Greek), because of that typing requirement.
I still would give Duolingo only 3 stars. But I’m sticking with it. It provides one of the few genuinely enjoyable breaks in my day, these days, in my otherwise quite depressing life.
Here is detailed user summary data for October, for our main imaginary map server. These results are ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Here is a detailed user summary data for August. These results are ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Here is a detailed user summary data for July. These results are ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Here is a detailed user summary data for June. These results are ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Here is a detailed user summary data for May. These results are ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Here is a detailed user summary data for April (I’ve decided to do these monthly). These are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
Because the January and February reports were popular on the OGFC Discord, I’ve extracted detailed user summary data for March. These are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
March, 2023, in OGF
display_name
user_id
count_changesets
count_nodes
count_ways
count_rels
count_objects
joebro
2580
60
406661
7806
71
414538
tars
10312
189
297656
3839
390
301885
elindio23
8153
48
216716
19434
15
236165
Arlo
10218
379
193790
10887
220
204897
Izaland Terramorphing Committee
15584
96
190716
5369
167
196252
Geoc3ladus
14788
50
178794
12146
54
190994
Bixelkoven
16933
34
167439
4473
42
171954
oneofbeatlefan
6427
51
148708
4468
118
153294
Rustem Pasha
4928
11
88781
9960
275
99016
Hilsonbergman
6375
56
80211
16215
119
96545
Liadrien
17542
60
88475
2732
216
91423
Davieerr
8029
292
81844
8815
137
90796
UN1TY
2194
173
80894
8070
336
89300
iBallasticwolf2
1355
51
79625
3215
121
82961
Le Mathou
790
463
64523
5268
426
70217
Alexmar983
25870
798
56000
11906
79
67985
varnel_maiser
6691
112
51930
2969
256
55155
Timboh
324
29
43890
6243
245
50378
Glauber
14612
55
45205
3491
55
48751
CharlieG
4058
15
45746
2536
15
48297
Luciano
294
9
42277
5810
61
48148
Reviriegu
25104
75
44480
2421
0
46901
Fayaan
18131
371
41149
4719
440
46308
Enderbyte09
25083
39
44004
1537
27
45568
ifgus
4790
66
38164
7191
59
45414
Mie
22733
32
42056
1874
38
43968
Taka
14001
67
39542
3140
735
43417
jl06
18719
68
39848
2567
63
42478
Alessa
2664
28
39991
2420
40
42451
BMSOUZA
954
190
38755
2897
3
41655
plainoldbread
3272
26
38399
2403
33
40835
Toadwart
2322
46
33936
3289
308
37533
thermo_nuclear
2386
55
34461
2887
95
37443
Otto Yamamoto
1368
50
32501
4921
1
37423
Legoman
26243
125
24770
6420
1
31191
ruadh
2725
27
25342
3298
41
28681
chazeltine
7402
33
27713
412
61
28186
Halvarda
21685
87
25174
2270
205
27649
Y Knott
1158
96
21601
5521
48
27170
Intergan
15076
11
25900
819
48
26767
ShavedParm
25749
173
22300
2767
32
25099
Vay
15996
14
23745
932
38
24715
Lithium-Ion
22476
48
22111
2234
53
24398
Yongdinghe
26240
23
20899
2777
19
23695
Leowezy
1267
84
20390
2783
69
23242
newflanders
3228
13
22543
499
53
23095
Turnsole80
1130
22
22373
553
71
22997
Imperator
1141
14
22627
226
42
22895
super_empath
25865
27
18112
4391
33
22536
diamantschiff
11298
25
20044
1003
146
21193
2amCereal
18270
9
19898
1112
26
21036
lankusiek
23807
39
18221
2621
16
20858
BelpheniaProject
1020
11
19572
537
4
20113
Infrarrojo
9678
31
17312
1826
28
19166
indyroads
344
27
17354
1215
1
18570
Kalh79
401
74
15867
2137
204
18208
Gubble
2713
14
15155
2276
0
17431
Sweetykid
25913
78
13887
2715
36
16638
Distel
23033
51
13702
2888
0
16590
P Gaillard
25179
24
14839
1371
60
16270
Rasmus Rasmusson
1139
148
12237
2923
4
15164
Mantan
25551
45
13322
1470
13
14805
Rhett McDonald I
25918
79
11416
3089
41
14546
ItsTybear
17286
74
11342
2804
20
14166
Charlie
26149
18
10161
2834
4
12999
shining-k
24800
29
11580
1230
1
12811
Aiki
2336
16
11315
363
127
11805
Pav
12292
78
9835
1066
13
10914
wangi
468
46
10449
253
208
10910
Koziu
24578
55
8728
2027
5
10760
NM$l
25192
28
10050
692
7
10749
NorthTeaPower
14030
55
8990
1657
27
10674
Olejowy
22566
78
8765
1801
33
10599
cartographersurgeon
25890
68
8283
2248
20
10551
sudo91
22243
21
9115
1168
52
10335
CheesyJeb
25950
14
8798
1209
3
10010
jamigg
25347
10
9547
207
0
9754
pzs111111
20225
11
8882
517
40
9439
stjur
2533
8
8813
270
63
9146
oluap
23204
11
8599
286
2
8887
Ping_a_ding
25311
9
7116
1178
0
8294
kengoman
24572
6
6986
1207
20
8213
raxx
25343
78
5535
2631
7
8173
Fluffr_Nuttr
6846
9
7402
470
79
7951
ante44
1822
14
7081
845
4
7930
Sortsdam
25841
90
6218
1552
47
7817
Eevee
7443
44
6512
1240
7
7759
DanDo
25243
35
6785
437
1
7223
ThePhrogianOverlord
25594
14
6429
736
13
7178
PaintedBlue
23793
73
6098
1007
28
7133
Souzzzzie
26176
56
5828
1172
19
7019
AustinBoath
17528
33
5845
855
1
6701
Quint
26279
104
5274
1045
137
6456
Reece202
1514
17
5499
840
56
6395
ciaosamuu
24620
37
5184
1117
10
6311
zhenkang
3225
13
5554
731
16
6301
mapper941
25228
16
5572
710
12
6294
CrisChoky
18079
4
5623
645
2
6270
pablopilar
875
27
4849
1410
0
6259
Aces California
759
56
5031
1179
44
6254
roadyote
14592
41
5008
1240
3
6251
anakes
1510
11
5590
637
0
6227
Tamanca
26288
56
5060
1125
0
6185
t833
19093
27
4961
1171
7
6139
nichelyo
19757
10
5350
619
34
6003
sergjack
26317
119
4958
964
5
5927
curiomap
11647
61
4936
990
0
5926
ethanxman
2516
11
5066
750
1
5817
Vybranium
26206
22
4150
1587
2
5739
Soboko
8026
9
5002
362
3
5367
MarcustheMapper
13156
32
4713
599
0
5312
tparigo
1747
12
4236
999
54
5289
amicharski
24799
10
4774
504
0
5278
America
25550
40
3471
1758
13
5242
antoon
217
4
3010
2228
0
5238
acv
24879
6
5017
169
2
5188
Fer Jiménez
20466
33
4098
1058
6
5162
mikumikumapper
25619
18
4399
701
4
5104
fngf3501
25280
18
4343
481
10
4834
fbmdf1821
25986
27
4512
267
48
4827
快乐的老鼠宝宝
24171
69
4152
467
77
4696
dsilcott
15620
32
3885
709
1
4595
Oriolet
4764
99
3780
809
0
4589
blz
24720
29
3346
1135
20
4501
Huachachi
15931
20
3852
439
77
4368
Tellis Joseph Frank
26151
36
3249
984
38
4271
Anonymous21
23682
52
3194
747
271
4212
Mattlas
17336
17
3398
752
8
4158
Ernestpkirby
232
12
3452
288
6
3746
Mapper89062
24351
25
2955
644
7
3606
Qing_Jue
26304
9
3223
288
0
3511
Crarji
22595
25
3059
248
124
3431
Mike’s World
14591
7
3044
375
0
3419
cheakshibe
26049
30
2806
592
7
3405
Black Baron
2822
19
3154
158
5
3317
JSanchez
253
27
2738
521
2
3261
ratsoff2u
1017
26
1119
2053
6
3178
Brunanter
1761
14
2745
356
40
3141
Dfltcher2
24710
18
2087
929
1
3017
reCharged
17492
2
2455
504
5
2964
JustSomeMapper
26026
21
2363
435
6
2804
lasklajov
13741
19
2138
663
0
2801
Nikolia
3685
2
2158
621
3
2782
Paul Pfh
23089
22
2296
457
1
2754
deltanz
1438
82
2571
139
24
2734
Icefur2
22747
11
2337
378
1
2716
TheSeamonster
25941
58
2028
567
73
2668
Drogda
15815
12
2320
288
5
2613
TheMayor
14026
17
1708
871
18
2597
Martinawa
11407
1
2520
14
2
2536
TGSpace
25394
13
1898
622
7
2527
jjrc1996
20575
21
1950
528
4
2482
DT_Planner
25648
5
2374
75
0
2449
Stephenplays
7055
34
2117
297
9
2423
OhioRiverSSA
26088
9
2015
323
0
2338
Bddfan
26233
30
1509
813
0
2322
PortCal
1477
15
1993
240
6
2239
trussell2019
17416
13
1660
514
0
2174
理塘丁真
25542
6
1804
230
0
2034
drgtgd
24865
9
1824
201
9
2034
theCubic
24412
1
1977
25
0
2002
AmpereBEEP
23019
8
1693
271
0
1964
Arq635
24043
12
1633
283
15
1931
King James III
13047
29
1574
328
0
1902
ChaoticwasTaken
25995
14
1535
352
3
1890
possumbasement
26343
5
1521
343
0
1864
tule00
1405
5
1617
232
6
1855
Rhiney boi
16127
12
1446
334
23
1803
forest_
26268
4
1253
545
0
1798
Inkwinter Ye
25597
2
1700
90
0
1790
Easky30
18
5
1501
195
4
1700
Fifafo
17964
3
1432
238
19
1689
Jonesboro
14995
37
1219
374
12
1605
Chan Yun Kai
12958
7
1301
292
1
1594
Schmortn34
26278
11
1254
337
0
1591
yoyo21
1559
4
1455
123
1
1579
Boge
224
13
1209
348
0
1557
Masyas
26066
3
1307
230
0
1537
shmaiss
26173
8
1388
146
0
1534
hoodieman1250
26184
19
1080
447
7
1534
Mchcm
26244
12
1257
247
1
1505
The Torontarian
19888
5
1187
314
0
1501
PLKartofel
26312
16
1195
299
0
1494
django07
25742
10
1156
266
0
1422
thosehlar
1343
13
1249
137
7
1393
waterstealer
24870
7
1314
39
11
1364
Mapputaniumist
26202
14
1042
316
0
1358
venetianlion
26263
19
995
339
0
1334
Christiaan de Vries
1228
18
1015
302
0
1317
forkymapper
14790
2
1232
74
0
1306
liam m m
26285
12
1071
214
1
1286
nsenx
26093
4
1139
140
0
1279
_zM
1789
3
1120
115
2
1237
faru
24926
1
946
253
0
1199
Verkkuserkku
25787
15
889
291
0
1180
Intergalactic
1384
1
1084
49
5
1138
ellocomigue
10830
9
909
223
0
1132
skquinn
1192
42
808
314
5
1127
Mauser
25990
17
899
213
0
1112
bananaman101
25559
14
886
214
5
1105
Ejayy
25141
7
782
296
0
1078
seasvnz
25153
5
805
175
1
981
Friedrich does things
26234
34
801
87
0
888
Rulania
3603
1
815
31
0
846
fauxcartograph
2348
6
622
175
0
797
Suettulanti
1390
4
630
162
0
792
KameKaza
25617
8
671
116
0
787
Karlchen
21635
3
558
163
36
757
Washnmachine7
26293
4
622
98
2
722
Schandlers
19534
9
673
47
0
720
Greg_Rose
22777
3
596
71
2
669
iiEarth
12233
6
565
90
1
656
MarchisioThePal
25969
3
525
120
0
645
jak
16
5
534
82
0
616
samstag
24771
6
478
126
1
605
ndgid
21484
6
549
44
2
595
MetroManMelbourne
24420
1
501
68
0
569
Toad
23441
2
468
80
0
548
Portier
15365
2
525
8
0
533
Kokerey
14213
5
430
85
0
515
Y_Eba
25684
8
468
44
3
515
Trellux
1757
1
431
48
9
488
Braddie
24279
1
389
82
0
471
sude
15789
9
337
113
20
470
Ecchi Kei
25847
4
431
16
1
448
pdplm
6697
5
310
137
0
447
Sehentsin
26217
1
423
15
0
438
u5n7
24421
7
308
123
0
431
Tjitze
25527
2
339
84
0
423
Yousernaim
26309
5
379
41
0
420
火箭苦力怕i
25217
2
349
54
0
403
geoboi
5230
6
213
137
46
396
james smith the great
26185
2
327
63
0
390
NvdW1997
25376
1
359
26
0
385
Jappie051
26241
2
338
28
1
367
infinatious
12340
4
264
98
0
362
ezesantillan
2100
2
211
104
0
315
Logan
25956
5
264
42
6
312
GEOMaps
7233
3
251
58
0
309
nehalem501
8554
4
279
26
0
305
Jwillkur
26221
2
285
19
0
304
Duncan
18635
2
239
60
0
299
Bob Lee
18271
4
215
39
0
254
confusedtoad
25218
5
209
39
3
251
htx
1874
1
240
8
0
248
cya
26130
6
196
49
0
245
JPM
26229
6
172
66
0
238
jba487_14
6326
4
164
74
0
238
julijahaller
15972
2
228
6
0
234
leo武
26247
6
169
49
0
218
RicardoNolazcoC
1582
4
189
29
0
218
Gao07
26187
2
167
42
0
209
nejisadd
25152
6
165
33
4
202
kingfries
1956
11
156
41
0
197
DougDommadome
26336
1
152
36
0
188
Picard-Lindelöf
15483
2
123
61
1
185
orion78
1564
5
116
56
0
172
BlooXen
25715
2
150
22
0
172
Mon
26256
2
108
64
0
172
Vinzenz13
26296
4
133
38
0
171
Hello2048440gn0285
23524
2
148
16
0
164
panorrrama
25773
5
114
31
2
147
JuLn
15225
1
130
9
0
139
Kisarazu Funya
26025
4
100
37
0
137
Ouponamap
25585
2
100
28
0
128
Luis Daza
26284
2
82
34
0
116
georgecg
1504
4
91
22
0
113
ixocrito
26222
2
83
28
0
111
augg
26094
1
81
24
0
105
Dan2611
26329
1
84
17
0
101
gıvro
26305
1
74
9
3
86
NocoRoads
25882
1
66
15
0
81
mstr
1973
1
60
17
0
77
yonah2
25682
3
51
26
0
77
admin
215
3
26
41
6
73
Arbhin
25454
2
54
6
0
60
elabo
1434
3
41
12
0
53
malynemec
26280
1
42
9
0
51
matematysek
25477
1
48
2
0
50
Hbot
1087
1
38
7
0
45
Angel Bobadilla
26276
6
25
18
0
43
MonicaE
26273
1
28
9
0
37
leg21
16589
4
9
20
0
29
doomd10
26347
8
15
12
0
27
Marcello
3254
1
22
4
0
26
JBstad1
159
1
24
1
0
25
KAB
20875
5
15
5
3
23
adminbot
23845
2
7
15
0
22
Mari
26266
1
13
8
0
21
sorby
25307
1
16
2
0
18
Rayx
10814
2
8
5
2
15
NotLanoas
22969
1
8
6
0
14
xioma_sg
8636
7
1
1
12
14
Alex0441
20733
1
0
14
0
14
Punkmonkey22
20035
1
11
2
0
13
nabi
26260
1
5
4
0
9
Laura
26271
1
7
1
0
8
yong0315
26111
1
3
5
0
8
El profe Manuel
26237
1
5
3
0
8
jemily2
24713
1
6
1
0
7
Valen
26261
1
3
4
0
7
yeetfictiongeo
26295
1
1
3
0
4
SSSACFGOOMA
25172
1
4
0
0
4
Ralph & Mackey
26242
4
3
1
0
4
eurotec
25948
2
2
0
0
2
tommysilva
26315
1
1
0
0
1
Tahadagal
20218
1
1
0
0
1
Alejandro24
1811
1
1
0
0
1
ClarkStuff
26307
1
1
0
0
1
Meanwhile, in unrelated technical news, the OGF overpass crashed last night. I started out with an ambition to maybe get a new instance of overpass running, with some corrections to the original install configuration to prevent these random segmentation faults from occurring, but I became increasingly frustrated. Overpass is badly documented, and horrendously opaque, and in the end I simply didn’t have the knowledge or patience to do it. So I reloaded (rebuilt) the database in the existing instance, despite all its known problems, and have let it go at that, for now.
If any overpass dev or maintainer happens to read this, just know that I said cusswords about you this morning.
Effective right now, this here blog thingy™is running on a fresh new server (see yesterday’s post about this ongoing process).
It was a rather fraught process – the data has become quite large (10k posts, right?). I had to extend the php script time-out limit on the server for processing incoming data from 30 seconds to 10 minutes (!). The blog extract file, not including any images at all, is 33MB text file! That’s huge for a text file. It crashes my laptop if I open it in a text editor.
Anyway, the new server should perform quite a bit faster. It’s got an up-to-date operating system and I installed a thing called memcached which is some software that helps php websites (like wordpress) perform much better. I’ve also got some new security features, which shouldn’t affect readers but will make my life as administrator a bit easier hopefully.
I worked hard to replicate the formatting and configuration from the previous server, and the appearance in most respects should be identical. If you (oh loyal blog-readers) run into problems or weird differences or broken stuff, please let me know.
Rather than my standard weekly low-effort brag post, last week I posted some user statistics for OGF.
This week, I’ll again forego the brag-post and simply announce that, effective today, this blog is residing on a new server. The old server is something I have been wanting to shut down for some time – it’s running Ubuntu 18.04 and it’s not co-located with any of my any other servers. So I’m finally getting around to upgrading to this new server, which is located alongside all my other servers (in Fremont, California) and is running Ubuntu 22.04 (the most recent LTS version). This should help me keep up with the Joneses – so to speak.
This is only one of about 10 different blogs hosted on the old blog server (not all mine, but all hosted by me). I still have to do the others. This one was first, as the “guinea pig” – having the simplest format and hopefully easiest to rebuild. The old server also, inconveniently, runs the Arhet render and my personal wiki. So those things will have to be moved, too.
There should only be minor changes apparent to visitors on the site. If you see major issues, let me know via comment, email, OGF site DM, or on the OGFC discord. Thanks.
Incidentally, this blog celebrated it’s 5th birthday yesterday. So that’s a good time to upgrade.
I decided to play around more with some queries on the OGF API database.
I extracted detailed user summary data for January and February of this year, and put each month in a separate table.
For January, these are the results, ordered from highest number of objects touched to lowest number. I think number of objects touched (nodes, ways, relations) is a more meaningful way to evaluate user activity than changeset counts, which are highly variable depending on how individual users use available tools to connect to the database (iD vs JOSM, etc).
January, 2023, in OGF
display_name
user_id
count_changesets
count_nodes
count_ways
count_rels
count_objects
joebro
2580
115
876127
4925
181
881233
Izaland Terramorphing Committee
15584
95
272316
4647
261
277224
oneofbeatlefan
6427
56
229775
8773
144
238692
Davieerr
8029
229
113578
8576
123
122277
Rustem Pasha
4928
10
88384
8535
67
96986
tars
10312
130
76519
2524
142
79185
Alexmar983
25870
416
62113
12954
323
75390
mstr
1973
61
58629
12944
20
71593
Arlo
10218
59
59661
3014
36
62711
Luciano
294
21
57199
2571
1083
60853
Lithium-Ion
22476
52
53638
2313
30
55981
Liadrien
17542
40
53436
1368
115
54919
BMSOUZA
954
305
44925
9735
18
54678
sudo91
22243
101
47564
4976
147
52687
Imperator
1141
23
43743
7746
29
51518
Bixelkoven
16933
32
46131
1940
99
48170
coshatiuav
18421
9
44517
161
1
44679
jl06
18719
73
41748
1363
172
43283
Reece202
1514
21
39957
943
92
40992
2amCereal
18270
35
36653
2565
268
39486
Zytik
13652
20
35123
1292
38
36453
Glauber
14612
37
32139
4188
27
36354
Toadwart
2322
38
31485
3022
218
34725
Distel
23033
103
26942
5645
0
32587
varnel_maiser
6691
128
26603
3409
176
30188
faru
24926
23
24446
4997
0
29443
DT_Planner
25648
43
26843
1385
43
28271
Masyas
26066
33
23455
4301
43
27799
Leowezy
1267
61
25397
2157
95
27649
Aiki
2336
25
26732
404
136
27272
Fayaan
18131
425
21673
5191
108
26972
UN1TY
2194
96
23499
3350
25
26874
newflanders
3228
12
26100
369
50
26519
BelpheniaProject
1020
14
25435
720
0
26155
ItsTybear
17286
107
20963
4653
33
25649
ruadh
2725
44
22597
2676
64
25337
Ernestpkirby
232
91
22066
2838
32
24936
Conny879
25434
144
17499
5443
361
23303
Kalh79
401
40
21758
1104
0
22862
Sortsdam
25841
271
17933
4105
104
22142
Y Knott
1158
49
16500
4174
10
20684
Soboko
8026
27
18132
2058
53
20243
ifgus
4790
68
16246
2878
52
19176
Mantan
25551
71
15408
3349
45
18802
MOI N
17119
11
16858
1234
208
18300
Halvarda
21685
25
16998
529
36
17563
Taka
14001
35
14226
2395
191
16812
Paul Pfh
23089
128
13269
3013
35
16317
Timboh
324
17
13146
2331
131
15608
jjrc1996
20575
5
13310
2237
8
15555
zhenkang
3225
32
14618
661
68
15347
快乐的老鼠宝宝
24171
190
13270
1763
173
15206
Anonymous21
23682
62
12030
2925
51
15006
Geoc3ladus
14788
12
13621
1292
67
14980
Rasmus Rasmusson
1139
132
10805
3297
7
14109
Pav
12292
101
12634
1208
77
13919
SSSACFGOOMA
25172
26
11095
2436
5
13536
Mie
22733
22
11597
1920
13
13530
NM$l
25192
70
11657
1592
37
13286
BDoyle
17873
42
11701
1157
0
12858
Aces California
759
76
10715
1903
23
12641
super_empath
25865
20
10414
2119
9
12542
JustSomeMapper
26026
65
10786
1677
31
12494
chazeltine
7402
29
11468
784
29
12281
Gubble
2713
17
10025
1936
6
11967
Turnsole80
1130
51
9624
2013
155
11792
Stephenplays
7055
68
9114
2317
7
11438
PaintedBlue
23793
114
9887
1398
51
11336
ParAvion
3527
13
10507
756
9
11272
Brunanter
1761
48
9945
891
89
10925
ciaosamuu
24620
46
9275
1473
16
10764
indyroads
344
21
9206
1457
0
10663
plainoldbread
3272
13
9666
431
2
10099
lankusiek
23807
9
9191
805
3
9999
ante44
1822
14
8545
1406
15
9966
No Way
1463
20
7947
1973
7
9927
Reviriegu
25104
47
8090
1172
6
9268
Tahadagal
20218
29
8619
500
40
9159
pablopilar
875
41
7264
1847
0
9111
Vay
15996
9
7810
1190
14
9014
CartographerKing
5562
14
8268
703
18
8989
Sweetykid
25913
84
7528
1210
12
8750
Le Mathou
790
5
8199
115
5
8319
Infrarrojo
9678
14
7305
890
9
8204
Fer Jiménez
20466
43
6418
1705
0
8123
jamigg
25347
7
7868
199
3
8070
tparigo
1747
17
6550
1379
86
8015
waterbuckey
24951
18
7340
675
0
8015
tule00
1405
18
7288
544
12
7844
wangi
468
19
7619
209
12
7840
Huachachi
15931
28
6474
1249
33
7756
ThePhrogianOverlord
25594
18
6880
777
4
7661
mic8per
25957
14
5797
1688
3
7488
OhioRiverSSA
26088
18
6547
783
4
7334
Christiaan de Vries
1228
113
5496
1669
13
7178
curiomap
11647
62
5873
1240
0
7113
seasvnz
25153
35
5872
1127
49
7048
Otto Yamamoto
1368
48
6064
701
4
6769
CrisChoky
18079
8
5836
820
52
6708
ShavedParm
25749
128
4312
2379
6
6697
Enderbyte09
25083
14
5995
699
3
6697
mapeator
25655
20
5955
686
0
6641
Ecchi Kei
25847
31
5316
1183
28
6527
Oriolet
4764
144
5400
1083
6
6489
DanDo
25243
28
5479
924
8
6411
reCharged
17492
4
5663
733
4
6400
kengoman
24572
6
4986
1045
26
6057
Bob Lee
18271
31
5241
762
2
6005
fngf3501
25280
14
5772
229
2
6003
Olejowy
22566
37
5274
494
9
5777
hallowed_embers
24992
10
4826
935
11
5772
cheakshibe
26049
37
4657
1081
22
5760
blz
24720
33
3875
1551
12
5438
Eevee
7443
43
4226
1209
1
5436
SwissCrusader
12676
6
4296
982
17
5295
nsenx
26093
38
4236
898
4
5138
Öllöjoumi
10082
27
4581
420
1
5002
Alessa
2664
3
4663
330
3
4996
MarcustheMapper
13156
22
4321
644
0
4965
htx
1874
8
4314
544
0
4858
acv
24879
3
4323
436
0
4759
roadyote
14592
21
4117
583
6
4706
Intergan
15076
5
4254
338
6
4598
TheSeamonster
25941
69
3565
967
11
4543
Marcello
3254
36
3939
548
1
4488
mapper941
25228
19
3934
415
2
4351
Deus Omnia
24999
26
3626
595
44
4265
P Gaillard
25179
6
3816
370
12
4198
Eshaan011
22496
16
3528
609
17
4154
stjur
2533
9
3398
737
2
4137
Fluffr_Nuttr
6846
16
3557
446
20
4023
Dfltcher2
24710
17
2827
1170
4
4001
TheMayor
14026
18
3400
578
18
3996
turtle-bienhoa
26085
3
3867
65
1
3933
Arq635
24043
7
2870
675
59
3604
ethanxman
2516
7
2905
605
0
3510
KTheBritMC
19188
18
3021
465
2
3488
AnimationSky
23612
2
3266
196
0
3462
NorthTeaPower
14030
21
3035
380
16
3431
Easky30
18
11
2813
378
1
3192
Stara Zagora
2514
17
2589
520
49
3158
ChaoticwasTaken
25995
29
2316
641
1
2958
gannman
2405
3
2774
177
0
2951
shining-k
24800
13
2311
460
0
2771
cartographersurgeon
25890
20
2095
672
0
2767
JSanchez
253
23
2026
727
3
2756
drgtgd
24865
20
2331
398
26
2755
PortCal
1477
34
2391
325
7
2723
Jarrodcamo
11452
5
2113
441
0
2554
BillionPenny
26055
8
1942
462
2
2406
antoon
217
4
1907
378
0
2285
mikumikumapper
25619
7
1818
433
0
2251
iJustLeyxo
24937
10
2076
162
7
2245
elindio23
8153
11
1820
395
4
2219
KameKaza
25617
9
1986
219
0
2205
geoboi
5230
3
1827
317
46
2190
Toad
23441
5
1934
241
4
2179
Martinawa
11407
7
1443
553
143
2139
Mahita
20854
34
1560
386
66
2012
Rhett McDonald I
25918
21
1596
384
1
1981
LunaU
23404
15
1713
250
2
1965
Tianyi__Miku
26079
7
1810
123
0
1933
The Torontarian
19888
9
1613
243
0
1856
julijahaller
15972
15
1679
132
15
1826
Usa
26113
13
1398
423
0
1821
MxCo
26119
12
1226
442
39
1707
Ejayy
25141
14
1325
376
0
1701
AmpereBEEP
23019
13
1351
333
4
1688
America
25550
19
1174
452
0
1626
trussell2019
17416
9
1317
290
0
1607
Boge
224
10
1299
276
5
1580
TGSpace
25394
6
1228
288
8
1524
Ouponamap
25585
15
1255
252
0
1507
KAB
20875
6
1329
136
2
1467
Jonesboro
14995
30
1169
252
3
1424
GFC
8666
4
1064
354
0
1418
skquinn
1192
60
899
503
0
1402
t833
19093
23
947
443
4
1394
pzs111111
20225
2
1112
274
0
1386
sjk23
23494
7
1071
283
0
1354
Picard-Lindelöf
15483
3
1284
63
1
1348
Crarji
22595
16
961
319
0
1280
Intergalactic
1384
2
1174
86
4
1264
fbmdf1821
25986
10
1018
192
2
1212
ellocomigue
10830
11
909
203
0
1112
thermo_nuclear
2386
2
1070
38
1
1109
GamePancakes
1071
8
837
239
0
1076
iiEarth
12233
7
857
158
9
1024
lmills29
25896
4
848
106
1
955
frefromwig
26062
4
839
95
0
934
mariusvnh
17201
13
850
81
0
931
yong0315
26111
10
713
215
0
928
Mapper89062
24351
4
680
221
10
911
xioma_sg
8636
3
751
132
5
888
HostedDinner
1215
1
754
104
1
859
pdplm
6697
10
581
243
2
826
Black Baron
2822
33
552
174
92
818
suburbandecay
19215
1
755
58
0
813
adminbot
23845
1
29
763
0
792
poweikao
12084
1
748
39
0
787
Jacko-Recio
24753
3
653
112
0
765
Sloyment
26087
13
555
182
0
737
Mike’s World
14591
1
649
75
0
724
Tjitze
25527
3
598
108
0
706
idmdvan93
26063
7
551
153
1
705
waffledogefern
24973
2
630
59
0
689
mt_CSC
22340
4
528
145
2
675
elabo
1434
13
510
156
0
666
Mawoka
26074
25
414
198
0
612
dsilcott
15620
2
482
74
0
556
Squizie3
17920
1
522
31
0
553
Scotty129
26030
69
40
506
0
546
Yuanls
1459
20
402
111
0
513
Trellux
1757
2
469
25
10
504
NocoRoads
25882
5
427
59
1
487
nehalem501
8554
6
411
73
0
484
bautyechev_
26035
2
450
20
0
470
django07
25742
1
428
42
0
470
jba487_14
6326
10
359
108
2
469
infinatious
12340
5
343
92
0
435
Hasdrubal Sauradan
8881
7
395
30
0
425
thosehlar
1343
3
324
78
1
403
georgecg
1504
4
292
108
0
400
bananaman101
25559
10
296
90
0
386
Ilthracna
22530
1
240
134
0
374
jak
16
9
336
35
0
371
James69UK
13705
5
313
51
0
364
Jōvīst
6964
10
290
64
0
354
Ping_a_ding
25311
1
298
51
0
349
waterstealer
24870
1
316
16
4
336
augg
26094
3
270
62
0
332
GullibleMappazoi
26078
5
248
61
0
309
joschi81
4
2
255
44
0
299
Alfred
14361
3
225
64
0
289
Slam4
26091
5
260
27
0
287
Duncan
18635
3
195
91
0
286
AndrewNuzha
19082
4
253
30
0
283
JuLn
15225
4
268
12
0
280
Taksine
26047
8
189
84
0
273
Verkkuserkku
25787
5
205
63
0
268
lucko
25878
2
202
32
0
234
amicharski
24799
3
184
41
0
225
Le Solognot
25893
1
180
44
0
224
Das
26067
8
147
64
0
211
rickymex
24708
3
139
53
0
192
fauxcartograph
2348
3
148
38
0
186
S2SA
26070
4
165
16
0
181
kingfries
1956
12
127
50
0
177
theruler
12833
1
123
39
3
165
Drogda
15815
5
124
36
3
163
trabantemnaksiezyc
2161
1
111
36
1
148
Gustavo Rocha
26050
1
120
13
0
133
forkymapper
14790
2
82
36
0
118
orion78
1564
5
99
17
0
116
Gonzy
16354
3
63
44
0
107
Arbhin
25454
2
83
22
0
105
APP6A
14811
1
97
6
0
103
dfmeow
25033
1
79
8
0
87
deltanz
1438
4
57
21
0
78
RhodeIslandWV
25253
2
54
21
0
75
formamamat
26045
1
45
19
0
64
Hello2048440gn0285
23524
1
57
4
0
61
3236cuber
26104
2
51
3
0
54
orlPL
25460
1
42
8
0
50
dragonaut88
24934
4
46
2
0
48
jemily2
24713
2
37
7
0
44
ndgid
21484
2
29
8
0
37
GFS
26028
1
24
9
0
33
LELAION
26075
2
25
7
0
32
RH9
22241
3
26
3
0
29
Kisarazu Funya
26025
1
21
8
0
29
Knocko
25891
1
20
9
0
29
ADB52
4597
1
6
10
1
17
Fried Bananas
25949
2
7
4
0
11
哈布斯堡的忍之助
25899
2
7
2
0
9
japyeong131
26121
1
3
1
0
4
AtlanticIsles
25943
1
2
1
0
3
tom the windows man
26097
1
1
0
0
1
February, 2023, in OGF
display_name
user_id
count_changesets
count_nodes
count_ways
count_rels
count_objects
tars
10312
223
226412
5408
432
232252
elindio23
8153
70
206437
21622
59
228118
Luciano
294
39
185353
33494
435
219282
Izaland Terramorphing Committee
15584
108
119642
8916
269
128827
joebro
2580
21
109041
2269
66
111376
Liadrien
17542
73
106470
3917
231
110618
Huachachi
15931
135
96693
8655
337
105685
oneofbeatlefan
6427
33
90789
10304
78
101171
UN1TY
2194
135
75821
12728
51
88600
Bixelkoven
16933
44
76985
5504
237
82726
Rustem Pasha
4928
10
69934
8182
62
78178
Alexmar983
25870
472
61442
13307
159
74908
Davieerr
8029
134
56989
4707
74
61770
varnel_maiser
6691
107
58645
2900
154
61699
jl06
18719
61
53376
1660
73
55109
Geoc3ladus
14788
18
50946
1499
26
52471
Toadwart
2322
38
47187
4923
298
52408
Le Mathou
790
56
50694
1535
55
52284
ifgus
4790
52
44151
4541
42
48734
Fayaan
18131
326
37778
4004
209
41991
Mie
22733
47
37411
2996
410
40817
Halvarda
21685
56
39084
1333
106
40523
thermo_nuclear
2386
45
35603
1975
84
37662
Distel
23033
101
30770
5951
3
36724
Timboh
324
24
31161
4250
394
35805
chazeltine
7402
34
34899
736
70
35705
Hilsonbergman
6375
15
33146
1851
64
35061
ItsTybear
17286
103
20089
5188
43
25320
Anonymous21
23682
75
23488
1051
331
24870
eleinads
6085
120
19619
4688
16
24323
Leowezy
1267
78
20410
3529
47
23986
ShavedParm
25749
246
19331
4117
49
23497
Glauber
14612
41
19465
3597
63
23125
ante44
1822
20
21636
1476
9
23121
Gubble
2713
17
18453
3408
14
21875
Mantan
25551
67
19525
2277
43
21845
Arlo
10218
23
20943
583
59
21585
Rasmus Rasmusson
1139
180
15133
4144
9
19286
Vay
15996
21
16327
2600
60
18987
forkymapper
14790
5
18429
179
24
18632
sudo91
22243
27
16132
2353
44
18529
iBallasticwolf2
1355
22
17362
1146
3
18511
PaintedBlue
23793
77
17116
1138
31
18285
NM$l
25192
117
14661
3296
92
18049
Sweetykid
25913
70
14240
3204
20
17464
Infrarrojo
9678
33
15310
1449
17
16776
Pav
12292
113
14592
2021
14
16627
Lithium-Ion
22476
20
14866
1149
52
16067
Zytik
13652
5
15828
41
11
15880
MxCo
26119
70
10681
4049
79
14809
super_empath
25865
30
11535
2855
24
14414
plainoldbread
3272
13
12895
1268
3
14166
Enderbyte09
25083
22
12752
1198
37
13987
2amCereal
18270
8
12390
1347
91
13828
jjrc1996
20575
39
11472
2225
10
13707
indyroads
344
39
11814
1721
11
13546
lankusiek
23807
36
11811
888
8
12707
Kalh79
401
20
11928
204
26
12158
Soboko
8026
13
11135
595
0
11730
Reviriegu
25104
42
10312
1344
6
11662
kengoman
24572
14
9638
1671
99
11408
Fer Jiménez
20466
56
9284
2060
7
11351
Charlie
26149
21
8676
2526
0
11202
Sortsdam
25841
172
8351
2253
71
10675
diamantschiff
11298
43
9368
769
22
10159
Y Knott
1158
278
8228
1597
284
10109
CrisChoky
18079
2
9652
420
1
10073
Taka
14001
23
8372
1301
33
9706
BelpheniaProject
1020
4
8902
344
2
9248
Paul Pfh
23089
47
8157
1028
47
9232
Rhett McDonald I
25918
64
6950
1664
12
8626
Intergan
15076
10
7816
799
8
8623
No Way
1463
22
6998
1326
22
8346
快乐的老鼠宝宝
24171
105
7182
995
94
8271
Otto Yamamoto
1368
35
7180
984
6
8170
tparigo
1747
17
6297
1401
48
7746
Stephenplays
7055
54
6408
1320
4
7732
pablopilar
875
27
5986
1719
0
7705
shining-k
24800
43
5761
1608
6
7375
Eevee
7443
36
6329
785
2
7116
zhenkang
3225
18
6296
739
12
7047
makiodeblois
23546
44
5772
1249
0
7021
ruadh
2725
27
6181
628
100
6909
nsenx
26093
33
5836
953
30
6819
Aiki
2336
14
5869
639
166
6674
NorthTeaPower
14030
44
5405
1146
13
6564
Arq635
24043
19
5817
633
90
6540
P Gaillard
25179
14
5713
621
14
6348
mikumikumapper
25619
14
5374
939
15
6328
MarcustheMapper
13156
26
5538
745
0
6283
ciaosamuu
24620
29
5301
955
20
6276
Mapper89062
24351
24
4784
1399
7
6190
acv
24879
2
5881
272
3
6156
Masyas
26066
11
4856
1231
17
6104
jamigg
25347
7
5857
91
0
5948
poweikao
12084
6
5498
418
17
5933
faru
24926
5
4297
1624
0
5921
Dfltcher2
24710
31
4203
1661
0
5864
mapper941
25228
19
5235
606
4
5845
TGSpace
25394
17
4735
969
3
5707
Mapping Expert
17027
8
5099
583
1
5683
theCubic
24412
1
5550
111
0
5661
geoboi
5230
9
4958
482
108
5548
ParAvion
3527
8
4760
578
2
5340
Reece202
1514
8
4715
427
48
5190
DanDo
25243
16
4388
552
39
4979
Ernestpkirby
232
19
4568
393
1
4962
yong0315
26111
28
4051
380
0
4431
cheakshibe
26049
52
3793
619
12
4424
Souzzzzie
26176
18
3684
587
4
4275
TheSeamonster
25941
81
3383
811
42
4236
America
25550
34
2945
1255
21
4221
Mike’s World
14591
5
3956
260
0
4216
JustSomeMapper
26026
33
3417
746
13
4176
cartographersurgeon
25890
35
3097
1053
7
4157
james smith the great
26185
27
3286
746
22
4054
OhioRiverSSA
26088
14
3537
406
2
3945
sjk23
23494
9
3275
618
0
3893
PortCal
1477
30
3176
698
4
3878
gannman
2405
8
3384
421
0
3805
curiomap
11647
38
2921
854
0
3775
Sloyment
26087
39
2918
702
29
3649
理塘丁真
25542
8
3110
400
4
3514
AmpereBEEP
23019
21
2653
819
22
3494
roadyote
14592
15
2755
542
0
3297
Oriolet
4764
97
2637
557
1
3195
Christiaan de Vries
1228
62
2265
915
4
3184
antoon
217
3
1828
1204
0
3032
Fluffr_Nuttr
6846
2
2917
87
2
3006
Imperator
1141
1
2904
17
5
2926
TheMayor
14026
14
2398
494
21
2913
tistou26
22201
12
2523
338
2
2863
Öllöjoumi
10082
34
2370
486
4
2860
cya
26130
28
1992
850
12
2854
Ping_a_ding
25311
5
2311
522
0
2833
KTheBritMC
19188
10
2276
477
0
2753
ethanxman
2516
2
2368
222
0
2590
Lyriax
14982
10
2266
275
1
2542
SwissCrusader
12676
3
2138
333
4
2475
dsilcott
15620
19
1777
587
2
2366
23Hubin
25761
17
1715
636
0
2351
trussell2019
17416
24
1677
638
0
2315
Nikolia
3685
3
1965
331
0
2296
mrelpa
26140
7
1863
415
3
2281
drgtgd
24865
11
1947
315
1
2263
Gao07
26187
12
1788
456
1
2245
Vybranium
26206
12
1718
479
0
2197
stefano20p
25821
4
1887
278
0
2165
Mapputaniumist
26202
20
1552
564
0
2116
Alfred
14361
7
1638
386
0
2024
NvdW1997
25376
8
1810
182
2
1994
The Torontarian
19888
8
1508
452
0
1960
Tellis Joseph Frank
26151
26
1406
527
19
1952
Boge
224
8
1755
167
0
1922
Suettulanti
1390
11
1578
331
0
1909
Ejayy
25141
22
1318
586
0
1904
cloud_francis
26138
7
1396
506
0
1902
DT_Planner
25648
9
1769
109
4
1882
JSanchez
253
20
1504
365
9
1878
Jōvīst
6964
15
1148
683
1
1832
blz
24720
15
1098
700
1
1799
Easky30
18
12
1517
209
2
1728
jba487_14
6326
17
1278
440
0
1718
CharlieG
4058
2
1595
67
14
1676
KameKaza
25617
16
1305
301
14
1620
hallowed_embers
24992
6
1100
511
0
1611
Prem
21334
8
1358
250
0
1608
Black Baron
2822
20
1329
255
6
1590
Ecchi Kei
25847
11
1359
189
17
1565
Braddie
24279
4
1255
263
2
1520
ellocomigue
10830
14
1217
255
0
1472
xioma_sg
8636
4
1095
332
19
1446
hoodieman1250
26184
16
1070
345
1
1416
ElefantMapper
25653
5
1170
124
0
1294
Canada_LaVearn
22831
6
1157
126
6
1289
Qwertyuiop
6884
3
1017
204
0
1221
fivedollarlamp
21982
3
1059
162
0
1221
ThePhrogianOverlord
25594
4
1083
101
4
1188
MarchisioThePal
25969
6
979
188
1
1168
CaribbeanIslandMapper
25002
5
1079
65
6
1150
KAB
20875
4
878
125
1
1004
Jonesboro
14995
20
810
167
2
979
t833
19093
11
741
192
5
938
Brunanter
1761
11
754
170
0
924
Martinawa
11407
4
791
117
6
914
raxx
25343
20
563
291
0
854
Aces California
759
9
666
178
2
846
Zoro
25236
3
728
115
0
843
bhj867
178
3
828
11
0
839
confusedtoad
25218
7
602
216
2
820
AnimationSky
23612
2
680
113
3
796
Logan
25956
8
697
76
17
790
pzs111111
20225
1
638
144
0
782
Ūdilugbulgidħū
1602
1
752
2
0
754
coshatiuav
18421
3
699
50
3
752
skquinn
1192
29
470
254
2
726
Verkkuserkku
25787
17
492
182
0
674
Grif1n30
26198
35
535
114
0
649
BMSOUZA
954
7
566
69
0
635
iiEarth
12233
5
548
73
4
625
Ouponamap
25585
9
430
126
0
556
Szybki
24519
3
381
164
2
547
georgecg
1504
11
474
68
0
542
ChaoticwasTaken
25995
8
335
172
0
507
Bob Lee
18271
3
425
58
0
483
elabo
1434
12
356
84
0
440
fngf3501
25280
3
370
48
0
418
nehalem501
8554
6
343
74
0
417
NocoRoads
25882
4
335
67
0
402
PRASEOD-
26201
1
301
94
5
400
julijahaller
15972
3
374
21
0
395
seasvnz
25153
3
318
70
0
388
BlooXen
25715
7
299
77
3
379
Tahadagal
20218
1
318
44
13
375
cellularAutomaton
26146
8
309
60
0
369
BDoyle
17873
1
316
47
0
363
Kokerey
14213
4
284
67
0
351
ayamanao
25630
5
298
34
0
332
kingfries
1956
20
255
76
0
331
WoW
25408
1
246
70
0
316
ratsoff2u
1017
3
259
53
0
312
moots_126
26103
3
261
50
0
311
Nudelsuppe42
26181
5
232
59
1
292
Ilthracna
22530
1
196
90
0
286
ndi8093
24707
4
184
95
0
279
FRANK
26144
1
191
80
0
271
mstr
1973
5
228
5
1
234
mrpeanuts
9055
5
164
58
2
224
Inkwinter Ye
25597
1
181
33
0
214
Mahita
20854
6
123
63
7
193
NotLanoas
22969
5
141
42
0
183
andytws
26203
1
155
26
0
181
Koziu
24578
2
144
16
0
160
dragonaut88
24934
2
107
18
9
134
Ossi
25148
2
99
24
0
123
Arbhin
25454
5
97
24
0
121
DnaX
26142
1
91
30
0
121
tule00
1405
2
90
27
1
118
bootmii
2615
2
83
30
2
115
ADB52
4597
3
97
13
3
113
augg
26094
1
83
27
0
110
CheesyJeb
25950
1
98
11
0
109
fauxcartograph
2348
1
74
29
0
103
fedcd
25649
2
75
20
1
96
arnaudfrance
26145
5
68
22
1
91
Sarepava
239
1
78
11
0
89
Hashtags Mappings
25314
1
66
21
0
87
shmais
26165
2
61
13
0
74
marsomyx880
26150
6
59
12
0
71
James69UK
13705
1
69
1
0
70
Mauser
25990
10
46
23
0
69
Yamadaic
26183
3
43
17
6
66
JuLn
15225
1
53
5
0
58
John1985
3461
2
40
13
0
53
The_Cute_Chick
9172
1
1
47
0
48
Gonzy
16354
1
30
18
0
48
wangi
468
14
3
34
9
46
Turnsole80
1130
2
40
4
0
44
Crarji
22595
3
30
13
1
44
amicharski
24799
2
36
6
0
42
Delta13
26190
1
22
9
0
31
Portier
15365
2
22
5
0
27
Nickollas Matt
25656
1
18
8
0
26
jemily2
24713
1
18
1
0
19
bananaman101
25559
1
13
4
0
17
deltanz
1438
1
15
2
0
17
Yuanls
1459
1
9
8
0
17
RicardoNolazcoC
1582
1
15
1
0
16
jak
16
1
8
2
0
10
ndgid
21484
1
8
2
0
10
Miroslav Suchy
26174
1
6
3
0
9
sude
15789
1
7
1
0
8
thosehlar
1343
1
0
6
0
6
gbohflam
26135
1
2
3
0
5
swoop_hearts6224
26200
1
1
4
0
5
theruler
12833
1
0
4
0
4
admin
215
2
0
1
2
3
Punkmonkey22
20035
1
1
1
0
2
Knocko
25891
1
1
0
0
1
u5n7
24421
1
1
0
0
1
Notably, the active user counts for these two months are almost identical, with 279 for January and 281 for February.
For those who are interested in the technical side, here is a sample of the query I ran on the API database. It’s really quite simple once you get the syntax right.
select
users.display_name,
changesets.user_id,
count ( distinct objects.changeset_id ) as count_changesets,
sum ( objects.count_nodes ) as count_nodes,
sum ( objects.count_ways ) as count_ways,
sum ( objects.count_rels ) as count_rels,
sum ( objects.count_rels + objects.count_ways + objects.count_nodes ) as count_objects
from (
select
changeset_id,
count ( node_id ) as count_nodes,
0 as count_ways,
0 as count_rels
from nodes
where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28'
group by changeset_id
union select
changeset_id,
0 as count_nodes,
0 as count_ways,
count ( relation_id ) as count_rels
from relations
where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28'
group by changeset_id
union select
changeset_id,
0 as count_nodes,
count ( way_id ) as count_ways,
0 as count_rels
from ways
where visible = 't' and timestamp >= '2023-02-01' and timestamp < '2023-02-28'
group by changeset_id
) as objects
join changesets
on objects.changeset_id = changesets.id
join users
on changesets.user_id = users.id
group by
users.display_name,
changesets.user_id
order by
count_objects desc;
I decided to try to brush off some very rusty SQL skills and write a query against the OGF database to find out what our monthly active user counts looked like.
This data can only be compiled accurately for dates since the “migration”, which was in August, 2021. Before that changesets are not properly dated as they were all loaded at once from the old instance (Thilo’s) to the new instance (Luciano’s).
I decided to categorize unique user counts for each month by their “start year” (e.g. a user like myself would be under start year 2014). That way I could also see how old “generations” of users drop off over time.
I started with a nested SQL query, which is basically what I used to do professionally about 20 years ago, but it’s been a while since I wrote raw queries against complex data like this. It comes back fairly quickly though, and this is definitely the result of a little bit of trial and error. I’m working with two tables in the openstreetmap PostgreSQL database: users and changesets. I’m counting changesets by the month they occur and by a breakdown of users by when they started using the OGF site (with a special category for users who are “new” in the month they are active).
Here’s the query I made and ran at the PSQL prompt on the server (these data structures are all public knowledge, part of the OSM specification, so I don’t feel worried sharing it).
SELECT
t.changeset_month,
t.user_first_year,
t.new_user_flag,
COUNT(DISTINCT t.user_id) AS count_users,
COUNT(t.changeset_id) AS count_changesets
FROM (
SELECT
i.changeset_id,
i.changeset_month,
i.user_id,
LEFT(i.creation_month, 4) AS user_first_year,
CASE
WHEN i.creation_month = i.changeset_month
THEN 'new_user'
ELSE 'old_user'
END AS new_user_flag
FROM (
SELECT
to_char(changesets.closed_at, 'YYYY-MM') AS changeset_month,
changesets.user_id AS user_id,
changesets.id AS changeset_id,
to_char(users.creation_time, 'YYYY-MM') as creation_month
FROM changesets INNER JOIN users
ON users.id = changesets.user_id
WHERE changesets.closed_at >= '2021-10-01'::date
AND changesets.closed_at <= '2022-12-31'::date
) AS i
) AS t
GROUP BY
t.changeset_month,
t.user_first_year,
t.new_user_flag
ORDER BY
t.changeset_month,
t.user_first_year,
t.new_user_flag DESC;
I plugged these data into a spreadsheet, did a few changes and a pivot table. Here’s a graph of the result.
The top band, in light blue, is the “new users” band – these are users each month who are active in their first month of joining OGF. The lower bands represent each year back to OGF’s founding, in 2012 (there were only 2 users in the first year, Thilo and Joschi).
Based on that graph, I would say really OGF is quite stable. We acquire a certain number of new users each month, we lose about an equal proportion of old users, but some subset of long-term users stick around.
A few months back (in September), I finally received a new laptop computer, that I’d ordered last year. I’d ordered it so far in advance because the laptop is made by a new company that is making an effort to sell open source laptops that come “bare” (without operating systems installed). That company is called framework (link). I thought it was such a cool idea that, given that I was hoping to buy a new laptop anyway, I went to the effort to pre-order.
My last two laptops have both been lemons. There was the “XNote” – a South Korean domestic brand, which was just a piece of garbage running windows 7. And there was the rather pricey HP laptop I got right upon returning to the US in 2018, that had several disappointing issues (including a useless battery and having Windows 10 installed on it, which is a tautologically defective operating system). HP specifically managed to make the warranty service so arduous as to effectively prevent me from availing myself of it, so I was stuck with it. I’ve been using it, these past years, as a desktop (hence always plugged in, and therefore without any need for its broken battery). I reformatted the harddrive and put Ubuntu linux on it, and it runs fine, such as it is. But for what I paid, it remains an intense regret.
So I was in the market for a laptop, I guess. But it was in the back of my mind and a low priority. For financial reasons, too.
But this framework idea appealed to me. I have strong feelings about “open source” and “right to repair”, and this new company seemed committed to these principles.
I received the laptop with some internals uninstalled – so it was up to me to put it together: a kind of faux-“kit” computer. Here are some pictures. I installed the “hard drive” (actually solid state), the memory. The CPU and wifi were already in. I added some little plug-in doo-dads that make up the external plugs for it.
Once it was all together, I stuck in a USB stick with a Linux install ISO on it, and installed Ubuntu and got it working the way I like.
I held off reviewing it because once it was all set up, I didn’t use it very intensively for the following few months. But during my travels down south, last month, I got to use it quite intensively, and it proved 100% reliable and without disappointment. That’s the first computer in a decade and a half that I can say that about (“knock on wood”).
Here it is yesterday running some updates (at command prompt screen, of course). I like linux because I get to completely control that.
“A picture is worth a thousand words” – so goes the aphorism.
Today, I’m starting some necessary maintenance work on my “image server”. Note that on this here blog thingy, the pictures are hosted separately from the text. So the text of the blog will continue without problem, but there may be occasions for some users over the next several days when the pictures come up missing, or where your browser complains that links are broken. Please be patient. I’m moving the pictures to a new location and everything has to be redirected to point at the new location (this is what is called “DNS” in internet administration jargon).
I spent the day doing a very strange thing (for me): I was working in Microsoft Windows on my computer. I always use linux. I’ve been using linux at home quite consistently for 10 years now – I remember when I triumphantly installed it on my posh new home desktop in that old, run-down apartment in Juyeop in Korea in the Spring of 2012. I remember the smell of the street through the open windows and the sound of traffic.
But something prompted me to make sure the old Windows boot on my current desktop computer still worked, to run updates, to make sure I could at least do some basic stuff with it. I think I’ve been feeling that my computer skills have been getting “fragile” – that I depend too much on linux and suffer a lack of “tech resiliency”, or something like that. I want to remain able to adapt.
Windows is pretty sucky, but there have been some improvements. One thing that is to be found in recent windows versions: the so-called “Windows subsystem for linux (WSL)”, which allows a linux hacker like me to use familiar bash commands to do things while working in windows.
One thing that I did get working, somewhat unexpectedly: iTunes. Apple doesn’t make an iTunes version for linux, but it does make one for Windows, and I did get it working. I think this is important because Arthur’s capacity to navigate his quite baroque iTunes arrangement on his macbook sometimes seems dangerously compromised, and we somewhat rely on this for our evening entertainment (the ripped-and-stored TV shows and movies that we watch on his AppleTV).
So it’s good to have the possibility that I could host these TV shows if Arthur ever eventually decides to give up doing so, or simply can’t. I struck another blow against excessive “tech fragility”.
Castine is an imaginary country that once existed on the imaginary planet I prefer to call Ogieff. In fact, the imaginary planet doesn’t have an official name – it’s hosted at opengeofiction.net, which all the users call, simply, “OGF”. That initialism leads to my preferred name for the planet – just sound it out.
I joined OGF in 2014, and Castine appeared and began evolving some time in the year after that, I think – in 2015. I also became an admin on the opengeofiction.net website in that year.
During the period from 2015 to 2017, Castine became the locus of a kind of meta-proxy-war, where I used it as a stand-in for a never-ending argument I liked to have with my fellow OGF admins.
The issue in question was the rule about “verisimilitude”. I had long felt (and continue to feel) that OGF’s verisimilitude rule is a bad idea – it’s vague and impossible to enforce consistently. It has no objectivity. The principle is that mapping on the OGF world is supposed to be “realistic” in the sense that it eschews fantasy and sci-fi elements, and doesn’t contain cultural or cartographic artifacts that couldn’t reasonably exist in the real world. Hence, people who build 50 km bridges or tunnels are called out for violating verisimilitude, likewise more science-fictional elements like space elevators or fantasy elements like dens of dragons or nations of 1920’s-era talking sheep (all these examples really occurred at various times on the OGF planet).
Castine was (is) a borderline case of violating verisimilitude. Some users felt it violated the rule, others felt it was okay. My position was always something like: “since we can’t decide if this violates verisimilitude or not, but it’s really good mapping… c’cmon, people, let’s drop (or at least, fix) this stupid rule.”
Of course, this was an unpopular stance. And in the long run, I lost the battle to remove or even alter the verisimilitude rule on Ogieff, and I made my peace with it.
One way that I made that peace with it, was to create my own, separate planet! In 2016, I started the planet Arhet as a kind of alternative project to Ogieff. By 2018, it had several active mappers and its own emerging community. The principle concept behind Arhet is to be a kind of “libertarian” reinterpretation of OGF. It has very few rules: no verisimilitude rule, no assigned territories, etc. And somewhat to my own surprise, it sorta kinda works. The key to it working, I reckon, is that unlike OGF, Arhet is not “open” to any and all comers. There’s an application process to join, and although I enforce almost no rules for the planet, I do stand firm that arguments or disagreements between users that escalate to my remit will simply result in immediate banning of all parties. That keeps everyone participating on best behavior, I guess.
The irony is that then, in 2021, I took over the hosting of the original opengeofiction.net. So now I host a little federation of two imaginary planets, Ogieff and Arhet, which have substantially overlapping user communities but having quite different rule systems. And I’m okay about that. I inevitably yield to my fellow admins, whose hard work and dedication to the project I admire, when it comes to matters of rules and judgements on Ogieff. But off to the side, I run Arhet singularly, and I insist on its fundamentally anarchic state.
In around 2020, the creator of Castine (Ramasham) was banned from Ogieff – ultimately for violating another, different rule: the rule prohibiting direct upload of data copied from OSM. OSM is OpenStreetMap, which is a map of the Real World™ in the same technological vein as our two imaginary planets. This is the so-called “slippy map” paradigm, originally popularized by mapquest and perfected and dominated by google maps. OSM runs on and supports a whole complex ecosystem of software that is all open source, as a kind of alternative to google maps, and that’s why it’s easy (uh, “easy” in a financial sense, not “easy” in a technical sense) for us to use the same software to run OGF and Arhet.
Anyway, there is (and there has always been) a rule prohibiting copying OSM data into OGF. Ostensibly this is motivated by paranoia about copyright violation, but in fact copyright has little to do with it, in my own estimation – there are easy ways to avoid issues around copyright as long as you follow along with OSM’s “attribution and re-use” rules. The real motivation for the prohibition is legitimate, though: on OGF, we want to discourage mappers from spamming the planet’s map with cut-n-paste copies of real-world places. It’s low effort geofiction and discourages creativity.
That said, when I set up Arhet I decided to also not enforce OGF’s “no real-world (OSM) data” rule. And indeed I myself played around with cutting and pasting some data from OSM, including an ephemeral instance of country I called “Lingit Aani” (this is Tlingit language) – a copy of the islands of Southeast Alaska but minus any nearby continent, as an open-ocean archipelago. I later deleted this, but there are multiple copy-the-real-world geofiction projects going on in Arhet, these days, including clones of Sakhalin Island (Siberia) and Romania’s Bucharest, and at least two Polands – perhaps more.
I guess Castine’s creator, Ramasham, had been doing some copy-pasting of OSM data to increase the detail and complexity of Castine’s cartography. Notably, this airport is a modified cut-n-paste copy of one in the real world, with only the names of things altered. And so Ramasham was banned from OGF. Rules are rules, and that “no copy from OSM” rule is actually probably the most common reason for mappers to be banned from the site.
Now we come to February of this year (2022). The admin team at OGF, moving to “clean up” various abandoned territories around our (imaginary) globe, decided finally to delete Castine once and for all. And I had a moment of deep sadness and regret. Despite my having leveraged Castine back in 2016 as part of my proxy war with the other admins over the verisimilitude rule, in fact I really, really like Castine.
From a technical standpoint, Ramasham was at best a mediocre mapper. But the imaginary country is full of cartographic whimsy and playfulness, the naming is thorough and inventive and culturally intriguing, and the detail in some parts is quite incredible. I thought it was worth preserving.
So I considered: Ramasham’s ban from OGF was for violating the “No OSM data” rule; if there were any other issues with Castine, they were issues with the “verisimilitude” rule; so… hey – Arhet doesn’t have those rules!
The solution was obvious. I decided I’d move Castine to Arhet. And even more conveniently, the exact latitude and longitude of Castine’s old Ogieff location was open and unused on Arhet. I figured it should be quite easy to simply “cut-n-paste” the whole of Castine into Arhet.
Yikes! This turned out to be the far from the case – it was not easy. Not at all. Castine included almost 2 million distinct GIS objects: nodes, ways, relations. This was not trivial to simply cut, paste, and upload into the new site. And further, the data quality was quite poor, from a technical standpoint. Thousands of improperly stacked ways on shared nodes, hundreds of lazily-crafted or incomplete data relations, etc.
I have spent the last week in a kind of Alice-in-Wonderland nightmare of trying to rescue Castine and upload it to the Arhet planet. I think that as of this morning, that I have succeeded, but not before almost destroying the Arhet server altogether in the process.
Without going into a lot of detail, it seems that there were a couple of relations (a technical term in this case for a type of data object used in OSM GIS software) that were apparently so badly constructed that they broke the server’s database. Since I had to do a kind of trial-and-error search to finally identify these objects, it took a very long time. I’d upload some subset of the full Castine dataset, and watch to see if the database crashed or not. If it didn’t, fine, I’d try another set of data. If it crashed, I’d have to go back to the last backup of the server, restore it, and try again. I think I did a backup-restore cycle maybe 12 or 14 times over the last week on the Arhet server. It was painful, and tedious, and immensely frustrating.
The crash-provoking objects in question are puzzling. I still don’t understand why they crash the database. And given my difficulties in identifying them (and surviving them – see below), I probably won’t spend time, any time soon, trying to figure them out. They are “Giant Chessboards” – three of them. Interestingly, Castine also has other “Giant Chessboards” (e.g. here) that do not cause any kind of data problem. They are apparently implemented differently, in their details.
The problem was compounded yesterday, when, much to my shocked dismay, the server-level backup-restore functionality offered by my hosting provider, Linode – that I’d been so repeatedly abusing – suddenly and inexplicably failed to work.
So for a day (yesterday) the world was Arhetless. The server was down. I was in a panic because it seemed I’d have to fully rebuild the server from scratch. And it was only pure luck that I even had a copy of the map data, because I was still running a kludgey render engine (map drawing process) for Arhet on a different machine.
I wrangled with tech support at Linode, and they finally held my hand (or was it that they held my server’s hand?) through a successful if stressful restoration of the server’s image.
Let’s just say, these days Castine now has a quite colorful meta-history.
I reached out to the creator of Castine, sending an email to the address on record at OGF, announcing its restoration in Arhet. I would absolutely welcome and be pleased if that person would come back and take up work on the country, again – they won’t be constrained by the rules and regulations on Ogieff. Unfortunately I haven’t heard back. I speculate that there might be some bitterness about the whole business of having been first praised and then banned, back a few years ago.
Please feel free to explore. I decided not to bother with adding extensive screenshots for this blog post – the point of having the Castine map hosted on the server is that you can explore easily directly on the website.
Happy mapping.
What I’m listening to right now.
Dawg Yawp, “Lost At Sea.”
Lyrics.
[Intro]
Tk tk
Hey! Hey!
[Verse 1]
Lost at sea
Is where you'll find me
It's got everything I want
But nothing that I need
[Verse 2]
Does anybody feel
All this talk ain't real?
Does anybody see
That the truth is in the mystery?
Could it be sweet
Standing on my feet?
[Chorus]
I don't know, but I'm gonna try
Thinkin' up ways not to wash up in alive
(Could it be sweet?)
Everybody's tellin' me it's not too hard
If you keep swimmin' it don't seem far
[Verse 3]
There's a place you can go
Where you'll never be alone
And you'll always be free
Lost at sea
Could it be sweet
Lost at sea?
[Chorus]
I don't know how they're gonna find me
Now I'm lost at sea and there's no way to deny
(Could it be sweet?)
If I'm ever talkin' like I don't care
Look at me and smile, baby
Take me there
I have been trying to develop some user-friendly documentation for the map layers on the main opengeofiction.net website (where I am server host and technical administrator). I have written quite a bit over the last 24 hours, and posted it to two articles on the OpenGeofiction wiki.
This video intrigued me more than I expected it to. The guy is “hacking” one of those hardware wallets for cryptocurrency. He’s doing it for a fee, at the request of the device’s owner (because he lost his password), so this is “white hat” hacking.
The guy in the video reminds me a lot of my good friend Mark, in certain aspects of not just professional capacity but also personality.
What follows will make no sense to you if you are unfamiliar with Conway’s “Game of Life” or don’t know what Lisp is.
Conway’s Game of Life is a very simple “cellular automaton” that is known to be Turing Complete. See wikipedia.
Lisp is a high-level computer programming language, quite revolutionary in its time and one of the oldest computer programming languages still in wide use. See wikipedia some more.
Long ago, I was a “Lisp hacker” – I wrote programs in Lisp. Specifically, as an undergraduate linguistics major (and computer science minor) at the University of Minnesota in the 1980’s, I wrote complex programs that could parse a tiny subset of highly ambiguous English syntax, centered on the multivalent nature of the word “that“. That was my senior thesis, that I prepared for Professor M. Kac, my advisor: it was a 50 page paper with an appendix in the form of a compilable Lisp program that was at least another 50 pages, printed out. I have a recollection that at one point, my program while in development caused the mainframe (yes, I was working on, I think, some kind of VAX at the time) to crash or something, and Dr Kac got a call in the middle of the night from the computer department at U of MN asking what in the world I was working on. In fact it wasn’t an infinite loop, but rather, a very very very long loop, and so the system admin had flagged it as de facto infinite.
That’s a digression.
Yesterday I found an article about a guy who has implemented a simple Lisp interpreter using Conway’s Game of Life. This is weird. But very cool and amazing. Here is a video of a very simple lisp program running that multiplies two numbers.
Another digression: given that Conway’s Game of Life is Turing complete, and given that the universe seems to be Turing complete, what if the universe is a simulation running on some really giant Conway’s Game of Life?
Today, I read an article about using a commercial relational database to process large (very large) linear algebra problems. These type of linear algebra problems, often with 1000’s of dimensions (rows x columns) in matrices, are typically found in running neuron-net simulations such as are used in contemporary machine-learning algorithms (the type of of tools behind the magic of e.g. google translate).
The article can be found here. I suppose the reason I read it at all is because I used to work with relational databases, and I have a vague but slightly comprehensible memory of the principles of linear algebra, it being one the few advanced math topics I actually mastered before my college math-major career crashed and burned in 1984. I don’t claim any deep understanding, but I liked the idea of hacking a relational database to do this other type of work – it definitely feels like a kind of “hack” – but a useful one that could end up making large neural-net algorithms more manageable, which opens the way for new, more complex machine-learning applications. Useful hacks often become state-of-the-art for the following generation of programmers, and get grandfathered into important processes, languages and applications. The whole thing just sort of hovers there on edge of understanding, which seems to be where I generally situate my technical reading, these days.
Arthur has struggled, recently, with issues with his old printer that he has set up down in the kitchen. Several times I tried to figure it out, but at least once he reset things such that whatever I had done failed again.
Rather than make a battle over “printer configuration” I decided to proactively buy my own printer. It came in the mail a few days ago, and today, Arthur wanted to print something. So I set the new printer up, upstairs in the main room, but made sure it worked from his computer too. It took a bit of finagling to get the printer to connect to the wifi network – the instructions that came with the printer were quite opaque and atrocious. But once that was accomplished, it worked quite beautifully. Both Arthur and I successfully printed things to the new printer from our respective computers.
Wednesday night has become “server maintenance night” for my opengeofiction.net website hosting project. With more than 200 active users, there has to be a fixed time that is announced in advance for server updates, changes, tests and reboots. We have settled on 0400 Thursdays UTC, which comes down to 8 PM Alaska Daylight Time (next week that’ll be 7 PM Alaska Standard Time).
Last night what was hoped to be just a regular backup and reboot of the main server, and a “refresh” of the carto (map rendering i.e. map-picture-drawing) server turned into an all-night odyssey, as I struggled with a bizarre failure on the render server that pushed me to having to restore the whole server from the previous night’s automated backup. I still don’t know what went wrong – the render program refused to restart after the manual reboot which was part of the render server “refresh.” As is so often the case with these Linuxy-sysadmin problems, I suspect something went awry with file permissions.
Anyway, it was one of those proverbial IT adventures, and with my normally very fixed, habitual sleep times, I made and drank some coffee late in the night in order to be able to stay awake to do what needed to be done, which further messed up my sleep when I finally was able to go to sleep. So now I’m… messed up, sleepwise.
There’s a less personal and more upbeat mention of the event, posted to my other blog, here, which was also cross-posted to the “User Diaries” on the OpenGeofiction server, here.
I have configured a new service for my blog, this here website (i.e. caveatdumptruck.com).
Really, I’m testing it, curious as to whether it works. Cloudfare is a service that protects websites from certain types of hacking attacks (typically, what are called DDoS attacks), and also helps improve delivery of webpages all over the world by maintaining a network of caching servers of a sort. I want to know how it works, before perhaps trying it out on the mapping website I am now hosting – I have the unconfirmed suspicion that the mapping site, with several hundred users in 30 countries, is more vulnerable to this type of attack than many other websites, smaller or larger – it’s in a kind of “sweet spot” of vulnerability.
So I thought to use this blog as a low-traffic place to do an experiment with it.
For you, the loyal blog-reader, the change should be utterly transparent. Which is to say, if it’s working correctly, you should see no difference. And if it’s not working correctly, probably you won’t see this at all – at least not in a timely manner! And I’d have to fix it, then, reverting back to the status quo ante.
Anyway, there you have. Caveatdumptruck, cloudflared.
I had a crisis on the map server last night and this morning, with the tool called “certbot” – a tool we use on the server to make sure the OGF webpages are secure (“https”). And that also caused problems with our automated emailing from the server, which supports functions like new user sign up, lost password recovery, and replication monitoring (making sure data goes over to the render and to overpass correctly). I had to shut down the server without much advance notice – I was worried the problem was worse than it was, and so I was trying to solve it quickly. So that was an issue for the users.
Meanwhile, we’re having a big storm here, weather-wise. The marine forecast was calling for 40-foot swells on the open ocean here, and up to 10-foot swells right on Bucareli Bay, at the mouth of Port Saint Nick.
Our neighbors-down-the-road, Fred and Pat, were concerned about the impact of high seas and wind on their boat, so they asked Art if they could park their commercial fishing craft at our dock. Of course we are happy to help – they’ve done it before – Arthur has the most sheltered dock of all of Port Saint Nick, because we are the farthest inland, at the head of the fjord. Anyway, it’s turnabout – Pat’s the one who rescued me when I got the blueberry (Art’s Chevy Tahoe) stuck in a snowbank a while back.
So Fred and Pat parked their big boat at the dock, after we moved Art’s smaller boat off to one side.
I associate the FORTRAN computer programming language with the 1980’s. It was already looking a bit long in the tooth when Michelle took a course on it at Univ of Minnesota in the mid 1990’s (and where I dipped my hand in it, because… well, Michelle and I did a lot of things together). It was still being used for business and scientific applications.
This tree (an abstraction, admittedly) represents the status of the apache (webserver) services on my main server for the new website.
Today was not normal not just because of software woes.
Arthur went to see the VA audiologist in Ketchikan. Mid-day appointments in Ketchikan are possible, but involve a full-day’s journey. I drove Art to the ferry this morning, leaving the house as 5:45 AM. His ferry trip embarked at 8, he arrived in Ketchikan at 11, he had his appointment at 12, he got on the return ferry at 3:30, I picked him up at 6:30, and we got back to the house at 8 PM.
Arthur was tired but, he said, they had finally helped him to adjust his hearing aids better. This is amazingly good news! We’ll see how it pans out. They also told him that his hearing had worsened quite a bit – which wasn’t news to me, but was, of course, news to him. But now maybe, hopefully, he’ll wear his now better-working hearing aids more often.
Today has been stressful. But stress “of my own creation,” for a change – since it has been about this volunteer systems administrator role I’ve taken on for this new version of the old website.
The website crashed this morning. In a way where I didn’t understand what was going on, where we had to take it offline and study the problem with limited resources, where we had to deal with all the customers (users – these are not paying customers, it’s a free site) who wanted to know what was going on.
We made progress on diagnosing the problem, but the site is still offline. Tomorrow I’ll work on trying to get it back up and available again.
So far the site is working okay. Not great, just okay. There are some issues.
The ActionController::InvalidAuthenticityToken is frequent and painful, for users.
Possibly related to the above – users keep getting forcibly logged out, over and and over.
The render is still playing catchup on the whole world map, and seems to be lagging around 2 hours for high zooms.
Incoming email is completely broken – possibly due to errors in the DNS tables at the opengeofiction.net registrar (and we’re waiting on the old host to fix this)
Outgoing email is problematic for some substantial portion of users due to over-aggressive anti-spam efforts by several major email providers, including Apple (icloud) and Microsoft (hotmail, outlook, live). I’m not even sure how to begin fixing this. I’ve implemented DKIM, but this also relies on fixing DNS errors which are not currently being fixed, and that might help. I’ve looked into a blacklisting of my email server by spamhaus.org and discovered it is due to my email server sharing the same IP range with a Nigerian Prince or somesuch in the server farm where it lives.
Work continues. Meanwhile, to all the users of OGF: “Happy mapping!”
I have always operated under a pseudonym on my geofiction websites. But as of today, as I become the official host of the main site, opengeofiction.net, I had to depseudonymize myself – because a person hosting a website on a server with many users in countries all over the world has a sort of obligation toward transparency. This isn’t precisely a legal requirement – though who knows, with so many different jurisdictions involved. But it feels like at the least a sort of ethical requirement.
Opengeofiction.net was created in Germany by a guy named Thilo in 2012. I joined the site in early 2014, and served for many years as a volunteer administrator. Recently, Thilo has become disillusioned (or otherly-illusioned) and no longer wanted to maintain the site. But with hundreds of active users, it seemed unkind to shut the thing down. So I have taken it over, along with some colleagues, also fellow volunteer administrators. Effective today, the site is hosted on a couple of my servers down in California, and I’m the lead technical support.
This is not about making money, exactly. Though I expect some donations to help me at least break even on the rent for the servers.
Here is a screenshot of the “contact” page from the site – showing me depseudonymized for my fellow geoficticians.
This tree – located at the center of this map screenshot – is imaginary: a real dot on a real map of an imaginary place.
I placed this tree earlier today because I am testing the functionality of the new opengeofiction map server. As of right now, the “old” server is down. The new server is running, but only in testing mode, so I won’t place a link. I’ll add a link to the tree on the map server when it goes “live” – maybe later tomorrow or Sunday. This is part of a long ongoing project, mentioned before, to build a replacement website for opengeofiction. The moment of truth approaches…
The field of computer programming is not immune from the coming automation-of-everything.
In this video, some guys demonstrate the current state-of-the-art in computer programs that are able to write computer programs. Which sounds weird and tautological. But it’s kind of cool to watch.
At the end, they use their computer programming computer program to use Microsoft Word, which long ago became too complicated for humans to use effectively anyway. So now… they have made a program that can operate Microsoft Word in response to your instructions. Progress!
This quote is relevant, and I like it a lot, by one of my favorite contemporary bloggers:
“Computers are just going to get better and better at stuff, and at some point probably they’ll be as good as humans at various things, and if you ask them if they’re self-aware they’ll give some answer consistent with their programming, which for all I know is what we do too.” – Scott Alexander