Archive for the 'Life in code' Category

22
Mar
2009

Installing irssi using macports

Sunday, March 22nd, 2009

To install irssi using macports issue the command:

sudo port install irssi +perl

This will ensure that you get the necessary perl scripting support. Most people using irssi are going to want this.

Note that if you use scriptassist to help you load irssi scripts then you will want some extra perl stuff:

sudo port install p5-libwww-perl

12
Feb
2009

Migrating reporting server database with SQL Server 2005 Standard

Thursday, February 12th, 2009

If you are moving reporting services to a brand new SQL Server machine (such as setting up a UAT environment or test server) then you may backup and restore the reporting server database from your production machine. You will probably then backup and restore the encryption keys. However you will probably get the error:

“Reporting server can’t be used as part of a scale-out deployment” or something along those lines.

Fear not! Because you aren’t using enterprise you need to remove the key for the old server from the config using:

rskeymgmt -l

and then

rskeymgmt -r

27
Nov
2008

SQL Server Service Broker and Backup Exec

Thursday, November 27th, 2008

I had a problem today where whenever a full backup of the master database was taken by Backup Exec the Service Broker would say in the SQL Server error logs:

Could not start Service Broker for database id

Google didn’t really know what was going on but I found that if you delete the master4IDR file on the offending server (probably in the default database directory) then do another few backups the problem vanishes.

master4IDR is a copy of the master database that is taken when Backup Exec backs up the database. It is used to do disaster recovery on the server.

29
Jan
2008

What if Facebook could auto-tag uploaded photos?

Tuesday, January 29th, 2008

Facebook could become the ultimate platform for training facial recognition systems. Almost every photo uploaded to the site is of someone. The first thing that you do is to tag the people in the photo, creating a link between the photo and the related person.

But what would happen if the tagging process worked in conjunction with facial recognition technology? Every time a person was tagged in an image you could help the system learn what that person looks like. Eventually the system could become “smart” enough to recognise people on its own.

Auto-tagging photos – it’s the way forward, and you heard it here first!

18
Jan
2008

Check constraints that access the table you are inserting into

Friday, January 18th, 2008

In SQL Server 2005 you can write a check constraint that can include a function call. For example:

ALTER TABLE [dbo].[TestTable1]
ADD CONSTRAINT [TestConstraint1]
CHECK ([dbo].[TestFunction1]([PrimaryKeyColumn1],[Column1],[Column2]) = 0)

However if the function you are calling tests the contents of that table you must be aware that the row you are trying to insert or update will already be in the table. Therefore if part of the test is, for example, duplicate checking or date range checking (in the case of writing scheduling software) then you must pass into the function the primary key of the row you are inserting and add that as a where clause to your function:

CREATE FUNCTION [dbo].[TestFunction1]
(
@param1 int,
@param2 int,
@param3 int,
)
RETURNS bit
AS
BEGIN
DECLARE @ClashesFound int
DECLARE @Result bit
SET @ClashesFound = 0
SET @Result = 0
SET @ClashesFound = (
SELECT COUNT(*)
FROM [dbo].[TestTable1]
WHERE
[PrimaryKeyColumn1] <> @param1
)
IF (@ClashesFound > 0)
SET @Result = 1
RETURN @Result
END

Close
E-mail It