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
|
==============================================
Dialog On Software Project Management
==============================================
:Authors: Hui Lan (lanhui at zjnu.edu.cn)
:Version: 0.0.1 of 2020/03/16
.. 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, 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
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.
|