Thursday, December 8, 2011

Critters Source - KTR Development Violates the GPL

Today I discovered that my GPL Critters Android code was copied and turned into a commercial application by a company named KTR Development.

KTR changed the home screen graphic and renamed the application. See the following example:

They are now selling it on the Android Market under the name "Healthy Pets". The link to the KTR home page results in an invalid redirect. There is no way to check if my modified source is available online or on request, a clear violation of the GPL v2 license under which I made the code available.

Modifying and redistribution for fee is allowed under the license; however, the source must be made available. KTR's description on the market does not say the application is open source or even acknowledges the original author of the source they are using.

This is becoming a very disappointing trend where suspect companies troll for source code and use it to make money while violating licenses in the process. I think I will need to re-evaluate making my projects open source in the future.

Maybe KTR will step up and make things right...

Tuesday, November 29, 2011

New Critters Version in the Works

I recently started working on the next generation of Critters, my personal pet health record project. The new version will be based on ASP.NET MVC and JQuery Mobile.

Pet data will be stored on a secure server and allow access to any device that supports a JavaScript enabled web browser. This will give end users a wider range of devices to use with Critters. Multiple devices in conjunction with cloud services and storage puts your pet's information at your fingertips anywhere!

Check back and we will let you know when we get our demo up and running!

Sunday, October 30, 2011

WordPress to Blogger Conversion Success!

It has been over a year; however, I just managed to get all my old WordPress posts, comments, and pages into Blogger. There are a lot of broken links at the moment and missing pictures that I hope to have fixed soon.

Thank you for your unbelievable patience!

UPDATE 10/30/2011: Finished!
UPDATE 10/29/2011: Reformatted another 4 posts!
UPDATE 10/23/2011: Reformatted another 4 posts!
UPDATE 10/07/2011: Almost halfway finished!

Tuesday, October 25, 2011

Critters Development - Now Hosted on Google Code

Yesterday I moved Critters development to Google Code. This moved included the user FAQ, platform statistics and source code archive packages.  The latest source is available in Git along with all tagged releases. I also created a Google Group for users to post questions and suggest enhancements for the application. The current project page on this blog with continue to be updated with the latest feature list, screenshots and links to the Google Code and Google Group sites.

New Site Links: I hope that if you find Critters useful or just have an issue that you need help with, you will take advantage of these new resources.

Tuesday, March 8, 2011

Create a Data Dictionary on the fly for any SQL Server 2005 or 2008 Database

I have included a quick script that creates a stored procedure that will generate a data dictionary on the fly for any SQL Server 2005 or 2008 database:

Monday, March 7, 2011

Import XML Files into SQL Server 2005 or 2008

Presented is a script that allows one to import all XML files in a specific directory into SQL Server 2005 or 2008 and store it as XML. Most of what is presented should work for importing the contents of any type of file, not just XML. The example uses OLE Automation Procedures to extract extra data that one may find of use storing along with the XML such as file creation time, size, etc.

The first step is to enable OLE Automation Procuedures in SQL Server:

USE [master];
GO

EXECUTE SP_CONFIGURE 'show advanced options', 1;
RECONFIGURE WITH OVERRIDE;
GO

EXECUTE SP_CONFIGURE 'Ole Automation Procedures', 1;
RECONFIGURE WITH OVERRIDE;
GO

EXECUTE SP_CONFIGURE 'show advanced options', 0;
RECONFIGURE WITH OVERRIDE;
GO

The next step is to create a table to hold the XML documents. This table will also allow one to version the XML documents if a document is imported with the same name as one that already exists:

IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID('[meta].[XMLSchema]') AND type in ('U'))
 DROP TABLE [meta].[XMLSchema];
GO

CREATE TABLE [meta].[XMLSchema](
  [XMLSchemaID] [int] IDENTITY (1, 1) NOT NULL
 ,[FileName] [VARCHAR](500) NOT NULL
 ,[FileVersion] AS CAST(Major AS varchar) + '.' + CAST(Minor AS varchar) + '.' + CAST(Maint AS varchar)
 ,[Major] int NOT NULL
 ,[Minor] int NOT NULL
 ,[Maint] int NOT NULL
 ,[FileType] [VARCHAR] (100) NOT NULL
 ,[FileSize] int NOT NULL
 ,[TimeCreated] [DATETIME] NOT NULL
 ,[TimeLastModified][DATETIME] NOT NULL 
 ,[XMLData] [xml] NOT NULL
 ,[EffDate] [datetime] NOT NULL
 ,[InEffDate] [datetime] NULL
 ,[CurrVersionFlag] [tinyint] NOT NULL
) ON [PRIMARY]
GO

-- Primary key
ALTER TABLE [meta].[XMLSchema]
 ADD CONSTRAINT [PK_XMLSchema] PRIMARY KEY CLUSTERED(
   [FileName] ASC
  ,[Major] ASC
  ,[Minor] ASC
  ,[Maint] ASC
 ) ON [PRIMARY];
GO

-- Defaults
ALTER TABLE [meta].[XMLSchema]
 ADD CONSTRAINT DF_XMLSchema_CurrVersionFlag
  DEFAULT 0 FOR CurrVersionFlag;
GO

Sunday, March 6, 2011

Blogger and SyntaxHighlighter Test

Just a quick test to see if Alex Gorbatchev's SyntaxHighlighter will work with my blog on Google. After futzing around with Alex's scripts I got it to work:
SELECT Col1, SUM(Col2)
FROM TEST
GROUP BY Col1; 

Tuesday, March 1, 2011

New Blog

It has been some time since I posted anything to this blog.  Since moving from Billings to Salt Lake City, I haven't had the time to get my old Wordpress server up and running.  In that light I decided to try Blogger on Google.

I have quite a few of my older posts that need to be converted and eventually they will.  I know many of you found them helpful.  It will be interesting to see how the conversion process from Wordpress to Blogger turns out.  So be patient and check back often.

Thank you for your support!