Monday, 14 September 2020

Celebrating 45th Year of Independence In Papua New Guinea

Looking back at my first entry for this blog, it feels like I'm getting old already. It's been 6 years since I wrote my first post "My Humble Beginning in PNG" and I must admit that I barely noticed how fast the years had gone by. I came here in 2008, went back home after a few months and came back again in 2011. And today, is my 9th year in this country that I consider my second home. 

I only started blogging about Papua New Guinea in 2014, and I wish I could have done earlier. But I have no regrets anyway. I think I've given my fair share of contributions to the blogosphere. Also, I'm under the notion that blogs are increasingly getting less popular than vlogs nowadays. And judging from the number of hits that this humble blog gets every now and then, I suppose that blogging, particularly my blogging, has seen its golden days. 

But I'm also a firm believer of this one verse in the Bible that says "That which is, already has been; that which is to be, already has been; and God seeks what has been driven away."  It basically implies that some things which have seen glories in the past might find their seats again in the arena of the future, especially, if those "things" had been of something great in the past. 

I guess if I were to predict which of the things from the past could make a comeback, I would say it was Blogging.

By the way, two days from now, the People of Papua New Guinea will be celebrating their motherland's 45th year of independence. I hope that we, despite the hardship and the current marginal lifestyle with which all of us are going through right now due to the COVID-19 pandemic, can still find a way to smile and celebrate this once-in-a-year chance to cherish the birth of this nation in our own style. 




Keep safe everyone. Until next post!


 



Tuesday, 24 December 2019

Merry Christmas

The year 2019 has brought us a concoction fun, hard work and mind-crushing challenges, but it also came with a couple of good rewards which I should talk about later in the upcoming posts.

They say that if a dragon or a "lion dance" has come to pass by and dances nearby, and someone happens to be present at its path, well not necessarily directly on its path, but somewhat closer to where it's at, then luck will come to that person.

I'm not sure if touching the lion costume will double that "luck" but it doesn't hurt to try.

Anyway, I just want to greet everyone a Merry Christmas and I wish you all good luck in 2020. Cheers!

Thursday, 4 July 2019

A Busy Life and A Little Experiment

A golden rule that I've come to learn over the course of my life is that there is no harm in trying. Thus, I and my IT staffs have gone to extra lengths just to try and test for a very common information that a Hikvision IP Camera will not run by a UTP cable of more than 50 meters away on a POE supply. While some people with glimmering technical background in this field will probably agree with it, I am not ready to jump on the bandwagon just yet without putting up a little pillow fight and proving how correct that information is.

So it has come to pass that I have asked my two staffs to cut an approximately 100 meter of CAT6 pure copper cable and to help me run a test of our own. Oh by the way, the person on the left side whose two hands are gripping a roll of orange cable is Sylvester and and that's his cousin Dickson on the right.

If Discovery Channel has Adam and Jamie for MythBusters, I have the back of  these two guys here to help me perpetuate an unscrupulous plan of busting some myths for fun; and to whom I had promised a bottle of cold Coke should we emerge victorious in the end.


The camera location is perhaps around 30 meters close to where we have set up our NVR (Network Video Recorder) so we still have the remaining 70 meters of CAT6 coiled under the table.


And look at that, it works! While it is not in my best intention to prove other people wrong, I do acknowledge that I wanted to prove something to myself. Things could be better understood if one chose to tackle the subject in an engaging manner.

Here's the detailed summary of our mini-experiment:
Success rate                             :  100%
Hostilities met along the way   :  0%
Casualties                                 :  0%
Minor Injuries Sustained          :  0%
Satisfied people                        : 3
 Oh we did go and drank some cold Coke afterwards. Happy weekend everyone!


Monday, 14 January 2019

Confidence in the Workplace


Having a job and doing the actual work is like being in a beach, trying to walk our way past against a series of waves. The water is your work environment and the waves are the problems you encounter each time.

Life in the workplace isn’t smooth, and you need to face the proverbial waves. No matter how small or big the waves are, you still take the courage to face them head on, even if they swat you like a bulldozer. But like the waves, those problems will come to pass, whether you’ve solved them or not. Like the waves, if you’re not able to stop it, something else will (thanks to the big rocks on the shore).

