1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
4377
4378
4379
4380
4381
4382
4383
4384
4385
4386
4387
4388
4389
4390
4391
4392
4393
4394
4395
4396
4397
4398
4399
4400
4401
4402
4403
4404
4405
4406
4407
4408
4409
4410
4411
4412
4413
4414
4415
4416
4417
4418
4419
4420
4421
4422
4423
4424
4425
4426
4427
4428
4429
4430
4431
4432
4433
4434
4435
4436
4437
4438
4439
4440
4441
4442
4443
4444
4445
4446
4447
4448
4449
4450
4451
4452
4453
4454
4455
4456
4457
4458
4459
4460
4461
4462
4463
4464
4465
4466
4467
4468
4469
4470
4471
4472
4473
4474
4475
4476
4477
4478
4479
4480
4481
4482
4483
4484
4485
4486
4487
4488
4489
4490
4491
4492
4493
4494
4495
4496
4497
4498
4499
4500
4501
4502
4503
4504
4505
4506
4507
4508
4509
4510
4511
4512
4513
4514
4515
4516
4517
4518
4519
4520
4521
4522
4523
4524
4525
4526
4527
4528
4529
4530
4531
4532
4533
4534
4535
4536
4537
4538
4539
4540
4541
4542
4543
4544
4545
4546
4547
4548
4549
4550
4551
4552
4553
4554
4555
4556
4557
4558
4559
4560
4561
4562
4563
4564
4565
4566
4567
4568
4569
4570
4571
4572
4573
4574
4575
4576
4577
4578
4579
4580
4581
4582
4583
4584
4585
4586
4587
4588
4589
4590
4591
4592
4593
4594
4595
4596
4597
4598
4599
4600
4601
4602
4603
4604
4605
4606
4607
4608
4609
4610
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
4622
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
4655
4656
4657
4658
4659
4660
4661
4662
4663
4664
4665
4666
4667
4668
4669
4670
4671
4672
4673
4674
4675
4676
4677
4678
4679
4680
4681
4682
4683
4684
4685
4686
4687
4688
4689
4690
4691
4692
4693
4694
4695
4696
4697
4698
4699
4700
4701
4702
4703
4704
4705
4706
4707
4708
4709
4710
4711
4712
4713
4714
4715
4716
4717
4718
4719
4720
4721
4722
4723
4724
4725
4726
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4745
4746
4747
4748
4749
4750
4751
4752
4753
4754
4755
4756
4757
4758
4759
4760
4761
4762
4763
4764
4765
4766
4767
4768
4769
4770
4771
4772
4773
4774
4775
4776
4777
4778
4779
4780
4781
4782
4783
4784
4785
4786
4787
4788
4789
4790
4791
4792
4793
4794
4795
4796
4797
4798
4799
4800
4801
4802
4803
4804
4805
4806
4807
4808
4809
4810
4811
4812
4813
4814
4815
4816
4817
4818
4819
4820
4821
4822
4823
4824
4825
4826
4827
4828
4829
4830
4831
4832
4833
4834
4835
4836
4837
4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
4868
4869
4870
4871
4872
4873
4874
4875
4876
4877
4878
4879
4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
4895
4896
4897
4898
4899
4900
4901
4902
4903
4904
4905
4906
4907
4908
4909
4910
4911
4912
4913
4914
4915
4916
4917
4918
4919
4920
4921
4922
4923
4924
4925
4926
4927
4928
4929
4930
4931
4932
4933
4934
4935
4936
4937
4938
4939
4940
4941
4942
4943
4944
4945
4946
4947
4948
4949
4950
4951
4952
4953
4954
4955
4956
4957
4958
4959
4960
4961
4962
4963
4964
4965
4966
4967
4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
5009
5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
5036
5037
5038
5039
5040
5041
5042
5043
5044
5045
5046
5047
5048
5049
5050
5051
5052
5053
5054
5055
5056
5057
5058
5059
5060
5061
5062
5063
5064
5065
5066
5067
5068
5069
5070
5071
5072
5073
5074
5075
5076
5077
5078
5079
5080
5081
5082
5083
5084
5085
5086
5087
5088
5089
5090
5091
5092
5093
5094
5095
5096
5097
5098
5099
5100
5101
5102
5103
5104
5105
5106
5107
5108
5109
5110
5111
5112
5113
5114
5115
5116
5117
5118
5119
5120
5121
5122
5123
5124
5125
5126
5127
5128
5129
5130
5131
5132
5133
5134
5135
5136
5137
5138
5139
5140
5141
5142
5143
5144
5145
5146
5147
5148
5149
5150
5151
5152
5153
5154
5155
5156
5157
5158
5159
5160
5161
5162
5163
5164
5165
5166
5167
5168
5169
5170
5171
5172
5173
5174
5175
5176
5177
5178
5179
5180
5181
5182
5183
5184
5185
5186
5187
5188
5189
5190
5191
5192
5193
5194
5195
5196
5197
5198
5199
5200
5201
5202
5203
5204
5205
5206
5207
5208
5209
5210
5211
5212
5213
5214
5215
5216
5217
5218
5219
5220
5221
5222
5223
5224
5225
5226
5227
5228
5229
5230
5231
5232
5233
5234
5235
5236
5237
5238
5239
5240
5241
5242
5243
5244
5245
5246
5247
5248
5249
5250
5251
5252
5253
5254
5255
5256
5257
5258
5259
5260
5261
5262
5263
5264
5265
5266
5267
5268
5269
5270
5271
5272
5273
5274
5275
5276
5277
5278
5279
5280
5281
5282
5283
5284
5285
5286
5287
5288
5289
5290
5291
5292
5293
5294
5295
5296
5297
5298
5299
5300
5301
5302
5303
5304
5305
5306
5307
5308
5309
5310
5311
5312
5313
5314
5315
5316
5317
5318
5319
5320
5321
5322
5323
5324
5325
5326
5327
5328
5329
5330
5331
5332
5333
5334
5335
5336
5337
5338
5339
5340
5341
5342
5343
5344
5345
5346
5347
5348
5349
5350
5351
5352
5353
5354
5355
5356
5357
5358
5359
5360
5361
5362
5363
5364
5365
5366
5367
5368
5369
5370
5371
5372
5373
5374
5375
5376
5377
5378
5379
5380
5381
5382
5383
5384
5385
5386
5387
5388
5389
5390
5391
5392
5393
5394
5395
5396
5397
5398
5399
5400
5401
5402
5403
5404
5405
5406
5407
5408
5409
5410
5411
5412
5413
5414
5415
5416
5417
5418
5419
5420
5421
5422
5423
5424
5425
5426
5427
5428
5429
5430
5431
5432
5433
5434
5435
5436
5437
5438
5439
5440
5441
5442
5443
5444
5445
5446
5447
5448
5449
5450
5451
5452
5453
5454
5455
5456
5457
5458
5459
5460
5461
5462
5463
5464
5465
5466
5467
5468
5469
5470
5471
5472
5473
5474
5475
5476
5477
5478
5479
5480
5481
5482
5483
5484
5485
5486
5487
5488
5489
5490
5491
5492
5493
5494
5495
5496
5497
5498
5499
5500
5501
5502
5503
5504
5505
5506
5507
5508
5509
5510
5511
5512
5513
5514
5515
5516
5517
5518
5519
5520
5521
5522
5523
5524
5525
5526
5527
5528
5529
5530
5531
5532
5533
5534
5535
5536
5537
5538
5539
5540
5541
5542
5543
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566
5567
5568
5569
5570
5571
5572
5573
5574
5575
5576
5577
5578
5579
5580
5581
5582
5583
5584
5585
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
5609
5610
5611
5612
5613
5614
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
5641
5642
5643
5644
5645
5646
5647
5648
5649
5650
5651
5652
5653
5654
5655
5656
5657
5658
5659
5660
5661
5662
5663
5664
5665
5666
5667
5668
5669
5670
5671
|
==============================================
Dialog On Software Project Management
==============================================
:Authors: Hui Lan (lanhui at zjnu.edu.cn)
:Version: 0.0.9 of 2020-03-24
.. contents:: Table of content
Preface
=========
This book contains a series of special lecture notes in a dialog form on software project management during the Great Lockdown period due to the outbreak of 2019 novel coronavirus.
Monday, 24 February 2020
========================
Morning section
-----------------
*Discussing communications method - Reuse old project - Atomic commit - Old plan getting outdated very soon - People factor - Feature creep - Bloatware - Proprietary software - Positive reinforcement - Seemingly free but not actually free - No free lunch theorem - Netscape versus Microsoft on the web browser market share - Bundle sale of software products*
1525200991(1525200991)10:21:32
@蓝老师 Good morning. Some students can't access the QQ group and they wish if you could use DingTalk instead, it's more accessible for them
(2459455104)10:28:52 good morning laoshi i have an error on the site
Samantha 201632120140(2459455104)10:29:06 yes ding talk works for me too
蓝老师(1348141770)10:29:43 Sorry I don't have DingTalk.
蓝老师(1348141770)10:30:15 Don't enter Password at kiwiirc.com
ibrahim(1525200991)10:30:41 and we can't find the channel on freenode network
ibrahim(1525200991)10:31:36 it's available in Nettalk(which is empty)
蓝老师(1348141770)10:32:42 In the bottom panel of the Nettalk software. Enter the following three commands in sequence.
蓝老师(1348141770)10:33:19 /server irc.freenode.org
蓝老师(1348141770)10:33:29 /nick MY_REAL_NAME
蓝老师(1348141770)10:33:37 /join #spm
蓝老师(1348141770)10:34:55 If you use the online client https://kiwiirc.com/nextclient/
nainezz(2407048879)10:35:33
Are we using qq or nettalk
蓝老师(1348141770)10:36:25 We will primarily use QQ.
ibrahim(1525200991)10:37:18
ibrahim(1525200991)10:37:25
@蓝老师
软英171郑洪宇(1633787262)10:38:18
@蓝老师 连不上诶
蓝老师(1348141770)10:38:41 You can. I believe that.
陈真赐(1312502742)10:39:20
haha
蓝老师(1348141770)10:39:34 Hi guys. Let's wait for five minutes for more people to come.
软英171郑洪宇(1633787262)10:40:44
一直ing
Npl.(593635848)10:41:03
大家好,我是邵天扬
系统消息(10000)10:41:03
Npl.加入本群。
张滨(2350711965)10:41:04
大家好,我是张滨。
系统消息(10000)10:41:04
去年今日加入本群。
软英171高增(1520653544)10:41:07
软英171高增(1520653544)10:41:19
I can
蓝老师(1348141770)10:41:44 Anyway, we are going to use QQ Group primarily.
蓝老师(1348141770)10:41:57 IRC channel is for people who could not connect to QQ Group.
软英171周仙龙(1748153603)10:42:09
Connecting...
蓝老师(1348141770)10:43:40 I am not very familiar with QQ Group. You should pardon me if I appear to be slow in response.
软英171高增(1520653544)10:44:09
so,if we can use QQ,we needn't use IRC?
Saeed : 201732120146(446571011)10:44:10
freenode :what is that for ?
Samantha 201632120140(2459455104)10:45:15
keeps on saying connecting then still gives error so will fix it later since we will do class here
蓝老师(1348141770)10:45:15 A freenode IRC channel is like a chatting room. But since we have QQ group, we will use QQ group.
Samantha 201632120140(2459455104)10:45:25
蓝老师(1348141770)10:46:01 OK. Guys. If you have QQ access, you are fine. If you (or your friends) do not have QQ access, you are fine too.
蓝老师(1348141770)10:46:23 I will post our talking scripts after class.
Saeed : 201732120146(446571011)10:46:37
ok
蓝老师(1348141770)10:46:44
蓝老师(1348141770)10:47:01 I guess everyone knows our course home page. The third bullet.
ALBOROM WARD-201732120143家长(3279308836)10:47:20
yes
蓝老师(1348141770)10:47:24 The home page is the main place where I post quizzes, assignments, etc.
ibrahim(1525200991)10:47:29
yes
Saeed : 201732120146(446571011)10:47:42
yes
蓝老师(1348141770)10:47:50
蓝老师(1348141770)10:48:29 Here is the textbook. I think it is great. It has a French translation -- good news for a number of students who speak French).
ibrahim(1525200991)10:48:30
sure
蓝老师(1348141770)10:48:54 It also has a Chinese translation. Unfortunately, I don't know how to make a PDF file from the XML files.
Saeed : 201732120146(446571011)10:49:29
Arabica
蓝老师(1348141770)10:49:34 I plan to use this textbook, plus some essays on software project management.
Saeed : 201732120146(446571011)10:49:51
蓝老师(1348141770)10:50:05 Remind me to create quiz 2 submission portal on LRR.
蓝老师(1348141770)10:50:49 So I put more weight on Final Examination than before, 10% more.
蓝老师(1348141770)10:51:07 The reason is that I want you to do more independent reading.
软英171高增(1520653544)10:51:30
teacher,I think you can use QQ phone
蓝老师(1348141770)10:51:42 Quizzes are easy. Most people can get full marks I think, as long as your answers make sense (and are Short).
ibrahim(1525200991)10:52:38
yes
201632120150-Ashly(1661411131)10:52:40
Yes
Saeed : 201732120146(446571011)10:52:41
Yes
201732120135 玛莎(3534763826)10:52:44
yea
蓝老师(1348141770)10:52:45 Not good at sound, video stuff.
ALBOROM WARD-201732120143家长(3279308836)10:52:46
Yes
201732120168_Golden(2984538488)10:52:52
Yes
软英171 郑可富(1924773187)10:52:52
Yes
nainezz(2407048879)10:52:55
@蓝老师 Yh 201732120147
Anderson (3034352269)10:53:01
Laoshi so what do we do since we can’t connect to the free node?
Samantha 201632120140(2459455104)10:53:03
yes
201732120134_Michelle(3304952232)10:53:05
yes
蓝老师(1348141770)10:53:19 My sound is badly distorted.
蓝老师(1348141770)10:53:28 Don't you think so?
Saeed : 201732120146(446571011)10:54:22
It’s good
蓝老师(1348141770)10:54:32
张滨(2350711965)10:54:35
Yeap
ALBOROM WARD-201732120143家长(3279308836)10:55:00
Yeah
蓝老师(1348141770)10:55:27 We are going to have 7-10 quizzes.
蓝老师(1348141770)10:55:47 We already have 2 now.
蓝老师(1348141770)10:56:06 You guys submit to LRR before the deadline.
蓝老师(1348141770)10:56:19 Course code: CSC322.
蓝老师(1348141770)10:56:34
蓝老师(1348141770)10:56:39 Course project.
蓝老师(1348141770)10:56:58 You can re-do stuff you did in my OOAD class. Just make sure it is better.
蓝老师(1348141770)10:57:28 Most people did poorly in our OOAD project, particularly the part about commit messages.
蓝老师(1348141770)10:58:14 I hope you can understand the importance of atomic commits and use that concept in practice.
蓝老师(1348141770)10:58:21 ATOMIC COMMIT
ALBOROM WARD-201732120143家长(3279308836)10:58:40
Is it so important Laoshi?
蓝老师(1348141770)10:58:48 I am quite flexible on group size. 1,2,3,4, all acceptable.
蓝老师(1348141770)10:59:12 Quite important, for future maintainers.
蓝老师(1348141770)10:59:35 I am a bit worried about how you are going to collaborate remotely.
蓝老师(1348141770)10:59:57 But coronavirus is giving us a great chance to test that out.
蓝老师(1348141770)11:00:16 China's remote learning might become world-class after this epidemic.
201732120147 Anderson (3034352269)11:00:51
DingTalk
201732120147 Anderson (3034352269)11:01:06
Is good laoshi
蓝老师(1348141770)11:01:07 No country in the last century has suffered such a shutdown - everyone is forced to stay at home.
蓝老师(1348141770)11:01:34 Thank you, DingTalk guy. Not going to use that now.
系统消息(10000)11:01:46
马龙加入本群。
FADHEL ABDULLAH(3071163205)11:01:46
大家好,我是FADHEL ABDULLAH 。
Saeed : 201732120146(446571011)11:01:58
@FADHEL ABDULLAH
蓝老师(1348141770)11:02:07 Welcome FADHEL ABDULLAH
蓝老师(1348141770)11:02:31 So you have a great advantage since you have taken my OOAD course.
蓝老师(1348141770)11:02:48 You could continue to work on the OAPS project.
蓝老师(1348141770)11:03:30 Make sure you make it better, e.g., better commit messages, better comments.
Samantha 201632120140(2459455104)11:04:08
okay
蓝老师(1348141770)11:04:42 This is something we need to worry later. Hopefully we can have an on-site exam.
201632120150-Ashly(1661411131)11:05:36
For maintaining the LRR, are the files uploaded the most recent updates?
蓝老师(1348141770)11:05:37: Probably not. I will upload the most updated LRR source code shortly. Remind me if I forget.
蓝老师(1348141770)11:05:37 If not, I plan to do takehome exam. That is, I give you a really long exam booklet, and you finish it in one day.
201732120147 Anderson (3034352269)11:05:58
蓝老师(1348141770)11:05:58 You finish it in one day, without consulting to external resources.
Saeed : 201732120146(446571011)11:06:04
Good
蓝老师(1348141770)11:06:16 You may need to sign something, e.g., Code of Conduct.
蓝老师(1348141770)11:06:21 Hope that won't happen.
Saeed : 201732120146(446571011)11:06:26
Not good
蓝老师(1348141770)11:06:30 Let's take a five-minute break.
201732120134_Michelle(3304952232)11:06:46
OK laoshi
蓝老师(1348141770)11:06:52 Will be back at 11:11am.
ALBOROM WARD-201732120143家长(3279308836)11:06:59
Ok
AHAMED SABUJ妈妈(2686217157)11:08:12
大家好,我是AHAMED SABUJ的妈妈。
系统消息(10000)11:08:12
201732120141-AHAMED SABUJ加入本群。
Samantha 201632120140(2459455104)11:09:33
好的
yahya22(1714796258)11:09:44
when are we supposed to submit quiz 2?
Saeed : 201732120146(446571011)11:10:11
Will create Quiz 2 late today.@蓝老师
ALBOROM WARD-201732120143家长(3279308836)11:10:11
Check lanlab.org website
201732120147 Anderson (3034352269)11:10:34
There is no link in LRR
Samantha 201632120140(2459455104)11:11:05
quiz 2 is not showing on LRR for me
Saeed : 201732120146(446571011)11:11:27
Saeed : 201732120146(446571011)11:11:32
ALBOROM WARD-201732120143家长(3279308836)11:11:38
He didn’t create link yet
ALBOROM WARD-201732120143家长(3279308836)11:11:40
@Samantha 201632120140
Samantha 201632120140(2459455104)11:11:46
oh okay thank you
系统消息(10000)11:11:53
201732120141--AHAMED SABUJ妈妈邀请201732120157 hossain arif加入了本群。
蓝老师(1348141770)11:12:39 Guys. Let's move on. I may take attendance at 11:55 by taking a screenshot.
ALBOROM WARD-201732120143家长(3279308836)11:12:59
Okay
nainezz(2407048879)11:13:45
Alright
ibrahim(1525200991)11:13:52
you just said there is no attendance ??
蓝老师(1348141770)11:13:55 As long as I am concerned, people factor is the most important.
蓝老师(1348141770)11:14:20 Developers are really valuable.
蓝老师(1348141770)11:14:48 One primary job of management is to create an environment in which developers can produce.
蓝老师(1348141770)11:15:20 Manager's job: "Create a Development Abstraction Layer" - Joel Spolsky.
Abadura Yahya 201732120136(1714796258)11:15:55
how do I join this thing?
蓝老师(1348141770)11:16:17 ???
Abadura Yahya 201732120136(1714796258)11:16:42
are you teaching live?
Saeed : 201732120146(446571011)11:16:48
@蓝老师 : How we can take the course online or just typing
蓝老师(1348141770)11:17:05 Just typing. No video, no sound.
Abadura Yahya 201732120136(1714796258)11:17:13
oh okay
Saeed : 201732120146(446571011)11:17:21
How about attendance
Saeed : 201732120146(446571011)11:17:30
How it can be
蓝老师(1348141770)11:18:15 https://www.joelonsoftware.com/2006/04/11/the-development-abstraction-layer-2/
蓝老师(1348141770)11:18:38 This above link has an essay talking about development abstraction layer. Maybe it will be your next reading.
蓝老师(1348141770)11:19:22 The other difficulty in management is that Old Plan becomes Old very soon.
蓝老师(1348141770)11:19:51 Things change really rapidly, before and after your customers see your product.
蓝老师(1348141770)11:20:31 Feature creep could drive you like crazy.
蓝老师(1348141770)11:20:42 Netscape team suffered this.
蓝老师(1348141770)11:21:36 They were working like crazy to compete with Microsoft, wanting to add more features to their browser, Netscape Navigator.
Abadura Yahya 201732120136(1714796258)11:22:52
what happens to people who does not have QQ?
蓝老师(1348141770)11:22:55 Feature creep, if not well controlled, could mess up your codebase.
蓝老师(1348141770)11:23:22 Could also delay a planned release.
蓝老师(1348141770)11:24:14 If people do not have QQ, they should sign up for one. If they could not sign up (I don't see the reason why they cannot), I will send them the lecture script.
蓝老师(1348141770)11:24:53 Netscape tried to make a bloatware.
蓝老师(1348141770)11:25:19 A bloatware that includes Netscape Navigator, Netscape Address Book, Netscape Mail, Newsgroups, and Netscape Composer.
Abadura Yahya 201732120136(1714796258)11:25:44
they couldn't.....what about attendance?
蓝老师(1348141770)11:26:01 The more you try to do, the more likely you make errors.
蓝老师(1348141770)11:26:18 Could they do IRC?
201732120151 Barkay sanoussi(3178573723)11:26:18
@Abadura Yahya 201732120136 read above messages
蓝老师(1348141770)11:26:33 Appearing on IRC is acceptable too.
蓝老师(1348141770)11:27:02 AVOID FEATURE CREEP.
蓝老师(1348141770)11:27:46 Admit that.
蓝老师(1348141770)11:27:58 You cannot do a lot of things in a limited period of time.
蓝老师(1348141770)11:28:06 Not to mention Great things.
Abadura Yahya 201732120136(1714796258)11:28:10
they can't it's not working for them
蓝老师(1348141770)11:28:10 Great things need time.
ibrahim(1525200991)11:28:19
Question
蓝老师(1348141770)11:28:28 Yes?
ibrahim(1525200991)11:28:54
what about if the stakeholders are asking to add more features?
ibrahim(1525200991)11:29:06
that may harm the base
Samantha 201632120140(2459455104)11:29:16
he addressed the issues before @Abadura Yahya 201732120136 so you can ask him after the class so let him procees with the class and ask questions later please
蓝老师(1348141770)11:29:21 Tell them the impact of adding more features on the schedule.
ABDALMUHAYMEN M.A.KHALIL 201730210234(1071107298)11:29:24
Yes I was about to ask thie same question
ibrahim(1525200991)11:29:25
the same thing happend to Netscape
Samantha 201632120140(2459455104)11:29:35
proceed*
蓝老师(1348141770)11:29:53 So the Netscape team was like crazy in catching up.
蓝老师(1348141770)11:30:26 As a result, they delivered buggy products.
蓝老师(1348141770)11:30:39 Version 5.0 was delayed.
蓝老师(1348141770)11:30:55 Because they were unable to deliver a stable product.
蓝老师(1348141770)11:31:06 In fact, version 5.0 was never delivered.
蓝老师(1348141770)11:32:35 There is a documentary called Code Rush (55 minutes long).
蓝老师(1348141770)11:32:43 https://www.bilibili.com/video/av15989846?from=search&seid=9345778025746004042
蓝老师(1348141770)11:32:58 You could watch it when you have time.
蓝老师(1348141770)11:33:05 Let's take a five-minute break.
nainezz(2407048879)11:33:23
Ok
ABDALMUHAYMEN M.A.KHALIL 201730210234(1071107298)11:33:25
201632120150-Ashly(1661411131)11:33:25
201732120134_Michelle(3304952232)11:33:30
interesting!
201732120134_Michelle(3304952232)11:33:42
ok laoshi!
201632120150-Ashly(1661411131)11:33:47
The address is invalid
201632120150-Ashly(1661411131)11:34:11
For the documentary
ABDALMUHAYMEN M.A.KHALIL 201730210234(1071107298)11:34:21
蓝老师(1348141770)11:34:38 We will be back at 11:40.
Samantha 201632120140(2459455104)11:35:35
okay
蓝老师(1348141770)11:41:17 Let's move on.
蓝老师(1348141770)11:41:29 You watch the video when you have time.
蓝老师(1348141770)11:41:38 I won't use the lecture time for watching videos.
蓝老师(1348141770)11:42:58 The other thing that is Really important is that you need to make sure: am I developing/using Proprietary Software?
蓝老师(1348141770)11:43:30 If you use part of Proprietary Software (code) in your product, you are in danger of future trouble.
蓝老师(1348141770)11:43:37 Netscape team had that trouble.
蓝老师(1348141770)11:44:31 A few days before their major release, they noticed that their code depended on Apple's code!
蓝老师(1348141770)11:44:49 Bang! They had to beg Apple for permission to use that code.
蓝老师(1348141770)11:44:52 Not allowed.
蓝老师(1348141770)11:45:03 They had to re-write that part overnight.
蓝老师(1348141770)11:45:33 It is generally OK if you don't sell your product which contains code of not your own.
蓝老师(1348141770)11:46:26 However, if you want to sell millions of copies of your product to make profit and include something from elsewhere (Proprietary, i.e., Owned by Others), then you are going to have headaches.
蓝老师(1348141770)11:48:05 As a serious software manager, you do need to know the Difference between Proprietary and Open source.
蓝老师(1348141770)11:48:24 People are looking at your money.
蓝老师(1348141770)11:49:08 In the US, people take copyright really seriously.
蓝老师(1348141770)11:49:18 That is good for a society.
蓝老师(1348141770)11:49:41 If people do not buy other people's efforts, no further efforts will be made.
蓝老师(1348141770)11:50:12 Positive reinforcement is needed in a healthy society. The US government knows that.
蓝老师(1348141770)11:50:45 Some people may wonder: I am using QQ for Free.
蓝老师(1348141770)11:50:58 The question is: is it Really free of charge?
蓝老师(1348141770)11:51:12 According to the No Free Lunch theorem, the answer is No.
蓝老师(1348141770)11:51:27 Tencent treats you (the customer) as a product!
蓝老师(1348141770)11:52:02 The company could make profit elsewhere, e.g., advertisements, social influence, government funds, etc.
ALBOROM WARD-201732120143家长(3279308836)11:52:02
It’s totally not free
ALBOROM WARD-201732120143家长(3279308836)11:52:10
Part of it free
蓝老师(1348141770)11:52:34 Microsoft did something similar. IE is free.
蓝老师(1348141770)11:53:11 Miscrosoft spent lots of money (billions) on developing IE.
蓝老师(1348141770)11:53:24 How could it give it away for free?
蓝老师(1348141770)11:53:34 There is a purpose behind that: market share.
201732120141--AHAMED SABUJ妈妈(2686217157)11:54:10
that's how netscape loose thear market
蓝老师(1348141770)11:54:28 Same thing on online education, Tencent Meeting, Zoom Conferencing, etc. They are free during the epidemic.
蓝老师(1348141770)11:55:01 Netscape tried to be free too, for personal use.
蓝老师(1348141770)11:55:17 But the bad thing is that Microsoft bundled their IE with the Windows operating system.
蓝老师(1348141770)11:55:40 90% of personal desktop computers were pre-installed with Windows.
蓝老师(1348141770)11:55:52 That is definitely an upper hand for Microsoft.
201732120141--AHAMED SABUJ妈妈(2686217157)11:56:00
yes here is the answer of quiz 2 haha
蓝老师(1348141770)11:56:27 Average people usually do not switch default browser if it is that bad.
蓝老师(1348141770)11:56:44 I mean average people, 70% of the people.
201732120141--AHAMED SABUJ妈妈(2686217157)11:57:06
teacher it's time to take attendance
蓝老师(1348141770)11:57:15 http://www-inst.eecs.berkeley.edu/~eecsba1/sp98/reports/eecsba1c/pj1/freq.gif
Saeed : 201732120146(446571011)11:57:47
@201732120141--AHAMED SABUJ妈妈 yeah
蓝老师(1348141770)11:57: === TAKE ATTENDANCE, PLEASE REPLY YOUR STUDENT NUMBER ===
ALBOROM WARD-201732120143家长(3279308836)11:58:06
201732120143
201732120141--AHAMED SABUJ妈妈(2686217157)11:58:09
201732120141
ABDALMUHAYMEN 201730210234(1071107298)11:58:11
201730210234
ibrahim(1525200991)11:58:12
201732120159
Abadura Yahya 201732120136(1714796258)11:58:12
201732120136
陈真赐(1312502742)11:58:13 201732120114
软英171 陆博业(2794513466)11:58:13 201732120119
郑晓钰(280768265)11:58:14 201732120110
nainezz(2407048879)11:58:15 201732120173
Saeed : 201732120146(446571011)11:58:16 201732120146
FADHEL ABDULLAH(3071163205)11:58:17 201532120139
201732120134_Michelle(3304952232)11:58:17 201732120134
叶涵涛(2289316051)11:58:17 201732120125
李佳兴(421281726)11:58:21 201732120118
张滨(2350711965)11:58:21 201732120127
201732120157 hossain arif<charif19282@qq.com&get;11:58:23 201732120157
201732120151 Barkay sanoussi(3178573723)11:58:24 201732120151
谢佳聪(1249923715)11:58:28 201732120123
软英171 吕伊豪(745291576)11:58:28 201732120120
201732120147 Anderson (3034352269)11:58:30 201732120147
201632120150-Ashly(1661411131)11:58:43 201632120150
Samantha 201632120140(2459455104)11:58:50 201632120140
软英171 郑可富(1924773187)11:58:53 201732120129
软英171高增(1520653544)11:58:54 201732120117
软英171陈金龙(864945570)11:58:57 201732120112
应宇腾(1356633192)11:58:57 201732120126
软英171戴泽荣(975336710)11:59:07 201732120115
杰西卡(2422938906)11:59:11 201732120133
201732120135 玛莎(3534763826)11:59:32 201732120135
蓝老师(1348141770)11:59:33 Thanks guys. Bye.
蓝老师(1348141770)11:59:52 Please do not ask questions here outside lecture time. Use email.
nainezz(2407048879)11:59:54
So the class is over
ibrahim(1525200991)11:59:58
@蓝老师 check the people in iec
软英171陈伟超(937202326)12:00:00
201732120113
Saeed : 201732120146(446571011)12:00:02
Class is over ?
杰西卡(2422938906)12:00:05
oh is class over?
201732120141--AHAMED SABUJ妈妈(2686217157)12:00:09
appreciated
ibrahim(1525200991)12:00:14
irc**
ALBOROM WARD-201732120143家长(3279308836)12:00:20
Yeah over
杰西卡(2422938906)12:00:22
time flies
软英171周仙龙(1748153603)12:00:50
201732120130
好为人师的我(984456043)12:01:01
201732120111
软英171郑洪宇(1633787262)12:02:39
201732120128
201732120168_Golden(2984538488)12:02:39
201732120168
Npl.(593635848)12:07:02
201732120121
tarmom(2104297320)12:15:21
201732120166
201732120167 Clive妈妈(3321692247)12:16:06
20173210167
[Attendance from the IRC channel #spm]
- Hui joined
- MY_REAL_NAME joined
<lanhui>Hi guys. Let's wait for five minutes for more people to come.
<lanhui whispers to MY_REAL_NAME>Please change your nick name using the following command: /nick MyRealName
<lanhui whispers to MY_REAL_NAME>Replace MyRealName with your real name.
- MY_REAL_NAME is now known as Ashly_2016321201
- ALBOROMWARD joined
<lanhui>Thanks for joining #spm channel.
- MYRealName joined
<lanhui>You guys don't have QQ?
<Ashly_2016321201>we have
<MYRealName>I have it
<Ashly_2016321201>we are in the group too
- MyRealName15 joined
<ALBOROMWARD>hello world
<ALBOROMWARD>i'm in
- YEBOAH joined
- MYRealName quit (Remote host closed the connection)
- IBRAHIM201732120 joined
- MyRealName15 is now known as JESSICA201731220
- JESSICA201731220 is now known as JESSICA20133
- zhouxianlong quit (Remote host closed the connection)
<JESSICA20133>Helloooo... anyone there?
<Ashly_2016321201>we are using QQ now
<JESSICA20133>i thought it was both. i wanted to see how this works..
- YEBOAH quit (Ping timeout: 260 seconds)
- IBRAHIM201732120 quit (Quit: IBRAHIM201732120)
- Mohamed201732120 joined
<Mohamed201732120>My student I.D : 201732120165
<Mohamed201732120>since it's not fully shown in the list
<Mohamed201732120>201732120165
<Mohamed201732120>I'm here lanhui
<Mohamed201732120>can't join QQ
<lanhui>OK.
<lanhui>What is your student number?
<Mohamed201732120>201732120165
<lanhui>Hi guys. Please write your student number below.
<lanhui>I will post our lecture script later.
<Mohamed201732120>201732120165
<Mohamed201732120>OK
Afternoon section
-----------------
*Feature creep - Asynchronous communication - Benefits of open source - Reap the benetifs - Don't throw away your code*
2020-02-24 14:27:31 系统消息(10000)
Twizere Pacifique 唐平加入本群。
2020-02-24 14:28:27 系统消息(10000)
Nicole Rutagengwa 加入本群。
2020-02-24 14:46:34 系统消息(10000)
mcprizo加入本群。
2020-02-24 14:46:34 Kumson爸爸(3157209053)
大家好,我是Kumson的爸爸。
2020-02-24 15:34:53 NGOUNOU家长(438499151)
大家好,我是NGOUNOU 201925800180
2020-02-24 15:40:32 Lan Hui(1348141770) Hi guys. Welcome.
2020-02-24 15:40:40 Lan Hui(1348141770) Where are other guys? Mary Doe? Mohamed Moummou?
2020-02-24 15:40:44 Nicole Rutagengwa (1403962700)
hey sir
2020-02-24 15:40:53 Nicole Rutagengwa (1403962700)
thank you
2020-02-24 15:41:09 Nicole Rutagengwa (1403962700)
i will try to remind them again
2020-02-24 15:41:15 Lan Hui(1348141770) We will start in 5 minutes.
2020-02-24 15:41:34 Lan Hui(1348141770) Everyone here living in Beijing time?
2020-02-24 15:41:55 Kumson爸爸(3157209053)
okay sir
2020-02-24 15:42:16 Lan Hui(1348141770) It turns out that people like QQ more.
2020-02-24 15:42:28 Nicole Rutagengwa (1403962700)
momo went back home
2020-02-24 15:42:44 Nicole Rutagengwa (1403962700)
maybe not beijing time
2020-02-24 15:43:50 Lan Hui(1348141770) How about Youma and Corneille?
2020-02-24 15:45:16 Lan Hui(1348141770) Online learning may be less effective than classroom learning.
2020-02-24 15:45:23 Lan Hui(1348141770) Maybe. I am not sure.
2020-02-24 15:45:30 Lan Hui(1348141770) I like online learning more.
2020-02-24 15:45:51 Lan Hui(1348141770) One hard part is verification and authentication.
2020-02-24 15:46:03 Lan Hui(1348141770) How do I know you are who you are.
2020-02-24 15:46:08 Nicole Rutagengwa (1403962700)
qq is better atleast most of us can access it
2020-02-24 15:46:37 Lan Hui(1348141770) Where were we left last time?
2020-02-24 15:46:56 Lan Hui(1348141770) We've talked about feature creep and proprietary software.
2020-02-24 15:47:15 Lan Hui(1348141770) Uncontrolled feature creep is really bad.
2020-02-24 15:47:20 Nicole Rutagengwa (1403962700)
i don't know because i couldn.t connect myself
2020-02-24 15:47:35 Lan Hui(1348141770) It could make your team unable to deliver product on time.
2020-02-24 15:47:37 Nicole Rutagengwa (1403962700)
can we have a video meeting sir?
2020-02-24 15:47:44 Nicole Rutagengwa (1403962700)
or audio
2020-02-24 15:47:47 Lan Hui(1348141770) No video meeting. I don't like that.
2020-02-24 15:47:59 Lan Hui(1348141770) I tried Zoom. Did not work out very well.
2020-02-24 15:48:09 Lan Hui(1348141770)
2020-02-24 15:48:12 Nicole Rutagengwa (1403962700)
because chatting is really uncomfortable
2020-02-24 15:48:45 Lan Hui(1348141770) My sound appears distorted.
2020-02-24 15:49:21 Lan Hui(1348141770) On the contrary, I think chatting is OK. Most professionals like chatting.
2020-02-24 15:49:31 Lan Hui(1348141770) If we could do face-to-face, then do face-to-face.
2020-02-24 15:49:42 Lan Hui(1348141770) If not, text is far better than video streaming.
2020-02-24 15:49:44 Kumson爸爸(3157209053)
[表情][表情]
2020-02-24 15:49:58 Nicole Rutagengwa (1403962700)
but honestly i think then its just better to read the lectures
2020-02-24 15:50:14 Lan Hui(1348141770) That is one part.
2020-02-24 15:50:24 Nicole Rutagengwa (1403962700)
because i don.t see us have class while chatting[表情]
2020-02-24 15:50:26 Lan Hui(1348141770) Reading the lecture notes is useful.
2020-02-24 15:50:44 Lan Hui(1348141770) Being here is also useful, at least for me. I have to be here, according to the school policy.
2020-02-24 15:51:12 Nicole Rutagengwa (1403962700)
could you please accept MArie request
2020-02-24 15:51:19 Lan Hui(1348141770) I think Kumson is someone who will report to the college?
2020-02-24 15:51:23 Nicole Rutagengwa (1403962700)
she wants to join
2020-02-24 15:51:28 系统消息(10000)
Marie加入本群。
2020-02-24 15:51:43 Kumson爸爸(3157209053)
hahahahah why do you think so sir ??
2020-02-24 15:52:00 Lan Hui(1348141770) Just guess.
2020-02-24 15:52:11 Kumson爸爸(3157209053)
I am very okay with you uploading the lectures on the course platform and giving the tasks to perform
2020-02-24 15:52:15 Kumson爸爸(3157209053)
that's much better
2020-02-24 15:52:54 Lan Hui(1348141770) Anyway, please feel comfortable. Slow down.
2020-02-24 15:53:00 Marie(2928285277)
Hello Sir
2020-02-24 15:53:10 Kumson爸爸(3157209053)
due to the fact we are unable to have live streaming (which most students would have preferred), also taking into consideration the time difference for those of us back home and mainland
2020-02-24 15:53:25 Kumson爸爸(3157209053)
it's just 8Am here
2020-02-24 15:54:05 Lan Hui(1348141770) Thanks. Will consider that.
2020-02-24 15:54:33 Lan Hui(1348141770) I usually take attendance in the middle of the lecture.
2020-02-24 15:54:41 Lan Hui(1348141770) What are we going to cover today?
2020-02-24 15:54:45 Kumson爸爸(3157209053)
or you just shrink the readings into a ppt or whatever way works for you
2020-02-24 15:54:52 Lan Hui(1348141770) I will cover open source and Netscape.
2020-02-24 15:55:49 Lan Hui(1348141770) I have posted readings on our course home page. The current one is about Netscape.
2020-02-24 15:55:57 Nicole Rutagengwa (1403962700)
another student
2020-02-24 15:56:05 Lan Hui(1348141770) It actually includes a set of readings.
2020-02-24 15:56:09 Nicole Rutagengwa (1403962700)
wants to join please accept her request
2020-02-24 15:56:21 Kumson爸爸(3157209053)
okay then . let's work according to information on our course homepage
2020-02-24 15:56:46 Kumson爸爸(3157209053)
maybe attendance could be taken by noting those who submit tasks on time
2020-02-24 15:56:52 Kumson爸爸(3157209053)
or within the deadline
2020-02-24 15:57:10 Lan Hui(1348141770) [图片]
2020-02-24 15:57:23 Lan Hui(1348141770) The above screenshot shows your current reading task.
2020-02-24 15:57:44 Lan Hui(1348141770) I will consider that.
2020-02-24 15:58:15 Lan Hui(1348141770) Actually I prefer asynchronous communication when we are physically separated.
2020-02-24 15:58:20 Kumson爸爸(3157209053)
okay sir
2020-02-24 15:59:10 Lan Hui(1348141770) [图片]
2020-02-24 15:59:18 Nicole Rutagengwa (1403962700)
what is asychronous sir?
2020-02-24 15:59:18 Lan Hui(1348141770) We are on the above slide.
2020-02-24 15:59:35 Lan Hui(1348141770) Who can explain that?
2020-02-24 15:59:52 Lan Hui(1348141770) Asychronous: (of two or more objects or events) not existing or happening at the same time.
2020-02-24 15:59:58 Lan Hui(1348141770) Bing Dictionary.
2020-02-24 16:00:16 Lan Hui(1348141770) What we are doing now is synchronous.
2020-02-24 16:00:41 Lan Hui(1348141770) Email is generally considered as an asynchronous communication method.
2020-02-24 16:00:48 Lan Hui(1348141770) Chatting - synchronous.
2020-02-24 16:01:08 Lan Hui(1348141770) Things like video conferencing are all synchronous.
2020-02-24 16:01:29 Nicole Rutagengwa (1403962700)
ohh okay
2020-02-24 16:01:38 Nicole Rutagengwa (1403962700)
i get it thanks
2020-02-24 16:02:03 Nicole Rutagengwa (1403962700)
some students still waiting for request confirmation sir
2020-02-24 16:02:06 Lan Hui(1348141770) Open source now is a trend. Everyone talks about it. Even Microsoft people have started embracing it.
2020-02-24 16:02:34 Lan Hui(1348141770) (Are they sure they are entering the correct QQ Group?)
2020-02-24 16:03:35 Lan Hui(1348141770) Microsoft Edge, for example, used the Chromium core (which is open source).
2020-02-24 16:03:59 Nicole Rutagengwa (1403962700)
i think so
2020-02-24 16:04:36 Lan Hui(1348141770) Contrary to proprietary code, open source code can usually be included in our product (for profit) without causing too many worries.
2020-02-24 16:05:24 Lan Hui(1348141770) (Ask them to scan the QR code to join. I could not see their join requests.)
2020-02-24 16:05:46 Nicole Rutagengwa (1403962700)
done sir
2020-02-24 16:06:12 Lan Hui(1348141770) Guys. Let's take a break (5 minutes).
2020-02-24 16:06:38 Nicole Rutagengwa (1403962700)
ok
2020-02-24 16:07:27 Marie(2928285277)
ok
2020-02-24 16:08:46 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
ok
2020-02-24 16:09:00 NGOUNOU家长(438499151)
ok
2020-02-24 16:09:57 系统消息(10000)
Twizere Pacifique 唐平邀请Guedalia Youma 加入了本群。
2020-02-24 16:10:09 系统消息(10000)
Twizere Pacifique 唐平邀请Tabitha加入了本群。
2020-02-24 16:11:15 Lan Hui(1348141770) Move on.
2020-02-24 16:12:10 Lan Hui(1348141770) What are the benefits of Open Source?
2020-02-24 16:12:22 Lan Hui(1348141770) Different people have different answers.
2020-02-24 16:13:00 Lan Hui(1348141770) If you are an educational entity (e.g., university), making open source projects can give you more publicity.
2020-02-24 16:14:09 Lan Hui(1348141770) For educational institutions, using open source software has a moral benefit, too.
2020-02-24 16:14:36 Lan Hui(1348141770) "Schools have a social mission".
2020-02-24 16:14:40 Lan Hui(1348141770) https://www.gnu.org/education/edu-schools.en.html
2020-02-24 16:15:14 Lan Hui(1348141770) "Proprietary software is the enemy of the spirit of education".
2020-02-24 16:15:24 Lan Hui(1348141770) I think the above statement is a bit too extreme.
2020-02-24 16:16:18 Lan Hui(1348141770) The main problem or characteristic of proprietary software is that it prevents people from using it in their work (products).
2020-02-24 16:17:00 Lan Hui(1348141770) For example, a few days before their major release, they (the Netscape team) noticed that their code depended on Apple's code!
2020-02-24 16:17:31 Lan Hui(1348141770) Apple's code is mostly proprietary.
2020-02-24 16:17:46 Lan Hui(1348141770) So the team had to beg Apple for permission to use their code.
2020-02-24 16:17:53 Lan Hui(1348141770) Apple said: "No."
2020-02-24 16:18:08 Lan Hui(1348141770) The Netscape team then had to re-write that part overnight.
2020-02-24 16:19:06 Lan Hui(1348141770) When you want to sell millions of copies of your product (which includes Proprietary code, even just a little) to make profit, then you are going to have headaches.
2020-02-24 16:20:07 Lan Hui(1348141770) As a project manager, you should know different kinds of licenses really well.
2020-02-24 16:20:39 Lan Hui(1348141770) If you want to use a piece of software (code) from elsewhere, study its terms and conditions.
2020-02-24 16:21:20 Lan Hui(1348141770) If the license is not friendly, you'd better look for an open source alternative, or take the pain to write things by yourself.
2020-02-24 16:21:58 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
i have a question
2020-02-24 16:22:22 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
can i ask ?
2020-02-24 16:22:43 Lan Hui(1348141770) Of course. In the future, you can just type your question without asking.
2020-02-24 16:22:53 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
okay
2020-02-24 16:23:21 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Like on Windows , when we publish a .exe file , meaning that the source codes can not be seen , so how do they know that you used their codes ?
2020-02-24 16:23:53 Lan Hui(1348141770) Reverse engineering.
2020-02-24 16:24:16 Lan Hui(1348141770) The binary file contains some tag information (I think).
2020-02-24 16:24:36 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
ooh okay
2020-02-24 16:24:48 Lan Hui(1348141770) BTW, you seldom want to do that, because that is very inflexible.
2020-02-24 16:25:26 Lan Hui(1348141770) Move on. If you don't have enough hands, you may also consider making your project open source.
2020-02-24 16:25:58 Lan Hui(1348141770) In other words, if your project is dying, just as Netscape was in 1998,
2020-02-24 16:26:23 Lan Hui(1348141770) you may hope that the wider world could help you.
2020-02-24 16:26:44 Lan Hui(1348141770) So you give away your source code for free.
2020-02-24 16:27:42 Lan Hui(1348141770) But just as Jamie Zawinski (a former Software Engineer at Netscape) pointed out:
2020-02-24 16:27:55 Lan Hui(1348141770) "you can't take a dying project, sprinkle it with the magic pixie dust of open source, and have everything magically work out. Software is hard. The issues aren't that simple."
2020-02-24 16:29:08 Lan Hui(1348141770) Even if you make your software open source, chances are that nobody will care.
2020-02-24 16:29:41 Lan Hui(1348141770) "For whatever reason, the project was not adopted by the outside. It remained a Netscape (i.e., in-house) project. "
2020-02-24 16:30:34 Marie(2928285277)
Is that after they made it open?
2020-02-24 16:31:15 Lan Hui(1348141770) The lesson I learned is that I cannot expect that a dying project will suddenly gain life a few weeks after displaying its source code to the public. No way.
2020-02-24 16:31:52 Lan Hui(1348141770) Netscape became Mozilla Firefox (much better now, still a bit struggling).
2020-02-24 16:32:02 Lan Hui(1348141770) ===============================
2020-02-24 16:32:10 Lan Hui(1348141770) Let's take a 5-minute break.
2020-02-24 16:40:07 Lan Hui(1348141770) ===============================
2020-02-24 16:40:10 Lan Hui(1348141770) Move on.
2020-02-24 16:40:19 Lan Hui(1348141770) Business model is really important.
2020-02-24 16:40:44 Lan Hui(1348141770) Business model is crucial if you have (strong) competitors.
2020-02-24 16:41:11 Lan Hui(1348141770) Like QQ, it does not charge average people anything.
2020-02-24 16:41:56 Lan Hui(1348141770) Remember: to make QQ run, the company Tencent needs to pay bills on servers and electricity.
2020-02-24 16:42:26 Lan Hui(1348141770) The demand of servers and electricity is much higher for video conferencing services.
2020-02-24 16:42:56 Lan Hui(1348141770) How to get enough money to offset the "free of charge" cost here?
2020-02-24 16:43:11 Lan Hui(1348141770) Frankly, I am not quite sure.
2020-02-24 16:43:37 Lan Hui(1348141770) Maybe the company could make profit from other avenues, e.g., games, advertisements, social influence, government funds, etc.
2020-02-24 16:44:30 Lan Hui(1348141770) The more people use your product, the easier it is to convince venture capital.
2020-02-24 16:45:24 Lan Hui(1348141770) How about the business model of open source?
2020-02-24 16:46:09 Lan Hui(1348141770) Two things I can imagine are More Publicity and Reap the Benefits.
2020-02-24 16:47:06 Lan Hui(1348141770) [图片]
2020-02-24 16:47:57 Lan Hui(1348141770) Sometimes it is good Just to let outsider know you are doing something.
2020-02-24 16:48:29 Lan Hui(1348141770) The outsider (e.g., funding agencies) would then consider giving you opportunities.
2020-02-24 16:49:01 Lan Hui(1348141770) The opportunities can be in the form of direct funding, or contracts.
2020-02-24 16:49:41 Lan Hui(1348141770) Quite similar to fans in social media.
2020-02-24 16:49:50 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Wow Interesting
2020-02-24 16:50:28 Lan Hui(1348141770) If you have 1 million fans, then you have a big social impact.
2020-02-24 16:50:46 Lan Hui(1348141770) Reap the benefits.
2020-02-24 16:50:52 Lan Hui(1348141770) Hiring people is expensive.
2020-02-24 16:51:28 Lan Hui(1348141770) Let's reap the stuff done by other companies, by just paying a few employees in my company to join that open source project.
2020-02-24 16:52:29 Lan Hui(1348141770) Microsoft reaped the chromium project.
2020-02-24 16:52:40 Lan Hui(1348141770) The Edge browser is an example.
2020-02-24 16:53:12 Lan Hui(1348141770) Microsoft abandoned IE which they had been actively developing for almost 20 years!
2020-02-24 16:53:34 Lan Hui(1348141770) Microsoft is good at strategy. Not just programming skills.
2020-02-24 16:53:53 Lan Hui(1348141770) Huawei reaped Hadoop.
2020-02-24 16:54:05 Lan Hui(1348141770) Ubuntu reaped Debian.
2020-02-24 16:54:13 Lan Hui(1348141770) So on, so forth.
2020-02-24 16:54:53 Lan Hui(1348141770) [图片]
2020-02-24 16:55:37 Lan Hui(1348141770) There must be Big Reasons behind the open source movement (in the software industry). I mentioned two of them. I don't think I know all the reasons.
2020-02-24 16:55:50 Lan Hui(1348141770) We could explore more in the future.
2020-02-24 16:56:08 Lan Hui(1348141770) Opening up your project is not an easy task.
2020-02-24 16:56:22 Lan Hui(1348141770) If it were easy, Netscape would have succeeded in doing that.
2020-02-24 16:56:45 Lan Hui(1348141770) Netscape had millions of lines of code. That amount could scare people away.
2020-02-24 16:57:22 Lan Hui(1348141770) How could an outsider understand such a huge codebase?
2020-02-24 16:58:10 Lan Hui(1348141770) A major challenge is to let outsiders understand your project.
2020-02-24 16:58:20 Lan Hui(1348141770) If they could understand part of the code, it would be great.
2020-02-24 16:58:28 Lan Hui(1348141770) Don't expect too much on that in a short period of time.
2020-02-24 16:59:01 Lan Hui(1348141770) In the first couple of months, an interested outsider probably cannot contribute any line of code.
2020-02-24 16:59:37 Lan Hui(1348141770) That is quite normal. He may ask a few questions, most of which you already know too well and have answered many times (boring and seemingly counter-productive).
2020-02-24 17:00:12 Lan Hui(1348141770) BTW, an outsider does not have to contribute Code in order to contribute to the Project.
2020-02-24 17:00:35 Lan Hui(1348141770) Sometimes, just some positive feedback, some suggestions, or directions, are really helpful.
2020-02-24 17:01:02 Lan Hui(1348141770) Anyway, you need to set up many things before you can open source your project.
2020-02-24 17:01:22 Lan Hui(1348141770) Less work if you just keep the project in-house!
2020-02-24 17:01:46 Lan Hui(1348141770) Does not hurt your image when your code is really lousy if it is private.
2020-02-24 17:02:06 Lan Hui(1348141770) ===============================
2020-02-24 17:02:15 Lan Hui(1348141770) Five minutes break.
2020-02-24 17:03:07 Marie(2928285277)
ok
2020-02-24 17:05:24 Lan Hui(1348141770) ===============================
2020-02-24 17:05:37 Lan Hui(1348141770) [图片]
2020-02-24 17:06:04 Lan Hui(1348141770) Competition between Netscape Communications and Microsoft.
2020-02-24 17:06:27 Lan Hui(1348141770) [图片]
2020-02-24 17:06:42 Lan Hui(1348141770) [图片]
2020-02-24 17:07:10 Lan Hui(1348141770) One big mistake Netscape made is throwing away their old code and trying to start from scratch.
2020-02-24 17:07:18 Lan Hui(1348141770) A Really bad decision.
2020-02-24 17:07:40 Lan Hui(1348141770) Code always looks quite messy, old or new.
2020-02-24 17:07:51 Lan Hui(1348141770) DON'T THROW AWAY YOUR CODE.
2020-02-24 17:08:39 Lan Hui(1348141770) Never throw your code (which has cost you tons of money, enormous time, many sleepless nights, etc) in the commercial world.
2020-02-24 17:09:32 Lan Hui(1348141770) Live with messy code and make it better each day,
2020-02-24 17:09:43 Lan Hui(1348141770) instead of furiously throwing it away.
2020-02-24 17:09:58 Lan Hui(1348141770) That is pretty much for today.
2020-02-24 17:10:35 Lan Hui(1348141770) Read this article on Not Throwing Old Code after class. https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
2020-02-24 17:10:44 Lan Hui(1348141770) ===============================
2020-02-24 17:10:58 Lan Hui(1348141770) Now I am taking attendance. Please reply with your student number.
2020-02-24 17:11:24 NGOUNOU家长(438499151)
201925800180
2020-02-24 17:11:28 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
201925800174
2020-02-24 17:11:35 Marie(2928285277)
201925800173
2020-02-24 17:11:36 Nicole Rutagengwa (1403962700)
201925800169
2020-02-24 17:12:06 系统消息(10000)
Guedalia Youma 撤回了一条消息
2020-02-24 17:12:43 Guedalia Youma (3014432207)
201925800221
Monday, 2 March 2020
====================
Morning section
---------------
*Free and open source - FOSS - Four Freedoms - Closed-source - Proprietary licenses - Reluctance to welcome free software - Linux - Continuous improvement - User to developer ratio - Overhead in the beginning - Metcalfe's Law - 30 years of development*
2020-03-02 10:35:08 蓝老师(1348141770) ===================================================
2020-03-02 10:35:12 蓝老师(1348141770) Morning guys.
2020-03-02 10:35:32 201732120134_Michelle(3304952232) morning 老师
2020-03-02 10:35:39 张滨(2350711965) Morning
2020-03-02 10:35:40 Saeed : 201732120146(446571011) goood morning
2020-03-02 10:35:41 杰西卡(2422938906) 早上好
2020-03-02 10:35:44 蓝老师(1348141770) Could you type your student number?
2020-03-02 10:35:52 张滨(2350711965) 201732120127
2020-03-02 10:35:56 Saeed : 201732120146(446571011) 201732120146
2020-03-02 10:35:56 201732120134_Michelle(3304952232) 201732120134
2020-03-02 10:35:57 201732120135 玛莎(3534763826) 201732120135
2020-03-02 10:36:03 杰西卡(2422938906) 201732120133
2020-03-02 10:36:06 软英171郑洪宇(1633787262) 201732120128
2020-03-02 10:36:10 201632120150-Ashly(1661411131) 201632120150
2020-03-02 10:36:11 Tarmom 201732120166(2104297320) 201732120166
2020-03-02 10:36:23 ALBOROM WARD-201732120143家长(3279308836) 201732120143
2020-03-02 10:36:32 LUL GUOBA RUOT (2217724540) 201632120161
2020-03-02 10:36:33 软英171陈伟超(937202326) 201732120113
2020-03-02 10:36:37 李佳兴(421281726) 201732120118
2020-03-02 10:36:43 ibrahim(1525200991) 201732120159
2020-03-02 10:36:51 郑晓钰(280768265) 201732120110
2020-03-02 10:36:54 叶涵涛(2289316051) 201732120125
2020-03-02 10:37:36 蓝老师(1348141770) Let's wait 3 minutes for more people to join in.
2020-03-02 10:38:14 201732120168_Golden(2984538488) 201732120168
2020-03-02 10:38:18 蓝老师(1348141770) I plan to deliver a pop-up quiz next time, for quiz 3, during the lecture.
2020-03-02 10:38:50 201732120141--AHAMED SABUJ妈妈(2686217157) 201732120141
2020-03-02 10:39:36 1n(2835813510) 201732120102
2020-03-02 10:39:41 201732120151 Barkay sanoussi(3178573723) 201732120151
2020-03-02 10:40:21 蓝老师(1348141770) OK
2020-03-02 10:40:24 ibrahim(1525200991) By next time you mean today or next class ?
2020-03-02 10:40:38 201732120157 hossain arif<charif19282@qq.com> 201732120157
2020-03-02 10:40:42 蓝老师(1348141770) Yes. Next Monday, lecture time.
2020-03-02 10:40:47 软英171戴泽荣(975336710) 201732120115
2020-03-02 10:40:49 ibrahim(1525200991) OK
2020-03-02 10:41:28 蓝老师(1348141770) That is my trick to keep you online and stay attentive.
2020-03-02 10:42:13 蓝老师(1348141770) [图片]
2020-03-02 10:42:43 软英171周仙龙(1748153603) 201732120130
2020-03-02 10:42:45 蓝老师(1348141770) What does free and open source software, sometimes called FOSS, mean?
2020-03-02 10:43:15 蓝老师(1348141770) The two terms "free" and "open source" are nowadays interchangeable.
2020-03-02 10:43:29 蓝老师(1348141770) The notion "free" comes before "open source".
2020-03-02 10:44:14 蓝老师(1348141770) If something is free and open source, it means you can reap other people's fruit.
2020-03-02 10:44:25 蓝老师(1348141770) Usually.
2020-03-02 10:44:36 蓝老师(1348141770) Free of charge.
2020-03-02 10:45:40 蓝老师(1348141770) Any one knows any FOSS application that requires you to pay?
2020-03-02 10:45:50 蓝老师(1348141770) I don't know any.
2020-03-02 10:46:20 蓝老师(1348141770) Free and open source are mostly about licenses. A bit history on software licenses.
2020-03-02 10:46:59 蓝老师(1348141770) In the beginning (60's and 70's), software were usually free.
2020-03-02 10:47:24 蓝老师(1348141770) The users were mostly professionals from research labs and universities.
2020-03-02 10:47:46 蓝老师(1348141770) BTW, at that time, very people could afford a mainframe.
2020-03-02 10:48:00 蓝老师(1348141770) Personal computers are a much later story.
2020-03-02 10:48:45 蓝老师(1348141770) Although these software might not be explicitly labeled as free, in practice they allowed a large degree of freedom in running, study, sharing and modification.
2020-03-02 10:49:28 蓝老师(1348141770) After that, hardware vendors and software vendors began to separate.
2020-03-02 10:49:53 蓝老师(1348141770) Software vendors started to charge people by using their software,
2020-03-02 10:50:15 蓝老师(1348141770) which is perfectly OK because they had spent money on developing them.
2020-03-02 10:51:09 蓝老师(1348141770) Big companies like IBM, Microsoft, Hewlett-Packard (HP), Apple and MATLAB began to make commercial software.
2020-03-02 10:51:27 蓝老师(1348141770) Commercial software are mostly proprietary.
2020-03-02 10:52:15 蓝老师(1348141770) These software are usually shipped with rather strict licenses.
2020-03-02 10:52:43 陈真赐(1312502742) 201732120114
2020-03-02 10:52:43 软英171 郑可富(1924773187) 201732120129
2020-03-02 10:53:05 蓝老师(1348141770) Users need to comply with the proprietary licenses before they can lawfully use these software.
2020-03-02 10:54:04 Samantha 201632120140(2459455104) 201632120140
2020-03-02 10:54:17 蓝老师(1348141770) These licenses do not allow people to read the source code or modify the source code.
2020-03-02 10:54:51 蓝老师(1348141770) (Thanks for your information, Sabuj. That is true.)
2020-03-02 10:55:26 蓝老师(1348141770) To counter this, Richard Stallman started the Free Software Movement.
2020-03-02 10:55:51 蓝老师(1348141770) Of course, this movement was not endorsed by most proprietary software companies.
2020-03-02 10:56:22 蓝老师(1348141770) Richard Stallman emphasizes on Four essential freedoms.
2020-03-02 10:57:06 蓝老师(1348141770) Perhaps he was trying to re-establish his gold old days at MIT.
2020-03-02 10:57:42 蓝老师(1348141770) Four Essential Freedoms - run, study, modify and redistribute.
2020-03-02 10:58:01 蓝老师(1348141770) Commercial companies definitely don't want to do that.
2020-03-02 10:58:20 蓝老师(1348141770) One Big reason is that if they do, they give their competitors advantages.
2020-03-02 10:59:09 蓝老师(1348141770) Their competitors could steal their code and make it better to have an advantage.
2020-03-02 11:00:16 蓝老师(1348141770) If I run a commercial company, I won't ask my employees use GPL licenses.
2020-03-02 11:00:38 蓝老师(1348141770) I would like to keep my code in a safe place.
2020-03-02 11:01:23 蓝老师(1348141770) Perhaps my customers (e.g., banks) don't want to use GPL either, because they have sensitive data and implementation that they would rather keep confidential.
2020-03-02 11:01:34 蓝老师(1348141770) Let's take a 5-minute break.
2020-03-02 11:01:51 软英171 吕伊豪(745291576) 201732120120
2020-03-02 11:02:33 软英171包振丰(984456043) 201732120111
2020-03-02 11:05:22 蓝老师(1348141770) ===================================================
2020-03-02 11:05:26 蓝老师(1348141770) Move on.
2020-03-02 11:06:45 蓝老师(1348141770) If I ask you, proprietary software are always closed-source software, is that true?
2020-03-02 11:07:09 蓝老师(1348141770) Anyone?
2020-03-02 11:07:22 nainezz(2407048879) 201732120173
2020-03-02 11:07:25 软英171郑洪宇(1633787262) yes
2020-03-02 11:07:32 ALBOROM WARD-201732120143家长(3279308836) yes
2020-03-02 11:07:33 系统消息(10000) 201732120135 玛莎撤回了一条消息
2020-03-02 11:07:34 Saeed : 201732120146(446571011) yes
2020-03-02 11:07:41 软英171周仙龙(1748153603) yes
2020-03-02 11:07:41 蓝老师(1348141770) False.
2020-03-02 11:07:46 蓝老师(1348141770) I think it is false.
2020-03-02 11:08:09 蓝老师(1348141770) You can read proprietary software's source code. No problem.
2020-03-02 11:09:20 蓝老师(1348141770) But since the license is proprietary, then if you try to sell your product that includes that piece of code, you infringe on the company's copyright.
2020-03-02 11:09:27 软英171周仙龙(1748153603) but how to read its source code?
2020-03-02 11:10:45 蓝老师(1348141770) I could show my code to you but the code comes with a proprietary license.
2020-03-02 11:11:26 蓝老师(1348141770) The license says something like "Oh, you could read my code but you could not sell my code in your product."
2020-03-02 11:12:12 蓝老师(1348141770) Done. In terms of Four Freedoms, I don't give you the freedom to redistribute it.
2020-03-02 11:12:25 蓝老师(1348141770) You can study it, no problem.
2020-03-02 11:13:21 蓝老师(1348141770) [图片]
2020-03-02 11:13:50 蓝老师(1348141770) In a school setting, I agree with Richard Stallman.
2020-03-02 11:14:12 蓝老师(1348141770) We should encourage students and professors to use FOSS.
2020-03-02 11:14:16 蓝老师(1348141770) Why?
2020-03-02 11:14:33 蓝老师(1348141770) School is a place for learning, and FOSS is perfect for that purpose.
2020-03-02 11:15:15 蓝老师(1348141770) School is also a place for moral formation, where we teach people the value of sharing and contributing.
2020-03-02 11:15:46 蓝老师(1348141770) You could read the article `Why Schools Should Exclusively Use Free Software`_.
.. _Why Schools Should Exclusively Use Free Software: https://www.gnu.org/education/edu-schools.en.html
2020-03-02 11:15:54 蓝老师(1348141770) I agree with every point the author made.
2020-03-02 11:17:39 蓝老师(1348141770) Industry people and commercial companies seem to like the term "open source" more than "free".
2020-03-02 11:18:03 蓝老师(1348141770) "Free" emphasizes an social ideology,
2020-03-02 11:18:15 蓝老师(1348141770) while "open source" is more practical.
2020-03-02 11:18:49 蓝老师(1348141770) Anyway, most free software are open source and most open source software are free. There is a big overlap.
2020-03-02 11:19:14 蓝老师(1348141770) The difference is on the emphasis.
2020-03-02 11:19:41 蓝老师(1348141770) One on Value, the other on Utility.
2020-03-02 11:20:09 蓝老师(1348141770) [图片]
2020-03-02 11:20:42 蓝老师(1348141770) If you open source your project, don't expect too much in the short term.
2020-03-02 11:21:14 蓝老师(1348141770) Usually it means you should be a more disciplined developer,
2020-03-02 11:21:37 蓝老师(1348141770) because you show your "face" to the public.
2020-03-02 11:22:46 蓝老师(1348141770) "Wash your face", although takes some work, is still a good idea in general.
2020-03-02 11:23:04 蓝老师(1348141770) Let's take a 3-minute break.
2020-03-02 11:23:26 Saeed : 201732120146(446571011) ok
2020-03-02 11:24:24 ALBOROM WARD-201732120143家长(3279308836) Ok
2020-03-02 11:26:21 蓝老师(1348141770) ======================================================
2020-03-02 11:26:23 蓝老师(1348141770) [Announcement] Several things are due tonight. Quiz 2. Group information. Don't miss that.
2020-03-02 11:26:57 201732120151 Barkay sanoussi(3178573723) @蓝老师 @蓝老师 hi teacher each member should send a text file individually for the group list or only the group leader send, is enough
2020-03-02 11:27:18 蓝老师(1348141770) Just Group Leader.
2020-03-02 11:27:30 201732120151 Barkay sanoussi(3178573723) ok
2020-03-02 11:27:45 软英171高增(1520653544) my number:201732120117sorry,i forget login
2020-03-02 11:28:27 蓝老师(1348141770) Send me an email about that.
2020-03-02 11:28:51 蓝老师(1348141770) Pure overhead at the beginning if I wish to set up an open source project.
2020-03-02 11:29:11 蓝老师(1348141770) Fortunately, this overhead is not a waste of time.
2020-03-02 11:29:40 蓝老师(1348141770) Just like Test-driven Development requiring us to write test before implementation.
2020-03-02 11:29:54 蓝老师(1348141770) Test cases are useful anyway.
2020-03-02 11:31:15 蓝老师(1348141770) Things like project home page, discussion forum, bug tracker, version control system, documentation and automation tools are immensely useful for the project's health.
2020-03-02 11:31:59 蓝老师(1348141770) When I open up a project, I want to achieve two goals.
2020-03-02 11:32:04 蓝老师(1348141770) 1. Acquire users. 2. Acquire developers.
2020-03-02 11:32:24 蓝老师(1348141770) The more users, the better.
2020-03-02 11:32:42 蓝老师(1348141770) The number of users is proportional to the amount of influence.
2020-03-02 11:33:00 蓝老师(1348141770) QQ has tons of users.
2020-03-02 11:33:29 蓝老师(1348141770) Then a new social media user is forced to use QQ even if he has other options like IRC.
2020-03-02 11:34:02 蓝老师(1348141770) Here comes Metcalfe's Law.
2020-03-02 11:34:16 蓝老师(1348141770) Who is this guy?
2020-03-02 11:34:42 蓝老师(1348141770) If a guy's name is associated with a Law, usually he is a tremendously successful guy.
2020-03-02 11:34:52 蓝老师(1348141770) Don't you think so?
2020-03-02 11:35:35 蓝老师(1348141770) One association is good enough in a person's lifetime.
2020-03-02 11:35:47 蓝老师(1348141770) What does this law say?
2020-03-02 11:35:58 蓝老师(1348141770) The value of a network grows by the square of the size of the network.
2020-03-02 11:36:06 蓝老师(1348141770) That is exactly the case for QQ.
2020-03-02 11:36:54 蓝老师(1348141770) The second goal is to acquire developers.
2020-03-02 11:37:15 蓝老师(1348141770) Probably the main reason is that I don't have enough hands.
2020-03-02 11:37:42 蓝老师(1348141770) And I hope other people could help in the project.
2020-03-02 11:37:46 蓝老师(1348141770) Why should they help?
2020-03-02 11:38:00 蓝老师(1348141770) Sometimes for money.
2020-03-02 11:38:31 蓝老师(1348141770) If money is not immediately available, then for respect/reputation/fame.
2020-03-02 11:39:06 蓝老师(1348141770) In the early age of Linux, most developers are voluntary.
2020-03-02 11:39:48 蓝老师(1348141770) Of course, most of them are established developers with good income from their proprietary employers (companies or universities).
2020-03-02 11:40:43 蓝老师(1348141770) BTW, there is a documentary for Linux, *The Code*, which you could watch after class.
2020-03-02 11:40:45 蓝老师(1348141770) https://www.bilibili.com/video/av4242055/?spm_id_from=333.788.videocard.1
2020-03-02 11:41:37 蓝老师(1348141770) This documentary tells us how the Linux Project was managed. It is a miracle.
2020-03-02 11:42:20 蓝老师(1348141770) Loosely connected guys work together and make something that works.
2020-03-02 11:43:33 蓝老师(1348141770) Linux started out in 1991 from something really small, LOC less than 1000?
2020-03-02 11:43:51 蓝老师(1348141770) Now? At least 1m LOC in the kernel.
2020-03-02 11:44:34 蓝老师(1348141770) [图片]
2020-03-02 11:45:52 蓝老师(1348141770) You could browse the code tree.
2020-03-02 11:45:59 蓝老师(1348141770) Let's take a 5-minute break.
2020-03-02 11:50:57 蓝老师(1348141770) =============================================
2020-03-02 11:51:10 蓝老师(1348141770) Linux is a crucial piece of FOSS.
2020-03-02 11:51:43 蓝老师(1348141770) Look at this, its original author Linus Torvalds is still contributing it.
2020-03-02 11:52:00 蓝老师(1348141770) Man, almost 30 years after its initial release.
2020-03-02 11:52:13 蓝老师(1348141770) Think about their efforts on continuous improvement.
2020-03-02 11:52:44 蓝老师(1348141770) These guys never throw away their code, never.
2020-03-02 11:53:01 蓝老师(1348141770) [图片]
2020-03-02 11:53:45 蓝老师(1348141770) User to developer ratio. Bigger is better.
2020-03-02 11:54:14 蓝老师(1348141770) 1m users, 10 developers. User developer ratio is 10,000.
2020-03-02 11:54:20 蓝老师(1348141770) Oh, sorry, 100,000.
2020-03-02 11:54:59 蓝老师(1348141770) 100 users, 1 developer. User to developer ratio is 100, one thousand times smaller.
2020-03-02 11:55:04 蓝老师(1348141770) 100 is the case for LRR.
2020-03-02 11:55:33 蓝老师(1348141770) [图片]
2020-03-02 11:56:14 蓝老师(1348141770) (We are moving very slowly.)
2020-03-02 11:56:22 蓝老师(1348141770) (Perhaps I may try sound.)
2020-03-02 11:56:34 蓝老师(1348141770) (But I doubt the effectiveness.)
2020-03-02 11:57:20 蓝老师(1348141770) It is hard to persuade average people on the long-term benefit of something.
2020-03-02 11:57:47 蓝老师(1348141770) Average people see things less than one week in the future.
2020-03-02 11:58:00 蓝老师(1348141770) That is actually good.
2020-03-02 11:58:13 蓝老师(1348141770) So people do not have worry too much.
2020-03-02 11:58:43 蓝老师(1348141770) That is everything for today.
2020-03-02 11:58:55 ibrahim(1525200991) OK
2020-03-02 11:59:01 蓝老师(1348141770) Now you need to start reading Chapter 2.
2020-03-02 11:59:02 蓝老师(1348141770) https://producingoss.com/en/getting-started.html
2020-03-02 11:59:30 蓝老师(1348141770) The pop-quiz will be from it.
2020-03-02 11:59:33 蓝老师(1348141770) 2 marks.
2020-03-02 11:59:41 蓝老师(1348141770) Next Monday.
2020-03-02 11:59:47 蓝老师(1348141770) ======================================================
2020-03-02 12:00:00 蓝老师(1348141770) Could you write your student number below? Thanks. Bye.
2020-03-02 12:00:10 201732120135 玛莎(3534763826) 201732120135
2020-03-02 12:00:11 ibrahim(1525200991) 201732120159
2020-03-02 12:00:13 软英171 吕伊豪(745291576) 201732120120
2020-03-02 12:00:13 201732120168_Golden(2984538488) 201732120168
2020-03-02 12:00:16 201732120141--AHAMED SABUJ妈妈(2686217157) 201732120141
2020-03-02 12:00:24 郑晓钰(280768265) 201732120110
2020-03-02 12:00:25 软英171郑洪宇(1633787262) 201732120128
2020-03-02 12:00:31 201732120134_Michelle(3304952232) 201732120134
2020-03-02 12:00:32 nainezz(2407048879) 201732120173
2020-03-02 12:00:32 201732120151 Barkay sanoussi(3178573723) 201732120151
2020-03-02 12:00:34 201632120150-Ashly(1661411131) 201632120150
2020-03-02 12:00:35 Saeed : 201732120146(446571011) 201732120146
2020-03-02 12:00:40 应宇腾(1356633192) 201732120126
2020-03-02 12:00:43 软英171 陆博业(2794513466) 201732120119
2020-03-02 12:00:48 201732120157 hossain arif<charif19282@qq.com> 201732120157
2020-03-02 12:01:06 LUL GUOBA RUOT (2217724540) 201632120161
2020-03-02 12:01:11 陈真赐(1312502742) 201732120114
2020-03-02 12:01:15 ALBOROM WARD-201732120143家长(3279308836) 201732120143
2020-03-02 12:01:18 Samantha 201632120140(2459455104) 201632120140
2020-03-02 12:01:20 系统消息(10000) hamunyela加入本群。
2020-03-02 12:01:28 叶涵涛(2289316051) 201732120125
2020-03-02 12:01:35 Tarmom 201732120166(2104297320) 201732120166
2020-03-02 12:03:02 Npl.(593635848) 201732120121
2020-03-02 12:03:12 软英171周仙龙(1748153603) 201732120130
2020-03-02 12:03:48 Dean Majaya(3623840484) 201732120164
2020-03-02 12:04:16 软英171陈伟超(937202326) 201732120113
2020-03-02 12:05:35 杰西卡201732120133(2422938906) 201732120133
2020-03-02 12:07:32 李佳兴(421281726) 201732120118
2020-03-02 12:07:53 软英171高增(1520653544) 201732120117
2020-03-02 12:10:12 软英171 郑可富(1924773187) 201732120129
2020-03-02 12:10:37 201732120127 张滨(2350711965) 201732120127
2020-03-02 12:16:36 软英171戴泽荣(975336710) 201732120115
2020-03-02 12:21:48 Abadura Yahya 201732120136(1714796258) 201732120136
软英171陈金龙(864945570) 12:26:22 201732120112
hamunyela(3325982083) 12:27:47 201632120157
201732120167 Clive妈妈(3321692247) 13:09:37 201732120167
谢佳聪(1249923715) 2020/3/2 13:56:53 201732120123
软英171包振丰(984456043) 2020/3/2 13:57:30 201732120111
armand(2431154023) 2020/3/2 14:04:00 201732120161
Afternoon section
-----------------
*Advantages and disadvantages of audio communication - A critical bug in LRR - Don't throw away your code - Old code - New code - Coopetition - Rhythm of releases*
Twizere Pacifique 唐平 15:04:00
Hello Teacher , I hope you are doing well
I realized how Learning online has been a challenge to both the Teacher and students, I have suggestion about it
My suggestion is that we use:
- Audio call (as a way of communication) and
- Chats (to outline important points as we used the blackboard in class)
Why is Audio call Important ?
- It keeps students focused
- It saves time (we can learn a lot)
- It simplifies communication
Why do i suggest that ?
- I realized that since we have taken your courses , Your teaching method is unique, It does not involve the use of PPT but rather blackboard , Which is a good thing as it is clear and flexible. so Audio + chats will match your teaching method.
- another thing is that students tend to be focused when there is a call than only chats
That's my suggestion.
Thank you and have a great day.
2020-03-02 15:31:25 Lan Hui(1348141770) We will start at 3:40 and end at 5:10pm.
2020-03-02 15:34:04 Lan Hui(1348141770) ==============================
2020-03-02 15:34:07 Lan Hui(1348141770) Thanks for the suggestion about using audio. I don't think that will work out very well. Blackboard is great. The point that blackboard is great is that it slows things down and give people more time to think and absorb knowledge. But we do not have blackboard now. You could do audio. I will do text, at least for today. I will do more research on how to teach effectively, online. However, I could experiment with audio clip now (not real-time).
2020-03-02 15:34:09 Lan Hui(1348141770) =======================================
2020-03-02 15:41:26 Lan Hui(1348141770)
2020-03-02 15:41:53 NGOUNOU家长(438499151)
hello Sir
2020-03-02 15:42:16 Lan Hui(1348141770)
2020-03-02 15:42:28 Guedalia Youma (3014432207)
Hello professor
2020-03-02 15:42:54 Lan Hui(1348141770) A downside of audio is that I cannot keep my script.
2020-03-02 15:44:19 Lan Hui(1348141770) This becomes worse when I am not a native English speaker.
2020-03-02 15:45:06 Lan Hui(1348141770) One drawback of text is that you can lose focus easily.
2020-03-02 15:45:35 Lan Hui(1348141770) Because it is slow ...
2020-03-02 15:45:40 Lan Hui(1348141770) That is fine.
2020-03-02 15:45:57 Lan Hui(1348141770) I don't know whether or not you are day dreaming,
2020-03-02 15:46:22 Lan Hui(1348141770) First of all, could you write your student number below?
2020-03-02 15:46:54 Lan Hui(1348141770) As a form of taking attendance.
2020-03-02 15:47:02 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
201925800174
2020-03-02 15:47:27 NGOUNOU家长(438499151)
201925800180
2020-03-02 15:47:28 Lan Hui(1348141770) [Announcement] Several things are due tonight: Quiz 2 and Group Information. Don't miss that.
2020-03-02 15:47:46 Lan Hui(1348141770) I'll go to grab a drink.
2020-03-02 15:49:06 Lan Hui(1348141770) Guys. Please write your student number below. Thanks.
2020-03-02 15:49:18 Kumson爸爸(3157209053)
201925800166
2020-03-02 15:50:29 Lan Hui(1348141770) I saw 8 out of 9 people are on the Member Panel.
2020-03-02 15:50:34 Lan Hui(1348141770) Where are other guys?
2020-03-02 15:50:52 Guedalia Youma (3014432207)
201925800221
2020-03-02 15:50:57 Lan Hui(1348141770) Where is Nicole?
2020-03-02 15:51:31 Lan Hui(1348141770) Kumson, it is 8am at your location, isn't it?
2020-03-02 15:52:13 Kumson爸爸(3157209053)
yes it's 8:52AM
2020-03-02 15:52:32 Lan Hui(1348141770) Not too bad.
2020-03-02 15:52:49 Lan Hui(1348141770) In terms of group information,
2020-03-02 15:53:48 Lan Hui(1348141770) pacitwizere, NGOUNOU BERNARD, MOHAMED MOUMMOU, KUMSON and Mary Doe have already submitted that information.
2020-03-02 15:54:36 Lan Hui(1348141770) For other guys, please make sure you submit your group information by tonight (for the 3 easy marks).
2020-03-02 15:55:02 Lan Hui(1348141770) None of you know PHP, don't you?
2020-03-02 15:55:11 Nicole Rutagengwa (1403962700)
I’m here
2020-03-02 15:55:21 Nicole Rutagengwa (1403962700)
201925800169
2020-03-02 15:55:26 Lan Hui(1348141770) Thanks Nicole.
2020-03-02 15:55:41 Lan Hui(1348141770) Perhaps you could learn some basic PHP,
2020-03-02 15:55:47 Lan Hui(1348141770) in the first few weeks?
2020-03-02 15:55:54 Nicole Rutagengwa (1403962700)
Sorry for the delay
2020-03-02 15:55:59 Lan Hui(1348141770) PHP is a really useful programming language,
2020-03-02 15:56:15 Lan Hui(1348141770) particularly useful for web development.
2020-03-02 15:57:20 Lan Hui(1348141770) A CRITICAL (even BLOCKER) bug in the current LRR is that a new user could not login immediately after sign up. This is Really annoying because it prevents users from using LRR!
2020-03-02 15:57:53 Lan Hui(1348141770) So I think the top priority will be fixing that. A top 2 priority is that the password resetting link is not always sent successfully. Below are the relevant bug reports:
2020-03-02 15:58:07 Lan Hui(1348141770) http://118.25.96.118/bugzilla/show_bug.cgi?id=49 http://118.25.96.118/bugzilla/show_bug.cgi?id=48 http://118.25.96.118/bugzilla/show_bug.cgi?id=19
2020-03-02 15:59:27 Lan Hui(1348141770) First picture - failed to send the password resetting link.
2020-03-02 15:59:39 Lan Hui(1348141770) Second picture - failed to login with correct password.
2020-03-02 15:59:55 Lan Hui(1348141770) I believe some of you have encountered these problems last semester.
2020-03-02 16:00:59 Lan Hui(1348141770) That is the project thing. I think we have the best resources in learning software project management in China.
2020-03-02 16:01:35 Lan Hui(1348141770) Now the coronavirus provides a Real opportunity for doing remote, collaborative software development.
2020-03-02 16:02:19 Lan Hui(1348141770) "Prince is a programmer and a tester. Mary is a documentation writer and a tester".
2020-03-02 16:02:31 Lan Hui(1348141770) [图片]
2020-03-02 16:02:43 Lan Hui(1348141770) Does that mean Kumson could do programming?
2020-03-02 16:03:11 Lan Hui(1348141770) Kumson?
2020-03-02 16:03:19 Marie(2928285277)
201925800173
2020-03-02 16:03:28 Marie(2928285277)
Sorry for being late
2020-03-02 16:03:43 Lan Hui(1348141770) I feel that Twizere may be a programmer.
2020-03-02 16:04:03 Lan Hui(1348141770) He could also be a documentation writer.
2020-03-02 16:04:14 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
@Lan Hui Yes Teacher I can do some programming
2020-03-02 16:04:17 Lan Hui(1348141770) He is able to write long and organized email. A great ability.
2020-03-02 16:05:29 Lan Hui(1348141770) BTW, we are going to have a pop-up quiz next Monday.
2020-03-02 16:05:54 Lan Hui(1348141770) It is like a "surprise attack".
2020-03-02 16:06:11 Lan Hui(1348141770) The content of the quiz won't be disclosed until the lecture time.
2020-03-02 16:06:26 Nicole Rutagengwa (1403962700)
@蓝珲@蓝珲 [表情]
2020-03-02 16:06:29 Lan Hui(1348141770) You need to read Chapter 2 for preparing that quiz (2 marks there).
2020-03-02 16:06:45 Lan Hui(1348141770) https://producingoss.com/en/getting-started.html
2020-03-02 16:07:00 Lan Hui(1348141770) You have one week to read.
2020-03-02 16:07:13 Lan Hui(1348141770) In fact, I remember Nicole took my course before.
2020-03-02 16:07:22 Lan Hui(1348141770) So you have an advantage.
2020-03-02 16:07:36 Lan Hui(1348141770) However, I will add lots of new stuff, to be fair with others.
2020-03-02 16:08:09 Nicole Rutagengwa (1403962700)
Yes this time it’s seem to be different than last time
2020-03-02 16:08:18 Nicole Rutagengwa (1403962700)
I had your course
2020-03-02 16:08:51 Nicole Rutagengwa (1403962700)
Or maybe I don’t remember much
2020-03-02 16:08:55 Lan Hui(1348141770) I posted another video documentary (The Code) for you to watch after class.
2020-03-02 16:09:16 Lan Hui(1348141770) Of course, I think Nicole has forgotten everything. Me too.
2020-03-02 16:09:36 Lan Hui(1348141770) Documentary The Code: https://www.bilibili.com/video/av4242055/?spm_id_from=333.788.videocard.1
2020-03-02 16:10:05 Lan Hui(1348141770) The Code is about how the Linux OS is originated and managed by loosely organized communities.
2020-03-02 16:10:23 Lan Hui(1348141770) If you never saw it before, it is worth watching.
2020-03-02 16:10:46 Lan Hui(1348141770) Thus far I've talked about proprietary code, open source code, two reasons for open source (More Publicity and Reap the Benefits), difficulty in letting outside people understand your codebase, and the important management tip DON'T THROW AWAY YOUR CODE.
2020-03-02 16:11:28 Lan Hui(1348141770) Did you guys have a chance to read in more depth about the DON'T THROW AWAY YOUR CODE advice?
2020-03-02 16:11:51 Lan Hui(1348141770) The author is Joel Spolsky,
2020-03-02 16:12:01 Marie(2928285277)
Yes
2020-03-02 16:12:02 Lan Hui(1348141770) Co-founder of Stack Overflow.
2020-03-02 16:12:31 Lan Hui(1348141770) [图片]
2020-03-02 16:12:45 Lan Hui(1348141770) (Thanks, Marie.)
2020-03-02 16:13:10 Lan Hui(1348141770) Wow, Joel is good at writing convincing blogs.
2020-03-02 16:13:27 Lan Hui(1348141770) Every Chinese professor should read his 1,000+ blog posts.
2020-03-02 16:13:51 Lan Hui(1348141770) Could you see the picture?
2020-03-02 16:14:16 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
yes I do see the picture
2020-03-02 16:14:23 Nicole Rutagengwa (1403962700)
yeah
2020-03-02 16:14:30 Kumson爸爸(3157209053)
yes
2020-03-02 16:14:40 NGOUNOU家长(438499151)
yeah
2020-03-02 16:14:57 Guedalia Youma (3014432207)
Yes
2020-03-02 16:15:04 Lan Hui(1348141770) His points in this blog are really insightful.
2020-03-02 16:15:13 Lan Hui(1348141770) I never thought about those before:
2020-03-02 16:15:29 Lan Hui(1348141770) We have spent a tremendous amount of time on the Old Code.
2020-03-02 16:15:46 Lan Hui(1348141770) More importantly, the Old Code has been used and tested, while New Code has not.
2020-03-02 16:16:06 Lan Hui(1348141770) This difference is really important.
2020-03-02 16:16:58 Lan Hui(1348141770) Any comments on the browser war between Microsoft and Netscape Communications?
2020-03-02 16:17:38 Lan Hui(1348141770) Perhaps Netscape Communications was doomed to fail because his competitor was way too strong.
2020-03-02 16:18:22 Lan Hui(1348141770) I believe even the Netscape team had not thrown away their old code, their chance to win was quite slim.
2020-03-02 16:19:16 Lan Hui(1348141770) Windows was a dominant desktop OS and IE was bundled (not for sale) with it.
2020-03-02 16:19:58 Lan Hui(1348141770) Average users won't download another web browser unless IE is too bad, which is of course not the case.
2020-03-02 16:20:41 Lan Hui(1348141770) Very few companies in the world has the ability to develop and maintain OS.
2020-03-02 16:21:26 Lan Hui(1348141770) IBM, Microsoft, Canonical, Redhat, etc. Very hard to name other companies.
2020-03-02 16:21:47 Lan Hui(1348141770) Ubuntu is not a company just as Windows is not a company.
2020-03-02 16:21:59 Lan Hui(1348141770) Apple is also able to develop and maintain OSes.
2020-03-02 16:22:19 Lan Hui(1348141770) Google's android is based on Linux.
2020-03-02 16:22:32 Lan Hui(1348141770) Today's web browser market share ...
2020-03-02 16:22:42 Lan Hui(1348141770) [图片]
2020-03-02 16:23:02 Lan Hui(1348141770) Chrome has taken over IE.
2020-03-02 16:23:25 Lan Hui(1348141770) IE was dead around five years ago. Now Microsoft bundles Edge with Windows 10.
2020-03-02 16:23:32 Lan Hui(1348141770) Let's take a 5-minute break.
2020-03-02 16:24:31 Guedalia Youma (3014432207)
Okay Sir
2020-03-02 16:25:16 Nicole Rutagengwa (1403962700)
alright
2020-03-02 16:30:17 Lan Hui(1348141770) =======================================================================
2020-03-02 16:30:40 Lan Hui(1348141770) [图片]
2020-03-02 16:30:59 Lan Hui(1348141770) [图片]
2020-03-02 16:31:12 Lan Hui(1348141770) I won't go through their history year by year.
2020-03-02 16:31:37 Lan Hui(1348141770) One point I want to make is that Microsoft actually negotiated with Netscape when Netscape was Really hot (in 1994).
2020-03-02 16:32:05 Lan Hui(1348141770) Microsoft is good at marketing strategy: If I could not beat you, we become friends.
2020-03-02 16:32:27 Lan Hui(1348141770) Now it has already started embracing open source.
2020-03-02 16:32:36 Lan Hui(1348141770) A very adaptive and flexible company.
2020-03-02 16:32:59 Lan Hui(1348141770) Joel Spolsky worked for Microsoft for a period of time.
2020-03-02 16:33:14 Lan Hui(1348141770) I guess Microsoft will last at least 10 more years.
2020-03-02 16:33:37 Lan Hui(1348141770) Strangely, Microsoft does not do very well in the mobile market.
2020-03-02 16:33:48 Lan Hui(1348141770) Windows Phone is not a success.
2020-03-02 16:34:32 Lan Hui(1348141770) Competition is good in a healthy society.
2020-03-02 16:34:41 Lan Hui(1348141770) It promotes innovation.
2020-03-02 16:35:23 Lan Hui(1348141770) [图片]
2020-03-02 16:35:35 Lan Hui(1348141770) Here we have the contrived word "coopetition".
2020-03-02 16:35:45 Lan Hui(1348141770) What does that word mean?
2020-03-02 16:36:17 Lan Hui(1348141770) Compete and Collaborate.
2020-03-02 16:36:46 Lan Hui(1348141770) I take the Big part of the interest, you take the small parts.
2020-03-02 16:36:58 Lan Hui(1348141770) In fact, Netscape Communications did quite well on that.
2020-03-02 16:37:24 Lan Hui(1348141770) It published standards, and attracted partners (e.g., GE, Sun, and Informix).
2020-03-02 16:38:00 Lan Hui(1348141770) Like Apple, it needs thousands of developers to develop Apple Apps that run on the MacOS.
2020-03-02 16:39:02 Lan Hui(1348141770) [图片]
2020-03-02 16:39:09 Lan Hui(1348141770) Two persons with the last names ended with 'ski(y)'.
2020-03-02 16:39:32 Lan Hui(1348141770) Zawin-ski and Spol-sky
2020-03-02 16:40:09 Lan Hui(1348141770) “Netscape was shipping garbage, and shipping it late.”
2020-03-02 16:40:41 Lan Hui(1348141770) This talks about the time when the Netscape team tried in vain to write everything from scratch.
2020-03-02 16:41:04 Lan Hui(1348141770) Do not underestimate the amount of work that requires.
2020-03-02 16:41:34 Lan Hui(1348141770) In fact, Netscape 5.0 was delayed and never released.
2020-03-02 16:42:49 Lan Hui(1348141770) Developing Groupware also sucked up their energy badly.
2020-03-02 16:43:23 Lan Hui(1348141770) Short Time + Big Ambition = Failure
2020-03-02 16:44:22 Lan Hui(1348141770) A Baby Step Each Day * 360 Days = Success.
2020-03-02 16:45:10 Lan Hui(1348141770) "Open source does work, but it is most definitely not a panacea. If there's a cautionary tale here, it is that you can't take a dying project, sprinkle it with the magic pixie dust of *open source*, and have everything magically work out. Software is hard. The issues aren't that simple."
2020-03-02 16:45:33 Lan Hui(1348141770) The above sentence appears in our textbook (Chapter 1).
2020-03-02 16:45:45 Lan Hui(1348141770) There is no such a thing that can cure everything.
2020-03-02 16:45:53 Lan Hui(1348141770) Open source is not an exception.
2020-03-02 16:47:15 Lan Hui(1348141770) For the Netscape team, I do not think open source is an option in their original plan.
2020-03-02 16:47:41 Lan Hui(1348141770) Instead, open source is likely their last resort.
2020-03-02 16:48:30 Lan Hui(1348141770) If you look at the present market share, Firefox, although still in the 3rd place, has only less than 5% of the market.
2020-03-02 16:48:48 Lan Hui(1348141770) BTW, Firefox evolved from Netscape.
2020-03-02 16:48:57 Lan Hui(1348141770) Let's take a break.
2020-03-02 16:50:29 莫莫(3481157233)
Okey
2020-03-02 16:50:43 NGOUNOU家长(438499151)
Ok
2020-03-02 16:56:37 Lan Hui(1348141770) =========================================
2020-03-02 16:57:19 Lan Hui(1348141770) It seems that we should really establish corporations (companies) to take over market share.
2020-03-02 16:57:38 Lan Hui(1348141770) A charity organization is unable to compete with companies.
2020-03-02 16:58:41 Lan Hui(1348141770) Maybe in the long term, the charity organization may have an upper hand?
2020-03-02 16:58:44 Lan Hui(1348141770) Who knows?
2020-03-02 16:59:36 Lan Hui(1348141770) [图片]
2020-03-02 16:59:53 Lan Hui(1348141770) OK. Since Netscape has failed, we can blame it unscrupulously.
2020-03-02 17:00:11 Lan Hui(1348141770) You shouldn't have done this, and shouldn't have done that. Say things like that.
2020-03-02 17:00:31 Lan Hui(1348141770) Perhaps Microsoft was making these mistakes too,
2020-03-02 17:00:41 Lan Hui(1348141770) but probably in a lesser degree.
2020-03-02 17:01:15 Lan Hui(1348141770) Hopefully we won't repeat that.
2020-03-02 17:01:38 Lan Hui(1348141770) Be aware of Feature Creep or Request Creep.
2020-03-02 17:02:08 Lan Hui(1348141770) Something becomes creep if it exceeds the current team's capacity.
2020-03-02 17:02:26 Lan Hui(1348141770) You might have a great idea. But to realize that idea requires great craftsmanship (Steve Jobs).
2020-03-02 17:02:51 Lan Hui(1348141770) And don't forget you have competitors who are doing their best to eat our market share.
2020-03-02 17:03:40 Lan Hui(1348141770) If we don't keep a rhythm of releases, chances are that customers may forget us.
2020-03-02 17:04:10 Lan Hui(1348141770) In the commercial world, you must release your product often and robust.
2020-03-02 17:05:01 Lan Hui(1348141770) To that end, refactor your code to make your codebase reasonably clean. (Remember the cumulative functionality vs. time curve from Martin Fowler, https://martinfowler.com/articles/is-quality-worth-cost.html ?)
2020-03-02 17:06:58 Lan Hui(1348141770) [图片]
2020-03-02 17:07:40 Lan Hui(1348141770) The point of setting release expectation is to reassure people and supply comfort.
2020-03-02 17:07:58 Lan Hui(1348141770) Will you use a product that is no longer supported?
2020-03-02 17:08:26 Lan Hui(1348141770) The really crucial thing in software industry is support and maintenance.
2020-03-02 17:08:57 Lan Hui(1348141770) If support and maintenance are discontinued, the life of the software has ended.
2020-03-02 17:09:16 Lan Hui(1348141770) ======================================================
2020-03-02 17:09:27 Lan Hui(1348141770) That's everything for today.
2020-03-02 17:09:39 Lan Hui(1348141770) Please write your student number below. Thanks. Bye.
2020-03-02 17:10:09 Nicole Rutagengwa (1403962700)
201925800169
2020-03-02 17:10:41 NGOUNOU家长(438499151)
201925800180
2020-03-02 17:10:41 Kumson爸爸(3157209053)
201925800166
2020-03-02 17:11:15 Guedalia Youma (3014432207)
201925800221
2020-03-02 17:12:51 莫莫(3481157233)
201925800178
2020-03-02 17:14:41 系统消息(10000)
Twizere Pacifique 唐平撤回了一条消息
2020-03-02 17:14:52 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
201925800174
2020-03-02 17:19:48 Marie(2928285277)
201925800173
Friday, 6 March 2020
====================
*LRR now has maintainers - Pricing plan - How to keep software alive - Why pay and pay for what - Why report bugs - License - Proprietary software - Quiz*
2020-03-06 7:26:15 初阳软工171 伍泰炜(2728735169) 201736900125
2020-03-06 8:00:09 初阳软工171 徐闰钞(374526027) 201736900127
2020-03-06 8:00:17 蓝珲(1348141770) 伍泰炜这么早点名?
2020-03-06 8:00:24 初阳软工171 余慧(945168786) 201736900117
2020-03-06 8:00:26 软工初阳171 刘莉莉(1196448461) 201736900108
2020-03-06 8:00:35 网络171许晓鹏(892376699) 201730210128
2020-03-06 8:00:36 重新做人(1344914885) 201736900113
2020-03-06 8:00:37 软工初阳171周佳威<zhouwys@qq.com> 201736900130
2020-03-06 8:00:38 初阳软工171方梓安(2453122992) 201736900105
2020-03-06 8:00:38 网络171-侯新苗(953957823) 201730210304
2020-03-06 8:00:38 软工初阳171 何可人(1461938594) 201736900106
2020-03-06 8:00:41 初阳软工171 伍泰炜(2728735169) [图片]
2020-03-06 8:00:43 唐叶尔(1768559501) 201736900111
2020-03-06 8:00:51 软件工程初阳1701 徐梦旗(2663479778) 201732120124
2020-03-06 8:00:56 初阳软工171袁世家(1515245651) 201739230123
2020-03-06 8:00:59 软件工程 常思琦(995959606) 201732120101
2020-03-06 8:01:00 初阳软工171 王海榕(1012635788) 201732120105
2020-03-06 8:01:02 软件工程 王雪洁(249795581) 201732120106
2020-03-06 8:01:07 初阳软工171 吴贞娴(1395588359) 201732120108
2020-03-06 8:01:16 软件工程 张珣(1955357976) 201732120109
2020-03-06 8:01:46 初阳软工171 伍泰炜(2728735169) 201736900125
2020-03-06 8:01:50 蓝珲(1348141770) 大家有没有收到返校通知?
2020-03-06 8:01:56 网络171—董文文(2373706002) 201730210303
2020-03-06 8:01:56 蓝珲(1348141770) 没有吧?
2020-03-06 8:01:58 网络171许晓鹏(892376699) 没有
2020-03-06 8:02:00 初阳软工171 伍泰炜(2728735169) 没有
2020-03-06 8:02:03 软件工程 张珣(1955357976) 没有
2020-03-06 8:02:05 软工初阳171 何可人(1461938594) 没有
2020-03-06 8:02:07 软件工程初阳1701 徐梦旗(2663479778) 没有
2020-03-06 8:02:13 蓝珲(1348141770) 谢谢。
2020-03-06 8:02:32 蓝珲(1348141770) 今天我们最后5分钟做一个课堂Quiz。
2020-03-06 8:02:39 蓝珲(1348141770) 突袭。
2020-03-06 8:03:11 蓝珲(1348141770) 我们上次讲到,
2020-03-06 8:03:23 蓝珲(1348141770) Feature Creep, Request Creep的危害。
2020-03-06 8:03:34 蓝珲(1348141770) 就是会把团队拖死,
2020-03-06 8:04:02 蓝珲(1348141770) 让团队忙死,疲于奔命,而无法交付健壮产品。
2020-03-06 8:04:20 蓝珲(1348141770) 还有一个就是“不要扔掉老代码”。https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
2020-03-06 8:04:33 蓝珲(1348141770) 主要原因是什么?
2020-03-06 8:04:47 蓝珲(1348141770) (1)老代码受过“考验”。
2020-03-06 8:04:59 蓝珲(1348141770) (2)新代码没有受过“考验”。
2020-03-06 8:05:28 蓝珲(1348141770) 一个新闻,
2020-03-06 8:05:44 蓝珲(1348141770) 我们的LRR已经有人维护了,ASHLY。
2020-03-06 8:06:08 蓝珲(1348141770) 他解决了一个注册后不能登录的问题。
2020-03-06 8:06:28 蓝珲(1348141770) 很傻的问题,长期得不到解决,直到出现了ASHLY。
2020-03-06 8:07:10 蓝珲(1348141770) 上次课我给了大家两个链接,也不知道你们看过没有。
2020-03-06 8:07:24 蓝珲(1348141770) https://martinfowler.com/articles/is-quality-worth-cost.html
2020-03-06 8:07:39 蓝珲(1348141770) https://www.joelonsoftware.com/2000/04/06/things-you-should-never-do-part-i/
2020-03-06 8:08:15 蓝珲(1348141770) 我最近在看joelsoftware这个网站的东西。Joel是Stack Overflow的创始人兼前CEO。
2020-03-06 8:08:42 蓝珲(1348141770) [图片]
2020-03-06 8:09:30 蓝珲(1348141770) Joel Spolsky在10来年间写了1000多篇东西。
2020-03-06 8:09:51 蓝珲(1348141770) 我觉得每个教软件工程或者软件项目管理的老师都应该看看。
2020-03-06 8:09:57 蓝珲(1348141770) 吸收其精华。
2020-03-06 8:10:26 蓝珲(1348141770) 你们的Quiz1我已经改好了。对分易可以查看。
2020-03-06 8:10:33 蓝珲(1348141770) Quiz2我还没有看。
2020-03-06 8:10:44 蓝珲(1348141770) Quiz2是关于Netscape怎么覆灭记的。
2020-03-06 8:11:18 蓝珲(1348141770) 除了其他的原因,主要是对手微软不是猪,太强了。
2020-03-06 8:11:58 蓝珲(1348141770) 微软在个人电脑市场,在90年代占90%份额以上。
2020-03-06 8:12:03 蓝珲(1348141770) 在中国几乎是100%。
2020-03-06 8:12:38 蓝珲(1348141770) 现在的话MacOS会有一点份额。
2020-03-06 8:13:19 蓝珲(1348141770) 我们还稍微讲了下开源,闭源的问题。
2020-03-06 8:13:32 蓝珲(1348141770) 开源 - open source。
2020-03-06 8:13:40 蓝珲(1348141770) 闭源 - closed-source。
2020-03-06 8:13:47 蓝珲(1348141770) 开源不等于免费。
2020-03-06 8:13:53 蓝珲(1348141770) 闭源不等于收费。
2020-03-06 8:14:00 蓝珲(1348141770) 这个大家都知道的吧?
2020-03-06 8:14:25 蓝珲(1348141770) 开源,就是把源码暴露给大家。
2020-03-06 8:14:35 蓝珲(1348141770) 那么怎么个收费法?
2020-03-06 8:15:01 蓝珲(1348141770) 收取服务费,或者按照Pricing Plan计费。
2020-03-06 8:15:50 蓝珲(1348141770) 对于绝大多数用户,把源码给他看和不看完全没有区别,反正都看不懂,更不用说去修改了。
2020-03-06 8:16:27 蓝珲(1348141770) 收取服务费,培训费,咨询费的有Canonical公司的产品Ubuntu.
2020-03-06 8:17:34 蓝珲(1348141770) 按Plan计费的有RStudio。
2020-03-06 8:19:08 蓝珲(1348141770) 听说Canonical公司现在还是在亏本,不知道是怎么运营的。
2020-03-06 8:19:29 蓝珲(1348141770) 最左边的,企业级安全与审计。
2020-03-06 8:19:36 蓝珲(1348141770) 给企业提供服务。 https://ubuntu.com/pricing
2020-03-06 8:20:03 蓝珲(1348141770) 个人的钱它就不去赚了。给企业服务,赚取大钱。
2020-03-06 8:20:22 蓝珲(1348141770) Ubuntu近些年牌子还是打出去了。
2020-03-06 8:20:51 蓝珲(1348141770) 在北美大学,服务器基本上都跑Ubuntu Server了吧。
2020-03-06 8:21:22 蓝珲(1348141770) 还有一个就是24/7的售后服务团队。
2020-03-06 8:22:02 蓝珲(1348141770) 奇了怪了,浙师大怎么不装Ubuntu?
2020-03-06 8:22:15 蓝珲(1348141770) Ubuntu有一个中国版。
2020-03-06 8:22:52 初阳软工171 伍泰炜(2728735169) 有的机房有的
2020-03-06 8:22:54 蓝珲(1348141770) 叫做优麒麟。
2020-03-06 8:22:56 蓝珲(1348141770) http://www.ubuntukylin.com/
2020-03-06 8:23:13 蓝珲(1348141770) [图片]
2020-03-06 8:23:23 蓝珲(1348141770) 中国方面,应该是要付钱给Canonical的。
2020-03-06 8:23:54 蓝珲(1348141770) 休息5分钟。
2020-03-06 8:23:57 蓝珲(1348141770) =======================================================
2020-03-06 8:25:03 软工初阳171 应舸(1434305984) sorry ,i forget to sign i01736900128
2020-03-06 8:25:59 初阳软工171叶红霞(1655602611) 抱歉,我也没签201736900115
2020-03-06 8:26:22 初阳软工171 蒋佳玲(1850424414) 抱歉,我也没有 201732120103
2020-03-06 8:28:12 计非181 王智洋(1162466610) 抱歉,我也没有 201830220719
2020-03-06 8:29:47 初阳软工171 陈肖飞(1662727361) 201736900104
2020-03-06 8:29:51 蓝珲(1348141770) 签了就可以
2020-03-06 8:30:31 蓝珲(1348141770) Ubuntu这些开源的操作系统很难火起来,一个主要的原因
2020-03-06 8:30:44 蓝珲(1348141770) 是它不是默认与硬件整机绑定的.
2020-03-06 8:30:54 蓝珲(1348141770) 绑定是个杀手锏。
2020-03-06 8:31:09 蓝珲(1348141770) 大家一般买个电脑,都预装了系统了。
2020-03-06 8:31:40 蓝珲(1348141770) "The most comprehensive Linux enterprise subscription”
2020-03-06 8:31:50 蓝珲(1348141770) Subscription是什么意思?
2020-03-06 8:32:05 蓝珲(1348141770) 订阅?
2020-03-06 8:32:10 初阳软工171 伍泰炜(2728735169) 市场占有率
2020-03-06 8:32:27 初阳软工171 伍泰炜(2728735169) 类似意思吧
2020-03-06 8:32:47 蓝珲(1348141770) [图片]
2020-03-06 8:33:03 蓝珲(1348141770) 是订阅嘛。
2020-03-06 8:33:19 蓝珲(1348141770) 好像订报纸似的,
2020-03-06 8:33:27 蓝珲(1348141770) 每年要交钱。
2020-03-06 8:33:43 蓝珲(1348141770) 所以,Ubuntu收的是这部分的钱。
2020-03-06 8:33:58 蓝珲(1348141770) 企业级的“订阅”费。
2020-03-06 8:34:30 蓝珲(1348141770) 意思就是说,我们签一个协议,你企业的服务器我来给你运维,然后你一年给我10-100万不等。
2020-03-06 8:34:37 蓝珲(1348141770) 大概就是这个意思。
2020-03-06 8:34:53 蓝珲(1348141770) 对于大企业来说,100万毛毛雨了。
2020-03-06 8:35:32 蓝珲(1348141770) 对于技术企业,估计也可以请专人做。
2020-03-06 8:35:55 蓝珲(1348141770) 如雇佣2-5个人运维,但是也要付工资的不是?
2020-03-06 8:36:35 蓝珲(1348141770) 所以,开源产品,服务、运维这一块,应该是很重要的一个收入。
2020-03-06 8:36:53 蓝珲(1348141770) 大家知道,不被运维的软件注定是死的软件。
2020-03-06 8:37:14 蓝珲(1348141770) 软件的活力在于持续改善,持续更新。
2020-03-06 8:37:37 蓝珲(1348141770) (看来你们的英文比较菜啊。)
2020-03-06 8:37:52 蓝珲(1348141770) (多看看英文网站,就能提高。)
2020-03-06 8:39:00 蓝珲(1348141770) 你们看看Ubuntu的团队。
2020-03-06 8:39:18 蓝珲(1348141770) (对了,Ubuntu是建立在Debian开源操作系统上的。)
2020-03-06 8:39:56 蓝珲(1348141770) https://wiki.ubuntu.com/Teams
.. image:: ubuntu-team.jpg
:height: 100
:alt: Ubuntu team https://wiki.ubuntu.com/Teams
2020-03-06 8:40:34 蓝珲(1348141770) 内核团队,就是维护底层操作系统的。
2020-03-06 8:40:52 蓝珲(1348141770) 基础团队。
2020-03-06 8:41:12 蓝珲(1348141770) 在一些中国公司是有基础部的,搞不清楚是做什么的。
2020-03-06 8:42:24 蓝珲(1348141770) 它的Communication Tools那列
2020-03-06 8:42:25 蓝珲(1348141770) #ubuntu-devel
2020-03-06 8:42:35 蓝珲(1348141770) hashtag ubuntun-devel
2020-03-06 8:42:49 蓝珲(1348141770) 是基础团队的IRC聊天室。
2020-03-06 8:43:08 蓝珲(1348141770) devel是指开发,可能是应用软件的开发。
2020-03-06 8:43:28 蓝珲(1348141770) QA团队,就是质量保障团队了。
2020-03-06 8:43:56 蓝珲(1348141770) 看到没有,每个团队都有一个聊天室。
2020-03-06 8:44:12 蓝珲(1348141770) 看来,在英国,大家还是用IRC比较多。
2020-03-06 8:44:49 蓝珲(1348141770) 其中一个原因就是Ubuntu团队成员分散在世界各地。
2020-03-06 8:45:11 蓝珲(1348141770) 还有,IRC比较轻量?
2020-03-06 8:46:03 蓝珲(1348141770) 上图列出的是Ubuntu Engineering Teams
2020-03-06 8:46:23 蓝珲(1348141770) 是工程部门的,我估计公司还有销售部门、宣传部门。
2020-03-06 8:46:41 蓝珲(1348141770) 我们看看最后一列,开会。
2020-03-06 8:46:58 蓝珲(1348141770) 好像大多是每周开一次会。
2020-03-06 8:47:05 蓝珲(1348141770) 开会也在IRC上开的吧?
2020-03-06 8:47:29 蓝珲(1348141770) 这个是Ubuntu的情况。
2020-03-06 8:47:34 蓝珲(1348141770) 我们看看RStudio.
2020-03-06 8:48:10 蓝珲(1348141770) 这款软件我也用得比较多的。用来做数据分析,像MATLAB。
2020-03-06 8:49:16 蓝珲(1348141770) https://rstudio.com/
2020-03-06 8:49:33 蓝珲(1348141770) 你们把鼠标放在Products下面,看到没有,它也是Open Source的。
2020-03-06 8:49:58 蓝珲(1348141770) 也有不同的收费栏目。https://rstudio.com/pricing/
2020-03-06 8:50:03 蓝珲(1348141770) 休息5分钟。
2020-03-06 9:00:38 蓝珲(1348141770) ======================================================
2020-03-06 9:01:01 蓝珲(1348141770) 如果需要人工支持,那么桌面版就是995美元每年。
2020-03-06 9:01:18 蓝珲(1348141770) 这个针对个人用户,自由职业者?
2020-03-06 9:01:49 蓝珲(1348141770) 如果是Server Pro,那么就是4975美元每年。
2020-03-06 9:02:06 蓝珲(1348141770) 限于5个用户。
2020-03-06 9:02:23 蓝珲(1348141770) 什么样的人会去买这个呢?
2020-03-06 9:02:31 蓝珲(1348141770) 银行会买。
2020-03-06 9:02:47 蓝珲(1348141770) 审计企业会买。比如普华永道之类的。
2020-03-06 9:03:25 蓝珲(1348141770) 因为这个工具RStudio对于这些企业的作用远远大于所花的金钱。
2020-03-06 9:03:58 蓝珲(1348141770) 在成熟的软件工业社会,用户是乐于付费的。
2020-03-06 9:04:11 蓝珲(1348141770) 因为用户知道,只有付费,才能有更好的服务。
2020-03-06 9:04:20 蓝珲(1348141770) 这个不是必然的道理吗?
2020-03-06 9:04:40 蓝珲(1348141770) 付费,给开发者发好的工资,开发更好的产品。
2020-03-06 9:05:12 蓝珲(1348141770) 用户还是乐于报告软件运行错误的,目的就是帮助改进软件。
2020-03-06 9:05:29 蓝珲(1348141770) 像我们,发现奔溃了,赶紧关掉。
2020-03-06 9:06:25 蓝珲(1348141770) 软件,稍微像样一点的那种,
2020-03-06 9:06:34 蓝珲(1348141770) 会跟一个许可证(License)。
2020-03-06 9:06:53 蓝珲(1348141770) 许可证就是规定了你能拿这个软件做什么。
2020-03-06 9:07:03 蓝珲(1348141770) 有各种各样的许可证了。
2020-03-06 9:07:21 蓝珲(1348141770) 开源的许可证种类就至少有10种之多吧?
2020-03-06 9:07:59 蓝珲(1348141770) https://opensource.org/licenses
2020-03-06 9:08:06 蓝珲(1348141770) Popular Licenses the following OSI-approved licenses are popular, widely used, or have strong communities: Apache License 2.0 BSD 3-Clause "New" or "Revised" license BSD 2-Clause "Simplified" or "FreeBSD" license GNU General Public License (GPL) GNU Library or "Lesser" General Public License (LGPL)MIT license Mozilla Public License 2.0 Common Development and Distribution License Eclipse Public License version 2.0
2020-03-06 9:08:27 蓝珲(1348141770) 阿帕奇(Apache),GPL, MIT用的人比较多。
2020-03-06 9:08:55 蓝珲(1348141770) GPL许可证保证了四大自由。
2020-03-06 9:09:23 蓝珲(1348141770) 而且它的“子孙”(衍生品)也要满足这些自由。
2020-03-06 9:10:16 蓝珲(1348141770) A软件是用GPL的,然后B软件用到A软件的一部分代码,那么B软件一定要用GPL。
2020-03-06 9:10:47 蓝珲(1348141770) 不想?那对不起,你不能用我的A软件。
2020-03-06 9:10:54 蓝珲(1348141770) 硬要用?
2020-03-06 9:11:18 蓝珲(1348141770) 自己用用,我管不了那么多。拿去卖?那就不行。
2020-03-06 9:11:51 蓝珲(1348141770) 许可证许可证,就是你要用我的东西,只能按照我许可的条款去做。
2020-03-06 9:12:02 蓝珲(1348141770) 有点霸道,但是受法律保护。
2020-03-06 9:12:44 蓝珲(1348141770) 大家有空可以研究一下Apache、MIT、GPL这些许可证。
2020-03-06 9:13:22 蓝珲(1348141770) 你的软件包括了私有软件而且还卖的很好? 这可不是好事, 小心私有软件的作者(公司)告你侵权。
2020-03-06 9:13:40 蓝珲(1348141770) 私有软件当然也有许可证。
2020-03-06 9:14:02 蓝珲(1348141770) 这个许可证,称为“不许可证”也许更为恰当。
2020-03-06 9:14:07 蓝珲(1348141770) 限制特别多。
2020-03-06 9:14:24 蓝珲(1348141770) 比如,只能你自己使用之类的。
2020-03-06 9:14:42 蓝珲(1348141770) 你们用的一些软件产品,比如OneNote之类的,也是有许可证的。
2020-03-06 9:14:55 蓝珲(1348141770) 越成功,越要注意这个软件许可证问题。否则,很麻烦。
2020-03-06 9:15:23 蓝珲(1348141770) 阿里巴巴公司不是要去IOE吗,就是舍不得支付软件许可证费,就是在这方面感觉被束缚手脚了。
2020-03-06 9:15:43 蓝珲(1348141770) IOE,I指IBM,O指Oracle,E指什么?
2020-03-06 9:16:24 蓝珲(1348141770) 前段时间有个新闻,说阿里的Oceanbase “超过” Oracle了。
2020-03-06 9:16:29 蓝珲(1348141770) 大家可以研究一下。
2020-03-06 9:16:36 蓝珲(1348141770) https://www.infoq.cn/article/JKHPqdcSgStDbG2DF0xb?utm_source=weibo&utm_medium=infoq&utm_campaign=newinfoq&utm_content=1005
2020-03-06 9:16:43 蓝珲(1348141770) http://www.tpc.org/tpcc/results/tpcc_result_detail.asp?id=119100101 https://www.zhihu.com/question/30209216
2020-03-06 9:17:06 软工初阳171 应舸(1434305984) EMC存储设备
2020-03-06 9:17:08 蓝珲(1348141770) 我们休息一下,就准备Quiz了。
2020-03-06 9:18:29 蓝珲(1348141770) 对了,你们接下去要读第二章。
2020-03-06 9:18:54 蓝珲(1348141770) 做个计划,每天读一点,做点笔记。
2020-03-06 9:19:08 蓝珲(1348141770) 不要到时候全部再看一遍,慌里慌张。
2020-03-06 9:19:12 计非181 王智洋(1162466610) 老师能发一下电子书吗
2020-03-06 9:19:32 蓝珲(1348141770) https://producingoss.com/
2020-03-06 9:19:45 蓝珲(1348141770) 你去这里下载PDF文件就可以。
2020-03-06 9:19:54 蓝珲(1348141770) 我看看我电脑上有没有。
2020-03-06 9:20:10 计非181 王智洋(1162466610) 谢谢老师
2020-03-06 9:22:11 蓝珲(1348141770) 我们的Quiz在9:40前交。
2020-03-06 9:22:38 蓝珲(1348141770) 是非题,选2个回答就可以。
2020-03-06 9:22:42 蓝珲(1348141770) 独立完成。
2020-03-06 9:22:50 蓝珲(1348141770) 在对分易上交。
2020-03-06 9:23:03 初阳软工171 伍泰炜(2728735169) 在哪个模块提交呢
2020-03-06 9:23:07 蓝珲(1348141770) [图片]
2020-03-06 9:23:15 网络171许晓鹏(892376699) 判断?
2020-03-06 9:23:23 蓝珲(1348141770) Quiz 3.
2020-03-06 9:23:41 蓝珲(1348141770) 判断题。对或错。
2020-03-06 9:26:17 蓝珲(1348141770) 再见。有空记得查看课程主页 http://lanlab.org/course/2020s/spm
2020-03-06 9:26:44 蓝珲(1348141770) 不要忘了交Quiz,今天上午9点40前,还有15分钟。
Monday, 9 March 2020
====================
Morning section
----------------
*Sustained efforts - How to earn 1b 10 years later - Software licenses - Copyleft - Non-copyleft - Commercial - Non-commercial - Proprietary - Non-proprietary - Quiz*
蓝老师(1348141770) ===================================================
蓝老师(1348141770) Morning guys. Could you type your student number?
2020-03-09 10:36:06 ibrahim(1525200991) 201732120159
2020-03-09 10:36:06 201732120167 Clive妈妈(3321692247) 201732120167
2020-03-09 10:36:07 软英171周仙龙(1748153603) 201732120130
2020-03-09 10:36:08 201732120141--AHAMED SABUJ妈妈(2686217157) 201732120141
2020-03-09 10:36:08 201732120168_Golden(2984538488) 201732120168
2020-03-09 10:36:08 201732120127 张滨(2350711965) 201732120127
蓝老师(1348141770) It is useful for me.
2020-03-09 10:36:11 201732120134_Michelle(3304952232) 201732120134
2020-03-09 10:36:11 201732120165 MJH MOHAMED(2751595398) 201732120165
2020-03-09 10:36:15 软英171高增(1520653544) 201732120117
2020-03-09 10:36:16 李佳兴(421281726) 201732120118
2020-03-09 10:36:16 201632120150-Ashly(1661411131) 201632120150
2020-03-09 10:36:16 软英171 吕伊豪(745291576) 201732120120
2020-03-09 10:36:17 nainezz(2407048879) 201732120173
2020-03-09 10:36:17 叶涵涛(2289316051) 201732120125
2020-03-09 10:36:24 201732120170-Tamene Robel妈妈(3287975278) 201732120170
2020-03-09 10:36:29 Saeed : 201732120146(446571011) 201732120146
2020-03-09 10:36:49 201732120157 hossain arif<charif19282@qq.com> 201732120157
蓝老师(1348141770) Let's wait 4 minutes for more people to join in.
2020-03-09 10:37:06 Saeed : 201732120146(446571011) ok
2020-03-09 10:37:12 软英171包振丰(984456043) 201732120111
2020-03-09 10:37:19 应宇腾(1356633192) 20732120126
2020-03-09 10:37:24 软英171陈伟超(937202326) 201732120113
2020-03-09 10:37:33 陈真赐(1312502742) 201732120114
2020-03-09 10:37:58 软英171郑洪宇(1633787262) 201732120128
2020-03-09 10:37:59 系统消息(10000) 201732120165 MJH MOHAMED邀请201732120165_Mohamed_Jifry_Hazzaly加入了本群。
2020-03-09 10:38:14 谢佳聪(1249923715) 201732120123
2020-03-09 10:38:17 郑晓钰(280768265) 201732120110
2020-03-09 10:38:22 软英171 郑可富(1924773187) 201732120129
2020-03-09 10:39:01 ALBOROM WARD-201732120143家长(3279308836) 201732120143
2020-03-09 10:39:11 201732120135 玛莎(3534763826) 201732120135
2020-03-09 10:39:25 软英171 陆博业(2794513466) 201732120119
2020-03-09 10:40:06 蓝老师(1348141770) [Announcement] We will have a pop-up quiz, near the end of today's lecture.
2020-03-09 10:40:15 Tarmom 201732120166(2104297320) 201732120166
2020-03-09 10:40:35 1n(2835813510) 201732120102
2020-03-09 10:40:36 蓝老师(1348141770) Make sure you can login LRR.
2020-03-09 10:40:54 Saeed : 201732120146(446571011) yes
2020-03-09 10:40:58 蓝老师(1348141770) There is a recent story about LRR.
2020-03-09 10:40:58 软英171戴泽荣(975336710) 201732120115
2020-03-09 10:41:00 Tarmom 201732120166(2104297320) laoshi I can't
2020-03-09 10:41:10 Saeed : 201732120146(446571011) try now
2020-03-09 10:41:23 Tarmom 201732120166(2104297320) ok
2020-03-09 10:41:33 Npl.(593635848) 201732120121
蓝老师(1348141770) (Tarmom, you should first sign up.)
蓝老师(1348141770) Ashly updated LRR so that a CRITICAL bug is gone.
蓝老师(1348141770) I think most of you guys encountered that bug before.
蓝老师(1348141770) That is, you were unable to sign in immediately after sign up.
2020-03-09 10:42:46 LUL GUOBA RUOT (2217724540) 201632120161
蓝老师(1348141770) This bug makes the software essentially not usable.
蓝老师(1348141770) A really bad bug.
蓝老师(1348141770) You had to recover your password by email (which did not always work).
2020-03-09 10:43:37 Samantha 201632120140(2459455104) 201632120140
蓝老师(1348141770) It is absurd that we require people to recover their password immediately after they sign up.
蓝老师(1348141770) Ashly fixed that.
蓝老师(1348141770) Suddenly the software looks much better.
蓝老师(1348141770) Where did Ashy learn PHP?
2020-03-09 10:45:27 201632120150-Ashly(1661411131) Personal projects Laoshi
蓝老师(1348141770) There are a lot of existing talents. A manager's job is to recognize them and cultivate them.
蓝老师(1348141770) That is a Great Fix.
蓝老师(1348141770) But that fix introduced a new problem.
蓝老师(1348141770) The old users were no longer able to login, which is almost equally bad.
蓝老师(1348141770) This is an example of failed regression test.
蓝老师(1348141770) The new fix breaks old, functional work.
蓝老师(1348141770) That is quite normal.
蓝老师(1348141770) The old, legitimate users saw a Blank Page after they logged in, leaving them totally perplexed.
蓝老师(1348141770) How to solve that?
蓝老师(1348141770) It turns out the fix is really simple.
蓝老师(1348141770) [图片]
::
// verify the hashed password and unhashed password
if(password_verify($password, $row["Password"]) or ($password = $row["Password"])){
蓝老师(1348141770) Just relax the conditional test by adding an OR condition: ($password = $row["Password"]).
蓝老师(1348141770) The reason is that the old password is not hashed (encrypted).
蓝老师(1348141770) We must hash people's password by law.
蓝老师(1348141770) Hash is like a one-way function.
蓝老师(1348141770) Hash('secrete') gives you a 64 obfuscating characters.
蓝老师(1348141770) But you cannot recover 'secrete' even if you know these 64 characters.
蓝老师(1348141770) That is my understanding of one-way.
蓝老师(1348141770) This small fix solved a Big problem.
蓝老师(1348141770) That is a great start.
蓝老师(1348141770) I can even say Ashly is done on the course project.
蓝老师(1348141770) However, I still hope he could do a bit more.
2020-03-09 10:53:08 Tarmom 201732120166(2104297320) laoshi still I can't sign up on LRR it's not working.
蓝老师(1348141770) (Fine. I will create one for you during the break.)
2020-03-09 10:53:46 Tarmom 201732120166(2104297320) thank you
蓝老师(1348141770) Returning to storing password in LRR, can we hash all existing, old passwords so that we can remove the additional OR condition: ($password = $row["Password"])?
蓝老师(1348141770) Simpler code.
蓝老师(1348141770) Is it worth doing that?
蓝老师(1348141770) We have more than 200 accounts now in LRR.
蓝老师(1348141770) Let us take a 5-minute break.
2020-03-09 10:55:31 Saeed : 201732120146(446571011) ok
2020-03-09 10:57:17 Tarmom 201732120166(2104297320) ok
2020-03-09 10:58:46 LUL GUOBA RUOT (2217724540) Me too I can’t login
蓝老师(1348141770) ===================================================
蓝老师(1348141770) That is interesting. You two guys could sign up again. I believe it should work now.
蓝老师(1348141770) What have I learned from this improvement process?
蓝老师(1348141770) Good software takes time.
蓝老师(1348141770) Sustained efforts are required to build something that is really great so that people would pay to use it.
蓝老师(1348141770) You need at least 10 years.
蓝老师(1348141770) But after 10 years, you will be good, earning billions of dollars a year.
蓝老师(1348141770) Here is an article I want to share with you.
蓝老师(1348141770) https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/
2020-03-09 11:05:51 Npl.(593635848) 很多人看不到这么远 一年就够呛的
2020-03-09 11:06:18 Npl.(593635848) [表情]
蓝老师(1348141770) Yes. That is true. That is why we have very few companies which have a yearly revenue of billions.
蓝老师(1348141770) I doubt LRR could sustain such a long period.
蓝老师(1348141770) Look at QQ, which started around 1998.
蓝老师(1348141770) How many years have passed?
蓝老师(1348141770) More than 20 years!
蓝老师(1348141770) The current QQ is much better than the original QQ (which is a clone of OICQ).
蓝老师(1348141770) I would say most people who have not taken this course don't realize that.
蓝老师(1348141770) Software is hard. And hard things need time. As simple as that.
蓝老师(1348141770) [图片]
.. image:: lotus-note-user-pool.png
:height: 100
:alt: number of installations of the Lotus Notes over the years
蓝老师(1348141770) User pool of Lotus Notes.
蓝老师(1348141770) It hit 55 million users in 1999.
蓝老师(1348141770) 55 million users means lots of money and great influence.
蓝老师(1348141770) 12 years have passed since the author(s) wrote the first line of code.
2020-03-09 11:11:47 ibrahim(1525200991) most people dream that thier software blow up like Facebook did
蓝老师(1348141770) The problem of China software industry is exactly Lack of Time.
蓝老师(1348141770) Desire of Success + Lack of Time = ?
2020-03-09 11:13:06 Npl.(593635848) failure
蓝老师(1348141770) [图片]
蓝老师(1348141770) How much money has Oracle made?
蓝老师(1348141770) Billions of dollars at least.
2020-03-09 11:14:01 Npl.(593635848) [图片]
蓝老师(1348141770) The Oracle database system was there in 1970's.
2020-03-09 11:14:02 Npl.(593635848) 复利曲线
蓝老师(1348141770) (Oh, really. That is a good observation.)
蓝老师(1348141770) This gentleman, Joel Spolsky, the founder of Stack Overflow, is good at writing.
蓝老师(1348141770) He is a very prolific author.
蓝老师(1348141770) Produced more than 1000 blog posts over a period of 10 years.
蓝老师(1348141770) I think you should read his "Top 10" posts.
蓝老师(1348141770) Let's take a 5-minute break.
2020-03-09 11:17:41 系统消息(10000) Npl.撤回了一条消息
2020-03-09 11:22:01 Npl.(593635848) I’ve looked through several his books (his blogs sets, more currently), he thinks most programmers are not true programmer. And it would be good if these “fake programmers” been fired(filter out).[表情]
2020-03-09 11:23:39 ALBOROM WARD-201732120143家长(3279308836) [表情]
蓝老师(1348141770) Npl seems like a motivated learner. We need more self-driven learners.
蓝老师(1348141770) ===================================================
蓝老师(1348141770) Writing is Thinking. Writing is Communicating.
蓝老师(1348141770) You must sharpen your writing skills before you graduate.
蓝老师(1348141770) Programming is more like a liberal and arts subject.
蓝老师(1348141770) Think about that.
2020-03-09 11:26:26 Npl.(593635848) “Talking” with the computer
蓝老师(1348141770) If you could earn 1 billion dollars 10 years later by focusing on developing one thing, and leading a very frugal life in these 10 years, would you do that?
蓝老师(1348141770) I think many people will do that.
蓝老师(1348141770) That is about 100,000,000 dollars per year.
蓝老师(1348141770) However, since there is no success guarantee, many people would choose to be a less disciplined person.
蓝老师(1348141770) We talked about software licenses last time.
蓝老师(1348141770) One question.
蓝老师(1348141770) What kind of free license would you use if your software is an online application, i.e., you do not send people installation packages?
蓝老师(1348141770) Apache, GPL, or MIT?
2020-03-09 11:30:46 ibrahim(1525200991) MIT
蓝老师(1348141770) License for online application, things like Simple Note, One Note.
蓝老师(1348141770) I think MIT is a good one. It is simple and permissive.
2020-03-09 11:31:25 ibrahim(1525200991) or AGPL
蓝老师(1348141770) I want to mention Affero GPL.
蓝老师(1348141770) Exactly.
蓝老师(1348141770) Affero GPL has an extra clause designed specifically for online applications.
蓝老师(1348141770) Are GPL-like licenses MIT-compatible?
蓝老师(1348141770) Or Are MIT-like licenses GPL-compatible?
蓝老师(1348141770) GPL is a copyleft license, while MIT is a non-copyleft license.
蓝老师(1348141770) What does "copyleft" mean?
蓝老师(1348141770) Copyleft is an interesting word.
2020-03-09 11:33:30 ibrahim(1525200991) your code can't be used by proprietary software
蓝老师(1348141770) I don't know that before yesterday.
2020-03-09 11:33:39 ibrahim(1525200991) I guess
2020-03-09 11:34:05 Dean Majaya201732120164爷爷(3623840484) 201732120164
蓝老师(1348141770) The exact meaning of copyleft is that all its derivative work under the copyleft license must be copyleft too.
蓝老师(1348141770) MIT license does not require that.
蓝老师(1348141770) If you use the code that is under the MIT license, you could apply a proprietary license to your software.
蓝老师(1348141770) That is why we say MIT license is a permissive license.
蓝老师(1348141770) The point of copyleft is ensuring that the subsequent (or derivative) work is also free.
蓝老师(1348141770) However, the danger is that people would rather not use your code in the first place if they think they don't agree with this condition.
蓝老师(1348141770) A rule of thumb is that if you do not care how your code is to be used, you could use either MIT or GPL or Apache.
蓝老师(1348141770) If you do not wish proprietary software to use your code, use GPL-like licenses. They are more restrict on ensuring subsequent freedom.
蓝老师(1348141770) Note the difference between proprietary and commercial.
蓝老师(1348141770) They are not the same thing.
蓝老师(1348141770) A commercial software can be non-proprietary.
蓝老师(1348141770) A proprietary software can be non-commercial.
蓝老师(1348141770) Proprietary emphasizes "Owner",
蓝老师(1348141770) while commercial emphasizes "Money".
蓝老师(1348141770) [Announcement]
蓝老师(1348141770) "Decide areas for improvement" is due today.
蓝老师(1348141770) You need to finish reading Chapter 2 by the end of this week.
蓝老师(1348141770) Let's take a 5-minute break.
2020-03-09 11:44:36 ALBOROM WARD-201732120143家长(3279308836) Laoshi how about course scheduler would you let me manage it as my course project?
蓝老师(1348141770) ===================================================
蓝老师(1348141770) My main concern is that there are tons of Course Scheduling applications out there.
蓝老师(1348141770) Your efforts will be wasted on just producing yet-another Course Scheduling application.
蓝老师(1348141770) Anyway, we could discuss that more after class.
2020-03-09 11:51:24 ALBOROM WARD-201732120143家长(3279308836) ok laoshi
蓝老师(1348141770) You need to finish reading Chapter 2 by the end of this week.
蓝老师(1348141770) I could finish reading one chapter in one evening.
蓝老师(1348141770) I don't know your reading speed.
2020-03-09 11:52:23 KELVIN Chimtengo(3110702155) One week is enough.
蓝老师(1348141770) You can use lots of aids that are available online, such as the Bing translator.
2020-03-09 11:53:01 ALBOROM WARD-201732120143家长(3279308836) i can finish it in 3-5 hours
2020-03-09 11:53:34 201732120151 Barkay sanoussi(3178573723) reading is not a big deal but understanding is ..
2020-03-09 11:53:57 Saeed : 201732120146(446571011) yes
蓝老师(1348141770) To understand it, repeat the reading process.
蓝老师(1348141770) Repeat it at least three times.
2020-03-09 11:54:26 ibrahim(1525200991) do you want us to just read it, or understand and highlight some points, if the later then that takes some time
蓝老师(1348141770) I think the most important purpose of reading is understanding.
2020-03-09 11:55:14 ALBOROM WARD-201732120143家长(3279308836) yeah that's why i said 3-5 hours including highliting and understanding
蓝老师(1348141770) Otherwise, Microsoft Edge could read it for us.
2020-03-09 11:55:27 Npl.(593635848) There is no reading speed, only understanding speed
蓝老师(1348141770) I will post a new, longer reading: The Cathedral and the Bazaar.
蓝老师(1348141770) http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html
蓝老师(1348141770) It discusses 2 development modes.
蓝老师(1348141770) You don't have to read all, only a few selected sections.
2020-03-09 11:56:45 ALBOROM WARD-201732120143家长(3279308836) that would be better
蓝老师(1348141770) I want to maximize the usefulness of this course while minimizing your workload.
蓝老师(1348141770) I will post the required sections.
蓝老师(1348141770) Quiz time.
2020-03-09 11:58:36 ibrahim(1525200991) wish most teacher follow your theme
蓝老师(1348141770)
::
[True/False] Free software means zero-cost software.
[True/False] Zero-cost software cannot be proprietary.
[True/False] If the source code is visible, then the software is open source.
[True/False] Open source software cannot be used for commercial purposes.
蓝老师(1348141770) You select two of them to answer.
蓝老师(1348141770) Submit it at LRR (under Quiz 3).
蓝老师(1348141770) Before 12:15pm.
蓝老师(1348141770) Bye.
2020-03-09 11:59:39 ibrahim(1525200991) what if i answer all of them ?
2020-03-09 11:59:46 nainezz(2407048879) Bye
2020-03-09 11:59:53 ABDALMUHAYMEN 201730210234(1071107298) Bye
2020-03-09 11:59:59 Saeed : 201732120146(446571011) ok
蓝老师(1348141770) Please just answer two questions.
2020-03-09 12:00:18 1n(2835813510) only true or false or explanation also
2020-03-09 12:00:21 KELVIN Chimtengo(3110702155) We should post answers here? Or ?
蓝老师(1348141770) The two which you feel most confident about.
蓝老师(1348141770) Just True or False. No explanation.
2020-03-09 12:00:43 1n(2835813510) ok
2020-03-09 12:00:43 ALBOROM WARD-201732120143家长(3279308836) Submit it at LRR (under Quiz 3).
2020-03-09 12:01:40 KELVIN Chimtengo(3110702155) Okay cool
2020-03-09 12:01:56 KELVIN Chimtengo(3110702155) 201632120149
2020-03-09 12:02:51 201732120170-Tamene Robel妈妈(3287975278) LRR not working
Afternoon Section
-----------------
*Project management tools - Kanboard - Swim lanes - Rhythm of releases - Sustained efforts - Joel Spolsky - Software licenses*
Lan Hui(1348141770) ===================================================
Lan Hui(1348141770) Good afternoon.
2020-03-09 15:41:41 Guedalia Youma (3014432207) Good afternoon professor
Lan Hui(1348141770) Could you type your student number? It is useful for me.
2020-03-09 15:41:59 NGOUNOU家长(438499151) good afternoon laoshi
Lan Hui(1348141770) I am going to get some hot water.
2020-03-09 15:42:05 Guedalia Youma (3014432207) 201925800221
Lan Hui(1348141770) Let's wait a few minutes for more people to join in.
2020-03-09 15:42:26 NGOUNOU家长(438499151) 201925800180
2020-03-09 15:42:36 Marie(2928285277) 201925800173
2020-03-09 15:42:36 NGOUNOU家长(438499151) OK
Lan Hui(1348141770) Where were we last time?
Lan Hui(1348141770) I've talked about an important management tip: Don't THROW AWAY YOUR CODE.
Lan Hui(1348141770) This tip was given by Joel Spolsky, founder of Stack Overflow.
Lan Hui(1348141770) Also Trello, a $425m product for project management.
2020-03-09 15:45:29 Kumson爸爸(3157209053) 201925800166
Lan Hui(1348141770) I was thinking about using Trello.
Lan Hui(1348141770) There are many project management tools out there.
Lan Hui(1348141770) Trello, JIRA, Microsoft Project, etc.
Lan Hui(1348141770) I should choose a simpler one.
Lan Hui(1348141770) So I choose Kanboard.
Lan Hui(1348141770) https://kanboard.org/
Lan Hui(1348141770) Have you checked that?
Lan Hui(1348141770) I can show you in a moment.
Lan Hui(1348141770) [图片]
.. image:: TIM20200316180248.png
:height: 100
:alt: Kanboard for undergraduate thesis supervision
Lan Hui(1348141770) You can see many cards, in different colors and in different swim lanes.
Lan Hui(1348141770) We've got 4 swim lanes, representing different project stages.
Lan Hui(1348141770) The leftmost is **TODO**.
Lan Hui(1348141770) Followed by **Ready**.
Lan Hui(1348141770) Followed by **In Progress**.
Lan Hui(1348141770) Followed by **Done**.
Lan Hui(1348141770) To avoid multi-tasking, we should minimize the number of cards (tasks) in the **In Progress** swim lane,
Lan Hui(1348141770) which seems to be not the case in my Kanboard.
Lan Hui(1348141770) That is why I feel exhausted.
2020-03-09 15:51:19 Nicole Rutagengwa (1403962700) 201935800169
Lan Hui(1348141770) We can move the cards (tasks) around.
Lan Hui(1348141770) I plan to ask you to use Kanboard (in our course).
Lan Hui(1348141770) I will create accounts for you within one week.
Lan Hui(1348141770) I've also talked about rhythm of releases and the importance of having and keeping that rhythm.
Lan Hui(1348141770) In the beginning, we should release early and often.
Lan Hui(1348141770) But when our product becomes more mature, releasing too often is a bit annoying to users (once in a half year is good enough).
Lan Hui(1348141770) Sometimes people just do not need that many new features if the product has already satisfied their daily use.
Lan Hui(1348141770) [Announcement] We will have a pop-up quiz, near the end of today's lecture.
Lan Hui(1348141770) Make sure you can login LRR (Lab Report Repository).
Lan Hui(1348141770) There is a recent update for LRR.
Lan Hui(1348141770) Last lecture I mentioned a CRITICAL (even BLOCKER) bug in LRR.
Lan Hui(1348141770) A new user could not login immediately after sign up.
Lan Hui(1348141770) That bug was fixed by Ashly, an undergraduate student in the morning section.
Lan Hui(1348141770) Suddenly, the software looks much better.
2020-03-09 16:00:21 Marie(2928285277) So do we need to sign up again
Lan Hui(1348141770) You don't have to recover your password by email, which does not always work, and is quite absurd.
Lan Hui(1348141770) (No.)
Lan Hui(1348141770) But that fix introduced a new problem.
Lan Hui(1348141770) The old, legitimate users are no longer able to login, which is equally bad as being unable to login immediately after sign up.
Lan Hui(1348141770) The fix failed that Regression Test.
Lan Hui(1348141770) Failing a regression test is quite normal.
Lan Hui(1348141770) Two old users reported that they saw a Blank Page after they logged in, making them totally surprised.
Lan Hui(1348141770) Let's take a 5-minute break.
2020-03-09 16:07:43 Guedalia Youma (3014432207) Alright
Lan Hui(1348141770) Where is Pacifique?
2020-03-09 16:12:59 系统消息(10000) Twizere Pacifique 唐平撤回了一条消息
2020-03-09 16:13:12 Twizere Pacifique 唐平<pacitwizere@hotmail.com> 201925800174
Lan Hui(1348141770) Thanks, Pacifique.
Lan Hui(1348141770) ===================================================
Lan Hui(1348141770) How to solve the newly introduced "Blank Page" problem?
Lan Hui(1348141770) It turns out the solution is really simple.
Lan Hui(1348141770) Just tweak a conditional test a bit.
Lan Hui(1348141770) [图片]
::
// verify the hashed password and unhashed password
if(password_verify($password, $row["Password"]) or ($password = $row["Password"])){
Lan Hui(1348141770) Just relax the conditional test by adding an OR condition: ($password = $row["Password"]).
Lan Hui(1348141770) The variable $password stores the password you entered through the LRR web form.
Lan Hui(1348141770) $row["Password"] contains the pre-stored password which you entered during sign up.
Lan Hui(1348141770) Of course, they have to be equal before LRR would allow you in.
Lan Hui(1348141770) Then, you may ask, what is the point of having "password_verify($password, $row["Password"])"?
Lan Hui(1348141770) password_verify is a built-in function in PHP.
Lan Hui(1348141770) Well.
Lan Hui(1348141770) This function takes password stored in a human-readable form (e.g., 'secret'), hashes it and compares the hash result with the pre-stored password $row["Password"], which is also stored in a hash form.
Lan Hui(1348141770) Why bother with hash?
Lan Hui(1348141770) The point is that we, the software developers, do not want, or are not allowed to store users' password in a plain form.
Lan Hui(1348141770) By law we should not do that.
Lan Hui(1348141770) We should never, ever store users' password in a non-encrypted form because of risk of leak and the consequent liability.
Lan Hui(1348141770) Yahoo made that mistake a few years ago.
Lan Hui(1348141770) We must hash people's password by law.
Lan Hui(1348141770) For example, if my password is 'secret', then its hashed form, '2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b', should be stored in our application.
Lan Hui(1348141770) Holy cow. Who can understand '2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b' even if he gets that?
Lan Hui(1348141770) Here is a hash calculator that you can play with.
Lan Hui(1348141770) https://www.tools4noobs.com/online_tools/hash/
Lan Hui(1348141770) A great attribute of hash function is that it is a one-way function.
Lan Hui(1348141770) You cannot recover 'secret' from '2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b'.
Lan Hui(1348141770) Therefore, even when '2bb80d537b1da3e38bd30361aa855686bde0eacd7162fef6a25fe97bf527a25b' is now in a bad guy's hands, it does not matter that much, since it will take him hundreds of thousands of years to get the 'secret'.
Lan Hui(1348141770) A wise bad man won't do that.
Lan Hui(1348141770) The additional OR conditional test is for backward compatibility.
Lan Hui(1348141770) A bit awkward.
Lan Hui(1348141770) Perhaps we can get rid of that conditional test in the future, to make the code simpler.
Lan Hui(1348141770) To do so, we need to hash all passwords that are stored in plain form.
Lan Hui(1348141770) Is it worth doing that?
Lan Hui(1348141770) We have more than 200 accounts now in LRR.
Lan Hui(1348141770) I think there is a programmable way to do that.
Lan Hui(1348141770) Anyway, that is future work.
Lan Hui(1348141770) Let us take a 5-minute break.
Lan Hui(1348141770) ===================================================
Lan Hui(1348141770) What have I learned from this improvement process?
Lan Hui(1348141770) Good software takes time.
Lan Hui(1348141770) LRR started in Fall 2018 as a graduate course project: http://lanlab.org/course/2018f/se/homepage.html
Lan Hui(1348141770) One year and a half have passed.
Lan Hui(1348141770) Sustained efforts are required to build something that is really great so that people would pay to use it.
Lan Hui(1348141770) Sustained efforts require great focus and self-discipline.
Lan Hui(1348141770) You need at least 10 years of sustained efforts.
Lan Hui(1348141770) That is actually a rule of thumb in almost all areas of business.
Lan Hui(1348141770) But after 10 years, you will be good, earning billions of dollars a year.
Lan Hui(1348141770) Breathtakingly worthwhile.
Lan Hui(1348141770) That is about 100,000,000 dollars per year, for the previous ten years.
Lan Hui(1348141770) However, you need to lead a very frugal life in these 10 years with no guarantee of success.
Lan Hui(1348141770) Below is an article I want to share with you.
Lan Hui(1348141770) https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/
Lan Hui(1348141770) “The Oracle RDBMS has been around for 22 years now. Windows NT development started 12 years ago. Microsoft Word is positively long in the tooth; I remember seeing Word 1.0 for DOS in high school (that dates me, doesn’t it? It was 1983.)”
Lan Hui(1348141770) Look at QQ too - it started around 1998.
Lan Hui(1348141770) How many years have passed?
Lan Hui(1348141770) More than 20 years!
Lan Hui(1348141770) The current QQ is much better than the original QQ (which is a clone of OICQ).
Lan Hui(1348141770) I would say most people (who have not taken this course) don't know GOOD SOFTWARE TEAKS 10 YEARS.
Lan Hui(1348141770) Want to be a billionaire overnight? No way.
Lan Hui(1348141770) Except Facebook.
Lan Hui(1348141770) Software is hard. And hard things need time to polish. As simple as that.
Lan Hui(1348141770) [图片]
.. image:: lotus-note-user-pool.png
:height: 100
:alt: number of installations of the Lotus Notes over the years
Lan Hui(1348141770) User pool of Lotus Notes.
Lan Hui(1348141770) It hit 55 million users in 1999.
Lan Hui(1348141770) 55 million users means lots of money and a huge impact.
Lan Hui(1348141770) 12 years have passed since 1.0.
Lan Hui(1348141770) Yet people have already spent 5 years to arrive at 1.0.
Lan Hui(1348141770) It is important to keep a healthy body as a programmer.
Lan Hui(1348141770) It takes very long time to be successful and you should enjoy that day when it arrives.
Lan Hui(1348141770) The problem of China software industry is exactly Lack of Time.
Lan Hui(1348141770) Desire of Success + Lack of Time = ???
Lan Hui(1348141770) Crap.
Lan Hui(1348141770) How much money has Oracle made?
Lan Hui(1348141770) Billions of dollars at least.
Lan Hui(1348141770) The Oracle database system was there in 1970's.
Lan Hui(1348141770) Joel Spolsky, the founder of Stack Overflow, is a prolific author good at writing.
Lan Hui(1348141770) He has produced more than 1000 blog posts over a period of 10 years.
Lan Hui(1348141770) He must have been thinking and thinking.
Lan Hui(1348141770) Writing is Thinking. Writing is Communicating.
Lan Hui(1348141770) I think you should read his "Top 10" posts.
Lan Hui(1348141770) Let's take a 5-minute break.
Lan Hui(1348141770) After that we will talk about licenses.
2020-03-09 17:01:19 Marie(2928285277) Okay sir
Lan Hui(1348141770) ===================================================
Lan Hui(1348141770) One question.
Lan Hui(1348141770) What kind of free software license would you use if your software is an online application, i.e., you do not send people installation packages?
Lan Hui(1348141770) License for online applications, such as Simple Note, One Note.
Lan Hui(1348141770) Affero GPL.
Lan Hui(1348141770) Affero GPL has an extra clause designed specifically for online applications.
Lan Hui(1348141770) I think MIT is good too. It is simple and permissive.
Lan Hui(1348141770) In contrast, GPL is a copyleft license, less permissive.
Lan Hui(1348141770) Copyleft is an interesting word.
Lan Hui(1348141770) The exact meaning of copyleft is that it requires all its derivative work to be copyleft too.
Lan Hui(1348141770) Some people think this is a way of defending freedom.
Lan Hui(1348141770) ===================================================
Lan Hui(1348141770) Quiz time.
Lan Hui(1348141770) This is limited-time quiz which you have to submit before 5:35pm today to LRR.
Lan Hui(1348141770)
::
[True/False] Free software means zero-cost software.
[True/False] Zero-cost software cannot be proprietary.
[True/False] If the source code is visible, then the software is open source.
[True/False] Open source software cannot be used for commercial purposes.
Lan Hui(1348141770) Select two and only two to answer.
2020-03-09 17:10:23 Marie(2928285277) I still can’t login to LRR
2020-03-09 17:10:26 Guedalia Youma (3014432207) Where should we submit it ? By email ?
Lan Hui(1348141770) Bye.
Friday, 13 March 2020
=====================
*Quiz review - The Cathedral and the Bazaar - Project management software - Kanboard - Sustained maintenance efforts - Project mission - Standard code tree*
Morning section
----------------
2020-03-13 7:57:26 初阳软工171 伍泰炜(2728735169)
[表情]
2020-03-13 7:57:45 网络171许晓鹏(892376699)
[表情]
2020-03-13 8:00:05 初阳软工171 伍泰炜(2728735169)
201736900125
2020-03-13 8:00:10 软工初阳171 刘莉莉(1196448461)
201736900108
2020-03-13 8:00:17 软件工程 张珣(1955357976)
201732120109
2020-03-13 8:00:18 初阳软工171 吴贞娴(1395588359)
201732120108
2020-03-13 8:00:22 初阳软工171 余慧(945168786)
201736900117
2020-03-13 8:00:22 初阳软工171叶红霞(1655602611)
201736900115
2020-03-13 8:00:23 初阳软工171袁世家(1515245651)
201739230123
2020-03-13 8:00:23 软工初阳171周佳威<zhouwys@qq.com>
201736900130
2020-03-13 8:00:24 初阳软工171 王海榕(1012635788)
201732120105
2020-03-13 8:00:24 初阳软工171 蒋佳玲(1850424414)
201732120103
2020-03-13 8:00:28 系统消息(10000)
初阳软工171 陈俊蕾撤回了一条消息
2020-03-13 8:00:28 唐叶尔(1768559501)
201736900111
2020-03-13 8:00:30 网络171许晓鹏(892376699)
201730210128
2020-03-13 8:00:33 软件工程初阳1701 徐梦旗(2663479778)
201732120124
2020-03-13 8:00:37 初阳软工171 陈俊蕾(1223259604)
201736900103
2020-03-13 8:00:40 重新做人(1344914885)
201736900113
2020-03-13 8:00:40 软件工程 王雪洁(249795581)
201732120106
2020-03-13 8:00:44 初阳软工171 陈肖飞(1662727361)
20173690104
2020-03-13 8:00:46 蓝珲(1348141770) 大家早上好
2020-03-13 8:00:52 网络171—董文文(2373706002)
201730210303
2020-03-13 8:01:00 初阳软工171 徐闰钞(374526027)
201736900127
2020-03-13 8:01:03 网络171许晓鹏(892376699)
早上好
蓝珲(1348141770) ===============================================
蓝珲(1348141770) 我们上次课讲了开源软件的收费模式,以及开源软件的许可证。
蓝珲(1348141770) 还做了一个Quiz。
蓝珲(1348141770) ::
[True/False] Free software means zero-cost software.
[True/False] Zero-cost software cannot be proprietary.
[True/False] If the source code is visible, then the software is open source.
[True/False] Open Source software cannot be used for commercial purposes.
蓝珲(1348141770) 我觉得答案都是F。
蓝珲(1348141770) 大家有没有不同意见的?
蓝珲(1348141770) Free software means zero-cost software. 说得过于绝对。 RStudio就可以收费啊。
蓝珲(1348141770) Zero-cost software cannot be proprietary. 如果这个zero-cost是对用户来说的话,其实大家在Apple Store免费下载的很多软件都是私有的。
2020-03-13 8:05:10 计非181 王智洋(1162466610)
201830220719
2020-03-13 8:05:18 网络171-侯新苗(953957823)
20173021034
蓝珲(1348141770) Simple Note是不是私有的?
蓝珲(1348141770) https://simplenote.com/
蓝珲(1348141770) 看一下它的主页,好像没有说是open source的,许可证的信息也没有。
蓝珲(1348141770) Simple Note下载使用是免费的,有些额外功能需要付费。
蓝珲(1348141770) If the source code is visible, then the software is open source. 如果仅仅是代码可见,但是许可证是私有的话,就不是open source的。
蓝珲(1348141770) Open Source software cannot be used for commercial purposes. 这个也是False。 RStudio就是例子。它有不同的收费计划(pricing plan),收费是用于商业目的。
蓝珲(1348141770) 以上是Quiz的内容。
蓝珲(1348141770) 我还要求你们去读课本的第二章。大家都已经读完了吧?
蓝珲(1348141770) https://producingoss.com/en/getting-started.html
蓝珲(1348141770) 我估计有部分同学还没有开始读 -- 还没有开始读的要开始读起来了。
蓝珲(1348141770) 你们中文版的那个可以做成电子书吗?
蓝珲(1348141770) https://producingoss.com/zh/
2020-03-13 8:12:34 软工初阳171 应舸(1434305984)
哪个中文版[表情]
蓝珲(1348141770) https://producingoss.com/zh/ch02.xml
蓝珲(1348141770) 就是上面这个。
蓝珲(1348141770) https://producingoss.com/zh/
蓝珲(1348141770) 把整个文件夹拷贝下来,应该是可以做成电子书的。
蓝珲(1348141770) 大家可以试试看。我试过,没有成功。
蓝珲(1348141770) 如果有人成功了,可以分享一下。
蓝珲(1348141770) 因为我的英文比较好,所以英文看起来比较顺畅。
蓝珲(1348141770) 但是阅读速度,还是读中文快的。
蓝珲(1348141770) 中文的话,可以上下扫描。英文,只能老老实实一句一句读了。
蓝珲(1348141770) 也有好处。
蓝珲(1348141770) 另外一个阅读任务也出来了
蓝珲(1348141770) http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html
蓝珲(1348141770) The Cathedral and the Bazaar
蓝珲(1348141770) 大教堂与集市
蓝珲(1348141770) 这个是比较有名了,讲两种软件开发模式。 篇幅较长。
蓝珲(1348141770) 我也是教这门课才看一遍,以前听说过,一直没看,以为是讲生活信仰的。
蓝珲(1348141770) [图片]
.. image:: Cathedral-and-Bazaar-ToC.png
:height: 100
:alt: required reading sections
蓝珲(1348141770) 你们只需要把箭头经过的章节读一下,其他的不用读(主要在讲fetchmail的开发细节)。
蓝珲(1348141770) 这个,中文版也是有的,但是网上说翻译的比较烂。
蓝珲(1348141770) 确实也不好翻译。
蓝珲(1348141770) b站的一些字幕组来翻译估计会翻译的更好。
蓝珲(1348141770) 我们先休息5分钟。
2020-03-13 8:21:12 软工初阳171 何可人(1461938594)
201736900106
2020-03-13 8:21:40 软工初阳171 应舸(1434305984)
201736900128
2020-03-13 8:22:21 初阳软工171方梓安(2453122992)
201736900105
蓝珲(1348141770) ===============================================
蓝珲(1348141770) 还有其他一些好书,Peopleware 之类的。
蓝珲(1348141770) 这个大家工作后可以读读。
蓝珲(1348141770) [文件]
蓝珲(1348141770) 上面这个文件主要是专访熊节的文字实录。大家课后可以看看。
蓝珲(1348141770) 不做要求。
蓝珲(1348141770) 对了,你们的 Decide areas for improvement 还没有交。
蓝珲(1348141770) 是我忘记在对分易创建提交目录了。
蓝珲(1348141770) 现在已经创建,你们在下周一之前交上去。别忘了包括组员信息,这样方便我给分。这个是2分。
蓝珲(1348141770) 看板 - Kanboard
蓝珲(1348141770) 我想让你们用看板来管理软件项目。
蓝珲(1348141770) 你们的账号密码我已经创建。
蓝珲(1348141770) [图片]
.. image:: TIM20200316180248.png
:height: 100
:alt: Kanboard for undergraduate thesis supervision
蓝珲(1348141770) 我的看板是长上面这个样子的。
蓝珲(1348141770) 卡片可以拖动到不同的泳道(swim lane)。
蓝珲(1348141770) 有4个泳道。
2020-03-13 8:37:28 初阳软工171 伍泰炜(2728735169)
然而这是Github已经包含的一部分功能……
蓝珲(1348141770) 原则上是“进行中(In Progress)”那个泳道卡片(任务)不能超过2个。这是为了避免 Multi-tasking。
蓝珲(1348141770) Github只是拿来做代码版本管理的。
蓝珲(1348141770) 看板肯定没有这个做得好。
蓝珲(1348141770) 个人观点。
蓝珲(1348141770) 我的目的是,我要看到你们管理项目的动态。
蓝珲(1348141770) 也许你已经有动态了,但是我不知道。
蓝珲(1348141770) 所以你要记录下来。
蓝珲(1348141770) 看板这个功能很多团队协作工具都有的,比如Trello,JIRA。
蓝珲(1348141770) 我们用的这个 kanboard 胜在轻量,简洁明快。
蓝珲(1348141770) 你们以后去公司工作,可以自己部署在公司服务器。
蓝珲(1348141770) 最多花一天时间,就可以部署好了。
蓝珲(1348141770) 所以,你们从今天开始,就可以慢慢在看板上(http://118.25.96.118/kanboard)添加卡片了。
蓝珲(1348141770) [图片]
蓝珲(1348141770) [图片]
蓝珲(1348141770) 每个卡片点进去是这样的。可以添加评论。
蓝珲(1348141770) [图片]
蓝珲(1348141770) 这个软件是个开源软件,法国人开发的,但是参与项目的人数前前后后也有200人了吧。
2020-03-13 8:44:30 系统消息(10000)
初阳软工171 伍泰炜撤回了一条消息
2020-03-13 8:44:45 初阳软工171 伍泰炜(2728735169)
[图片]
蓝珲(1348141770) 你们登录一下试试。
蓝珲(1348141770) 我们先休息5分钟。
2020-03-13 8:45:40 软件工程 常思琦(995959606)
201732120101
蓝珲(1348141770) ===============================================
蓝珲(1348141770) [图片]
蓝珲(1348141770) 我们要做软件,首先要想想自己手里头有什么。
蓝珲(1348141770) 现在老是喊创新。
蓝珲(1348141770) 创新哪里有那么容易。
蓝珲(1348141770) 根据辩证法,创旧到极致就是创新。
蓝珲(1348141770) 很多所谓的创新,那叫一个惨不忍睹。
蓝珲(1348141770) 我手头上有一个软件,我要把它开源,公之于众,怎么个搞法?
蓝珲(1348141770) 把代码往github一扔,就完事了?
蓝珲(1348141770) 在现阶段,你们搞开源,其实更多的目的是对自己的一种鞭策。
蓝珲(1348141770) 看看自己有几天没有打卡了。
蓝珲(1348141770) 比如这个 Benno Schulenberg 就是几乎天天都在打卡。
蓝珲(1348141770) https://git.savannah.gnu.org/cgit/nano.git/log/
蓝珲(1348141770) [图片]
.. image:: nano-git-log.png
:height: 100
:alt: Benno Schulenberg's nano maintenance activity
蓝珲(1348141770) 十年如一日的打卡,这样做出来的产品会不行?
蓝珲(1348141770) Benno Schulenberg 是在创旧啊。
蓝珲(1348141770) 说实话,我很佩服这个老哥的做事精神。
蓝珲(1348141770) 这才是做软件,才是管理软件嘛。
蓝珲(1348141770) 都是一行一行,实打实出来的嘛。
蓝珲(1348141770) 开源后,要告诉这个世界你的软件是做什么用的。
蓝珲(1348141770) 这个是 mission statement 里要包含的东西。
蓝珲(1348141770) 还有比较重要的是描述你的软件的特色,
蓝珲(1348141770) 与不足。
蓝珲(1348141770) 特色大家都不会忘记。
蓝珲(1348141770) 不足大家都不愿意提及。但是,这个确实是要提及的,而且是有帮助的。
蓝珲(1348141770) 能够拉近人与人的距离。
蓝珲(1348141770) 我们与圣人的距离很远,因为他的不足很少。
蓝珲(1348141770) 我们提不足,其实是锚定期望值。
蓝珲(1348141770) “我事先告诉你了哦,我的软件可能会随时崩溃,你可要经常存盘哦。”
蓝珲(1348141770) 当然,我们把不足描述了以后,也是为了给以后的改进提供方向。
蓝珲(1348141770) 介绍软件要尽量简洁明了,让别人理解你的软件。
蓝珲(1348141770) 别炫技。
蓝珲(1348141770) 把代码公开后,也有助你一开时就注意采取比较好的开发目录。
蓝珲(1348141770) 不要把所有的文件都丢在一个文件夹下。
蓝珲(1348141770) 除非你的项目只有很少的文件。
蓝珲(1348141770) [图片]
.. image:: courseobjectivesatisfaction-git-log.png
:height: 100
:alt: source tree for Course Objective Satisfaction
蓝珲(1348141770) 比如我这个,只有两个文件,所以放在一个文件夹下也可以。
蓝珲(1348141770) 项目的名字就是 “课程目标达成度”。
蓝珲(1348141770) 不是很好的名字,是个功能性的名字。
蓝珲(1348141770) 就是根据同学的各项成绩,算出一个班级的课程达成度。
蓝珲(1348141770) 不过这个指标是有 bug 的。
蓝珲(1348141770) 什么bug大家自己想。(参见 Goodhart's Law)
蓝珲(1348141770) Code tree: src/, bin/, lib/, etc/, include/, test/, share/, data/, example/, doc/, README, LICENSE, COPYING, MANUAL, TUTORIAL, FAQ, ...
蓝珲(1348141770) 大型一点的软件,一般会有下面的子文件夹与文件。
蓝珲(1348141770) Code tree就是代码的目录结构。
蓝珲(1348141770) src里面放源代码,.c, .py, .java之类。
蓝珲(1348141770) bin里面放可执行文件。这个一般可以提供,也可以不提供,不提供的话,要确保用户能够很容易自己生成可执行文件。
蓝珲(1348141770) 提供的话,就要考虑不同的CPU架构、操作系统了。
蓝珲(1348141770) etc里放些杂七杂八的东西。
蓝珲(1348141770) doc放文档。
蓝珲(1348141770) LICENSE与COPYING选一个就好了,放许可证。
蓝珲(1348141770) 现在我看到的情况是,COPYING用得比较多。
蓝珲(1348141770) 这种标准化的软件项目目录是比较好的结构。
蓝珲(1348141770) 我们休息5分钟。
2020-03-13 9:15:03 初阳软工171 伍泰炜(2728735169)
@蓝珲 应该没有行不行一说,Nano在做简单文本文件编辑时是不错。但不要希望用它来做复杂的编辑工作。其它的编辑器诸如'emacs','vim','gedit'都提供了文本着色以及自动文本格式化。而Nano只做最基本的编 辑操作,而不提供其它功能。而用户只要有需求就会尝试符合需求的软件。Linux平台的文本编辑器还有很多,vim,geditor,emacs等等,nano不是唯一的选择,也不能说是做的最好的。而且,nano的作者没有关心可怜的乌干达儿童。(玩笑)
蓝珲(1348141770) ===============================================
蓝珲(1348141770) 凡我不能做到的正义之事皆值得敬佩。
蓝珲(1348141770) 10年在维护一个“简单”的东西,你说他图啥?
蓝珲(1348141770) 值得深思。
蓝珲(1348141770) 下课。
蓝珲(1348141770) 这个大家看看。
蓝珲(1348141770) 10-year Rule https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/
.. image:: 10-year-rule-spolsky.png
:height: 100
:alt: Good Software Takes Ten Years. Get Used To it. JULY 21, 2001 by JOEL SPOLSKY
蓝珲(1348141770) 我们下次课讲。
2020-03-13 9:32:23 初阳软工171 伍泰炜(2728735169)
英雄联盟也很厉害的,他从2009年美服开服,一直维护到今天,版本号从0到10。大家也来敬佩敬佩[表情]
Monday, 16 March 2020
=====================
*Feedback on project proposal - Setting up a central code repo - Concerted management efforts - Kanboard - Project mission*
Morning section
----------------
2020-03-16 10:34:01 201732120170-Tamene Robel妈妈(3287975278) No class?
2020-03-16 10:34:27 Saeed : 201732120146(446571011) [表情]
2020-03-16 10:34:32 nainezz(2407048879) Was about to ask same question
2020-03-16 10:34:34 armand(2431154023) ?
2020-03-16 10:34:55 201732120134_Michelle(3304952232) it starts at 10:35
2020-03-16 10:34:55 201732120170-Tamene Robel妈妈(3287975278) Sleep guys
2020-03-16 10:34:56 ibrahim(1525200991) break
2020-03-16 10:35:01 201732120134_Michelle(3304952232) [表情]
2020-03-16 10:35:07 ALBOROM WARD-201732120143家长(3279308836) 10:40
2020-03-16 10:35:21 nainezz(2407048879) @ibrahim break ??
蓝老师 ===================================================
2020-03-16 10:35:32 ibrahim(1525200991) breakfast
蓝老师 Morning guys. Could you type your student number?
2020-03-16 10:35:42 ibrahim(1525200991) 201732120159
2020-03-16 10:35:43 系统消息(10000) FADHEL ABDULLAH撤回了一条消息
2020-03-16 10:35:43 陈真赐(1312502742) 201732120114
2020-03-16 10:35:47 nainezz(2407048879) 201732120173
2020-03-16 10:35:49 201732120141--AHAMED SABUJ妈妈(2686217157) 201732120141
2020-03-16 10:35:50 ALBOROM WARD-201732120143家长(3279308836) 201732120143
2020-03-16 10:35:51 软英171 陆博业(2794513466) 201732120119
2020-03-16 10:35:52 李佳兴(421281726) 201732120118
2020-03-16 10:35:55 201732120134_Michelle(3304952232) 201732120134
2020-03-16 10:35:58 叶涵涛(2289316051) 201732120125
2020-03-16 10:36:02 软英171陈伟超(937202326) 201732120113
2020-03-16 10:36:05 FADHEL ABDULLAH(3071163205) 201532120139
2020-03-16 10:36:06 杰西卡201732120133(2422938906) 201732120133
2020-03-16 10:36:14 201732120167 Clive妈妈(3321692247) 201732120167
2020-03-16 10:36:20 软英171高增(1520653544) 201732120117
2020-03-16 10:36:21 201732120157 hossain arif<charif19282@qq.com> 201732120157
2020-03-16 10:36:22 Saeed : 201732120146(446571011) 201732120146
2020-03-16 10:36:23 ABDALMUHAYMEN 201730210234(1071107298) 201730210234
蓝老师 Let's wait 4 minutes for more people to join in.
2020-03-16 10:36:37 armand(2431154023) 201732120161
2020-03-16 10:36:40 软英171 郑可富(1924773187) 201732120129
2020-03-16 10:36:51 201632120150-Ashly(1661411131) 201632120150
2020-03-16 10:36:54 Mohamed Jifry Hazzaly Mohamed爸爸(3028786026) 201732120165
2020-03-16 10:36:54 谢佳聪(1249923715) 201732120123
2020-03-16 10:37:03 LUL GUOBA RUOT (2217724540) 201632120161
2020-03-16 10:37:21 201732120170-Tamene Robel妈妈(3287975278) 201732120170
2020-03-16 10:37:31 软英171周仙龙(1748153603) 201732120130
2020-03-16 10:37:41 201732120127 张滨(2350711965) 201732120127
2020-03-16 10:38:12 Samantha 201632120140(2459455104) 201632120140
蓝老师 [Announcement]
蓝老师 You need to finish reading `The Cathedral and the Bazaar`_ by the end of this week.
.. _The Cathedral and the Bazaar: http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html
蓝老师 I am not going to post new readings this week. Please finish the above reading first.
蓝老师 This reading may or may not appear in our quiz. But it will certainly appear in our exam.
蓝老师 Take some notes while you're reading.
蓝老师 I feel Eric Raymond's writing is a bit hard to understand.
蓝老师 You do not have to read all sections, only the selected sections that I mentioned on our course home page.
蓝老师 About "Decide areas for improvement".
蓝老师 I have posted my opinions on your proposed areas for improvement.
蓝老师 http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review.html
蓝老师 I have three opinions: Accept, Half Accept and Reject.
蓝老师 In most Reject cases, the reason why I rejected your proposal is that I could not understand what you are going to do, either because your writing is too vague or too confusing.
蓝老师 If your status is Accept, you get 2 marks.
蓝老师 If your status is Accept with Conditions, you get 1 (temporarily).
蓝老师 If your status is Reject, you get 0 (temporarily).
蓝老师 I will give you a chance to revise your proposal.
蓝老师 If I finally accept your proposal, I will update your mark of this part to 2.
蓝老师 For now, I use the above marking strategy.
蓝老师 You could look at the above `big table`_ and look at other people's proposals.
.. _big table: http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review.html
蓝老师 Remember: if you submit your revised proposal (for Decide Areas for Improvement), that proposal should not duplicate the areas already mentioned in the above table.
蓝老师 We don't want duplicate efforts.
蓝老师 What is a good deadline for submitting the revised proposal?
蓝老师 (Ward, you sent that by email? If yes, I will check.)
蓝老师 (No problem.)
蓝老师 (Some late penalty may apply.)
蓝老师 Perhaps next Monday (Mar 23) is a good deadline for submitting the revised proposal.
蓝老师 You do not need to submit your proposal again if you are in the Accept category.
蓝老师 However, please check the questions I asked (if any) in the column Instructor Comments, and answer them in your Kanboard project.
蓝老师 You should first create a project inside Kanboard (http://118.25.96.118/kanboard),
蓝老师 then create a card within that project, addressing the questions (if any) I asked.
蓝老师 That is for people in the Accept category.
蓝老师 For people in the other two categories (Accept with Conditions and Reject), you must send an updated proposal to me by next Monday 11:59pm.
蓝老师 Everyone should start using Kanboard now.
蓝老师 If you do not have an account yet, tell me that. I will create one for you.
蓝老师 I believe most people have Kanboard accounts.
蓝老师 It seems you intend to manage either LRR or OAPS,
蓝老师 which is great.
蓝老师 The problem is that if each group manages LRR separately, we do not have a concerted management effort.
蓝老师 (OK. For guys who are unable to login Kanboard, don't worry. I will create an account for you later today.)
蓝老师 Since Ashly has already made some improvements to LRR, is it a good idea that all people commit to his github repo?
蓝老师 Ashly will act as a gatekeeper for merging your commits.
蓝老师 Is Ashly here? Could you do that?
蓝老师 Let's take a 5-minute break.
蓝老师 ===================================================
蓝老师 ("All of us can’t login (Kanboard)"?)
蓝老师 (Anyway, it is easy for me to change your password.)
蓝老师 (Of course, if you have made lots of failed attempts.)
蓝老师 Anyone good at github's pull request and review processes?
蓝老师 My idea is to have one (central) github repo that hosts all of our maintenance work.
蓝老师 We need a person to merge commits.
蓝老师 Is that supposed to be me?
蓝老师 We need a person to review pull requests, merge them, etc.
蓝老师 Different groups could work on different branches without interrupting each other.
蓝老师 We then regularly merge the branches back to the master branch.
蓝老师 That is the idea.
蓝老师 (You do not have to sign in Kanboard now.)
蓝老师 Of course, we can do the same thing (i.e., one central repo) for OAPS.
蓝老师 [图片]
.. image:: TIM20200316222325.png
:height: 100
:alt: two versions of the same software
蓝老师 The problem for OAPS is that you work on different versions (see the above picture).
蓝老师 (I think Ashly has that time. He is almost done.)
蓝老师 It is convenient for each group to work on their own version, but the drawback is that your individual improvements could not be taken together to make a big improvement.
蓝老师 Let me think more about that.
蓝老师 Perhaps I am the one who should review your code and merge it.
蓝老师 (It doesn't matter.)
蓝老师 (You could clone it to a public repo and work on the public one.)
蓝老师 (That is not the main reason.)
蓝老师 Or, we could create a `course-level public account`_ at github so that everyone could commit there.
.. _course-level public account: https://github.com/spm2020spring
蓝老师 Anyway, send me an email if you are interested (in being the gatekeeper).
蓝老师 What is the reward? You may ask.
蓝老师 I don't know. Perhaps you could learn more? Or we will have a better software?
蓝老师 Ibrahim could do that?
蓝老师 You are not working on LRR, are you?
蓝老师 Alright. Let's say Ashly has temporarily agreed to maintain a course-level public repo for LRR, and Ibrahim for OAPS.
蓝老师 Of course, I welcome other people to join.
蓝老师 I may help too.
蓝老师 Perhaps you know more github operations that I do.
蓝老师 I kind of forget the look and feel of your OAPS, Ibrahim.
蓝老师 Could you show some screenshots?
蓝老师 If yours is good, I would suggest everyone to improve on top of your version.
蓝老师 I am going to create two course-level public github repos, one for LRR, and another for OAPS.
蓝老师 When you commit to the public repo, do not forget to include your name and student number for each commit in your commit message.
蓝老师 That is your credit.
蓝老师 It is harder for me to infer who you are from your email address.
蓝老师 (Yes. Send them to me by email. Thanks.)
蓝老师 We talked about how to earn 1b dollars from our software 10 years later.
蓝老师 Can we earn that much from LRR or OAPS.
蓝老师 I think the chance is very remote.
蓝老师 There are better products out there.
蓝老师 For OAPS's counterpart, we have arXiv, bioarXiv, etc.
蓝老师 For LRR, we have Duifenyi, Chaoxing, etc.
蓝老师 If you are successful, you should give me some credit.
蓝老师 Let's take a 5-minute break.
蓝老师 ===================================================
蓝老师 (Learn more to earn more.)
蓝老师 No problem for LRR, since everyone starts from "scratch".
蓝老师 OAPS - most of you have already worked on a version of it. If we choose to use Ibrahim's version, then ...
蓝老师 other people may be less familiar with that version than Ibrahim is.
蓝老师 How to solve that problem if we do want to have a central github repo?
蓝老师 Need to think more about that.
蓝老师 (Of course we can do that, but the point is that we need to merge these branches someday.)
蓝老师 If these branches are drastically different, it is very hard to merge them.
蓝老师 A better idea to start off from a Mother Branch.
蓝老师 Whose code should be the Mother Branch?
蓝老师 If we have decided a Mother Branch, then people could make their own improvements on top of that, making the merge job much easier.
蓝老师 I will check my grade book of last semester's OAPS evaluation and figure out if I can pick a Mother Branch.
蓝老师 I will browse your code too.
蓝老师 Lots of work on my side. But I am glad to do that.
蓝老师 I remember Ibrahim's code is not that bad, isn't it?
蓝老师 Let's see.
蓝老师 Kanboard.
蓝老师 Once you have created a project inside Kanboard, could you invite me to your project so that I can monitor your progress?
蓝老师 You should also make your Kanboard public.
蓝老师 Easier for the outsider to check your status (like something shown below).
蓝老师 [图片]
.. image:: TIM20200316180248.png
:height: 100
:alt: Kanboard for undergraduate thesis supervision
蓝老师 (Thanks, Ibrahim.)
蓝老师 [图片]
.. image:: TIM20200316222412.png
:height: 100
:alt: Slide "starting from what you have"
蓝老师 That is almost every thing for today.
蓝老师 One advice is "Starting from What You Have",
蓝老师 which is exactly we are doing now.
蓝老师 We need to have a mission, and a vision.
蓝老师 Give an overview of our project.
蓝老师 What is Raspberry Pi's mission statement?
蓝老师 https://www.raspberrypi.org/
蓝老师 [图片]
.. image:: TIM20200316222452.png
:height: 50
:alt: Raspberry Pi's mission
蓝老师 Use one sentence to let other people hear your ping.
蓝老师 Use one sentence to let other people know why you do this project.
蓝老师 Bye.
Afternoon Section
-----------------
Lan Hui: ===================================================
Lan Hui: Good afternoon. Could you type your student number?
Guedalia Youma (3014432207) Good afternoon professor
Nicole Rutagengwa (1403962700) Good afternoon sir
Guedalia Youma (3014432207) 201925800221
Twizere Pacifique 唐平<pacitwizere@hotmail.com> Good Afternoon Teacher
Nicole Rutagengwa (1403962700) 201925800169
NGOUNOU家长(438499151) hello Sir
Twizere Pacifique 唐平<pacitwizere@hotmail.com> 201925800174
Tabitha(2954060050) 201925800170
NGOUNOU家长(438499151) 201925800180
Marie(2928285277) 201925800173
Lan Hui: I would like to share with you an interesting article, on MOOC teaching methods.
Lan Hui: https://www.classcentral.com/report/why-my-mooc-is-not-built-on-video/
Lan Hui: [图片: Lorena Barba. Mar 5th, 2015. Why My MOOC is Not Built on Video.]
Lan Hui: The author's main point: "expensive, high-production-value videos are not necessary to achieve a quality learning experience."
Lan Hui: " 'Lecture videos' have the same pitfalls as regular lectures: they provide a false sense of clarity and are utterly forgettable", she says.
Lan Hui: Very interesting. You could save the essay for future reading. At least I am convinced.
Lan Hui: When you watch video, you enter a Passive Zone.
Lan Hui: Where were we left last time?
Lan Hui: I have talked about Ashly's story of a bug fix for LRR.
Lan Hui: The "`Unable to sign in immediately after sign up`_" bug.
.. _Unable to sign in immediately after sign up: http://118.25.96.118/bugzilla/show_bug.cgi?id=30
Lan Hui: All LRR bugs are here: http://118.25.96.118/bugzilla/describecomponents.cgi?product=Lab%20Report%20Repository%20%28nor%20houzi%29
Lan Hui: I am happy that we have more than 40 bugs now for LRR.
Lan Hui:
.. image:: LRR-all-bugs.png
:height: 100
:alt: Product: Lab Report Repository (nor houzi) http://118.25.96.118/bugzilla/buglist.cgi?bug_status=__all__&no_redirect=1&order=changeddate%20DESC%2Cpriority%2Cbug_severity&product=Lab%20Report%20Repository%20%28nor%20houzi%29&query_format=specific
Lan Hui: The above picture shows some recent bug reports. I entered these reports, which I got from students.
Lan Hui: The "Group creation error on duplicated group names" is reported by one of you guys.
Lan Hui: These reports have laid a solid foundation for LRR.
Lan Hui: At least I think so.
Lan Hui: Software is Hard.
Lan Hui: Thus I have also talked about the 10-year Rule.
Lan Hui: See https://www.joelonsoftware.com/2001/07/21/good-software-takes-ten-years-get-used-to-it/
Lan Hui: [图片]
Lan Hui: This is actually a VIR (Very Important Rule).
Lan Hui: No one has told you that. I believe.
Lan Hui: It is important for morale.
Lan Hui: "Anyway, something good does need time. I just need to give myself more time for it to be that good."
Lan Hui: You may think after knowing this rule.
Lan Hui: "I just cannot believe that you could achieve something that good in one year. "
Lan Hui: Policy makers think after knowing this rule, so they won't rush and set unrealistic expectations.
Lan Hui: I have talked about the Affero GPL for online applications, too.
Lan Hui: Online applications are a bit different from offline applications in that their source code is not distributed. Rather, it is stored on server.
Lan Hui: Customers do not download a copy of the source code.
Lan Hui: Weibo and twitter are these kinds of online applications.
Lan Hui: Although you may still have clients for them too.
Lan Hui: Office 365 is a typical online application, although it does not come with a free and open source license.
Lan Hui: I mentioned that both GPL and Affero GPL are copyleft licenses.
Lan Hui: What does "copyleft" mean?
Lan Hui: Something in an opposite direction from "copyright"?
Lan Hui: A copyleft license says that the derivative works must grant freedoms described in the parent license. Example: GPL, Affero GPL.
Lan Hui: It is like an infectious license,
Lan Hui: isn't it?
Lan Hui: You require the derivative work to use the same (or at least compatible) license too.
Lan Hui: What does derivative work mean?
Lan Hui: A derivative work is a piece of work that is built upon the material of an old work.
Lan Hui: In the software source code sense, a derivative software has used a piece of source code from someone else.
Lan Hui: Whether that piece of source code is a file, or just a function.
Lan Hui: GPL, Affero GPL -- copyleft licenses.
Lan Hui: If you use GPL license in your software, other people who think this license too restrictive may be afraid to incorporate your code into their software.
Lan Hui: Because if they do, their software has to use GPL-like licenses too. Many people do not want to do that.
Lan Hui: That is OK. On the contrary, some people indeed want to do that.
Lan Hui: What are non-copyleft licenses, while still being open source?
Lan Hui: MIT Licenses, Apache Software License v2, and BSD license -- non-copyleft licenses.
Lan Hui: These licenses do not put as strict a restriction on derivative work as copyleft licenses do.
Lan Hui: "I do not care how you are going to use my source code."
Lan Hui: "Commercial, proprietary, all OK."
Lan Hui: "As long as you keep the copyright notice of the original code intact."
Lan Hui: Let us take a 5-minute break.
Guedalia Youma (3014432207) Alright
Lan Hui: ===================================================
Lan Hui: Remember the Software Engineering course taught by Professor Leveson at MIT?
Lan Hui: https://ocw.mit.edu/courses/aeronautics-and-astronautics/16-355j-software-engineering-concepts-fall-2005/
Lan Hui: [图片]
.. image:: Leveson-Software-Engineering-MITOCW.jpg
:height: 100
:alt: Software Engineering Concepts, Prof. Nancy Leveson, Fall 2005, Graduate, MIT Course Number 16.355J / IDS.341J / (formerly ESD.355J)
Lan Hui: The course material's license is called Creative Commons License.
Lan Hui: Creative Commons License is commonly used for documents.
Lan Hui: [图片]
.. image:: CC-icon.png
:height: 100
:alt: Icon for Creative Commons License.
Lan Hui: If you see this toilet sign-like icon, then it means that product uses the Creative Commons License.
Lan Hui: You could use the materials for free, or build materials on top of it with no problems, as long as you give credit to the original authors.
Lan Hui: Very few software would use Creative Commons License. CC is mostly for documents (I think).
Lan Hui: Books can use CC License.
Lan Hui: What is the license of our textbook?
Lan Hui: Karl Fogel. Producing Open Source Software: How to Run a Successful Free Software Project. Second Edition.
Lan Hui: I believe it is under Creative Commons License.
Lan Hui: Check https://producingoss.com/en/copyright.html
Lan Hui: If you write a book, you could consider using this license.
Lan Hui: (Graduate Life in A beautiful City in East China?)
Lan Hui: Creative Commons License is a very popular license in the publishing industry.
Lan Hui: Let us move on to the next topic.
Lan Hui: [Announcement]
Lan Hui: You need to finish reading *The Cathedral and the Bazaar* by the end of this week.
Lan Hui: http://catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/index.html
Lan Hui: There will be no new reading assignment this week.
Lan Hui: Make a plan to finish reading the above essay, an important one in the open source world.
Lan Hui: When you read, make sure you take some notes, writing down the key points, refreshing ideas, eye-opening thoughts, etc.
Lan Hui: So that you could have a quick review when needed.
Lan Hui: Now let's talk about "Decide areas for improvement".
Lan Hui: I have posted my opinions on your proposed areas for improvement.
Lan Hui: Check the following link.
Lan Hui: http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review.html
Lan Hui: [图片]
.. image:: TIM20200316175023.png
:height: 100
:alt: Accept case
Lan Hui: [图片]
.. image:: TIM20200316175029.png
:height: 100
:alt: Half Accept case
Lan Hui: 0 Reject.
Lan Hui: 1 Accept with Conditions.
Lan Hui: The "Accept with Conditions" proposal is proposing to provide Chinese language support.
Lan Hui: Localization is best done by native speakers who master both the target language and the original language.
Lan Hui: Below is my comments: While supporting Chinese is important and highly desired (see the bottom part of this link: http://lanlab.org/course/2019s/spm/user-feedback-on-LRR-implemented-by-nor-houzi-group.html), it is not my current priority since there are so many critical bugs awaiting to be solved. I am a bit unsure about your level of Chinese. Please convince me that you could carry out the task (e.g., by which means). If you just replace English words with Chinese words in user interface, that is not very flexible. Once the English interface has been changed, you need to do the whole thing again. I believe there is a better way to do localization. For example, Nano has a po file for each target language. See https://git.savannah.gnu.org/cgit/nano.git/tree/po/zh_CN.po You should provide a similar solution for LRR.
Lan Hui: My main concern is that Bernard and Moummou do not know Chinese well enough.
Lan Hui: Of course, you could argue that I don't have to know Chinese well enough to do the work.
Lan Hui: Look, I have translation tools like Bing translator, Youdao translator, etc.
Lan Hui: That is right. So I don't object your proposal based solely on the language-proficiency ground.
Lan Hui: That is why I gave "Accept with Conditions" rather than Reject.
Lan Hui: On the technical side, you need to make sure you don't just use a Search-and-Replace approach.
Lan Hui: That is not flexible.
Lan Hui: You should adopt a systematic method to provide the Chinese language support.
Lan Hui: Nano supports Chinese too, achieved through a po file: https://git.savannah.gnu.org/cgit/nano.git/tree/po/zh_CN.po
Lan Hui: This po file contains blocks like below.
Lan Hui::
#: src/browser.c:67
#, c-format msgid "Cannot open directory: %s" msgstr "无法打开目录:%s"
Lan Hui: You see. "Cannot open directory: %s" -> "无法打开目录:%s"
Lan Hui: The translation is not done on the source code, but done in another file.
Lan Hui: You need to familiarize with that kind of approach.
Lan Hui: I won't accept a "Chinese version" of the source code made by a manual Search-and-Replace approach.
Twizere Pacifique 唐平<pacitwizere@hotmail.com> Teacher I have small question about the bug correction assignment , After we finish ,how are we going to submit ? , Can we have a github repository access so that we can submit by doing pull requests , or are we going to send you the files that we have changed ?
Lan Hui: That is a good question. I will talk about that in a moment.
Lan Hui: Let's take a 5-minute break first.
Twizere Pacifique 唐平<pacitwizere@hotmail.com> okay
Lan Hui: ===================================================
Lan Hui: Returning to Pacifique's question,
Lan Hui: I intend to create a course-level github account so that you could send your changes there.
Lan Hui: I will use Ashly's current code as the Mother Branch, from which you could clone.
Lan Hui: BTW, Ashly is an undergraduate student taking the same course.
Lan Hui: The Mother Branch is in fact the master branch.
Lan Hui: You clone that master branch to your local drive.
Lan Hui: Work on your "features" and send pull requests for merging.
Lan Hui: Are you good at pull request and code merging, Pacifique?
Lan Hui: You could be one of the committers.
Twizere Pacifique 唐平<pacitwizere@hotmail.com> I did not do it a lot of times , because I mostly create my own projects
Lan Hui: A committer has the write permission to the central repo.
Lan Hui: We could discuss that later. It is good for you to learn that.
Twizere Pacifique 唐平<pacitwizere@hotmail.com> Yes sir , It will be an honor to do be among the team
Lan Hui: (Learn more to earn more.)
Twizere Pacifique 唐平<pacitwizere@hotmail.com> okay
Lan Hui: I am not very good at advanced github operations either.
Lan Hui: But I do not think that is extremely hard to learn.
Lan Hui: Just try-and-error and need some extra patience.
Lan Hui: The idea is that each group's small improvements should be combined to form a big improvement,
Lan Hui: instead of having many forks, each of which is error-prone.
Lan Hui: We want to have a concerted project management effort for LRR.
Lan Hui: I will explain the term "fork" later. Actually, our textbook spends a lot of time on talking about that.
Lan Hui: https://producingoss.com/en/social-infrastructure.html#forkability
Lan Hui: Not required now. But you can read it if you are interested.
Lan Hui: For Bernard and Moummou, are you guys here?
NGOUNOU家长(438499151) we are here
Lan Hui: You could either convince me on your ability to provide the translation as suggested in your original plan,
Lan Hui: or make a new plan.
NGOUNOU家长(438499151) Okay laoshi
Lan Hui: [图片]
.. image:: LRR-5-bug-reports.png
:height: 100
:alt: LRR 5 bug reports
Lan Hui: Above are `five possibilities`_ that you could consider.
.. _five possibilities: http://118.25.96.118/bugzilla/buglist.cgi?chfield=%5BBug%20creation%5D&chfieldfrom=7d&order=changeddate%20DESC%2Cbug_status%2Cpriority%2Cassigned_to%2Cbug_id&query_format=advanced
Lan Hui: I think the feature request "Enter student numbers in batch" is particularly useful.
Lan Hui: [图片]
.. image:: TIM20200316175523.png
:height: 100
:alt: batch student number enrollment
Lan Hui: Now, to let LRR recognize a student, I need to manually insert his student number by operating on the backend MySQL sever.
Lan Hui: This is OK if I do not have many student numbers to enter.
Lan Hui: But think about that. If you are asked to enter 100 student numbers a day,
Lan Hui: or 3-5 student numbers each day in a week.
Lan Hui: That is not efficient.
Lan Hui: It would be great to have a User Interface for each instructor so that he could copy and paste any number of student numbers in a box and click submit. Done.
Lan Hui: [Hui Lan 2020-03-10 11:44:24 CST] It would be nice if I could enter many student number to the database table: students_data. Why? Because what I am doing now is quite time-consuming. I still receive many email messages telling me they are unable to sign up (see the attached picture), therefore, I have to enter their student numbers one by one. First, I need to login MySQL. Second, I need to execute the following SQL statement: insert into students_data(Student_ID, Passport_Number) values ('201925800169', ''); I believe we can do better than that. It would be great to have a input box so that I could copy and paste any number of student numbers, separated by white-spaces, click submit, then these numbers will be written to the table students_data. Of course, if a student number already exists, do not insert that number again. -Hui
Lan Hui: This is something Bernard and Moummou could consider.
Lan Hui: ===================================================
Lan Hui: Last thing for today, Kanboard.
Lan Hui: Basically, I want you to plan your project and record your project management activity on Kanboard (or Kanban).
Lan Hui: http://118.25.96.118/kanboard
Lan Hui: [图片]
.. image:: TIM20200316180248.png
:height: 100
:alt: Kanboard for undergraduate thesis supervision
Lan Hui: Above is one of my Kanboard projects.
Lan Hui: You see, I have 4 swim lanes, each representing a stage.
Lan Hui: Each colored card represents a task.
Lan Hui: I could drag the card to one of these four swim lanes.
Lan Hui: [图片]
Lan Hui: I could discuss inside each card (task).
Lan Hui: That is everything for today.
Lan Hui: I will create Kanboard accounts for you.
Lan Hui: Bye.
Marie(2928285277) bye Sir
Guedalia Youma (3014432207) Good bye Sir
Twizere Pacifique 唐平<pacitwizere@hotmail.com> Good Bye Sir
Friday, 20 March 2020
=====================
*Feedback on software improvement plan - Tutorial for remote collaboration using Git and GitHub - GitHub Organizations - Do not throw away code - Starting from what you have*
Morning section
---------------
2020-03-19 18:04:04 初阳软工171 余慧(945168786)
因为老师可能不怎么用qq,所以我在这里讲两件事情。 第一件事情是关于明天的上课形式,老师想用腾讯会议来上课,所以请同学们在明天上课前提前下载好腾讯会议的软件,完成注册(最好用自己的名字),然后加入会议 894 024 542。为避免杂音干扰课堂,入会后默认静音,请大家在需要发言的时候再打开语音。 第二件事情,可能还有同学出现没有小组的情况,我弄了个在线文档,请组长把自己小组的成员写上,如果没有组的同学可以去还缺人的小组里问问(自己的群昵称如果还没改记得改一下),如果都满了的话。。不嫌麻烦可以看看是不是还有谁没在上面的,或者自己直接写一个单独的组等着别人来找你。 894 024 542 @全体成员
2020-03-19 18:04:12 初阳软工171 余慧(945168786)
2020-03-20 8:00:43 蓝珲(1348141770) Thanks 余慧
2020-03-20 8:01:25 初阳软工171 余慧(945168786)
老师,记得进腾讯会议哦
2020-03-20 8:02:40 蓝珲(1348141770) 请发一下学号
2020-03-20 8:02:42 初阳软工171 伍泰炜(2728735169)
201736900125
2020-03-20 8:02:43 网络171-侯新苗(953957823)
201730210304
2020-03-20 8:02:46 初阳软工171袁世家(1515245651)
201739230123
2020-03-20 8:02:47 软工初阳171 刘莉莉(1196448461)
201736900108
2020-03-20 8:02:48 初阳软工171叶红霞(1655602611)
201736900115
2020-03-20 8:02:50 软工初阳171周佳威<zhouwys@qq.com>
201736900130
2020-03-20 8:02:50 唐叶尔(1768559501)
201736900111
2020-03-20 8:02:52 初阳软工171 王海榕(1012635788)
201732120105
2020-03-20 8:02:52 软件工程 王雪洁(249795581)
201732120106
2020-03-20 8:02:53 软件工程初阳1701 徐梦旗(2663479778)
201732120124
2020-03-20 8:02:53 初阳软工171 吴贞娴(1395588359)
201732120108
2020-03-20 8:02:54 软件工程 常思琦(995959606)
201732120101
2020-03-20 8:02:54 初阳软工171 徐闰钞(374526027)
201736900127
2020-03-20 8:02:55 软件工程 张珣(1955357976)
201732120109
2020-03-20 8:02:55 初阳软工171 余慧(945168786)
201736900117
2020-03-20 8:02:56 初阳软工171方梓安(2453122992)
201736900105
2020-03-20 8:02:57 网络171许晓鹏(892376699)
201730210128
2020-03-20 8:03:00 初阳软工171 蒋佳玲(1850424414)
201732120103
2020-03-20 8:03:00 网络171—董文文(2373706002)
201730210303
2020-03-20 8:03:01 软工初阳171 何可人(1461938594)
201736900106
2020-03-20 8:03:02 软工初阳171 应舸(1434305984)
201736900128
2020-03-20 8:03:08 初阳软工171 陈肖飞(1662727361)
201736900104
2020-03-20 8:03:18 重新做人(1344914885)
201736900113
2020-03-20 8:03:30 计非181 王智洋(1162466610)
201830220719
2020-03-20 8:06:07 初阳软工171 余慧(945168786)
还没进来的同学记得进腾讯会议哦894 024 542
2020-03-20 8:06:09 初阳软工171 余慧(945168786)
@全体成员
(蓝珲在腾讯会议上讲话,回答叶红霞的问题:这门课会讲具体怎么操作管理项目吗,还是主要讲理论?)
2020-03-20 8:09:03 蓝珲(1348141770) Barry W. Boehm
2020-03-20 8:09:19 蓝珲(1348141770) 有一个估计 Project Effort 的公式
2020-03-20 8:09:47 蓝珲(1348141770) 不要扔掉老代码。
2020-03-20 8:11:42 蓝珲(1348141770) The Cathedral and the Bazaar (Note: this essay discusses two development modes. The first five sections, plus Necessary Preconditions for the Bazaar Style, The Social Context of Open-Source Software, On Management and the Maginot Line and Epilog: Netscape Embraces the Bazaar, are required readings.)
2020-03-20 8:14:07 蓝珲(1348141770) Hadoop
2020-03-20 8:15:18 蓝珲(1348141770) Committer
2020-03-20 8:15:32 蓝珲(1348141770) Central repo
2020-03-20 8:15:58 蓝珲(1348141770) Reap the benefit
2020-03-20 8:16:51 蓝珲(1348141770) Oceanbase
2020-03-20 8:16:55 蓝珲(1348141770) 数据库
2020-03-20 8:17:10 蓝珲(1348141770) MySQL
2020-03-20 8:25:00 蓝珲(1348141770) 先休息5分钟
2020-03-20 8:25:06 初阳软工171 余慧(945168786)
好的
2020-03-20 8:25:21 初阳软工171 陈俊蕾(1223259604)
201736900103
2020-03-20 8:25:47 初阳软工171 陈俊蕾(1223259604)
老师不好意思,刚来迟了几分钟[表情]
2020-03-20 8:30:03 蓝珲(1348141770) 我们继续。
2020-03-20 8:30:14 蓝珲(1348141770) 腾讯会议不能录音吗?
2020-03-20 8:30:40 蓝珲(1348141770) 录音可以分享给晚到的同学。
2020-03-20 8:30:57 计非181 王智洋(1162466610)
好像不能,可以用手机录
2020-03-20 8:31:57 蓝珲(1348141770) [图片]
2020-03-20 8:32:26 蓝珲(1348141770) 10-year Rule
2020-03-20 8:33:00 蓝珲(1348141770) [图片]
.. image:: TIM20200316222412.png
:height: 100
:alt: Slide "starting from what you have"
2020-03-20 8:35:05 蓝珲(1348141770) [图片]
2020-03-20 8:35:11 蓝珲(1348141770) 10-year Rule提出者的blog: https://www.joelonsoftware.com/
2020-03-20 8:40:25 蓝珲(1348141770) 我对你们的软件改进计划的反馈: http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review-class02395.html
2020-03-20 8:48:53 蓝珲(1348141770) 维护LRR的那组同学,你们需要通过程序去操作下面的数据库表 student_data or students_data。
2020-03-20 8:54:18 蓝珲(1348141770) 休息5分钟
2020-03-20 8:54:22 蓝珲(1348141770) 一个中心源码仓库 (GitHub Organizations Repo),用于大家协作: https://github.com/lanlab-org/LRR。 协作的教程在 https://github.com/spm2020spring/TeamCollaborationTutorial/blob/master/team.rst
2020-03-20 8:54:48 蓝珲(1348141770) https://github.com/lanlab-org/
2020-03-20 9:02:37 蓝珲(1348141770) 我们继续
2020-03-20 9:15:54 初阳软工171 余慧(945168786) 我们的(代码)好像下载不了
2020-03-20 9:26:01 蓝珲(1348141770) 我会更新链接 http://lanlab.org/course/2020s/spm/yuye-scatterplot.zip
2020-03-20 9:26:04 蓝珲(1348141770) 谢谢大家
2020-03-20 9:26:09 初阳软工171 余慧(945168786)
谢谢老师了
2020-03-20 9:26:13 软工初阳171 应舸(1434305984)
.. image:: yingge-thumb-up.jpg
:height: 20
:alt: Ying Ge thumb up icon
Monday, 23 March 2020
======================
Morning section
----------------
*Discussing two improvement proposals - Kanban task - Kanban card - Tutorial for team collaboration - Master branch - Feature branch - Pull Request - Merging to master branch*
2020-03-23 10:30:40 蓝老师(1348141770) Reminder: don't forget to join our Tencent Meeting Room at 10:35am. Meeting ID 141 329 501.
2020-03-23 10:30:56 201732120161-armand(2431154023)
Ok
2020-03-23 10:31:12 Saeed : 201732120146(446571011)
ok
2020-03-23 10:31:29 KELVIN Chimtengo(3110702155)
Oksy
2020-03-23 10:31:35 ALBOROM WARD-201732120143家长(3279308836)
Ok
2020-03-23 10:31:38 201732120168_Golden(2984538488)
[表情]
2020-03-23 10:31:38 LUL GUOBA RUOT (2217724540)
ok
2020-03-23 10:33:41 Samantha 201632120140(2459455104)
okay
2020-03-23 10:35:42 201732120141--AHAMED SABUJ妈妈(2686217157)
201732120141
2020-03-23 10:35:45 郑晓钰(280768265)
201732120110
2020-03-23 10:35:45 KELVIN Chimtengo(3110702155)
201632120149
2020-03-23 10:35:47 软英171 吕伊豪(745291576)
201732120120
2020-03-23 10:35:48 陈真赐(1312502742)
201732120114
2020-03-23 10:35:52 软英171 郑可富(1924773187)
201732120129
2020-03-23 10:35:52 Mohamed Jifry Hazzaly Mohamed爸爸(3028786026)
201732120165
2020-03-23 10:35:53 201632120150-Ashly(1661411131)
201632120150
2020-03-23 10:35:53 201732120134_Michelle(3304952232)
201732120134
2020-03-23 10:35:53 ibrahim(1525200991)
201732120159
2020-03-23 10:35:53 nainezz(2407048879)
201732120173
2020-03-23 10:35:55 ABDALMUHAYMEN 201730210234(1071107298)
201730210234
2020-03-23 10:35:55 李佳兴(421281726)
201732120118
2020-03-23 10:35:58 叶涵涛(2289316051)
201732120125
2020-03-23 10:35:58 LUL GUOBA RUOT (2217724540)
201632120161
2020-03-23 10:35:59 软英171郑洪宇(1633787262)
201732120128
2020-03-23 10:35:59 软英171戴泽荣(975336710)
201732120115
2020-03-23 10:36:00 201732120157 hossain arif<charif19282@qq.com>
201732120157
2020-03-23 10:36:01 201732120127 张滨(2350711965)
201732120127
2020-03-23 10:36:03 ALBOROM WARD-201732120143家长(3279308836)
201732120143
2020-03-23 10:36:04 201732120161-armand(2431154023)
201732120161
2020-03-23 10:36:06 201732120168_Golden(2984538488)
201732120168
2020-03-23 10:36:10 201732120170-Tamene Robel妈妈(3287975278)
201732120170
2020-03-23 10:36:16 软英171高增(1520653544)
201732120117
2020-03-23 10:36:21 201732120151 Barkay sanoussi(3178573723)
201732120151
2020-03-23 10:36:24 201732120167 Clive妈妈(3321692247)
201732120167
2020-03-23 10:36:27 Samantha 201632120140(2459455104)
201632120140
2020-03-23 10:36:42 Saeed : 201732120146(446571011)
201732120146
2020-03-23 10:36:47 软英171陈金龙(864945570)
201732120112
2020-03-23 10:37:04 应宇腾(1356633192)
201732120126
2020-03-23 10:37:05 蓝老师(1348141770) ===================================================
2020-03-23 10:37:19 杰西卡201732120133(2422938906)
201732120133
2020-03-23 10:37:35 201732120147 Anderson (3034352269)
201732120147
2020-03-23 10:37:37 ABDALMUHAYMEN 201730210234(1071107298)
Good
2020-03-23 10:38:48 201732120135 玛莎(3534763826)
201732120135
2020-03-23 10:41:01 杰西卡201732120133(2422938906)
i can see it
2020-03-23 10:41:01 ibrahim(1525200991)
i can see it
2020-03-23 10:41:02 软英171戴泽荣(975336710)
1
2020-03-23 10:41:03 201732120170-Tamene Robel妈妈(3287975278)
I can see it
2020-03-23 10:41:04 201732120134_Michelle(3304952232)
I can see it
2020-03-23 10:41:06 ibrahim(1525200991)
positive
2020-03-23 10:41:07 201732120141--AHAMED SABUJ妈妈(2686217157)
i can see it
2020-03-23 10:41:10 Samantha 201632120140(2459455104)
can see it
2020-03-23 10:41:13 201732120168_Golden(2984538488)
I can see it
2020-03-23 10:41:14 KELVIN Chimtengo(3110702155)
Can see it
2020-03-23 10:41:42 hamunyela(3325982083)
201632120157
2020-03-23 10:42:50 201732120161-armand(2431154023)
Cant hear you
2020-03-23 10:43:08 201732120142 Ahmed(3608360354)
201732120142
2020-03-23 10:43:35 软英171周仙龙(1748153603)
201732120130
2020-03-23 10:44:37 软英171 陆博业(2794513466)
201732120119
2020-03-23 10:44:50 ibrahim(1525200991)
yes
2020-03-23 10:44:53 郑晓钰(280768265)
yes
2020-03-23 10:45:20 谢佳聪(1249923715)
201732120123
2020-03-23 10:46:27 蓝老师(1348141770) Look at Ashly's changes at https://github.com/Teecloudy/LRR/commits/master
2020-03-23 10:51:05 ibrahim(1525200991)
yes
2020-03-23 10:55:46 ibrahim(1525200991)
yes
2020-03-23 10:58:28 ibrahim(1525200991)
i once tried to report a bug to the bug tracker of LRR, but i couldn't create an account.
2020-03-23 10:58:58 ALBOROM WARD-201732120143家长(3279308836)
Teacher should make it for you
2020-03-23 10:59:03 ALBOROM WARD-201732120143家长(3279308836)
He did it to me
2020-03-23 10:59:14 ALBOROM WARD-201732120143家长(3279308836)
Ask him to create account for you
2020-03-23 10:59:48 ibrahim(1525200991)
oh really
2020-03-23 11:05:21 ibrahim(1525200991)
@蓝老师 would you please create an account for me on Bugzilla
2020-03-23 11:05:54 蓝老师(1348141770) (Talk in Tencent Meeting Room on "Decide areas for improvement")::
http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review.html
Accepted Zheng Xiaoyu's proposal.
Rejected the following proposal.
I want to manage the bug reports by developing a ticket
system. This will be achieved developing 2 user panels in which
the client side will be later on embedded in the LRR. Users can
submit bug reports and keep in touch with the owner or
developer. Also, a user can give a ticket priority and submit a
screenshot of the problem. The administrator side will have a
dashboard showing all tickets and those which are new and those
which are already worked on. This will help the developer to
serve better his users rather than receiving email bug reports.
Why?
- A ticket system is too complex as a single-person project with a
tight time constraint.
- A ticket system does not add too much value to LRR. If the
purpose of the proposal ticket system is to let people report
bugs, we already have Bugzilla doing exactly that.
http://118.25.96.118/bugzilla/describecomponents.cgi?product=Lab%20Report%20Repository%20%28nor%20houzi%29
Note: Bugzilla has been around for more than 20 years. It is
tested and used. It is very hard to compete with Bugzilla.
- Receiving bug reports through email is also quite standard,
particularly when the volume is not that large.
- A ticket system is most useful for applications that require
intensive and timely customer services. LRR is not in this
situation, and I doubt it will ever be.
Improvement proposal ideas:
- [Enhancement] Enhance the re-marking functionality (the most important, distinguishing feature of LRR).
- [Defect] Line wrapping in the middle of a word (a word should not span two lines).
- [Defect] Unable to select and copy (this makes some job really inconvenient).
2020-03-23 11:05:55 蓝老师(1348141770) Let's take a 5-minute break.
2020-03-23 11:12:27 蓝老师(1348141770) ===================================================
2020-03-23 11:12:32 蓝老师(1348141770) Ibrahim.
2020-03-23 11:12:44 ibrahim(1525200991)
yes
2020-03-23 11:12:47 蓝老师(1348141770) Definitely I should create a Bugzilla account for you.
2020-03-23 11:15:37 ibrahim(1525200991)
I'm not working on LRR, but there is a serious bug i would like to report
2020-03-23 11:18:49 蓝老师(1348141770) Welcome.
2020-03-23 11:40:33 蓝老师(1348141770) (Talk in Tencent Meeting Room on Kanboard)::
It is important to specify as much information as possible for each
task. The information such as Priority, Start Date, Due Date,
Complexity, Time spent are required to generate good project
analytics (which is done automatically for us by the Kanboard
application).
One great thing about a Kanboard card is that we can include a lot
of information in it, potentially making future maintenance much
easier because people (probably newcomers) could check that card and
study details, such as comments, the decision-making process,
associated files, etc.
2020-03-23 11:40:37 蓝老师(1348141770) Let's take a 5-minute break.
2020-03-23 11:48:28 蓝老师(1348141770) ===================================================
2020-03-23 11:48:43 ibrahim(1525200991)
yes
2020-03-23 11:48:47 ibrahim(1525200991)
we can
2020-03-23 11:48:50 杰西卡201732120133(2422938906)
Yes
2020-03-23 11:48:52 郑晓钰(280768265)
yeah
(Talk in Tencent Meeting on team collaboration using Git and GitHub)
I have written a tutorial on team collaboration at https://github.com/spm2020spring/TeamCollaborationTutorial/blob/master/team.rst
We are going to use the feature-branching workflow.
(Demonstrate how to use that workflow).
Push changes to the local branch called Hui-improve-README.md to the central repo: https://github.com/lanlab-org/LRR/tree/Hui-improve-README.md.
Note that the central repo's master branch is not updated.
Note that the central repo's master branch is now different from the central repo's feature branch: Hui-improve-README.md.
To update the master branch, we need to create a Pull Request to request merging the changes in branch Hui-improve-README.md to master.
2020-03-23 12:02:18 蓝老师(1348141770) That's everything for today.
2020-03-23 12:02:22 蓝老师(1348141770) Bye.
2020-03-23 12:02:34 201732120161-armand(2431154023)
Bye
2020-03-23 12:02:36 Samantha 201632120140(2459455104)
thank you. bye have a great week
2020-03-23 12:02:36 杰西卡201732120133(2422938906)
Thank you
2020-03-23 12:02:41 ibrahim(1525200991)
Bye
2020-03-23 12:02:43 201732120161-armand(2431154023)
Goodnight
2020-03-23 12:02:50 Saeed : 201732120146(446571011)
bye
2020-03-23 12:02:54 KELVIN Chimtengo(3110702155)
Bye
2020-03-23 12:03:10 蓝老师(1348141770) Check https://github.com/lanlab-org/LRR to see if I have successfully pushed my changes.
2020-03-23 12:03:11 nainezz(2407048879)
@201732120161-armand good night ???
2020-03-23 12:03:27 201732120161-armand(2431154023)
It’s 05am replied to nainezz:
2020-03-23 12:03:36 蓝老师(1348141770) It is under the branch named Hui-improve-README.md.
2020-03-23 12:03:43 Samantha 201632120140(2459455104)
okay
2020-03-23 12:04:10 nainezz(2407048879)
@201732120161-armand then good morning
2020-03-23 12:04:58 201732120134_Michelle(3304952232)
[图片]
.. image:: TIM20200323123829.jpg
:height: 100
:alt: README.md in LRR master branch
2020-03-23 12:05:09 201732120134_Michelle(3304952232)
@蓝老师
2020-03-23 12:05:18 hamunyela(3325982083)
Can you please extend the deadline for the project information? I had no managed to submit last time because I had trouble logging in.
2020-03-23 12:05:25 蓝老师(1348141770) Check the branch named Hui-improve-READM.md.
2020-03-23 12:05:33 蓝老师(1348141770) What you showed is the master branch.
2020-03-23 12:05:45 201732120134_Michelle(3304952232)
OK @蓝老师
.. image:: TIM20200323123836.jpg
:height: 100
:alt: README.md in LRR Hui-improve-README.md
2020-03-23 12:06:02 ibrahim(1525200991)
It's changed successfully
2020-03-23 12:06:03 蓝老师(1348141770) Hamunyela, send me email.
2020-03-23 12:06:10 hamunyela(3325982083)
Sure.
2020-03-23 12:06:38 蓝老师(1348141770) It is important that the changes are on feature branch Hui-improve-README.md (not on the master branch).
2020-03-23 12:07:04 蓝老师(1348141770) I have to review these changes before I can merge them to the master branch.
2020-03-23 12:07:09 201632120150-Ashly(1661411131)
[图片]
2020-03-23 12:07:14 蓝老师(1348141770) That is the main point of the feature-branching workflow - be very careful when merging changes to the master branch.
2020-03-23 12:07:37 ibrahim(1525200991)
got it
2020-03-23 12:07:47 蓝老师(1348141770) Use Pull(me) Request as a checkpoint before writing to the master branch.
Afternoon section
------------------
*Screen sharing using Tencent Meeting - Discussing one improvement proposal - Two defects in LRR - Kanboard usage demo - Getting familiar with codebase by looking at recent commits - Easier to fix errors than to find them*
2020-03-23 14:13:06 Lan Hui(1348141770) [Announcement]
2020-03-23 14:13:07 Lan Hui(1348141770) Hi guys. This afternoon we will use Tencent Meeting (for screen sharing). Meeting ID: 132 262 218. Does that mean you will have to install yet another app?
2020-03-23 15:33:24 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Yes sir , I think we need another app for that
2020-03-23 15:40:13 Lan Hui(1348141770) ===================================================
2020-03-23 15:40:15 Lan Hui(1348141770) Good afternoon guys.
2020-03-23 15:40:28 Lan Hui(1348141770) Could you type your student numbers below?
2020-03-23 15:40:52 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
201925800174
2020-03-23 15:41:20 Guedalia Youma (3014432207)
Good afternoon Sir
2020-03-23 15:41:34 Guedalia Youma (3014432207)
201925800221
2020-03-23 15:41:39 Lan Hui(1348141770) Pacifique, could you hear me on Tencent Meeting?
2020-03-23 15:41:45 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Yes
2020-03-23 15:41:50 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
I can hear you
2020-03-23 15:42:02 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
The sound is very good
2020-03-23 15:42:35 Nicole Rutagengwa (1403962700)
201925800169
2020-03-23 15:43:12 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Okay
2020-03-23 15:43:27 Lan Hui(1348141770) Could you guys enter Tencent Meeting? Meeting ID: 132 262 218.
2020-03-23 15:43:55 Lan Hui(1348141770) I would like to share real-time screen with you.
2020-03-23 15:44:40 Lan Hui(1348141770) Click this link to join: https://meeting.tencent.com/s/5oK4gUd97b8aa
2020-03-23 15:44:53 Lan Hui(1348141770) Meeting ID: 132 262 218
2020-03-23 15:45:42 Nicole Rutagengwa (1403962700)
I can hear you sir
2020-03-23 15:45:59 Guedalia Youma (3014432207)
I can hear you too, the sound is good
2020-03-23 15:46:07 Lan Hui(1348141770) Thank you, Nicole. How is my sound quality?
2020-03-23 15:46:21 Nicole Rutagengwa (1403962700)
Sound is okay
2020-03-23 15:48:07 Lan Hui(1348141770) I have talked about the 10-year rule in terms of software maturity and gain of users.
2020-03-23 15:48:56 Lan Hui(1348141770) Why is it important to understand that rule?
2020-03-23 15:49:45 Lan Hui(1348141770) [图片]
.. image:: lotus-note-user-pool.png
:height: 100
:alt: number of installations of the Lotus Notes over the years
2020-03-23 15:50:02 Lan Hui(1348141770) The X-axis is time.
2020-03-23 15:50:07 Lan Hui(1348141770) The Y-axis is the number of Lotus Note users.
2020-03-23 15:51:23 Lan Hui(1348141770) This rule is really important.
2020-03-23 15:51:29 Lan Hui(1348141770) Most people do not know that.
2020-03-23 15:52:10 Lan Hui(1348141770) I have also talked about copyleft licenses.
2020-03-23 15:52:19 Lan Hui(1348141770) Example: GPL and Affero GPL.
2020-03-23 15:53:18 Lan Hui(1348141770) People don't have to download source code of LRR to run the application.
2020-03-23 15:53:37 Lan Hui(1348141770) LRR is an online application, so that we could use Affero GPL for it.
2020-03-23 15:53:54 Nicole Rutagengwa (1403962700)
Are we using Tencent or qq ? Or both ?
2020-03-23 15:54:20 Lan Hui(1348141770) I have also talked about non-copyleft licenses, such as MIT Licenses.
2020-03-23 15:54:31 Kumson爸爸(3157209053)
apparently can't access tencent from here
2020-03-23 15:55:01 Lan Hui(1348141770) Thanks for letting me know that.
2020-03-23 15:55:33 Lan Hui(1348141770) I will still talk in Tencent Meeting, but I will also type the script on QQ group too.
2020-03-23 15:55:59 Marie(2928285277)
201925800173
2020-03-23 15:56:02 Lan Hui(1348141770) For non-code materials, such as course slides, books, tutorials, Creative Commons License is commonly used.
2020-03-23 15:56:21 Marie(2928285277)
Please how can I join the class
2020-03-23 15:56:34 Lan Hui(1348141770) Actually you have already joined the class.
2020-03-23 15:56:51 Marie(2928285277)
Okay
2020-03-23 15:56:52 Lan Hui(1348141770) But if you want to hear my voice, you need to join the Tencent Meeting Room.
2020-03-23 15:57:09 Kumson爸爸(3157209053)
managed to
2020-03-23 15:57:24 Lan Hui(1348141770) You click this link: https://meeting.tencent.com/s/5oK4gUd97b8aa
2020-03-23 15:57:41 Lan Hui(1348141770) Perhaps you will be asked to install an application.
2020-03-23 15:57:50 Lan Hui(1348141770) Meeting ID: 132 262 218.
2020-03-23 15:59:17 Lan Hui(1348141770) That is what we covered last time.
2020-03-23 15:59:34 Lan Hui(1348141770) Today, I am going to cover the following things.
2020-03-23 15:59:37 Kumson爸爸(3157209053)
201925800166
2020-03-23 15:59:45 Lan Hui(1348141770) - Decide areas for improvement.
2020-03-23 16:00:16 Lan Hui(1348141770) - Kanboard.
2020-03-23 16:00:29 Lan Hui(1348141770) Do you have a Kanboard account?
2020-03-23 16:00:38 NGOUNOU家长(438499151)
201925800180
2020-03-23 16:01:07 Guedalia Youma (3014432207)
No, I don't have Kanboard account
2020-03-23 16:01:25 Kumson爸爸(3157209053)
you sent th loging but couldn't
2020-03-23 16:01:52 Kumson爸爸(3157209053)
and tried to reset password and the page returned a 404 error
2020-03-23 16:03:32 Guedalia Youma (3014432207)
Yes
2020-03-23 16:03:33 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
yes
2020-03-23 16:04:23 Lan Hui(1348141770) [图片]
2020-03-23 16:04:36 Lan Hui(1348141770) It seems I have already created an account for Kumson.
2020-03-23 16:04:45 Lan Hui(1348141770) But you never successfully logged in.
2020-03-23 16:04:58 Kumson爸爸(3157209053)
yes sir
2020-03-23 16:06:25 Lan Hui(1348141770) First of all, I am going to review your project proposal.
2020-03-23 16:06:37 Lan Hui(1348141770) http://lanlab.org/course/2020s/spm/decide-areas-for-improvement-review.html
2020-03-23 16:06:47 Lan Hui(1348141770) I will focus on Bernard's team.
2020-03-23 16:07:13 Lan Hui(1348141770) They have sent me an email.
2020-03-23 16:07:14 Lan Hui(1348141770)::
From: ngounou Bernard <ngounoubernard@hotmail.com>
Date: 2020-03-21 13:07:08
To: "蓝珲" <lanhui@zjnu.edu.cn>
Subject: [SPM] LRRS improvement
hello Sir,
After reading your proposal to create a field on your page LRRS
(lecturer page) that should allow you to enter the number of the
student without always connecting to the database(table
student_data) .Me and my friend decided to do this stain. we
apologize for waiting a few more days before pronouncing. Thank
you for your good understanding.
2020-03-23 16:07:38 Lan Hui(1348141770) "the number of the student"?
2020-03-23 16:07:45 Lan Hui(1348141770) I think you meant student number.
2020-03-23 16:08:30 Lan Hui(1348141770) My response.
2020-03-23 16:08:43 Lan Hui(1348141770)::
Hi Bernard
Entering student numbers in batch is a really useful functionality.
However, the task of implementing this functionality has been taken by another group.
Could you come up with another improvement plan. Check the
Bugzilla, which includes many unresolved bugs or feature requests.
Here is a list of them:
http://118.25.96.118/bugzilla/buglist.cgi?f1=reporter&list_id=242&o1=equals&resolution=---&v1=%25user%25
Perhaps add a link under Assignments so that I can go back to the
list of assignments is a relatively easy one:
http://118.25.96.118/bugzilla/show_bug.cgi?id=42
Thanks
Hui
2020-03-23 16:09:21 Lan Hui(1348141770) Let's take a 5-minute break first.
2020-03-23 16:10:27 Lan Hui(1348141770) In the meanwhile, could you try to enter our Tencent Meeting Room? https://meeting.tencent.com/s/5oK4gUd97b8aa
2020-03-23 16:10:40 Lan Hui(1348141770) Meeting ID: 132 262 218
2020-03-23 16:12:52 Marie(2928285277)
Sir am not able to join
2020-03-23 16:14:24 Marie(2928285277)
Can someone help me
2020-03-23 16:17:46 Lan Hui(1348141770) Be patient.
2020-03-23 16:20:32 Lan Hui(1348141770) ===================================================
2020-03-23 16:20:36 Lan Hui(1348141770) OK. Let's move on.
2020-03-23 16:21:19 Kumson爸爸(3157209053)
please can you just do the screen sharing here ??
2020-03-23 16:21:33 Kumson爸爸(3157209053)
that way we can record for future use ?
2020-03-23 16:22:42 Lan Hui(1348141770) We don't want duplicate work.
2020-03-23 16:23:00 Lan Hui(1348141770) Check something else.
2020-03-23 16:23:06 Lan Hui(1348141770) I have some suggestions for you.
2020-03-23 16:23:24 Lan Hui(1348141770) First, you could check Bugzilla for bugs that you like to resolve. Also consider the following two defects.
2020-03-23 16:24:05 Lan Hui(1348141770) [DEFECT] Line wrap in the middle of a word.
2020-03-23 16:24:55 Lan Hui(1348141770) [图片]
.. image:: TIM20200323182155.png
:height: 100
:alt: a word spans two lines
2020-03-23 16:25:31 Lan Hui(1348141770) The word 'project' spans two lines, with 'p' in the end of the first line, and 'roject' in the second.
2020-03-23 16:26:59 NGOUNOU家长(438499151)
ok laoshi
2020-03-23 16:27:07 Lan Hui(1348141770) Bernard, you got my idea.
2020-03-23 16:27:28 Lan Hui(1348141770) You should be quick, because I told the undergraduate students about in the morning section.
2020-03-23 16:27:54 Lan Hui(1348141770) Your group has two members, which is a perfect size for this task in terms of workload.
2020-03-23 16:28:11 Lan Hui(1348141770) If you group has 4 members, then I think this task is a bit too small.
2020-03-23 16:28:47 Lan Hui(1348141770) [DEFECT] Unable to select and copy.
2020-03-23 16:34:54 Lan Hui(1348141770) The easiest way to start understanding the codebase is to
2020-03-23 16:35:12 Lan Hui(1348141770) read and understand the most recent change happened to the codebase.
2020-03-23 16:35:47 Lan Hui(1348141770) Even if a codebase has 1000 lines, the change could be only 10 lines.
2020-03-23 16:36:06 Lan Hui(1348141770) It is much easier to understand these 10 lines than to understand the 1000 lines.
2020-03-23 16:36:28 Lan Hui(1348141770) Moreover, because it is recent, when you ask the committer questions, he would feel easy to answer them. If the commit happened several months ago, the committer might have forgotten the details himself.
2020-03-23 16:37:55 Lan Hui(1348141770) Can you see my screen?
2020-03-23 16:38:12 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Yes
2020-03-23 16:48:19 Lan Hui(1348141770) [图片]
.. image:: TIM20200323182145.png
:height: 100
:alt: one-character change in source code
2020-03-23 16:48:30 Lan Hui(1348141770) '=' was changed to '=='. One character change made the whole difference.
2020-03-23 16:48:37 Lan Hui(1348141770) Let's take a 5-minute break.
2020-03-23 16:49:23 Lan Hui(1348141770) Commit detail here: https://github.com/Teecloudy/LRR/commit/41aa01579ce4da3e408b1f05cf10117858811367
2020-03-23 16:55:18 Lan Hui(1348141770) ===================================================
2020-03-23 16:55:20 Lan Hui(1348141770) Move on.
2020-03-23 16:57:15 Lan Hui(1348141770) Kanboard - Kanban stuff.
2020-03-23 17:11:46 Lan Hui(1348141770) Bye.
2020-03-23 17:12:09 Marie(2928285277)
bye
2020-03-23 17:12:31 Guedalia Youma (3014432207)
Bye
2020-03-23 17:12:32 Lan Hui(1348141770) How is my sound quality?
2020-03-23 17:12:42 Lan Hui(1348141770) Bad, Good, Great?
2020-03-23 17:13:01 Guedalia Youma (3014432207)
Good
2020-03-23 17:13:23 Lan Hui(1348141770) Could you see my screen clearly?
2020-03-23 17:13:31 Lan Hui(1348141770) How is the screen sharing quality?
2020-03-23 17:13:50 Guedalia Youma (3014432207)
Yes Sir, good also
2020-03-23 17:14:42 Marie(2928285277)
They were both good
2020-03-23 17:18:59 Twizere Pacifique 唐平<pacitwizere@hotmail.com>
Very Good
How to cite
=============
Is High Quality Software Worth the Cost? [MartinFowler2019]_.
References
==========
.. [MartinFowler2019]
Martin Fowler. "Is High Quality Software Worth the Cost?". 29 May 2019.
|