Something that I’d like to address – the content updating. While other companies, individuals and websites will push daily content it’s not something I’m keen on. Why? There are hundreds – thousands – millions of resources available online. Many times you’d go to sites like “HowToGeek” or “LifeHacker” and find similar articles – either with the exact same method or different methods to accomplish the same task. I’m just one guy and at times I will find information that is either not available anywhere else online, or very hard to find. This is the information that I push – quality over quantity. When things change then I may get into the race of trying to push content before other sites do, but for the time being the focus is getting information out there that will be helpful to all persons that visit my site. That’s all for now – see you in the next update! And hopefully it won’t take over a year……
All posts by Carlos
Setup Invoice Ninja on HostGator (Shared)
Introduction
This document is created to help persons setting up InvoiceNinja on HostGator Shared Hosting accounts. While the instructions may be specific to HostGator the principles may apply to other hosts.
Requirements
- HostGator account or other hosting account / website.
- FTP access to site.
- SQL database and user creation.
- PHP 7.0 or higher.
- InvoiceNinja 4.5.5 (as of this writing) – extracted ZIP.
- FTP client.
Disclaimer
I’m doing this entirely voluntarily. If you mess something up I will not be held responsible. This is to help persons with HostGator Shared Hosting accounts – if you’re hosted elsewhere then the principles may apply but the steps may be different.
Please be aware that during tests it was found that uploading and extracting the ZIP from the host file manager failed. There seems to be a permissions issue which is why the longer route of uploading the extracted files was taken.
Thanks
All thanks go out to the following users:
https://www.invoiceninja.com/forums
@billyggla
@Hillel Coren
http://www.techjamaica.com/forums/
@p1xl
@khat17
I had lots of trouble during the initial testing and setting up. These users provided suggestions and assistance through the entire process to get things going.
Setting Up
If you’re familiar with setting up some of these things you may perform the steps in any order. I will be going through in exactly the same way that I managed to get things working. You may follow if you like or read first then pick your order.

First – get to your cPanel for HostGator and log in. We want to create an SQL database and user using the wizard. Once you’ve logged in locate the wizard from the available options.

Once you’ve located the wizard setup the database with whatever name and password you like. You may use the password generator available when you get to that step, but ensure that you save the information in a safe place.


Once you’ve created the database and user you will next need to add the user to the database. This is all done automatically through the wizard – you want to ensure that the newly created user has all privileges.


Once this is done you want to connect to your FTP for the website and create the folder you’d like to use. This means if you want to use www.mysite.com/invoice then you’ll log on with the FTP client and create a folder in /public_html/ called invoice. If you’re going to use a sub-domain then you will need to remember this path as well. For this I called mine ninjatest and all screenshots will reflect that. Change it to whatever you’d like yours to be. So my path is /public_html/ninjatest just to be clear.

Next you want to copy (drag and drop) all the extracted files to the FTP. Please note that this will take an extended time. Initially I tried to upload the ZIP (took about 2-3 minutes) and then use the HostGator file manager to extract and manage the files. Each time I did this it didn’t work. Suggestions from the persons that provided help said there were file permission errors which were happening as a result of using the HostGator file manager to do the extraction. While transfer via FTP took far longer (3-4 hours) it is the more reliable option. If you opt to use the HostGator file manager – or if you have another host and want to try that – you may go right ahead. It may work, it may not. If you have any errors then use the longer FTP transfer route. Once completed you want to setup a subdomain if you’re taking that route.


Ensure that your subdomain points to the /public folder within the path that you had uploaded InvoiceNinja to. Once completed you should see a confirmation.

You should also see this subdomain populated in a list thereafter if you check.

The next step is to ensure that PHP7 (or higher) is used in the /public folder for InvoiceNinja. To do this, go back to the main cPanel and locate the PHP SELECTOR.

Once it’s up, navigate to the /public_html/ninja/public path or wherever you had it saved.



Once you’re there, change the PHP version using the drop-down list to 7.0 or higher. For this I chose PHP EDGE (7.1) and then clicked UPDATE.

Once it’s completed you’ll get a confirmation.

At this point you should be able to access InvoiceNinja from one of two URLs:
- yoursite.com/ninja/public
- yoursite.com
Once it loads you can then complete the setup by filling in the fields. Please note that you may need to setup an email account for the invoice system.


