Saturday, September 12, 2015

Update on the Google-based Performance Information System

So after going through three different options (LibreOffice Base/Microsoft Access, Google Fusion Tables, and developing my own local system) in creating our performance information system, I finally settled in using Google Fusion Tables.

Previously, I was afraid that the system would be riddled with information integrity and access restriction problems. For example, I was afraid that one unit can enter data for another unit, which should not be the case. To mitigate that problem, I created an internal key reference system. What it was supposed to do was to present to the oversight office his own reference key and the submitter's secret key. If the keys are the same, then the oversight office should consider the record valid and he or she can rate the output recorded. However, if the keys are different, he or she can check with the supposed unit why the keys are different before giving a rating.

Personally, I was not keen in that system being observed. The oversight offices are "very busy" people. They would not bother themselves with security procedures. So I thought that our unit would constantly monitor the keys by creating a merge of the key reference table and the output submission table (I know, the references might be difficult to understand. It's by design.).

However, just today, I learned a way to altogether remove the key reference system. Instead, the access would automatically identify the submitter as the user based on his or her Google login.

The process not only removed the threat of shared access rights to create records, but also removed two fields (columns) in the unit's view of the database.

It was brilliantly simple, and more secure.

Now time to go back to work.

Saturday, September 05, 2015

Learning PHP and MySQL Fundamentals - Day 1

So I attended my first day of PHP MySQL short course training yesterday, It is an introductory course, with my intent to get as much practice on using PHP and complement my own study reading online sources.

Actually, I was not sure if I would like to enroll in the basics class, as I thought that based on the outline, I have covered 80% of the content. Anther reason was I got confused with the price posted in the website. It says that the regular training fee is P16,000, while Early Bird Government participants pay P8,000. While I am a government employee, I was only registering (i.e., paying) on the first day of the training, definitely not an "early bird," which the website defined as a participant who has to pay the full registration fee two weeks before the start of the class.

I am glad the staff said that I can avail the P8,000 (subject to presentation of relevant documents, which I promptly presented). And I am glad I still did enroll in the basic class.

While a cursory reading of the outline tells me that I got 80% of the content based on my personal readings, the training did expose me to other practical challenges that I did not get from the two PHP-MySQL-Apache books I was reading.

The assignment (which I only got to research today) also helped me to keep the concepts in my mind. As a programming class, it also helped me appreciate how it can be applied in everyday life (although not the programming language, but rather the logic and process). One personally funny example the trainer gave about LOOP was "If anak ng presidente, derecho na. Kapag hindi, gawin mo ang mga procedures na ito."

At first, I felt defensive, considering where I work. But then, I had to ignore it. I am neither the President nor a child of one. And while I don't want to say it is true, it is an example that they may have found real in their experience.

But for me, the appreciation of where programming can be applied is helpful.

Looking forward to the next session, which will be after two weeks.