TV mosaic how to install logos on windows

October 7th, 2018 No comments

The Issue

  1. You have a tv tuner
  2. You have downloaded the easiest and best TV tuning software, TV Mosaic
    1. On the download page click your preferred OS “Windows”
    2. Click Download
    3. You also download the logos for your country, “Australia”
  3. You have installed the software and its all working great… but

How to assign logos

In theory you should:

  1. Go to Setup – Click the menu pop out in the top left and choose “Setup”
  2. Choose Channels
  3. Choose Logos
  4. Select you channel on the left
  5. Select the channel icon on the right and click the left arrow, <--, that appears when you mouse over the icon

The problem is the Available Logos drop down is empty!

The solution

Like all things its really easy once you know how to do it.

The problem is where do you put these logo images so the software can find them?
On windows there is a “channel_logo” folder that is the root location where TV Mosaic looks for logo images.

This folder is located @

  • %ProgramData%\DVBLogic\TVMosaic\data\channel_logo
  • (Which on most normal Windows computers is equivalent too)
  • C:\ProgramData\DVBLogic\TVMosaic\data\channel_logo

It looks for sub-folders within this folder and does not look in sub directories, so you need to create

  1. Unzip the folder containing your logos
  2. Drill down into the folder structure until you find the images
  3. Go back one level and copy the folder that contains the images, in the Australian version the folder is called “Australian_TV_Channels”
  4. Paste this folder into the “%ProgramData%\DVBLogic\TVMosaic\data\channel_logo” folder

Now you can reopen the Logos setting section, (move off to the properties tab and back to logos tab), and you should see the Available Logos is populated with your folder “Australian_TV_Channels and you can now assign them.

Now Off to solve the next issue.. Where do these logos appear within the application as I am not seeing them on my EPG??

Categories: General Apps Tags:


July 5th, 2018 No comments

InterAction CRM (by LexisNexis), has a bug that causes you database to fill up with GB of unnecessary data.

Do you have the problem?

To check, get your Database administrator to run a standard SQL Server report, disk usage by top tables.

When you run the report you will see that generally the INT_TPS_CHANGE_MANAGEMENT is one of, if not the, largest tables in the system.

If this table is large, greater than 1GB, then you have a problem.

What is causing it?

The INT_TPS_CHANGE_MANAGEMENT table is an audit table of changes that occur due to the Outlook Sync processes.
There is a clean up routine that trims this audit table of old data, but there is a bug that causes it to fail to clean up these old rows.

How can I fix it?

Surprisingly easily.

To find and fix the problem, do the following:

  1. Launch InterAction Administrator
  2. Run “User Contact List”
  3. Sort the list by date desc.
  4. You will find that most users were all sync’d recenlty, but there are one or two old users who have left the firm but still have the firm sync enabled. They will have very old dates for “Last Firm sync”.
  5. For each of these old sync users
    1. Disable the sync
    2. Save the changes

      You can now manually execute your Database maintenance script, which should be setup to run weekly on your process manager server.

      Database Maintainence

      Now you can do a little maintenance on your database to

      1. Rebuild database Indexes
      2. Shrink the database

      And you should saved some space on your system.
      The example in the screen shots cleaned up 3 years worth of old logs
      Example: 3.8GB and 15.3 Million rows of data was trimmed to 580MB and only 2.1 million rows of data.

Categories: InterAction Tags:

Reset SQL Server SA Login via Powershell

June 13th, 2018 No comments

The Problem

You have lost or forgotten the SA password for you SQL Server box!!

The solution

This is really easy to fix.
On the server do the following:

  1. Launch Powershell as an administrator
  2. Run:
    Install-Module dbatools
  3. Answer “Y” when prompted (twice for me).
  4. Run
    Reset-DbaAdmin -SqlServer localhost\SQLEXPRESSS

    (or whatever your database is, a “.” will suffice for a standard default sql installation”)
  5. Answer “Y” to the prompts
  6. Enter your new sa password when prompted
  7. Wait

That should be it.
Try logging in as “sa” with your new password and you can now are good to go.

Full details of the dbatools can be found here;

Categories: SQL Server Tags:

invoicely change Tax Id to ABN

May 31st, 2018 No comments

The Problem

In Australia the tax identification number is ABN (as you should know otherwise you wouldn’t be reading this blog post)

In Invoicely it appears on your invoices as Tax ID, or in the system as Tax Identification Number

The Question

How do you change Invoicely so that Tax ID is replaced with ABN on your invoices.

The Answer

Although un-intuitive it is actually really easy.

  • Your Business – click Business Settings >> Edit Business Information
  • A Client – click Clients >> then click on the client to edit


  • make sure the Tax ID field is empty, Cut your or your clients ABN from the “Tax Identification Number”
  • Scroll down to the “Custom Fields” section
  • In the first field enter “ABN”
  • In the second field enter/paste the ABN Number
  • Save

Now view an invoice and it will have removed Tax ID (as there is no value recorded in that field any longer), and show ABN which is your first custom filed.

Ahh, so simple..

P.S. being a software developer, the other way to solve this (invoicely!), would have been to provide a system setting like “Tax ID Display Name” and I could have just typed ABN, and that could have overwritten the work Tax Identification on the two or 3 areas where it is displayed 😛

Categories: Business Tags:

Dual Monitor Setup – Display Flicker

May 30th, 2018 No comments

The Problem

I have a reasonably decent video card, a XFX R9 280x TDBD.

I recently bought a second monitor and hooked it up. Old monitor was running on HDMI, whilst the new monitor was running on a Mini DP to DP connection.

I fired it up and my new 23.8 Inch AOC IPS display started flickering and jumping around??? It was a full hoizontal artifact across the screen that seemed to jump around and jitter and jutter when I moved the mouse or opened applications.


To me it appeared to be a video driver software issue. I tried playing around with the display settings and by choosing different preferences I actually made the Jitter/Jutter move from appearing on my new display to my old display, WTF? It must be a software issue if I am able to impact which screen the problem appeared on by changing software settings.

I tried full clean driver installs. I upgraded to the latest driver, and then when that didn’t work I downgraded to 17.11.1. No change.
I tried running from different ports, HDMI, DVI and DP and still no luck so not the cables.

I eventually found that in the Radeon Settings, I could open preferences and click “Restore Factory Defaults” and it would stop the problem.. However on the next reboot it would be back.

The solution

I finally googled a discussion on toms hardware where it was suggested that:

Check the clocks of your video card. They are not supposed to downclock as much with two monitors. The memory and GPU core clocks should be higher than the normal idle, otherwise they can't handle 2 monitors correctly

That makes sense, running two monitors requires a little more oommpphhh, and if your video card is running under-clocked then it may struggle.

I downloaded and installed the GPU-Z and went to the sensors tab and noticed my core clock and memory speeds seemed to be way down.
I watched when I clicked, “Restore Factory Defaults” and sure enough the Clock and memory bumped up by almost double, and the flicker stopped.

So I then remembered that I had installed MSI Afterburner at some point in the past.
I fired it up and checked how that was configured. It seemed that an empty profile (i.e. the memory and core clocks set to minimum) had been loaded and set to “Apply overclocking at system startup”.

So the problem was caused by a down clocked video card, not being able to handle running two monitors.

Problem solved, and it has not flicker once whilst I wrote this post 😛

Categories: Hardware Issues Tags:

AWS Lambda-Canary Node Js

February 26th, 2018 No comments

The Scenario

I am learning about AWS Lambda functions and doing a small tutorial that works through using the lambda-canary blueprint which uses python 2.7

The Problem

I want to do this same canary function in Node.js 6.10, but I could not find out how to do this.

The solution

Below is the code sample that I came up with to implement the lambda-canary-nodejs lambda function

var http = require('http');