Or somebody else will.

The good thing however, is that each time you have courageously stood against the incoming waves, you gain experience. You build character. And those characters become you. You can even say, “Hey look, I’m The Hulk!” But I’m just kidding. What I actually mean to say is that the more problems you overcome, the more confident you may become.

Confidence is actually about thinking and saying, “I’ve done this before, and I know I can do it again.” That is, if you’ve been through that situation before. But when you’re about to face something that you have previously never come across of, confidence becomes believing in yourself.

So confidence is really about knowing what you can do and believing in yourself that you can do more. Apply that sense in the workplace, you won’t become unstoppable, but you’ll become adequately and confidently capable.

If not, then at least you become a "Papable."

Friday, 12 October 2018

Payroll Software for Papua New Guinea

From the word "Cinch" which means, easy; and from the word "Productivity," the CinchPro payroll came out with an aim to ease out the tediousness and the painstaking workflow of working on payroll reports that HR does every fortnight to meet the payroll deadlines. Designed to be a straightforward and to be a very user-friendly program, CinchPro is the robust solution to challenging payroll procedures.

Here are some of the examples of what this payroll program can do:


Main Menu. Sleek ribbon menu and big icons and a dashboard display that keeps track of the current workflows.


Employee Masterfile. Easy look-up of employees. With picture and a history of pay rates. It also shows the OFF day schedule.


Absences Reporting. Easy viewing of absences incurred by employees with display of used up Medical Certificates, off days and actual time per fornight from attendance software.


Item Booking Module. CinchPro payroll comes with a module for distributing bread booking if the shop using this program are also selling bread or any items that staffs can sometimes book for salary deduction later.


Item Booking Module in actual operation (with pos printer).


Sewer Jobs. This payroll comes with a module for paying staff that are paid not by the hours but by the pieces they make. This is perfect if the shop that is using this payroll has a factory that produces school uniforms or the likes where some employees in the factory are paid by the number of uniforms they make.


Timesheet Module. Quickly view employee's time records with CinchPro's timesheet module.


Biometric Connection Module. Easily download attendance logs from Fingerprint Biometric stand-alone readers and upload to Cinchpro's Timesheet module.


Supported Fingerprint Biometric Reader. Cinchpro supports the use of TX628 stand-alone fingerprint reader.


Supported Fingerprint Biometric Reader. It also supports the use of T480 stand-alone fingerprint reader.


Loans. CinchPro payroll comes with a module for handling loans by employees to the company. It's automatic deduction/pay features makes it easy for the company to take back payments through salary deductions.


Leave Pay Reports. CinchPro payroll can produce many reports and it can also generate reports for Leave Pay Candidates at one's whim.


Payroll Sheet. Easily export formatted reports to MS Excel for customized printing.


Leave Planner. CinchPro payroll comes with an Annual Leave Planner that makes it easy for the HR to create and approve leave requests. It has an easy to read graph and month views that highlights the days of leave.


Help/Manual. CinchPro program comes with a help file that has an easy to follow instructions, making it easy for the user to operate the system.


Our company is using CinchPro Payroll version 3.0 for more than a year now and a biometric attendance system bundled with it for over four years now. We have two business locations where this program is installed and serve more than 250 employees and by far things are going well and easy for us.


Demo Link Below:

Note: Once you download the demo file, send me an email (My Email) so I can send you the password for the zip file and let me assist you with the installation.

Requirements:

1. Windows 7 or later version
2. 180 MB of free disk space.

Third Party Software Requirements:

1. We will need to install SQL Server Express to your server or to your pc.



Monday, 25 June 2018

Some Programming Stuff

When time permits and I'm in one of my agreeable moods, I usually write a piece for my technical blog called Through The SQL. That blog is all about software programming and a few bits of troubleshooting stuff. Anyway, here's a post that I wrote for that blog sometime ago with its original content.
In Visual Foxpro 9 (VFP) and it’s lower versions, there exists a logical field with which a programmer can use to have some kind of a digital flip-type switch that we regularly use in queries or in a control, like a checkbox, for example. If one can imagine how a light switch works, the idea behind is the same with that of a logical field. The apparent difference emerging from the point being that is, the usual ON and OFF status that we regularly see on a common household light switch is omitted, the logical field in VFP uses a boolean value of either .T. or .F. instead, with “.T.” representing the value for TRUE and “.F.” for FALSE.

So it’s kind of like when your dad asks you if you have left the garage lights on overnight, you may probably hear, “Is it TRUE that you have left the lights on last night?”

Anyway, Creating a logical field in a VFP cursor is as simple as this.

Create Cursor curTest (field1 l)

Select curTest
MODIFY STRUCTURE



But in MS SQL Server, with versions like 2008 or 2012, there is no Boolean or Logical field type. This is probably the reason why I see many software developers turning their trust to characters and integer types just to work around this inadequacy. 

For instance, a programmer can use several of the INT (integers) type field just to represent a value of 0 or 1. Because 0 and 1 can both respectively represent the ON and OFF nature of a basic switch. The idea makes sense until you add another value, like “2” then it loses the foremost characteristic of being a “flip-type” switch. 

The Workarounds in SQL Server


I’ve seen programmers use the int type, which has a range of -2^31 (-2,147,483,648) to  2^31-1 (2,147,483,647) and can take up storage of 4 Bytes in the table. Others use the smallint type, of which range is shorter than the int type but takes up 2 Bytes of storage space. There is also the tinyint that has a range of only 0 to 255 and takes up one Byte of storage space.

One thing to consider when you are feeling a bit determined to use these INT types for a simple switch is that each column of int created in a table will take up the storage space that I mentioned above. For example, if you have two columns of a tinyint field, each column will respectively take up one Byte of storage in a table.

At the other end of the spectrum, there are also those who use a character field to represent a switch in a similar fashion. These programmers, like I do in the early stages of my programming career, have liked the idea of using CHAR(1) type field to mimic the purpose of a logical field. The reason being is that it’s a straightforward solution and it’s easy to read. All that one needs to do is update the char field with a string having a value of “T” or an “F” character. 

The downside of using a char(1) field, however, is that it can take up other characters as well like “A” for instance, aside from the “T” or “F” characters. Also, each char(1) type column’s value in a table will take up 1 Byte of storage. Therefore, if you have two of this column in your table, the values will take up 2 Bytes and so on.

What I Think Is the Right Way to Do It


The best thing to do, in my humble opinion, is to use a bit type field in MS SQL Server. This type accepts integer data type like a bit value of 1 or 0, and it can have a NULL value as well.  

In this example, I’ve created a temporary table with a bit type field. I then inserted a 1 value.

If (Select name from sys.tables where name like '%#testTable%'is not null
      Begin
            drop table #testTable;

            create table #testTable (field1 bit);
     
            insert into #testTable (field1values (1);
           
            select field1 from #testTable;     
      End

The advantage of the bit type is that it can automatically convert the string values TRUE and FALSE to bit values.  The “TRUE” becomes 1 and “FALSE” becomes 0.

If (Select name from sys.tables where name like '%#testTable%'is not null
      Begin
            drop table #testTable;

            create table #testTable (field1 bit);
     
            insert into #testTable (field1values ('TRUE');
           
            select field1 from #testTable;     
      End

Sending Updates from Visual Foxpro


Luckily, MS SQL Server will convert the boolean value sent from Visual Foxpro by way of SQL-Pass Through or (SPT) connection.  

For this example, I have a table that I use for keeping LEAVE PAYS. It has a bit type column named isLeapYear. Let’s see what’s in it.


Notice that all other values in the isLeapYear column has zero values except for what’s in the fourth row, which has a bit value of 1.

Now, let’s try and change that into 0 (zero) by sending an UPDATE from Visual Foxpro with this command.

=SQLExec(oHandle.nHandle,'Update MyDatabase.dbo.MyTAble Set isLeapYear = .F.')




Now, we can see that all of the values in the isLeapYear column became zeros. 

Showing the Results with a Checkbox Control in a Grid


Let’s change the value of the fifth column, in the first row to 1. Then we’ll pull the records from MS SQL Server to a Visual Foxpro Grid that has a checkbox column.

=SQLExec(oHandle.nHandle,'Update MyDatabase.dbo.MyTAble Set isLeapYear = .F. where lpID = 9')





 So, this is how it should look like now. 


After we pulled the records from SQL Server, this is what a grid with a checkbox control would look like. Notice that the checkbox is automatically ticked because the underlying value in that column is .T. while the rest have .F. values. I will discuss how I created this checkbox in a grid  on a new post once I get a free time again.

Final Thoughts


Visual Foxpro is somehow lucky to have found its Logical values automatically converted by MS SQL Server to bit values. 

But another point worth considering for using a bit type field is that the SQL Server Database Engine optimizes storage of bit columns.  For example, if a table has less than 8 bit columns, all of the columns are stored as 1 byte. Having more than 8 bit columns but less than 16 will be stored as 2 bytes and so on.

As opposed to using an int type that always stores 1 byte or more per column, this is a great way to conserve server storage space if one is too concern about data normalization and storage conservation. 

Have a nice day!

Friday, 11 May 2018

A Bout of Chicken Pox

Time heals everything, even time itself.

I heard a speaker who once said that if you wanted to know the value of each second, ask someone who had a close call with accident. I never had the chance to ask one. But I might have a luck in asking a random husband that I see sitting next to a women’s clothing shop in the mall. He probably knows the true value of every second he spends to get by the time waiting for her wife to return from shopping.


This is what my scar-ridden face looked like in the aftermath of a Chicken Pox attack. The picture is a bit over-exposed so much of the scars aren’t visible but if you look closely, there are lots of dark spots around my temples and cheeks. The person behind me is Prabin, our new Nepali manager. We hitched a ride on the back of a small truck on the way home.


It’s a good thing that we only get infected by Varicella Zoster virus a.k.a. Chicken Pox once in our life time. No one likes to have troublesome scars from time to time. But according to the doctors, even after a successful bout with the virus, not all of which are eradicated from our body. Some of the surviving viruses can hide in our body and avoid the detection of the immune cells. Later on in life, when our immune system gets weaker due to old age, they can travel back to the skin surface and inflict on us a slightly altered version of itself called shingles.


Setting what the palindrome was saying aside; these days, I am following a not-so-strict exercise routine. I usually exercise on every other day. The physical regimen involves riding a stationary bike for 30 minutes, followed by doing three sets of different dumbbell exercises. I finish the routine by working on the abs roller. 


This is the second time that I have peeled off a medium-sized pineapple. The first was when I was nine years old. I don’t like eating pineapple that much not because peeling its spikey skin off is a bit challenging, but because I didn’t like the taste and texture.  


Here’s a fake tattoo that I drew on my left arm using a small brush dipped in an India ink. I find it difficult to draw on the human skin as opposed to drawing on paper. Unlike the sedentary paper, human skin is elastic, it responds to room temperature and has contours that differ from person to person. Someday, I’m thinking of retiring as a tattoo artist. But given my age right now, I would be too old by then. 

That begs a question, who would want to have their skin tattooed on by someone with shaky hands anyway? I think I'll pass.


Here’s an egg recipe that I invented. I like to use the word “invented” because it feels like I have done something so relevant in the history of mankind. I didn’t have a name for it yet but the basic recipes are: oil, garlic, onion, salt, potato and egg. 


Here’s a Mechado that I cooked. This and Ginisang Munggo are the two recipes that I always like to cook every now and then. The reason being that is so I can whipped out a dish of this or two at any given time without having to ask Google for the recipe.

These days, I’m eating a bit hefty to recover the weights that I lost during the Chicken Pox bout. Remember that when you get infected by this virus, there is nothing that you can do much. You are in the mercy of your own immune system. You can increase its efficacy by eating healthy foods and drinking lots of fluids, but the flu and fever that come along with the infection will keep you, most of the time in bed, and make you feel weaker that you’ll hardly feel hungry at all.

But luckily, time is your best friend. Your body will heal in time. The total period of recovery is just around a week although some may take it up to two weeks.

That’s all for me this weekend. Bye!







Related Posts Plugin for WordPress, Blogger...