Articles

1. If someone wants to use Ubuntu as a home media pc connected to a
tv, there is the problem of overscan; consumer tv's crop off the
border around the image. How does Ubuntu intend to officially solve
this? Right now LinuxMCE has it's own method for doing this so the
LMCE UI is never cropped off, but when the user switches back to
Ubuntu's gnome desktop, the top nav bar is cut off if he's using a
normal tv and not a pc monitor. I'd like to have 1 screen adjustment
tool that correctly adjusts both the lmce desktop and the main ubuntu
desktop, so even when using the Ubuntu desktop on a TV, the top nav
isn't cropped.  Any ideas?


GoDaddy Apache cPanel: Install SSL Certificate

What?
An article to remind me how to install an SSL certificate with GoDaddy.

Why?
A quick reference for myself as I found that with GoDaddy, a purchased SSL certificate seems to require re-installing each year despite it's expiry in a couple years time.

The first time I did it, there were more steps; the second time I just did as per the below. If I ever have to do the long process again, I'll add it to this article.

How?
I know there are instructions on the GoDaddy website but this is how I do it along with screenshots:

What
A quick note as I had difficulty finding a clear answer on this. I need a cron job setup where the permissions for a database user is required to do a backup (reading and copying data from a LIVE database) to a copy of the database (inaccessible via other users).

How?
I want to list 2 methods here. One to create a .sql file of the backup but another to copy the contents to a copy of the database accessible only by root and and this database "backuper" user. For both methods, I grant the following to the user doing the backup on the database I want a backup of:
GRANT SELECT, LOCK TABLES, EVENT, INDEX, REFERENCES, TRIGGER, SHOW VIEW ON 'my_live_db'.* TO 'mybackupuser'@'localhost' IDENTIFIED BY 'mybackupuser';

I need to often be reminded of how to calculate a percentage.  The context here is that I want a progress bar in one of my programs.


To determine what percent a number is of a total number:
(Progress So Far / Total Progress Units) * 100 = %
or
(Net Amount / Gross Amount) * 100 = %

eg. (12 steps / 30 steps) * 100 = 40%   ie. 12 steps of 30 is 40% progress
eg. ($8 / $10) * 100 = 80%              ie. $8 of $10 is 80%

To setup your store to use SSL (Secure Socket Layer) you will first need an SSL certificate. Many hosting companies will either provide (or can offer) "Shared SSL" or the option to buy a "Dedicated SSL" certificate.

Shared SSL means that your store will run using two domains your master domain name and shared secure domain which may be used by other customers of your hosting company.
Dedicated SSL means that you will have your own SSL certificate which enable you to run your store on one domain using http and https.

Zoho Webhooks & Shopify API: Keep Disappearing

What?
This is an article to show how to setup a scheduled function that checks and restores a missing webhook as well as the snippets when receiving the webhooks and storing them.

Why?
We found that Shopify would intermittently remove our webhooks. This would make the entire synchronization of the system go out of whack and some records would slip through the net while every day, the process to tidy these all up would leave the data more and more unreliable.

So Shopify want your webhooks to respond within 1 second. This is about enough time to store the record but that's it. Processing the record must be done at a later time or in a different process but sometimes it simply will not process it all and respond to Shopify within 1 second.

How?
So let's begin with the code snippets as these might answer your question to begin with and then we'll do the easy bit on how you set this up in the CRM. I'm using ZohoCRM here despite storing the record in ZohoCreator as the app and data processing is mostly done in ZohoCreator. I could have setup webhooks to go directly to Zoho Creator but I don't find Zoho Creator reliable when receiving and responding to webhooks.

Important!: For the REST API to detect what webhooks exist, it can only detect what webhooks it initialized. If you added webhooks via another app or via the Shopify Admin interface, then the following code won't be able to check and restore them.
Zoho Inventory & eBay Picture Services: UploadSiteHostedPictures

What?
This is an article documenting the process of publishing a Zoho Inventory image to eBay's Picture Hosting Services (EPS).

Why?
Because I couldn't find any other article in the whole world wide web that had a working solution. My use-case here is that I have built an eBay integration between Zoho Inventory and... eBay. Out-of-the-box, and at-time-of-print, Zoho Inventory only syncs eBay one way, in other words, listings on eBay get downloaded to Zoho Inventory but not vice-versa. Then there's an added delay of 4 hours. Then item specifics in eBay's listings don't get parsed into custom fields in Zoho Inventory... and the list goes on. So in my job, we tend to create a few custom functions which will download any item from eBay to Zoho Inventory and vice-versa. Easy to make the function to push an item to an eBay listing (see my other articles for this). But we also want to push an image from Zoho Inventory to eBay.

How?
Again, there is a caveat in that the subscription you have or your client has, needs to be Zoho One. Because we're going to use Zoho Creator as a middleware. Just to add to the pain, I'm going to make my function in Zoho CRM:

Applies to:
  • PayPal OAuth2.0 API v1
  • PayPal Checkout API v2

What?
This is an article on how to build a shopping cart and get your website to accept payments via PayPal. The below isn't a final or perfect option, it's an article to help me document and refine a process.

Why?
It appears that gone are the days when sending a payment via PayPal used to be a basic HTML form. There are probably a ton of other articles out there that document PayPal Checkout REST API v2 as well, I just want to build my own that I can understand and update.

I've chosen the API method because according to PayPal's instructions you don't have to install any additional software/framework. Ideal in my opinion.

How?
This code has been built to work alongside jQuery but it could be adapted to a pure JS solution.

High Level Recap
JavaScript » Cookie » PHP

1. Client Side JS to create Cart
2. Validate Cart with PHP on Checkout
3. Confirm Transaction with PHP and JS