And that’s it – you’re done! Have fun using InvoiceNinja!
A Few Notes
Cron Jobs
The system does allow you to setup cron jobs to automate sending out billing reminders and such. HostGator has options for EasyApache versions 3 and 4. If you find that running a cron fails, try the command for the other version of EasyApache.
EA4: /opt/cpanel/ea-php70/root/usr/bin/php /home/username/public_html/cron.php
EA3: /opt/php70/bin/php /home/username/public_html/cron.php
Once you’ve gotten that sorted, the instructions from Invoice Ninja state that you should use 8AM as the time. I personally changed mine to 9AM.
0 8 * * * /usr/local/bin/php /path/to/ninja/artisan ninja:send-invoices
0 8 * * * /usr/local/bin/php /path/to/ninja/artisan ninja:send-reminders
You’re going to change /usr/local/bin/php to the relevant path for EA3 or EA4 as mentioned above.
Client Access
If you don’t password protect the client portal based on the invoice links sent, ensure that you give a disclaimer to the clients. The portal is very powerful and has a dashboard with links to client historical data. This means that forwarding the email to other persons will potentially allow them to see all payments made. The recommendation is to have each client setup their password to access the portal.
Conclusion
So far everything is working. I’m still getting accustomed to it and the automation duplicates at times when I manually send things – but that’s not so bad. Once everything is streamlined it should work perfectly.
How To Get TeamViewer 11
Introduction / Explanation
At times you may be asked to install an older version of TeamViewer than what’s currently available. At the time of this writing TeamViewer 13 is the current version. The reason for this is persons may have licenses for older versions and don’t want to upgrade due to the new licensing options. Other reasons may include the ability to use older versions with less “nag screens” (like version 5). This document will go into how to install TeamViewer 11 from the official website as well as from my own website. The principles will also apply to older versions.
Installing Older TeamViewer
The link available as of this writing may change, as TeamViewer has changed the link to their older versions before. I will cover 3 different ways to get the older version – I was going to do a fourth with going directly to their main site, but it’s extremely difficult to navigate to the older versions. Actually, with the new site layout I was unable to find my way without using a Google search.
Direct Link to Official Site
First go to the link: https://www.teamviewer.com/en/download/previous-versions/ – once there you can scroll down and optionally click the agreement to accept cookies for the site.
Please bear in mind that your screen resolution may show more details than the one in the screenshot.
Once you scroll down you will see options on the right. Select the version required and then the appropriate module. Most likely you will be asked to either install the full application (option 1) or use the quick support tool (option 2). If your tech asks you to install a version not listed, click on “Need An Earlier Version?” from the options on the right.
Google Search
The next option would be to use a Google search. Simply type in “teamviewer 11” and your first link should show the page given in our first set of instructions.
From there simply follow the instructions as given in the first set (scroll up to previous instruction set).
From My Site
You can get directly to TeamViewer 11 from my site using this link: https://carlosthomas.net/Remote-Assistance/ – then download/install/run on the version I’ve asked you to download, or you can go to https://carlosthomas.net
Load main site. Go to REMOTE ASSISTANCE.
Once the page loads, scroll down (if needed).
Click on the button for the version required and once completed either install or run the version based on instructions given.
AMD/ATI HDMI No Sound Fix
Some persons like myself have ATI/AMD graphics cards with HDMI output. At times you may end up with a monitor (or TV) that has HDMI in and you can use the speakers on the monitor (or TV) for sound. Problem is, after some update of the driver you may find that the sound suddenly stops working. If you had sound before or just installed the latest driver and suddenly have no sound, here is something to try.
Please note that this is a last resort. One of the first things you should try is locating an older graphics driver online then installing that. If that still doesn’t work then you may proceed with the 8 steps below.
STEP 1
Open the sound properties for your playback devices. Do so by right-clicking on the volume icon in your taskbar then going to PLAYBACK DEVICES.

STEP 2
Click on your HDMI device and then go to PROPERTIES. If you have more than one HDMI device just ensure it’s the correct one afterwards by checking if it says ATI or AMD.

STEP 3
Click again on PROPERTIES on the next window.

STEP 4
If applicable, click on the CHANGE SETTINGS option in the next window.

STEP 5
Click on the DRIVER tab and look for one of two options. If you have the ROLL BACK DRIVER option then chances are you had the sound working before. If that option is not clickable, then you probably just installed the latest driver. At this point you click on ROLL BACK DRIVER if it’s available and then OK on the remaining windows then test your sound. If you don’t have the ROLL BACK DRIVER option (or it didn’t work) then move on to clicking the UPDATE DRIVER option then going to STEP 6.

STEP 6
Click on the option that says BROWSE MY COMPUTER FOR DRIVER SOFTWARE.

STEP 7
Click on the option that says LET ME PICK.

STEP 8
Finally, you should see multiple drivers available. Note the version numbers – in my list there are 4 versions available. Two of them are 7.12 while the other two are 6.1. Make a note of the last digits in each and the dates. At this point you may try from the oldest version to the newest.

After completion you should be able to hear sound from your HDMI device.
BLU Studio 5.5 De-Brick / General Flashing
Intro
Recently I had an issue where a friend got a virus on his phone. Usual thing – saw some post about increasing his followers online on some social media thing, couldn’t resist, got the virus on his phone. Originally he took the device to a phone store and paid to get it sorted out – they didn’t do a good job. Virus was still on his phone. And so began the hunt.
Getting In
There are a lot of sites and threads online about fixing this issue. Basically, this phone uses a MediaTek chipset which can be flashed or firmware updated using Smart Phone Flash Tool (SP Flash Tool). There are different versions of this tool out with the most popular ones being version 3.X and 5.X depending on your needs / phone. So let’s go a bit further into what needed to be done and how I got it sorted.
Sites & Theory
So I found a number of sites as I said. One of the more popular ones would be XDA.
http://forum.xda-developers.com/android/help/blu-studio-5-5-d610a-unbrick-help-t3090885
In that thread persons wanted a solution but none were confirmed. The one provided was helpful, but nobody confirmed it. Next I found a Google Plus post.
https://plus.google.com/111407788156930060467/posts/UmEHWGK2jXv
This seemed more promising, and the person seemed very helpful. Many persons thanked him, but it still didn’t work for me. Why?
My theory is that various phone manufacturers use the same chipset, and in the case of BLU, they release different versions of the phone with slight differences. Either you have to find a BASE ROM or one that works SPECIFICALLY with your model.
The Fix (Part 1)
Now this is what you probably came here for. I’m not going to go into too much detail as I expect you to have some knowledge on the subject. So………..
- Obtain correct firmware for your phone.
- Connect bricked (or working) phone.
- Install appropriate drivers to flash the device.
- Place phone in “download mode” if applicable.
- Run SP Flash Tool.
- Connect phone.
That about covers it. Files that I used specifically for the D610A that I fixed are available in the MEGA link below.
https://mega.nz/#F!pNUTkZIb!9B8bPn8PxWGfkmIMe8PnvQ
Below is also another link with instructions on how to use SP Flash Tool on just about any device.
The Fix (Part 2)
In my case a second part was required. This is in case you find after flashing that you have no signal on your SIM or have checked and have no IMEI. So. Here’s that set of instructions.
- Check IMEI status in settings or by dialing *#06# (GSM code doesn’t work on all phones).
- If IMEI is invalid proceed. If it shows your IMEI then do nothing further.
- If your IMEI is invalid or blank, watch this video: https://www.youtube.com/watch?v=qnJr7RQa2Kk
- This will involve accessing the engineering screen for your phone.
- GSM code is *#*#3646633#*#* (doesn’t work on all phones).
- Download the appropriate tool for your phone if the GSM code doesn’t work.
- Location from engineering mode is “Connectivity – CDS Information – Radio Information”. From there go to either Phone 1 or Phone 2″
- The commands are below, but ensure you reboot after sending each and check back the IMEI.
- The command to send is “AT +EGMR=1,7,”new-imei”” for SIM1 and “AT +EGMR=1,10,”new-imei”” for SIM2.
- Once the IMEI is confirmed you may use the phone normally.
And that ends the method used to fix the BLU Studio 5.5 (D610A). The files I used may or may not work for your phone. If you find that it worked then GREAT! If it doesn’t work, try one of the other firmware files that may be found online. Another site to try for firmware files would be GSMHOSTING.
http://forum.gsmhosting.com/vbb/f606/all-blu-mobile-flash-files-firmwares-tools-1874408/
These instructions may work for other phones with similar problems. Hopefully this information helps you to get your phone (or your friend/family/customer) back up and running.
Please note that I did not use the “BLU Phone Driver.exe” which was packaged in the “Blu Studio 5.5 Stock ROM.rar” file.
Windows 7/8/10 Can’t Find Installed Program
Have you ever gotten this as an issue?
“Windows cannot find ‘C:\Program Files (x86)\Program\ProgramName.exe”
For example:
“Windows cannot find ‘C:\Program Files (x86)\TeamViewer\TeamViewer.exe”
While I’ve seen it before I’ve not had the need to fix it until recently.
So I did some digging and came upon this as a solution.
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options
delete the key labeled “teamviewer.exe”
this also applies to windows cannot find skype.exe,just replace teamviewer.exe with skype.exe…
This probably also applies to other programs with the same problem.
The information was found at the link below and the credit goes to the user that posted the info – RickRosendaal
Hopefully this helps everyone else that may have come across issues like this.
Phone Credit Scam
There has been an increase in the number of text messages that you will get these days from persons claiming that they
accidentally sent you credit and are asking you to send it back. You will get this from persons on both mobile networks. I don’t know if it makes much sense to report these individuals since our local services – law and mobile – either don’t care or don’t have the resources in place to deal with these types of fraudulent activities.
This post is intended to help you identify what a scammer’s text will look like versus one that’s actually from your phone company.
SCAM TEXTS
DISSECTING THE TEXT
These scam texts can basically be broken down like so:
With these texts above you will notice that they’ve typed out the full message that you might receive from the provider. Below you will see what an actual text from your service provider will look like.
ACTUAL SERVICE PROVIDER SMS
While it is possible that you may have actually received some credit on your phone the best way to know is by checking. Simply dial *120# from your handset to see whether or not you have additional credit. This only works if you knew how much credit you originally had. Still – the SMS you get (text message) should show your current balance. Just make sure it matches.
Shopping With USD Cards
INTRODUCTION
Jamaicans have been shopping online for some time now and this has given birth to various shipping companies. These companies will give you a US address that you can ship your items to once purchased. Some companies may even allow you to use their card (at a higher rate) to buy your things online. This information applies specifically to Jamaicans but may also be used for other countries.
THE PROBLEM
Visa Debit cards are becoming the norm with various banks and this means everyone can shop online. That’s good, but the bad is the exchange rate. Unless you have a USD account your price for USD$1 may range from JMD$127-JMD$135. I kid you not. The exchange rate is set by the vendor – not the bank and their daily exchange rate – and you will then also have to pay the bank a conversion fee. This makes no sense if you use your card locally as you’ll have to pay the conversion fee for local purchases, and some banks don’t allow you to have an additional card.
THE SOLUTION (PART A)
Use a second bank with a USD account and card strictly for online purchases. This allows you to buy USD at a lower rate from the bank and do your purchases in USD. But – there’s another problem. If you only use your card then that’s great! But sometimes vendors or services (like Amazon and PayPal) may detect that your account / card is located in another country and attempt to help you by offering to convert the USD to your home currency. This brings us to:
THE SOLUTION (PART B)
First you need to get to the checkout section of your purchase. For this we will be using eBay and PayPal since Amazon is somewhat more straightforward. For Amazon just tell it to bill you in USD and not in JMD.
So – for eBay/PayPal you first need to get to the point where you’re going to checkout.

You’ll get your total in USD and then the highlighted section will show you your total according to their conversion rate in your local currency. You don’t want this. You want it in USD to avoid additional fees of converting to JMD. So. There’s a small X in the right corner of the highlighted area. Click it or click on the little balloon icon in the bottom left of the highlighted area to show the next section.

This will now show you the conversion rate and there will be a small down arrow that you need to click.

Once you click that small arrow you’ll see an option that says “USE CREDIT CARD EXCHANGE RATE” – click on that.

Once done you will notice that the total is displayed in USD only and there is no JMD (local currency) listed anymore. This will allow the transaction to take place in USD which will not incur any additional fees for conversion.
If you don’t do this process you’ll end up paying more as the currency will be converted from USD to JMD then back to USD and you’ll be billed for each conversion plus have to pay at a higher rate when going back to USD.
Hopefully this will help when making your purchase online.
Android OS “Marshmallow” (6.0–6.0.1) Storage
There’s been so many different Android OSes that it’s easy to get cavities once you sink your teeth into them. They’re all candy-type names. Kit-Kat and Lollipop are probably the most popular ones these days, but Marshmallow is getting more popular.
The reason I’m posting this is due to the lack of information I found online – yeah that’s possible – about the storage options. When you first setup Marshmallow you get prompted about how you should setup your storage card if one is present. The options include PORTABLE and INTERNAL. This was confusing until I found some more information through some deeper searching. Sections in RED were added by me to the original information. Source link below table.
| Portable Card | Internal Storage |
| Select this mode if you frequently swap your SD card between devices, use your SD card for media storage only. | Select this mode if you want to completely extend your device storage with the card, and need the card to store large applications, games, and their data. |
| You have a Class 2, 4, or 6 card. | You have a high-speed card (UHS-1) [Class 10 or higher] |
| If you frequently swap cards, use SD card to transfer content between devices and do not download many large app, we recommend configuring your card as “portable”. | If you want to store large games on the card, if your device storage is always filling up, and you plan to always keep this card in the device, we recommend keeping your card as internal. |
| Only pictures and media can be stored on the card.Downloaded applications, their data, is always internal. they can not be moved to the card.The card is readable by other devices. (another phone, Mac, PC, digital camera)
Content on the card is not encrypted by default. The card will NOT be reformatted when Portable storage is selected. |
The SD card can become your device primary storageDownloaded applications, their data and media can be moved to the cardThe card is not readable by other devices. (another phone, Mac, PC, digital camera)
The card is always encrypted, and can not be decrypted on any other device. [This can be bad if the phone crashes] The card will be formatted when Portable storage is selected. |
SOURCE: https://motorola-global-portal.custhelp.com/app/answers/prod_answer_detail/a_id/109134/p/1449,9582
The main thing there is the third set. If your SD card stays in your phone all the time – like with most of the recent phones – then it’s probably for you. If you don’t remove the card from the phone and always access it using a USB cable then setting it up as INTERNAL is best.
!!!PLEASE NOTE!!!
Once you setup the card as INTERNAL any and all information that was on it will be lost. If you have anything on it that you don’t want to lose create a backup first. Copy it to your PC/laptop and then setup the card. Once done you may copy the information back using the cable.
As stated above – if the phone crashes and you lose access to the card then all data is lost.
If you use CWM or TWRP and copy things to your SD card before flashing then you can’t do that if you setup the card as INTERNAL. This is because the SD card will only be decrypted by the OS and not by the recovery.
Overall this is good for privacy but bad if something goes wrong with the device. Use with caution and do backups.
Torrenting & Seedboxes
INTRODUCTION
This is intended to be a quick guide to what torrents are and how to use a seedbox.
Torrents as they’re commonly called (BitTorrent I believe is the correct name) are seen as small files that you download which then allows you to get much larger files. While these are used (primarily) to distribute files that are questionable, the BT protocol can be used to distribute open-source and legal files as well. One such open project can be found at the Blender Foundation where multiple open projects using Blender can be seen. Some of the repositories are over 100GB and the files are much more quickly acquired using BitTorrent.
HOW IT WORKS
Essentially you connect to multiple persons online that have the same file. Their collective bandwidth is shared to give you the file much faster than if you only connected to one person. This protocol also supports error checking of the files transferred – so the chance of you downloading the files and there being corruption is greatly minimized.
PRIVATE TRACKERS AND RATIOS
While there are multiple torrent sites online, you may also find some that are private. These can only be accessed through an invite from an existing member or if they allow free signups at certain special events or times of the year. These sites are established primarily on the premise of sharing. This means that you can’t just download a torrent then remove it once it’s finished. You are required to seed (share) the file until you have uploaded as much as you’ve downloaded. So if you downloaded 1GB you should seed back 1GB. This promotes sharing in the community. If you downloaded 1GB and uploaded 1GB then your ratio would be 1.0. If you downloaded 1GB and uploaded 1.5GB then your ratio would be 1.5. If you uploaded 2GB then your ratio would be 2.0.
Most private trackers start you off with an amount and then expect you to keep it that way or better. This means seeding things for a longer period of time to have a ratio above 2.0 & holding the files longer on your PC/laptop. The solution to this if you want to share more with your private tracker community – or the open source community if you’re a developer – is by renting a seedbox.
SEEDBOXES
A seedbox is essentially a service where you pay for an external source to download your torrents. The interface is accessed through a website which may look like a torrent application (uTorrent for example) and the usage is fairly simple.
- Download the TORRENT file to your PC/laptop.
- Upload the TORRENT file to the seedbox.
- Let the seedbox download the actual file (usually faster than your home connection).
- Download the files from your seedbox through HTTP or FTP interfaces.
Downloading from your seedbox does not affect your ratio. Depending on the service you decide to use there will be instructions to access your seedbox and even stream directly from it. So if you downloaded Big Buck Bunny for example, you could stream the files directly from your seedbox to VLC, MPC-HC or any other player that you prefer.
BEST PRACTICES
While there are a lot of variables to actually using BitTorrent there are a few things that are considered best practices:
- Seed back what you downloaded. Aim for a 1.0 ratio or higher.
- This means giving as much as you got. Helps the community and if you’re on a private tracker it will help your status and ratio.
- Don’t max your bandwidth.
- If you’re not going to use a seedbox don’t leave the torrent application to decide everything. By default it will max your bandwidth and cause issues like slow browsing or other problems for you and other users if your connection is shared.
- A general rule is to not exceed 75% of your upload bandwidth. Set the parameters in your torrent client.
For more details on what your settings should be like for a local client, see the wiki section on VUZE.








