10 February 2015
Phew, at last I got decent time for writing. The weekend has been spent fully on other issues (like very serious issue on copyright violation by Indonesian Wikipedia where I run my bot for more than 24 hours and generated like 47k edits, that’s more than twice my edit count since my registration in 2009 :P ) The week has been well spent for lots of stuffs like NTUBS CNS Recruitment, experimenting with Gerrit, starting a new side-project, and group project meetings.
The Monday was started by attending CZ3001 lecture, in which the lecturer explained nicely (but she should be the 2nd lecturer, covering the 1st lecturer while he was on leave). Then it was the first CZ2007 lab session which generates a group assignment due Thursday that week. We were unsure with the draft done in the lab, even the lab supervisor was also unsure, hence we rushed to the lecturer office and asked him directly to clear our doubts. After lunch, it was CZ2007 lecture which was quite heavy (and like for the first time all of my Indonesian coursemates were there!). Free time after that were spent for continuing the CZ2007 lab 1 assignment. We finished at 1540, and I rushed to CM8003 lecture although I was late. Luckily, they’re just watching some documentary that I’ve watched while taking CM8001 last year (it was an interesting documentary titled “Chemistry: A Volatile History” by BBC). Finishing the lecture, I went to Canteen A to have ice cream, rested for a while, and then went for the last lecture for the day: CZ3005 which discussed the result for the online quiz in which I get the result for the mode. After dinner, I went back and then digitize the draft for CZ2007 lab 1 assignment.
The Tuesday started with CZ2006 lecture (which had a clicker quiz) and then CZ2007 lab 1 assignment discussion that lasts for around an hour before we all go to the NTU Career Fair 2015 (at Nanyang Auditorium Foyer). I have no idea what to do in a career fair as this is my first time. Well, I asked around of whether the companies open for a summer internship and collected lots of brochures (and some goodies) about the positions available. Lunch struck and I went to McD to have my lunch as the Quad was too crowded to have lunch. After that, I went directly to CZ2007 tutorial. After tutorial, I went to CITS General Office to sign the part-time contract and then went back to my room to have some rest and did CZ3001 tutorial before going to the tutorial that evening. After the tutorial, I went to Canteen A to have dinner and then be briefed about CNS Recruitment. Then finally I went back to my room, attempted CZ2006 tutorial, revised CZ2007 lab 1 assignment, and revised my resume.
Wednesday started with CZ2006 tutorial which I was getting used to the tutor who had a loud voice, said “okay” too much, and walked around the class too much. Then I had CZ3001 lab which was quite confusing although the lab went okay. I was very blur when the lab codes said “insert code here” and the supervisor said to insert 3 lines of Verilog codes. I had the “eureka” moment when realizing what need to be written and it was really only 3 lines, but can be decomposed to lots of lines for readability. The lab ended with a quiz which was quite short since we need to plot the data that we gained through the lab into a graph (and to plot nicely it took lots of time), and finally answer some questions about the lab. After the lab, I had lunch and went back to have rest, skipping CZ0002 lecture, did the recording for the previous week’s CZ0002 lecture, and started a new project called “APAD“. At evening, after having a dinner at Canteen B, I went to BU8401 seminar which was interesting as per usual. After the class, I continued the development for the project. At night, we celebrated Riko’s birthday.
Thursday started with some revision for APAD before going for CZ2006 lecture, lunch, CZ2007 lecture, CZ3005 lecture, and then skipping CM8003 lecture for printing CZ2007 lab 1 assignment and submitting it. We then went to SAC to kill some time before having CZ2006 group project meeting. After this meeting, I went for a dinner and then to CNS 2015 Recruitment acting as the waiting room controller which was quite stressful actually. Luckily I have 2 screen available (my laptop + my Surface) since the communication within the interviewer and me will be through Google Spreadsheet and I should control the allocation of the interviewees. During the times, I tried out to commit to WMF’s repository at their Gerrit but so far has always been failing . After I went back, I still continued to do this until the time I gave up and went to sleep.
Friday started with my part-time job (I’ve swapped the slot with Adamas), and tried out fresh using newest version of Python (it was said that it can be committed using both Python 2 and 3, and the day before I used Python 2). And it worked! -_- The rest of the times were spent doing the problems released as part of NTU’s ACM ICPC training. After the part-time, I felt not very well and went back after having lunch, resting for some times (and skipping CZ3001 lecture as I was tired), and then attended CZ3005 tutorial. Going back, I continued doing the ACM ICPC training problems. I tried out the easier category and get 2 AC out of 4 problems (and stuck at the other 2 although my program worked well, this should be some tricky case that I can’t figure out). I read 3 out of 4 problems (and attempted to solve 1) from the “harder” category but I did not solve any. I also started back to contribute Indonesian Wikipedia which was quite addicting although most (if not all) the contributions were to check the edits and revert if vandalism is detected.
Saturday was spent for ACMICPC training in the morning and then went back after lunch. Going back, I started to do theBU8401 Assignment 1 and then actually Indonesian Wikipedia was faced with a great problem: Wikimedia Foundation (at least one of their employees) found out that it owned thousands of files which copyright was violated by not having a fair-use rationale. It was during the initialization for Metadata Cleanup Drive that the problem was found out. Nevertheless, we started putting metadata for all the files without the metadata by adding “information” template to all the files. I started it with my bot, in which I attempted to do by using regex.
Some people, when confronted with a problem, think “I know, I’ll use regular expressions.” Now they have two problems.
Well, the quote above was true, although I have some experience playing around regex (I passed some levels of Regex Golf), I never do regex inpywikibot (the scripts written in Python by others of which when being run, it can automate edits in Wikipedia). After experimenting around, I realized that the regex that is implemented in python has some difference with regex in JavaScript (since regex in Python have some additional configurations). Finally after some testing, the bot can be nicely done. What the bot do is simply going through all files under “Files without machine-readable metadata” category and insert “Information” template to all those files. I let my laptop turned on until Monday although the bot was put on throttle (default edit delay was around 10s, I put this to be around 2s) and it require >24 hours (maybe around 27 hours) to finish editing all those 48k files. This statistics were crazy, editing since 2009, my main account only have around 21k edits; while this bot edited for around 27 hours and generated more than twice my edit count. Yeah it was not comparable in the sense that the bot was doing a very tedious task of adding some information to a huge list of pages while my main account was for a more meaningful edit (like creating article, editing article, reverting edits). Besides doing all of this, I also did clean my room, changed my bed sheet, and did laundry. Also went to NYH meeting Evando, and accompanied him to Hall 3 Function to see where the projector should be put.
Sunday was a busy day. I started the day going to Buddhist Fellowship. I met Edison, Felecia, andShienny on the way there (at Dover Station bus stop). The talk itself was about Mangala Sutta (Sutra on the highest blessings) by Bro James Khoo who explained verse by verse the meaning of Mangala Sutta. Next, after lunch, I went back to NTU, stopping by FairpriceXtra at JP to buy the stuffs that were requested by my mother to be brought back to Medan when I go back during Chinese New Year. Woah it was crowded, really, really crowded. I wonder how crowded will it be if I were to buy those stuffs on the Sunday just before Chinese New Year. Going back to my room, I rested for a while before meeting Robin, who talked about a project idea which I agreed to join although I was not so sure of committing myself here. After that, I went to Hall 14 to have a steamboat dinner together with the NTUBS MCs. Finally, I went back to my room and then finished an hour of lecture recording before going to sleep as I were so tired.The week ended with 5 hours of lecture recording which should be cleared as soon as possible or else it will be a snowball, accumulating over the weeks, and then suddenly become too much to watch.