exports.handler = (event, context, callback) => {

    var site = process.env['site'];
    var expected = process.env['expected'];
    console.log('Checking website: ' + site);
    http.get(site, (resp) => {
        let body = '';
        // read the data
        resp.on('data', (chunk) => {body += chunk; });
        // The whole response has been received. 
        resp.on('end', () => {
            // validate that the expected value is in the returned stream
            if(body.indexOf(expected) > 0){
                console.log('website is up')
                callback(null, event['time']);
            } else {
                console.log('website did not respond as expected')
                var error = new Error('website did not respond as expected');

    }).on("error", (err) => {
        console.log("Error: " + err.message);

Items to note about this code:

  1. process.env[‘key’] is how you access the environment varialbes/li>
  2. environment variables are case sensitive, so the string index must match variable name as defined on the lambda function
  3. callback accepts an error object as the first parameter when it fails

So to implement this you would:

  1. Create a new blank function
  2. Past in this code
  3. Setup 2 x environment variables, site & expected
  4. Create a test of type scheduled event
  5. Test the code

Categories: AWS, Lambda Tags:

VSTS package management with teamcity nuget authentication issue

October 6th, 2017 No comments

The problem

You have your nuGet packages being hosted on VSTS, and published a feed via package managment.

Using teamcity to setup a build where the visual studio solution needs to reference your custom nuGet packages from VSTS .

You setup the first build step as “Nuget Installer” and configure it to restore your packages from the .sln file.

When you run the build it will fail with authentication issues connecting to the VSTS Nuget feed, with a 401 Unauthorized.

The solution

In your build configuration:

  1. click “Build Features”.
  2. Choose “Add Build Feature
  3. In the drop down choose “nuGet Feed Credentials”
  4. Enter the path to your VSTS nuget package
  5. Enter your credentials
  6. Save it

Now run your build and it will successfully authenticate you against VSTS and download your packages.

Categories: Uncategorized Tags:

Grant Connect SQL Server – TSQL

July 27th, 2017 No comments

The issue

You are having connection problems to the database and all the permissions look correct but you cannot login.
Fire up the SSMS and expand the Security tree at the individual database and you notice that your login is there but with a little red down arrow.

The Fix

You need to grant “Connect” to your user.

Assume your user is a domain account DOMAIN\username

use MyDatabase 

Grant Connect to [DOMAIN\username];

Categories: SQL Server, T-SQL, Uncategorized Tags:

SQL Server Management Studio on Hi Res Screen

September 13th, 2016 No comments

The problem

You are using SSMS on one of these new wizbang hi res screens and all the dialogs are tidy and small and you cannot addminister your SQL Server.

The Fix

I found this somewhere on the internet and it works.

Step1: Create the Ssms.exe.manifest

Take the following code and save into a file called, Ssms.exe.manifest

<?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;yes&quot;?>
<assembly xmlns=&quot;urn:schemas-microsoft-com:asm.v1&quot; manifestVersion=&quot;1.0&quot; xmlns:asmv3=&quot;urn:schemas-microsoft-com:asm.v3&quot;>
    <assemblyIdentity type=&quot;win32&quot; name=&quot;Microsoft.Windows.Common-Controls&quot; version=&quot;; processorArchitecture=&quot;*&quot; publicKeyToken=&quot;6595b64144ccf1df&quot; language=&quot;*&quot;>
    <assemblyIdentity type=&quot;win32&quot; name=&quot;Microsoft.VC90.CRT&quot; version=&quot;9.0.21022.8&quot; processorArchitecture=&quot;amd64&quot; publicKeyToken=&quot;1fc8b3b9a1e18e3b&quot;>
<trustInfo xmlns=&quot;urn:schemas-microsoft-com:asm.v3&quot;>
      <requestedExecutionLevel level=&quot;asInvoker&quot; uiAccess=&quot;false&quot;/>
  <asmv3:windowsSettings xmlns=&quot;;>
    <ms_windowsSettings:dpiAware xmlns:ms_windowsSettings=&quot;;>false</ms_windowsSettings:dpiAware>

Save that and then copy it into the directory where your SSMS.exe lives.
Mine was SQL 2014 and it lived in “C:\Program Files (x86)\Microsoft SQL Server\120\Tools\Binn\ManagementStudio”

Step 2: Update the registry

Save this into a .reg file and run it

Windows Registry Editor Version 5.00

Step 3: run it

Run SSMS and sit back and marvel at how it sizes its dialogs correctly.

Categories: SQL Server Tags:

EntityFramework force the update of an object

June 3rd, 2016 No comments

The Problem

You are trying to save some changes to an object.
Your code looks like the following:

But the changes are not being saved

The Solution

Entity framework is not aware that the job object has been changed so you need to tell it, by adding line 8.

Note if you wish to control a specific propety and flag that only 1 columns has change

Categories: c# Tags: