Error message

Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in drupal_get_feeds() (line 394 of /home/steelsmi/public_html/includes/common.inc).

Ubuntu 16.04 TeamViewer error

After upgrading from 14.04 to 16.04 I encountered the following when trying to run TeamViewer:

The TeamViewer daemon is not running!

Then it says to try "teamviewer --daemon start".

When I tried that I got:

systemctl start teamviewerd.service
Failed to start teamviewerd.service: Unit teamviewerd.service not found.

To fix this I ran the following command after some research:

sudo cp /opt/teamviewer/tv_bin/script/teamviewerd.service /lib/systemd/system/

Now it works.

Blocking malicious domains pointed at a dedicated IP address

I found a situation today where someone had registered a domain and pointed it at one of my customer's websites who has a dedicated IP. By default, cpanel will allow any host header to bring up the website. It was drawing quite a bit of traffic to the server with visitors and crawlers to this fake website.

It could be blocked at the application level, but it's simple enough to do with .htaccess:

RewriteCond %{HTTP_HOST} !^www.example.org
RewriteCond %{HTTP_HOST} !^example.org
RewriteRule .* - [F]

New Ubuntu Kiosk image for 12.04

We have just finished a release for Ubuntu 12.04. It can be downloaded using the link below.

Installation is the same:

1). Boot to the image (CD or USB). 
2). Log in as itadmin with the password changeme
3). Double click "install custom CD" on the desktop. 
4). Reboot to the hard disk and log in again. 
5). Double click setup kiosk and choose run in terminal. 

Fixing a stalling HP USB printer in Ubuntu 10.04

I had struggled with a very frustrating problem when printing to my USB HP Deskjet printer using Ubuntu. The printer would sometimes print an entire job then refuse to print any more after that. The documents would show in the queue but you could not cancel or release them. 
Another symptom of the problem would be tasks on the machine, owned by a user lp, that you could not kill. These were USB print jobs that also caused a high load average although the machine performance was not affected. These conditions would sometimes persist between reboots. 


Working hard on my goals

In being so busy and wanting to achieve so much, I have managed to find more time to work towards my goals without sacrificing time with my family who are the most important to me. 

Time management is an art and a habit. Rarely can I take time to type up a blog or watch TV, but I have never been so productive and so filled with purpose. Of course it means cutting out activities like Facebook, Google+, blogging, some home improvement, most TV, and playing my Xbox but I do not miss them.

Latest Firefox update is incompatible with the kioskfox plugin (and how to fix it)

The latest Firefox update broke the kioskfox plugin. Well, not really broke it, but Firefox says it's incompatible and it cannot find an updated version. It's an easy fix that seems to work well. If you are using the kiosk build from this website, use the command:

SQL Server connection problems

I ran into a problem whereby my SQL Server jobs wouldn't run. I received this warning in the log:

The program sqlservr.exe, with the assigned process ID 4724, could not authenticate locally by using the target name MSSQLSvc/dev2.[DOMAIN]:[PORT]. The target name used is not valid. A target name should refer to one of the local computer names, for example, the DNS host name. Try a different target name.

I also saw this message:

The login is from an untrusted domain and cannot be used with Windows authentication.


Display templates (partial views) in MVC 3 using Razor


This is an excellent, easy way to have a consistent user interface. You can use display templates to default values, or give all the values of a specific type the same look and feel (or do both). For example, creating the view String.cshtml inside Views -> Shared -> DisplayTemplates will affect all strings that are rendered using:



Queue file size limit exceeded in Postfix

I encountered this error today in our Postfix based mail archive server (mailarchiva). We use it to archive email from Google Apps and route our email through it.

We received complaints of people not being able to send attachments, getting an error message similar to:

Delivery to the following recipient failed permanently:

Technical details of permanent failure: