<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5971707845442359141</id><updated>2011-11-08T16:00:29.426-08:00</updated><category term='wcf'/><category term='xml'/><category term='flash'/><category term='linq'/><category term='dos commands'/><category term='iis'/><category term='javascript'/><category term='air'/><category term='regedit'/><category term='music'/><category term='actionscript 3'/><category term='visual studio tips'/><category term='google base api'/><category term='sql server'/><category term='flex'/><category term='t-sql'/><category term='c#'/><category term='iphone'/><category term='cool technologies'/><category term='augmented reality'/><category term='unit test'/><category term='charity'/><category term='spatial'/><category term='html'/><category term='asp.net'/><category term='computer tips'/><category term='hardware'/><title type='text'>dripcode</title><subtitle type='html'>Software development help for Asp.net, .net, C#, ActionScript 3.0 (AS3), SQL Server (T-SQL), and more.
http://www.dripcode.com/images/blogheaders/h12.jpg</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>65</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1899422665970741451</id><published>2011-03-03T17:52:00.000-08:00</published><updated>2011-03-03T17:54:59.730-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>SQL Server 2008, Table Valued Parameters, and LINQ</title><content type='html'>&lt;a href="http://blog.mikecouturier.com/2010/01/sql-2008-tvp-table-valued-parameters.html"&gt;Mike Gleason jr&amp;#39;s Blog: SQL 2008 TVP (Table Valued Parameters) and LINQ - It is Possible?! (Sorta)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1899422665970741451?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1899422665970741451/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1899422665970741451' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1899422665970741451'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1899422665970741451'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2011/03/mike-gleason-jrs-blog-sql-2008-tvp.html' title='SQL Server 2008, Table Valued Parameters, and LINQ'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1793667220501480145</id><published>2011-02-20T22:29:00.000-08:00</published><updated>2011-02-20T22:30:53.370-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dos commands'/><title type='text'>DOS CMD - List All Directory Names Only</title><content type='html'>dir /AD /B&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.computerhope.com/dirhlp.htm" get="_blank"&gt;more commands&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1793667220501480145?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1793667220501480145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1793667220501480145' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1793667220501480145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1793667220501480145'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2011/02/dos-cmd-list-all-directory-names-only.html' title='DOS CMD - List All Directory Names Only'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-524226900937746099</id><published>2010-12-21T22:23:00.000-08:00</published><updated>2010-12-21T22:29:38.684-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='dos commands'/><title type='text'>DOS CMD - List All File Names Only</title><content type='html'>dir /a:-d /b&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;cheers to &lt;a href="http://www.computing.net/answers/dos/dir-list-of-files-onlyno-subfolder/15578.html" target="_blank"&gt;fheartman&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.computerhope.com/dirhlp.htm" get="_blank"&gt;more commands&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-524226900937746099?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/524226900937746099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=524226900937746099' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/524226900937746099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/524226900937746099'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/12/dos-cmd-list-all-file-names-only.html' title='DOS CMD - List All File Names Only'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-4915629439461271459</id><published>2010-10-19T05:08:00.000-07:00</published><updated>2010-10-19T05:28:24.324-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>New Collaboration In Technology</title><content type='html'>Sometimes technologies seem to cause conflict, and &lt;a href="http://www.apple.com/hotnews/thoughts-on-flash/" target="_blank"&gt;epic battles&lt;/a&gt; erupt between companies, leaving their users and developers baffled.  &lt;br /&gt;&lt;br /&gt;Every once in a while these same companies and technologies find themselves in harmony, leaving their users and developer just as baffled.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.pcworld.com/article/205254/apple_removes_nail_from_adobe_flash_coffin.html" target="_blank"&gt;Apple is getting along with Adobe&lt;/a&gt;?&lt;br /&gt;&lt;a href="http://www.flashdevelop.org/wikidocs/index.php?title=Main_Page" target="_blank"&gt;ActionScript 3.0 IDE was written in C#&lt;/a&gt;?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-4915629439461271459?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/4915629439461271459/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=4915629439461271459' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4915629439461271459'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4915629439461271459'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/10/new-collaboration-in-technology.html' title='New Collaboration In Technology'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5409955325744315569</id><published>2010-08-14T05:42:00.000-07:00</published><updated>2010-08-14T05:47:42.973-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>la musica</title><content type='html'>&lt;object width="225" height="225"&gt; &lt;param name="movie" value="http://listen.grooveshark.com/widget.swf" /&gt; &lt;param name="wmode" value="window" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;widgetID=22171764&amp;style=metal&amp;bbg=353638&amp;bfg=666666&amp;bt=eef5ed&amp;bth=353638&amp;pbg=eef5ed&amp;pbgh=666666&amp;pfg=353638&amp;pfgh=eef5ed&amp;si=eef5ed&amp;lbg=eef5ed&amp;lbgh=666666&amp;lfg=353638&amp;lfgh=eef5ed&amp;sb=eef5ed&amp;sbh=666666&amp;p=0" /&gt; &lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="225" height="225" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=22171764&amp;style=metal&amp;bbg=353638&amp;bfg=666666&amp;bt=eef5ed&amp;bth=353638&amp;pbg=eef5ed&amp;pbgh=666666&amp;pfg=353638&amp;pfgh=eef5ed&amp;si=eef5ed&amp;lbg=eef5ed&amp;lbgh=666666&amp;lfg=353638&amp;lfgh=eef5ed&amp;sb=eef5ed&amp;sbh=666666&amp;p=0" allowScriptAccess="always" wmode="window" &gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5409955325744315569?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5409955325744315569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5409955325744315569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5409955325744315569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5409955325744315569'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/08/la-musica.html' title='la musica'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3590554128792483889</id><published>2010-08-01T19:06:00.001-07:00</published><updated>2010-08-09T17:43:31.524-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>Getting Date from DateTime Type in SQL Server 2005 vs. 2008</title><content type='html'>&lt;strong&gt;In 2008:&lt;/strong&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;Convert(Date,GETDATE())&lt;/pre&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;Select * from myTable where&lt;br /&gt;Convert(Date,ModifiedDate) = Convert(Date,GETDATE())&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;In 2005:&lt;/strong&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;CONVERT(CHAR(10), GETDATE(), 1)&lt;/pre&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;Select * from myTable where&lt;br /&gt;  CONVERT(CHAR(10), ModifiedDate, 1) = CONVERT(CHAR(10), GETDATE(), 1)&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Old School:&lt;/strong&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;cast(floor(cast(ModifiedDate as float))as datetime)&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3590554128792483889?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3590554128792483889/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3590554128792483889' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3590554128792483889'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3590554128792483889'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/08/getting-date-from-datetime-type-in-sql.html' title='Getting Date from DateTime Type in SQL Server 2005 vs. 2008'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8001728512099774589</id><published>2010-06-16T20:16:00.000-07:00</published><updated>2010-08-03T21:31:11.049-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Extending With Extension Methods</title><content type='html'>&lt;pre class="c-sharp" name="code"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace DripCode.Text&lt;br /&gt;{&lt;br /&gt;    public static class ExtensionMethods&lt;br /&gt;    {&lt;br /&gt;        public static Boolean ContainsAt(this string line, string template, int location)&lt;br /&gt;        {&lt;br /&gt;            return line.Contains(template) &amp;&amp; line.Length &gt;= template.Length + location &amp;&amp; line.Substring(location, template.Length) == template;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;string Test = "hello world!"&lt;br /&gt;Console.WriteLine(Test.ContainsAt("hello",0).ToString());&lt;br /&gt;Console.WriteLine(Test.ContainsAt("world",6).ToString());&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb383977.aspx" target="_blank"&gt;Extension Methods (C# Programming Guide)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8001728512099774589?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8001728512099774589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8001728512099774589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8001728512099774589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8001728512099774589'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/06/extending-with-extension-methods.html' title='Extending With Extension Methods'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-2216411851989861309</id><published>2010-06-15T21:44:00.000-07:00</published><updated>2010-08-03T21:35:02.128-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><title type='text'>Table Template</title><content type='html'>&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;USE [PrinterUsage]&lt;br /&gt;GO&lt;br /&gt;/****** Object:  StoredProcedure [shared].[CreateNewTable]    Script Date: 06/30/2010 11:08:32 ******/&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;GO&lt;br /&gt;-- =============================================&lt;br /&gt;-- Author:  &lt;Author,,Name&gt;&lt;br /&gt;-- Create date: &lt;Create Date,,&gt;&lt;br /&gt;-- Description: &lt;Description,,&gt;&lt;br /&gt;-- =============================================&lt;br /&gt;ALTER PROCEDURE [CreateNewTable] &lt;br /&gt; -- Add the parameters for the stored procedure here&lt;br /&gt; @TableSchema nvarchar(100) = null,@NewTableName nvarchar(150)&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt; -- SET NOCOUNT ON added to prevent extra result sets from&lt;br /&gt; -- interfering with SELECT statements.&lt;br /&gt; SET NOCOUNT ON;&lt;br /&gt;&lt;br /&gt;    -- Insert statements for procedure here&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;declare @command nvarchar(max)&lt;br /&gt;set @command='&lt;br /&gt;CREATE TABLE ['+isnull(@TableSchema,'dbo')+'].['+@NewTableName+'](&lt;br /&gt; ['+@NewTableName+'Id] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL, &lt;br /&gt; [Created] [datetime] NOT NULL,&lt;br /&gt; [Modified] [datetime] NOT NULL,&lt;br /&gt; CONSTRAINT [PK_'+@NewTableName+'] PRIMARY KEY CLUSTERED &lt;br /&gt;(&lt;br /&gt; ['+@NewTableName+'Id] ASC&lt;br /&gt;)WITH (PAD_INDEX  = OFF, STATISTICS_NORECOMPUTE  = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS  = ON, ALLOW_PAGE_LOCKS  = ON) ON [PRIMARY]&lt;br /&gt;) ON [PRIMARY]&lt;br /&gt;'&lt;br /&gt;exec sp_executesql @command&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET ANSI_PADDING OFF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;set @command='ALTER TABLE ['+isnull(@TableSchema,'dbo')+'].['+@NewTableName+'] ADD  CONSTRAINT ['+@NewTableName+'_Created]  DEFAULT (getdate()) FOR [Created]'&lt;br /&gt;&lt;br /&gt;exec sp_executesql @command&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;set @command='ALTER TABLE ['+isnull(@TableSchema,'dbo')+'].['+@NewTableName+'] ADD  CONSTRAINT ['+@NewTableName+'_Updated]  DEFAULT (getdate()) FOR [Modified]'&lt;br /&gt;exec sp_executesql @command&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;&lt;br /&gt;set @command='&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;CREATE TRIGGER [UpDate_'+@NewTableName+']&lt;br /&gt;   ON  ['+isnull(@TableSchema,'dbo')+'].['+@NewTableName+']&lt;br /&gt;   AFTER UPDATE&lt;br /&gt;AS &lt;br /&gt;BEGIN&lt;br /&gt; SET NOCOUNT ON;&lt;br /&gt;&lt;br /&gt; declare @ID int&lt;br /&gt;&lt;br /&gt; select @ID=['+@NewTableName+'ID] from inserted&lt;br /&gt;    &lt;br /&gt; UPDATE ['+isnull(@TableSchema,'dbo')+'].['+@NewTableName+']&lt;br /&gt; SET [Modified] = getdate()&lt;br /&gt; WHERE  ['+@NewTableName+'ID]=@ID&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;br /&gt;'&lt;br /&gt;EXEC sp_executesql @command&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;EXEC @return_value = [dbo].[CreateNewTable]&lt;br /&gt;  @TableSchema = N'mySchema',&lt;br /&gt;  @NewTableName = N'myTable'&lt;/pre&gt;&lt;div align="center"&gt;or&lt;/div&gt;&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;EXEC @return_value = [dbo].[CreateNewTable]&lt;br /&gt;  @NewTableName = N'myTable'&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-2216411851989861309?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/2216411851989861309/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=2216411851989861309' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2216411851989861309'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2216411851989861309'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/06/table-template.html' title='Table Template'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3726425389186626528</id><published>2010-04-10T07:14:00.000-07:00</published><updated>2010-04-10T07:57:34.300-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool technologies'/><title type='text'>Dancing Robots and Images That Morph With Depth Perception</title><content type='html'>&lt;object width="480" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/eW8r7ALWzsI&amp;hl=en_US&amp;fs=1&amp;"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/eW8r7ALWzsI&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cvcl.mit.edu/hybrid_gallery/leopard_elephant.html" target="_blank"&gt;Hybrid Image Gallery&lt;/a&gt;&lt;br /&gt;&lt;a href="http://cvcl.mit.edu/hybrid/OlivaTorralb_Hybrid_Siggraph06.pdf" target="_blank"&gt;Hybrid Image Explained&lt;/a&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Hybrid_image" target="_blank"&gt;Wikipedia - Hybrid Image&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Get your &lt;a href="http://beatbots.net/"&gt;Keepon&lt;/a&gt; robot today.&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=HTxdKi77G20&amp;feature=related"&gt;Programmable Robot from Sony&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.youtube.com/watch?v=9vwZ5FQEUFg" target="_blank"&gt;More Dancing Robots on YouTube&lt;/a&gt;&lt;br /&gt;&lt;a href="http://beatbots.net/2009/04/14/keepon-on-nbc-today-show/"&gt;Robots for Theorapy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3726425389186626528?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3726425389186626528/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3726425389186626528' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3726425389186626528'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3726425389186626528'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/04/dancing-robots-and-images-that-morph.html' title='Dancing Robots and Images That Morph With Depth Perception'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1435223337967183509</id><published>2010-03-28T22:36:00.002-07:00</published><updated>2010-03-28T22:44:15.914-07:00</updated><title type='text'>Multiple Order By in LINQ</title><content type='html'>This is how you do it:&lt;pre class="c-sharp" name="code"&gt;List&lt;SomeItem&gt; orderedItems = items.OrderBy(o =&gt; o.Group).ThenBy(o =&gt; o.Name).ToList();&lt;/pre&gt;&lt;br /&gt;Example Code:&lt;br /&gt;Class&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace TestLinqOrderBy&lt;br /&gt;{&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    class SomeItem&lt;br /&gt;    {&lt;br /&gt;        private String _group;&lt;br /&gt;        private String _name;&lt;br /&gt;        &lt;br /&gt;        public SomeItem(String group, String name)&lt;br /&gt;        {&lt;br /&gt;            this._group = group;&lt;br /&gt;            this._name = name;&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public String Group&lt;br /&gt;        {&lt;br /&gt;            get { return _group; }&lt;br /&gt;            set { _group = value; }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        public String Name&lt;br /&gt;        {&lt;br /&gt;            get { return _name; }&lt;br /&gt;            set { _name = value; }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Main&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;using System;&lt;br /&gt;using System.Collections.Generic;&lt;br /&gt;using System.Linq;&lt;br /&gt;using System.Text;&lt;br /&gt;&lt;br /&gt;namespace TestLinqOrderBy&lt;br /&gt;{&lt;br /&gt;    class Program&lt;br /&gt;    {&lt;br /&gt;        static void Main(string[] args)&lt;br /&gt;        {&lt;br /&gt;            List&lt;SomeItem&gt; items = new List&lt;SomeItem&gt;();&lt;br /&gt;&lt;br /&gt;            items.Add(new SomeItem("group 1","All"));&lt;br /&gt;            items.Add(new SomeItem("group 1","How"));&lt;br /&gt;            items.Add(new SomeItem("group 1","Are"));&lt;br /&gt;            items.Add(new SomeItem("group 1","You"));&lt;br /&gt;            items.Add(new SomeItem("group 1","Today?"));&lt;br /&gt;            items.Add(new SomeItem("group 1", "Cat"));&lt;br /&gt;            items.Add(new SomeItem("group 1", "Ball"));&lt;br /&gt;&lt;br /&gt;            items.Add(new SomeItem("group 2", "All"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "How"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "Are"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "You"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "Today?"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "Cat"));&lt;br /&gt;            items.Add(new SomeItem("group 2", "Ball"));&lt;br /&gt;&lt;br /&gt;            items.Add(new SomeItem("group 3", "All"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "How"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "Are"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "You"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "Today?"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "Cat"));&lt;br /&gt;            items.Add(new SomeItem("group 3", "Ball"));&lt;br /&gt;&lt;br /&gt;            List&lt;SomeItem&gt; orderedItems = items.OrderBy(o =&gt; o.Group).ThenBy(o =&gt; o.Name).ToList();&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://www.jstawski.com/archive/2008/06/05/multiple-order-by-in-linq-with-extension-methods.aspx" target="_blank"&gt;Jonas Stawski&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1435223337967183509?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1435223337967183509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1435223337967183509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1435223337967183509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1435223337967183509'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/multiple-order-by-in-linq.html' title='Multiple Order By in LINQ'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5987026218531275958</id><published>2010-03-28T17:58:00.001-07:00</published><updated>2010-03-28T18:47:30.664-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='computer tips'/><title type='text'>Can't Access .OST File in Outlook</title><content type='html'>I got the following message when I opened Outlook today:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6eGPw5sN_Wg/S6_7bNSxFOI/AAAAAAAAAKY/TcX9kO6XetM/s1600/MailboxClean.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 288px;" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/S6_7bNSxFOI/AAAAAAAAAKY/TcX9kO6XetM/s320/MailboxClean.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5453854118612374754" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then when I tried to send an email or delete an email I got, "... outlook.ost. could not be accessed."&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6eGPw5sN_Wg/S6_8JAaA-lI/AAAAAAAAAKo/EYYz0v3brFE/s1600/MailboxClean2.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 54px;" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/S6_8JAaA-lI/AAAAAAAAAKo/EYYz0v3brFE/s320/MailboxClean2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5453854905427098194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;When I look at the directory where it the ost file was everything looked fine. Permission looked fine.  &lt;br /&gt;&lt;br /&gt;While &lt;a href="http://www.google.com.au/search?q=.ost+file+could+not+be+accessed&amp;rls=com.microsoft:en-au:IE-SearchBox&amp;ie=UTF-8&amp;oe=UTF-8&amp;sourceid=ie7&amp;rlz=1I7GGIE_en&amp;redir_esc=&amp;ei=Q-WvS6GzM47U7APxtIGvDw" target="_blank"&gt;googling&lt;/a&gt; I found the following &lt;a href="http://techrepublic.com.com/5208-11192-0.html?forumID=52&amp;threadID=192037&amp;messageID=1981620&amp;tag=content;leftCol" target="_blank"&gt;link&lt;/a&gt;, which gave these two suggestions:&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Disable cache:&lt;/b&gt; control panel-&gt;mail-&gt;email accounts-&gt;next-&gt;change-&gt;more settings-&gt;advanced tab-&gt; then uncheck "Use Cahced Exchange Mode" and click OK-&gt;Next-&gt;Finish-&gt;Close.  You may have to restart Outlook for the change to work.&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;b&gt;Not Admin? Locate ost file:&lt;/b&gt; control panel-&gt;mail-&gt;email accounts-&gt;next-&gt;change-&gt;more settings-&gt;advanced tab-&gt;offline folder file settings&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Disabling the cache seemed to work for me.  One side-effect is that it somehow changed my caching in IE8.  I didn't have time to research it any further, but will follow-up with an explanation as to why this happened and why I wasn't able to access the .ost file in the first place.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5987026218531275958?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5987026218531275958/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5987026218531275958' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5987026218531275958'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5987026218531275958'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/cant-access-ost-file-in-outlook.html' title='Can&apos;t Access .OST File in Outlook'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6eGPw5sN_Wg/S6_7bNSxFOI/AAAAAAAAAKY/TcX9kO6XetM/s72-c/MailboxClean.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-2982164401263604137</id><published>2010-03-23T06:28:00.000-07:00</published><updated>2010-03-23T06:36:19.910-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool technologies'/><title type='text'>Picture: Worth a Thousands Words</title><content type='html'>&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/v9aZb7p0s5M&amp;rel=0&amp;color1=0x151515&amp;color2=0xb1171e&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/v9aZb7p0s5M&amp;rel=0&amp;color1=0x151515&amp;color2=0xb1171e&amp;hl=en_US&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;Ignite goes global—from March 1-5, 2010&lt;br /&gt;&lt;a href="http://igniteshow.com/events/ignite-brisbane-1" target="_blank"&gt;Brisbane Ignite&lt;/a&gt;&lt;br /&gt;&lt;a href="http://igniteshow.com/videos/picture-worth-thousand-words-john-roth" target="_blank"&gt;I even spoke.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-2982164401263604137?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/2982164401263604137/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=2982164401263604137' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2982164401263604137'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2982164401263604137'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/picture-worth-thousands-words.html' title='Picture: Worth a Thousands Words'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-325108101518326462</id><published>2010-03-18T23:31:00.000-07:00</published><updated>2010-03-18T23:52:54.333-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='cool technologies'/><title type='text'>Automated User Interface (UI) Testing with Microsoft Visual Studio Team System 2010</title><content type='html'>&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="440" height="248"&gt;&lt;br /&gt;&lt;param name="source" value="http://videos.visitmix.com/Skins/mixvideos/Styles/players/VideoPlayer2009_03_27.xap" /&gt;&lt;br /&gt;&lt;param name="initParams" value="m=http://mschannel9.vo.msecnd.net/o9/mix/09/wmv-hq/t83m.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://videos.visitmix.com/Skins/mixvideos/Styles/players/VideoPlayer2009_03_27.xap, postid=0" /&gt;&lt;br /&gt;&lt;param name="background" value="#00FFFFFF" /&gt;&lt;br /&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt;&lt;br /&gt;&lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://videos.visitmix.com/MIX09/T83M" target="_blank"&gt;reference site&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.microsoft.com/australia/visualstudio/howtobuy/default.mspx#vsts-2008-dev-msdn-premium" target="_blank"&gt;where to buy&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-325108101518326462?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/325108101518326462/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=325108101518326462' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/325108101518326462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/325108101518326462'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/automated-user-interface-ui-testing.html' title='Automated User Interface (UI) Testing with Microsoft Visual Studio Team System 2010'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5128834239808305987</id><published>2010-03-17T07:48:00.000-07:00</published><updated>2010-07-31T07:03:30.578-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Taste of 80s</title><content type='html'>&lt;object width="250" height="400"&gt; &lt;param name="movie" value="http://listen.grooveshark.com/widget.swf"&gt;&lt;/param&gt; &lt;param name="wmode" value="window"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;widgetID=20480133&amp;style=metal&amp;bbg=000000&amp;bt=FFFFFF&amp;bfg=666666&amp;p=0"&gt;&lt;/param&gt; &lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="400" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=20480133&amp;style=metal&amp;bbg=000000&amp;bt=FFFFFF&amp;bfg=666666&amp;p=0" allowScriptAccess="always" wmode="window"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5128834239808305987?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5128834239808305987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5128834239808305987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5128834239808305987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5128834239808305987'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/taste-of-80s.html' title='Taste of 80s'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5979322291881425067</id><published>2010-03-11T07:39:00.000-08:00</published><updated>2010-03-11T07:49:06.149-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='html'/><title type='text'>Links to Internal Page Sections</title><content type='html'>&lt;a name="top"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="#mysection"&gt;My Section&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;&lt;a href="#mysection"&gt;My Section&lt;/a&gt;&lt;br /&gt;&lt;h2 id="mysection"&gt;My Section&lt;/h2&gt; &lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;or &lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;&lt;a name="top"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="#top"&gt;top&lt;/a&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2 id="mysection"&gt;My Section&lt;/h2&gt; &lt;br /&gt;Thanks to &lt;a href="http://www.yourhtmlsource.com/text/internallinks.html" target="_blank"&gt;Ross Shannon&lt;/a&gt;&lt;br /&gt;&lt;a href="#top"&gt;top&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5979322291881425067?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5979322291881425067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5979322291881425067' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5979322291881425067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5979322291881425067'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/links-to-internal-page-sections.html' title='Links to Internal Page Sections'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-4832645440008139783</id><published>2010-03-02T15:29:00.000-08:00</published><updated>2010-03-02T16:21:02.925-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='regedit'/><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><category scheme='http://www.blogger.com/atom/ns#' term='iis'/><title type='text'>WCF: System.Net.SocketException - Only one usage of each socket address (protocol/network address/port) is normally permitted</title><content type='html'>When testing a web service in Visual Studio I got the "System.Net.SocketException - Only one usage of each socket address (protocol/network address/port) is normally permitted" error, which prevented me from testing the code.  I quickly &lt;a href="http://www.google.com.au/search?hl=en&amp;rls=com.microsoft%3Aen-au%3AIE-SearchBox&amp;rlz=1I7GGIE_en&amp;q=+System.Net.WebException%3A+Unable+to+connect+to+the+remote+server+---%3E++System.Net.Sockets.SocketException%3A+Only+one+usage+of+each+socket+address+%28protocol%2Fnetwork+address%2Fport%29+is+normally+permitted&amp;meta=&amp;aq=f&amp;oq=" target="_blank"&gt;google the &lt;br /&gt;error&lt;/a&gt; and got the following solution:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;Open regedit. &lt;/li&gt;&lt;li&gt;Open key HKLM\System\CurrentControlSet\Services\Tcpip\Parameters &lt;/li&gt;&lt;li&gt;Create or Edit DWORD with MaxUserPort as the value. &lt;/li&gt;&lt;li&gt;Set it to a higher number. (i.e. 50000 Decimal)&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/1339142/wcf-system-net-socketexception-only-one-usage-of-each-socket-address-protocol" target="_blank"&gt;Answered by JRista&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-4832645440008139783?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/4832645440008139783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=4832645440008139783' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4832645440008139783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4832645440008139783'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/03/wcf-systemnetsocketexception-only-one.html' title='WCF: System.Net.SocketException - Only one usage of each socket address (protocol/network address/port) is normally permitted'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5842537134006749588</id><published>2010-02-25T14:22:00.000-08:00</published><updated>2010-02-26T04:50:22.453-08:00</updated><title type='text'>WCF Service Data Types Are Unknown to PHP</title><content type='html'>I wrote this WCF web service the other day, tested the BasicHttpBinding against SOAPUI and all seemed well. Until some of our PHP developers told me that all web methods signatures where showing as UNKNOWN data types (e.g. UNKNOWN SomeWebMethod(UNKNOWN parameter).  I noticed that theres was no NameSpace prefix for some of the Serialized objects in SOAP, double checked the NameSpace in the service, and noticed it was blank. I added the a random namespace to my &lt;service&gt;.cs file and everthing was sorted out.  &lt;br /&gt;&lt;br /&gt;So, if you get an unknown data type when calling a .net webservice from a PHP client, just make sure there is a namespace.  I hope this helps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5842537134006749588?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5842537134006749588/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5842537134006749588' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5842537134006749588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5842537134006749588'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/02/wcf-service-data-types-are-unknown-to.html' title='WCF Service Data Types Are Unknown to PHP'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1143084979810403338</id><published>2010-02-22T22:27:00.000-08:00</published><updated>2010-03-17T08:46:02.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><category scheme='http://www.blogger.com/atom/ns#' term='visual studio tips'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Link of the Day</title><content type='html'>&lt;a href="http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/" target="_blank"&gt;Visual Studio 2008, where do I find the reason why publish failed?&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1143084979810403338?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1143084979810403338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1143084979810403338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1143084979810403338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1143084979810403338'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/02/link-of-day.html' title='Link of the Day'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3233243017162760505</id><published>2010-01-24T19:05:00.000-08:00</published><updated>2010-01-24T19:14:28.465-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>iPhone Application written in C#</title><content type='html'>If you are a C# developer you can also create iPhone application without learning Objective C.  Check out &lt;a href="http://www.mono-project.com/news/archive/2009/Sep-14.html" target="_blank"&gt;MonoTouch&lt;/a&gt;.&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_6eGPw5sN_Wg/S10L-1GVtQI/AAAAAAAAAIk/ZnAT1QEGusk/s1600-h/mp-mono-logo2.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 167px; height: 41px;" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/S10L-1GVtQI/AAAAAAAAAIk/ZnAT1QEGusk/s320/mp-mono-logo2.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5430509899712148738" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3233243017162760505?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3233243017162760505/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3233243017162760505' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3233243017162760505'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3233243017162760505'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/01/iphone-application-written-in-c.html' title='iPhone Application written in C#'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_6eGPw5sN_Wg/S10L-1GVtQI/AAAAAAAAAIk/ZnAT1QEGusk/s72-c/mp-mono-logo2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-7364082967329860779</id><published>2010-01-24T18:46:00.000-08:00</published><updated>2010-01-24T19:02:30.011-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='flash'/><category scheme='http://www.blogger.com/atom/ns#' term='iphone'/><title type='text'>iPhone Application Using Flash and Mobile Flex</title><content type='html'>&lt;object width="425" height="256"&gt;&lt;param name="movie" value="http://tv.adobe.com/assets//swf/player.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;param name="FlashVars" value="fileID=2569&amp;context=76&amp;embeded=true&amp;environment=production"&gt;&lt;/param&gt;&lt;embed src="http://tv.adobe.com/assets//swf/player.swf" flashvars="fileID=2569&amp;context=76&amp;embeded=true&amp;environment=production" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="256"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Check out &lt;a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/" target="_blank"&gt;Packager for iPhone&lt;/a&gt;.&lt;br /&gt;Writing iPhone appliation using &lt;a href="http://labs.adobe.com/technologies/flex/mobile/" target="_blank"&gt;mobile flex&lt;/a&gt; in Flash Builder(the new Flex Builder).&lt;br /&gt;&lt;br /&gt;You can use Flex to develop iPhone applications, but it won't be optimized for mobile devices.  It's recommeded to use &lt;a href="http://labs.adobe.com/technologies/flex/mobile/" target="_blank"&gt;mobile flex&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-7364082967329860779?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/7364082967329860779/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=7364082967329860779' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7364082967329860779'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7364082967329860779'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/01/iphone-application-using-flash-and.html' title='iPhone Application Using Flash and Mobile Flex'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1656690805464736057</id><published>2010-01-17T16:33:00.001-08:00</published><updated>2010-08-09T20:03:23.168-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sql server'/><category scheme='http://www.blogger.com/atom/ns#' term='xml'/><title type='text'>Query XML in SQL Server</title><content type='html'>-----------------------returns nodes-----------------------&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;select top 1 &lt;br /&gt;   EventXML.query('/residential/agentID'),EventXML.query&lt;br /&gt;   ('/residential/listingAgent/name'), * from Event (nolock)&lt;br /&gt;   where RowStateTypeId =1 &lt;br /&gt;    and EventTypeID in (1,5) and listingId= 654 &lt;br /&gt;   order by created desc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;-----------------------returns data in the nodes-----------------------&lt;br /&gt;&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;select top 1 &lt;br /&gt;   EventXML.value('data((//agentID)[1])','nvarchar(max)') as agentId&lt;br /&gt;   ,EventXML.value('data((//listingAgent/name)[1])','nvarchar(max)') as agentName&lt;br /&gt;   , * &lt;br /&gt;   from Event (nolock)&lt;br /&gt;    where RowStateTypeId =1 and EventTypeID in (1,5) &lt;br /&gt;     and listingId= 329&lt;br /&gt;    order by created desc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;You can also extract attributes and index the xml type based on an XSD schema.&lt;br /&gt; &lt;br /&gt;Helpful links:&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms345117(SQL.90).aspx" target="_blank"&gt;XML data type in SLQ Server 2005&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.w3schools.com/XQuery/xquery_example.asp" target="_blank"&gt;&lt;/li&gt;Learning XQeury/XPath&lt;/a&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1656690805464736057?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1656690805464736057/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1656690805464736057' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1656690805464736057'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1656690805464736057'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/01/query-xml-in-sql-server.html' title='Query XML in SQL Server'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-4823856193079575931</id><published>2010-01-14T05:03:00.001-08:00</published><updated>2010-07-31T07:04:25.118-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>38 Special</title><content type='html'>&lt;object width="250" height="400"&gt; &lt;param name="movie" value="http://listen.grooveshark.com/widget.swf"&gt;&lt;/param&gt; &lt;param name="wmode" value="window"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;widgetID=18900098&amp;style=metal&amp;bbg=0b3e75&amp;bfg=0d6bbd&amp;bt=fcfcf7&amp;bth=d1f508&amp;pbg=fcfcf7&amp;pbgh=ff0808&amp;pfg=07288c&amp;pfgh=fcfcf7&amp;si=fcfcf7&amp;lbg=fcfcf7&amp;lbgh=f50808&amp;lfg=0b3e75&amp;lfgh=fcfcf7&amp;sb=fcfcf7&amp;sbh=fa0505&amp;p=0"&gt;&lt;/param&gt; &lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="400" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=18900098&amp;style=metal&amp;bbg=0b3e75&amp;bfg=0d6bbd&amp;bt=fcfcf7&amp;bth=d1f508&amp;pbg=fcfcf7&amp;pbgh=ff0808&amp;pfg=07288c&amp;pfgh=fcfcf7&amp;si=fcfcf7&amp;lbg=fcfcf7&amp;lbgh=f50808&amp;lfg=0b3e75&amp;lfgh=fcfcf7&amp;sb=fcfcf7&amp;sbh=fa0505&amp;p=0" allowScriptAccess="always" wmode="window"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-4823856193079575931?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/4823856193079575931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=4823856193079575931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4823856193079575931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4823856193079575931'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2010/01/38-special.html' title='38 Special'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8414257450923290601</id><published>2009-12-22T20:46:00.000-08:00</published><updated>2009-12-22T20:54:07.459-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>ReplaceAll() or .Replace()</title><content type='html'>SomeString.Replace() only replaces the first instance of the string it finds.  Use the following code to replace all instances.&lt;br /&gt;&lt;br /&gt;&lt;pre class="c#" name="code"&gt;&lt;br /&gt;   private function replaceAll(org:String, fnd:String, rpl:String):String &lt;br /&gt;   { &lt;br /&gt;      return org.split(fnd).join(rpl);&lt;br /&gt;   }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.blogna.org/blog/adobe-flash/actionscript-3-find-and-replace-string-performance-comparison/" target="_blank"&gt;split and join out performs .replace()&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://snipplr.com/view/10998/replace-all/"&gt;thanks to snipplr&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8414257450923290601?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8414257450923290601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8414257450923290601' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8414257450923290601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8414257450923290601'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/12/replaceall-or-replace.html' title='ReplaceAll() or .Replace()'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5509165320373573333</id><published>2009-12-15T06:09:00.000-08:00</published><updated>2010-07-31T07:05:47.547-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Remember Chump</title><content type='html'>&lt;object width="250" height="400"&gt; &lt;param name="movie" value="http://listen.grooveshark.com/widget.swf"&gt;&lt;/param&gt; &lt;param name="wmode" value="window"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;widgetID=18506658&amp;style=metal&amp;bbg=f4f4f7&amp;bfg=0c96f2&amp;bt=b32e2e&amp;bth=edf508&amp;pbg=b32e2e&amp;pbgh=0c96f2&amp;pfg=f4f4f7&amp;pfgh=db5858&amp;si=b32e2e&amp;lbg=b32e2e&amp;lbgh=0c96f2&amp;lfg=f4f4f7&amp;lfgh=f7efef&amp;sb=b32e2e&amp;sbh=0c96f2&amp;p=0"&gt;&lt;/param&gt; &lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="400" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=18506658&amp;style=metal&amp;bbg=f4f4f7&amp;bfg=0c96f2&amp;bt=b32e2e&amp;bth=edf508&amp;pbg=b32e2e&amp;pbgh=0c96f2&amp;pfg=f4f4f7&amp;pfgh=db5858&amp;si=b32e2e&amp;lbg=b32e2e&amp;lbgh=0c96f2&amp;lfg=f4f4f7&amp;lfgh=f7efef&amp;sb=b32e2e&amp;sbh=0c96f2&amp;p=0" allowScriptAccess="always" wmode="window"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5509165320373573333?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5509165320373573333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5509165320373573333' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5509165320373573333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5509165320373573333'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/12/remember-chump.html' title='Remember Chump'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8126512982035450210</id><published>2009-11-24T23:00:00.000-08:00</published><updated>2009-11-30T04:41:12.016-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>LINQ Equivalent To A T-SQL IN</title><content type='html'>&lt;pre class="SQL" name="code"&gt;&lt;br /&gt;SELECT * FROM MemberInfomation WHERE @samAccount IN ('adf','asfd','wqewe')&lt;br /&gt;&lt;/pre&gt;Similarly you can do a IN like filter in LINQ:&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt; public List&lt;MemberInfomation&gt; GetInformation(String[] samAccounts)&lt;br /&gt;        {&lt;br /&gt;            SomeDataContextdc = new SomeDataContext();&lt;br /&gt;            return dc.MemberInfomation.Where(&lt;br /&gt;                              o =&gt; samAccounts.Contains(o.samaccount)&lt;br /&gt;                                         ).ToList(); &lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;Got help from &lt;a href="http://www.onedotnetway.com/linq-equivalent-of-where-in/" target="_blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8126512982035450210?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8126512982035450210/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8126512982035450210' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8126512982035450210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8126512982035450210'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/equivalent-to-in-in-linq.html' title='LINQ Equivalent To A T-SQL IN'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-4796619410668535093</id><published>2009-11-24T08:09:00.000-08:00</published><updated>2010-07-31T07:21:26.630-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><category scheme='http://www.blogger.com/atom/ns#' term='unit test'/><title type='text'>Unit Testing Thrown Exceptions</title><content type='html'>&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;  #region Throwing Exception Tests&lt;br /&gt;        private void MethodToTest()&lt;br /&gt;        {&lt;br /&gt;            throw new ArgumentException("blah");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;        Using ExpectedException attribute to test exception throwing is pretty  straight forward:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;        [TestMethod]&lt;br /&gt;        [ExpectedException(typeof(ArgumentException))]&lt;br /&gt;        public void Test_ExceptionThrown_Attribute()&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                MethodToTest();&lt;br /&gt;            }&lt;br /&gt;            catch (Exception ex)&lt;br /&gt;            {&lt;br /&gt;                if (ex.Message == "blah") //test message value&lt;br /&gt;                    throw new ArgumentException(ex.Message);&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Another approach might be:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;&lt;br /&gt;        [TestMethod]&lt;br /&gt;        [ExpectedException(typeof(ArgumentException))]&lt;br /&gt;        public void Test_ExceptionThrown_Attribute_Function()&lt;br /&gt;        {&lt;br /&gt;            VerifyExceptionThrown_Throw&lt;ArgumentException&gt;(() =&gt; MethodToTest(), "blah"); // simple, single line, and generic.&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        // Method accepts an action delegate, a generic Exception type, and an exception message to check&lt;br /&gt;        public static void VerifyExceptionThrown_Throw&lt;TException&gt;(Action action, String exMessage)&lt;br /&gt;           where TException : Exception&lt;br /&gt;        {&lt;br /&gt;            // Verify arguments - action can't be null&lt;br /&gt;            if (action == null)&lt;br /&gt;                throw new ArgumentException("Action to test cannot be null!");&lt;br /&gt;&lt;br /&gt;            // Verify arguments - TException cannot be of type Exception&lt;br /&gt;            if (typeof(TException).Equals(typeof(Exception)))&lt;br /&gt;                throw new ArgumentException("TException type cannot be of type Exception");&lt;br /&gt;&lt;br /&gt;            // Actually call it&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                action();&lt;br /&gt;            }&lt;br /&gt;            catch (TException ex)&lt;br /&gt;            {&lt;br /&gt;                if (ex.Message == exMessage)&lt;br /&gt;                {&lt;br /&gt;                    throw new ArgumentException("good job"); //we must rethrow an exception because of ExpectedException attribute &lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // If it gets here, fail the test&lt;br /&gt;            Assert.Fail("Action does not throw the exception expected");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Test for exception throwing without the ExpectedException attribute:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;&lt;br /&gt;        //&lt;br /&gt;        [TestMethod]&lt;br /&gt;        public void Test_ExceptionThrown_NoAttribute()&lt;br /&gt;        {&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                MethodToTest();&lt;br /&gt;                Assert.Fail("Action does not throw the exception expected");&lt;br /&gt;            }&lt;br /&gt;            catch (ArgumentException ex)//specifing the type of exception to test for&lt;br /&gt;            {&lt;br /&gt;                if (ex.Message != "blah") //test message value&lt;br /&gt;                    Assert.Fail("Action does not throw the exception expected"); //failed &lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;My preferred way to test exceptions:&lt;br /&gt;&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;        [TestMethod]&lt;br /&gt;        public void Test_ExceptionThrown_NoAttribute_Function()&lt;br /&gt;        {&lt;br /&gt;            VerifyExceptionThrown_NoThrow&lt;ArgumentException&gt;(() =&gt; MethodToTest(), "blah"); //simple, generic, message parameter is optional... and the TestMethod doesn't need the attribute&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;        // Method accepts an action delegate, a generic Exception type, and an exception message to check (optional)&lt;br /&gt;        public static void VerifyExceptionThrown_NoThrow&lt;TException&gt;(Action action, String exMessage)&lt;br /&gt;           where TException : Exception&lt;br /&gt;        {&lt;br /&gt;            // Verify arguments - action can't be null&lt;br /&gt;            if (action == null)&lt;br /&gt;                throw new ArgumentException("Action to test cannot be null!");&lt;br /&gt;&lt;br /&gt;            // Verify arguments - TException cannot be of type Exception&lt;br /&gt;            if (typeof(TException).Equals(typeof(Exception)))&lt;br /&gt;                throw new ArgumentException("TException type cannot be of type Exception");&lt;br /&gt;&lt;br /&gt;            // Actually call it&lt;br /&gt;            try&lt;br /&gt;            {&lt;br /&gt;                action();&lt;br /&gt;            }&lt;br /&gt;            catch (TException ex)&lt;br /&gt;            {&lt;br /&gt;                if (ex.Message == null) //don't want to consider the message&lt;br /&gt;                {&lt;br /&gt;                    return;&lt;br /&gt;                }&lt;br /&gt;                else //otherwise consider the message &lt;br /&gt;                {&lt;br /&gt;                    if (ex.Message == exMessage)&lt;br /&gt;                    {&lt;br /&gt;                        return;&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;            // If it gets here, fail the test&lt;br /&gt;            Assert.Fail("Action does not throw the exception expected");&lt;br /&gt;        }&lt;br /&gt;        #endregion&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;I used code from this example &lt;a href="http://geekswithblogs.net/NewThingsILearned/archive/2009/11/05/my-coding-helpers-verify-exception-thrown-in-unit-test.aspx" target="blank"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-4796619410668535093?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/4796619410668535093/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=4796619410668535093' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4796619410668535093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4796619410668535093'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/unit-testing-thrown-exceptions.html' title='Unit Testing Thrown Exceptions'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-6235575176186787472</id><published>2009-11-22T07:30:00.000-08:00</published><updated>2010-07-31T07:06:37.000-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>Digital Music</title><content type='html'>&lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="250" height="400" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=16654192&amp;style=metal&amp;bbg=000000&amp;bfg=666666&amp;bt=FFFFFF&amp;bth=000000&amp;pbg=FFFFFF&amp;pbgh=666666&amp;pfg=000000&amp;pfgh=FFFFFF&amp;si=FFFFFF&amp;lbg=FFFFFF&amp;lbgh=666666&amp;lfg=000000&amp;lfgh=FFFFFF&amp;sb=FFFFFF&amp;sbh=666666&amp;p=0" allowScriptAccess="always" wmode="window"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-6235575176186787472?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/6235575176186787472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=6235575176186787472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6235575176186787472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6235575176186787472'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/digital-music.html' title='Digital Music'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-7387828822894059293</id><published>2009-11-09T23:01:00.000-08:00</published><updated>2009-11-11T05:35:25.019-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='spatial'/><title type='text'>Reducing Shape Function In SQL Server 2008</title><content type='html'>&lt;a href="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotS-WBENI/AAAAAAAAAIc/3AFEbJgVVGo/s1600-h/shapeborder7.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 259px;" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotS-WBENI/AAAAAAAAAIc/3AFEbJgVVGo/s320/shapeborder7.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680506980569298" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotSpdqH-I/AAAAAAAAAIU/AzKsNsEObrE/s1600-h/shapeborder6.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 298px;" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotSpdqH-I/AAAAAAAAAIU/AzKsNsEObrE/s320/shapeborder6.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680501375475682" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvotLlAojWI/AAAAAAAAAIM/GCOGPYxmXb4/s1600-h/shapeborder5.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 225px;" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvotLlAojWI/AAAAAAAAAIM/GCOGPYxmXb4/s320/shapeborder5.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680379920911714" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvotLUGVocI/AAAAAAAAAIE/TYR6tdvJWDU/s1600-h/shapeborder4.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 295px; height: 310px;" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvotLUGVocI/AAAAAAAAAIE/TYR6tdvJWDU/s320/shapeborder4.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680375381434818" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvotLIU__qI/AAAAAAAAAH8/RXJOhdW9kvY/s1600-h/shapeborder3.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 242px;" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvotLIU__qI/AAAAAAAAAH8/RXJOhdW9kvY/s320/shapeborder3.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680372221705890" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvotK59wXcI/AAAAAAAAAH0/TqWBNENsclA/s1600-h/shapeborder2.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 295px;" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvotK59wXcI/AAAAAAAAAH0/TqWBNENsclA/s320/shapeborder2.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680368366116290" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotKvrislI/AAAAAAAAAHs/Vj3jbLpjTXY/s1600-h/shapeborder1.jpg"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 211px; height: 268px;" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotKvrislI/AAAAAAAAAHs/Vj3jbLpjTXY/s320/shapeborder1.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5402680365605368402" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;USE [Region]&lt;br /&gt;GO&lt;br /&gt;/****** Object:  UserDefinedFunction [dbo].[GetReducedShape]    Script Date: 11/10/2009 16:44:40 ******/&lt;br /&gt;SET ANSI_NULLS ON&lt;br /&gt;GO&lt;br /&gt;SET QUOTED_IDENTIFIER ON&lt;br /&gt;GO&lt;br /&gt;-- =============================================&lt;br /&gt;-- Author:  &lt;Author,,Name&gt;&lt;br /&gt;-- Create date: &lt;Create Date, ,&gt;&lt;br /&gt;-- Description: &lt;Description, ,&gt;&lt;br /&gt;-- =============================================&lt;br /&gt;ALTER FUNCTION [dbo].[GetReducedShape] &lt;br /&gt;(&lt;br /&gt; -- Add the parameters for the function here&lt;br /&gt; @shapeToReduce geometry&lt;br /&gt; --, @reduceFactor double &lt;br /&gt; --0.001&lt;br /&gt; &lt;br /&gt;)&lt;br /&gt;RETURNS Geometry&lt;br /&gt;AS&lt;br /&gt;BEGIN&lt;br /&gt; ---- Declare the return variable here&lt;br /&gt; --DECLARE &lt;@ResultVar, sysname, @Result&gt; &lt;Function_Data_Type, ,int&gt;&lt;br /&gt;&lt;br /&gt; ---- Add the T-SQL statements to compute the return value here&lt;br /&gt; --SELECT &lt;@ResultVar, sysname, @Result&gt; = &lt;@Param1, sysname, @p1&gt;&lt;br /&gt;&lt;br /&gt; DECLARE @reducedShape geometry, @border geometry, @BUFFER geometry,@diff geometry&lt;br /&gt;&lt;br /&gt; SELECT @border = @shapeToReduce.STBoundary()&lt;br /&gt; --SELECT @BUFFER=@border.BufferWithTolerance(0.1, @reduceFactor, 0)&lt;br /&gt; --SELECT @BUFFER=@border.BufferWithTolerance(0.1, 0.001, 0)&lt;br /&gt; --SELECT @BUFFER=@border.BufferWithTolerance(0.003, 0.001, 0)&lt;br /&gt; SELECT @BUFFER=@border.BufferWithTolerance(0.048, 0.001, 0)&lt;br /&gt; &lt;br /&gt; SELECT @diff=@BUFFER.STIntersection(@shapeToReduce)&lt;br /&gt; SELECT @reducedShape = @shapeToReduce.STSymDifference(@diff) &lt;br /&gt; return @reducedShape--@reducedShape&lt;br /&gt; &lt;br /&gt; -- Return the result of the function&lt;br /&gt; --RETURN &lt;@ResultVar, sysname, @Result&gt;&lt;br /&gt;&lt;br /&gt;END&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-7387828822894059293?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/7387828822894059293/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=7387828822894059293' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7387828822894059293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7387828822894059293'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/reducing-shape-function-in-sql-server.html' title='Reducing Shape Function In SQL Server 2008'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_6eGPw5sN_Wg/SvotS-WBENI/AAAAAAAAAIc/3AFEbJgVVGo/s72-c/shapeborder7.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-396052556571906817</id><published>2009-11-06T07:25:00.000-08:00</published><updated>2009-11-06T19:34:33.749-08:00</updated><title type='text'>Syntax Coloring on Blogger</title><content type='html'>&lt;pre class="c-sharp" name="code"&gt;&lt;br /&gt;String test = "hello";&lt;br /&gt;String this = "world";&lt;br /&gt;string btest = "hello";&lt;br /&gt;string bthis = "world";&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre class="sql" name="code"&gt;&lt;br /&gt;DECLARE @BLAH int&lt;br /&gt;SET @BALH = 5&lt;br /&gt;Select * from myTable where somecolumn = 'hello'&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Thanks to:&lt;br /&gt;&lt;a href="http://code.google.com/p/syntaxhighlighter/" target="_blank"&gt;SyntaxHighlighter&lt;/a&gt;&lt;br /&gt;&lt;a href="http://developertips.blogspot.com/2007/08/syntaxhighlighter-on-blogger.html" target="_blank"&gt;SyntaxHighlighter: Tips for Blogger&lt;/a&gt;, &lt;a href="http://heisencoder.net/2009/01/adding-syntax-highlighting-to-blogger.html" target="_blank"&gt;More tips&lt;/a&gt;, &lt;a href="http://yacoding.blogspot.com/2008/05/how-to-add-syntax-highlight-to-blogger.html" target="_blank"&gt;A bit more&lt;/a&gt;&lt;br /&gt;&lt;a href="https://www.google.com/accounts/ServiceLogin?service=pages&amp;continue=http%3A%2F%2Fpages.google.com%2F&amp;ltmpl=nosignups" target="_blank"&gt;Side track: Google Sites&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-396052556571906817?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/396052556571906817/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=396052556571906817' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/396052556571906817'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/396052556571906817'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/test-syntax-coloring-etc.html' title='Syntax Coloring on Blogger'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-894134034544131775</id><published>2009-11-05T17:38:00.000-08:00</published><updated>2009-11-05T17:41:39.109-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio tips'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Visual Studio 2010 Overview</title><content type='html'>&lt;object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="512" height="384"&gt;&lt;br /&gt;&lt;param name="source" value="http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap" /&gt;&lt;br /&gt;&lt;param name="initParams" value="deferredLoad=true,duration=0,m=http://ecn.channel9.msdn.com/o9/learn/videos/VS2010-Overview-WhatsNewVS2010/VS2010-Overview-WhatsNewVS2010_kit.wmv,autostart=false,autohide=true,showembed=true, thumbnail=http://channel9.msdn.com/App_Themes/default/vp09_10_20.xap, postid=500754" /&gt;&lt;br /&gt;&lt;param name="background" value="#00FFFFFF" /&gt;&lt;br /&gt;&lt;a href="http://go.microsoft.com/fwlink/?LinkID=124807" style="text-decoration: none;"&gt;&lt;br /&gt;&lt;img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none"/&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://channel9.msdn.com/learn/courses/VS2010/" target="_blank"&gt;Visual Studio 2010 and .NET Framework 4 Training Course&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-894134034544131775?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/894134034544131775/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=894134034544131775' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/894134034544131775'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/894134034544131775'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/visual-studio-2010-overview.html' title='Visual Studio 2010 Overview'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-246374977391245795</id><published>2009-11-04T21:43:00.000-08:00</published><updated>2009-11-05T17:58:32.405-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='spatial'/><title type='text'>Trimming Spatial Fat</title><content type='html'>I had some map data from a 3rd party that wasn't quite correct. Region boundaries where overlapping. This made my query of finding regions within regions come back with bad results. I thought if I could reduce the region polygon by some factor, that it would help avoid picking up the subtley overlapping regions. I was looking for a STShrinkShape(int factor) function but couldn't see anything. If someone knows of a better way, I would appreciate the enlightenment. Here is how I did it:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;1. Identify polygon and it's boundary. In this example I create a point and buffer it to create a polygon.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;DECLARE @g geometry&lt;br /&gt;DECLARE @h geometry&lt;br /&gt;DECLARE @border geometry&lt;br /&gt;DECLARE @BUFFER geometry&lt;br /&gt;&lt;br /&gt;SET @g = geometry::STGeomFromText('POINT(0 0)', 0);&lt;br /&gt;SELECT @g.BufferWithTolerance(1, .5, 0).ToString();&lt;br /&gt;SELECT @h=@g.BufferWithTolerance(1, .5, 0)&lt;br /&gt;&lt;br /&gt;SELECT @h as h&lt;br /&gt;&lt;br /&gt;SELECT @border = @h.STBoundary()&lt;br /&gt;SELECT @border as border&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvJmpj1U45I/AAAAAAAAAFM/8WxXl9kXO9A/s1600-h/spatialTrim1.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 172px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5400491767350223762" border="0" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvJmpj1U45I/AAAAAAAAAFM/8WxXl9kXO9A/s320/spatialTrim1.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2. Add a buffer, with some buffer factor, around the border and create a new shape. The the inner part of this buffer is going to get subtracted from the original polygon/shape.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;SELECT @BUFFER=@border.BufferWithTolerance(0.1, 0.001, 0)&lt;br /&gt;&lt;br /&gt;SELECT @border as border&lt;br /&gt;union all&lt;br /&gt;SELECT @BUFFER as test&lt;br /&gt;&lt;br /&gt;SELECT @BUFFER as test&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvJmwny1C3I/AAAAAAAAAFU/ZxNk5hbSIuc/s1600-h/spatialTrim2.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 166px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5400491888672574322" border="0" alt="" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SvJmwny1C3I/AAAAAAAAAFU/ZxNk5hbSIuc/s320/spatialTrim2.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. Identify the polygon/shape of the inner part of the buffer by getting the polygon that intersect the buffer and the original shape.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;SELECT @BUFFER as test&lt;br /&gt;union all&lt;br /&gt;select @h as h&lt;br /&gt;&lt;br /&gt;declare @diff geometry&lt;br /&gt;SELECT @diff=@BUFFER.STIntersection(@h)&lt;br /&gt;select @diff as diff&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SvJm8PExK_I/AAAAAAAAAFc/FCDPHtHUTzs/s1600-h/spatialTrim3.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 167px; DISPLAY: block; HEIGHT: 320px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5400492088195361778" border="0" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SvJm8PExK_I/AAAAAAAAAFc/FCDPHtHUTzs/s320/spatialTrim3.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. Subtract this overlapping polygon from the original shape and we get our desired results.&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;SELECT @h.STSymDifference(@diff) as blah&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SvJnVhP34tI/AAAAAAAAAFs/7rfxOObHBpk/s1600-h/spatialTrim5.jpg"&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 316px; DISPLAY: block; HEIGHT: 306px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5400492522570506962" border="0" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SvJnVhP34tI/AAAAAAAAAFs/7rfxOObHBpk/s320/spatialTrim5.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb933960.aspx" target="_blank"&gt;OGC Methods on Geometry Instances&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-246374977391245795?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/246374977391245795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=246374977391245795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/246374977391245795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/246374977391245795'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/11/trimming-spatial-fat.html' title='Trimming Spatial Fat'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6eGPw5sN_Wg/SvJmpj1U45I/AAAAAAAAAFM/8WxXl9kXO9A/s72-c/spatialTrim1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-301089162887763321</id><published>2009-10-31T05:47:00.000-07:00</published><updated>2009-10-31T10:20:29.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><title type='text'>My 1907FPC Dell LCD Monitor Power Button Broke</title><content type='html'>I moved over seas a while ago and you know how things go when you move.  Something always breaks.  After I unpacked and setup my computer, I pressed the power button on one of my monitors and it didn't spring back.  It turned on, but it didn't feel right.  Several months later it broke and I couldn't turn my monitor on or off.&lt;br /&gt;&lt;br /&gt;I knew the monitor worked, but the button didn't.  Determined to fix it, I Googled &lt;a href="http://www.google.com/search?hl=en&amp;amp;safe=off&amp;amp;q=how+to+take+apart+a+dell+1907+fpc+lcd+monitor&amp;amp;aq=f&amp;amp;oq=&amp;amp;aqi=" target="_blank"&gt;"how to take apart a dell 1907 fpc lcd monitor"&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To my surprise I wasn't the only victim.  In fact my Google search had nothing to do with a broken power button, but it came up on the &lt;a href="http://en.community.dell.com/forums/t/18671898.aspx" target="_blank"&gt;Dell Forum&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After reading a few blogs I came up the a hybrid solution:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Opening the monitor's case:&lt;/strong&gt;&lt;ol&gt;&lt;li&gt;Unplugged the power cable and remove the video cable.&lt;/li&gt;&lt;br /&gt;&lt;img id="BLOGGER_PHOTO_ID_5398787731861968210" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SuxY1o9elVI/AAAAAAAAACk/bIpo5JvOe3s/s320/77.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Remove the monitor from the mount or the stand. &lt;/li&gt;&lt;br /&gt;&lt;img id="Img1" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SuxZAdjphqI/AAAAAAAAACs/FvqgAr9G78A/s320/76.jpg" border="0" /&gt; &lt;br /&gt;&lt;br /&gt;&lt;li&gt;Remove 4 screws found after removing from the stand. &lt;/li&gt;&lt;br /&gt;&lt;img id="Img2" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/Suxe344ZP6I/AAAAAAAAAC8/fRrBZGus6jM/s320/45.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img3" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SuxeXrJb0sI/AAAAAAAAAC0/86kNTNaMkFI/s320/26.jpg" border="0" /&gt; &lt;br /&gt;&lt;br /&gt;&lt;li&gt;Gently pry the front casing of the screen w by using a small flat head screw driver or wood chisel. Be careful, the buttons are connected to the front case by a thin wire that is screwed on to the front case. &lt;/li&gt;&lt;br /&gt;&lt;img id="Img4" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SuxX9M1rZaI/AAAAAAAAACE/T8CXF2ubmBk/s320/52.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img5" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SuxYg14kU7I/AAAAAAAAACU/xuekTHXg_3I/s320/50.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img6" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SuxYqSo5PAI/AAAAAAAAACc/bGgPRlgMQKo/s320/53.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img7" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SuxYIEwNkfI/AAAAAAAAACM/aL2xsoNPQWw/s320/48.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Remove 5 screws and remove the buttons and button circuit.&lt;/li&gt;&lt;br /&gt;&lt;img id="Img8" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/Suxhg78w27I/AAAAAAAAADE/x9UaFZS4uzw/s320/5.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img9" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/Suxo0NLlYyI/AAAAAAAAAE8/dza3QtCwzSQ/s320/79.jpg" border="0" /&gt; &lt;br /&gt;&lt;img id="Img10" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/Suxhwd7H8II/AAAAAAAAADU/4wkUprlgIsk/s320/32.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img11" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/Suxj_lFRc_I/AAAAAAAAADk/fPZXiL5axmQ/s320/8.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img12" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SuxkG6YoeLI/AAAAAAAAADs/d9uOH9bVRhI/s320/23.jpg" border="0" /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Solution:&lt;/strong&gt;&lt;ol&gt;&lt;li&gt;Take the front casing and drill a 3/32 hole just left to where the power button is.&lt;/li&gt;&lt;br /&gt;&lt;img id="Img13" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SuxklpfpVLI/AAAAAAAAAD0/a9kD4KT8KBQ/s320/20.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img14" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/Suxk-e8KvLI/AAAAAAAAAEE/7Ax-GSOB8hE/s320/21.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img15" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SuxktpkcmuI/AAAAAAAAAD8/SvjjdlvnHAs/s320/11.jpg" border="0" /&gt;&lt;br /&gt;&lt;img id="Img16" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/SuxlPzRwVlI/AAAAAAAAAEM/4NtzIVcSA4I/s320/39.jpg" border="0" /&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Reassemble monitor:&lt;/strong&gt;&lt;ol&gt;&lt;li&gt;To make it easier to screw in the 5 tiny screw, remove back case from the LCD monitor, by simply sliding it out. &lt;/li&gt;&lt;br /&gt;&lt;img id="Img17" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SuxXOkKMLtI/AAAAAAAAAB8/XDF5q62QA-0/s320/4.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;You will notice where the cable for the button circuit is being held in place by the case. Try to slide the cable out to give you more wiggle room for screwing the 5 tiny screws back into the front case. &lt;/li&gt;&lt;br /&gt;&lt;img id="Img18" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/SuxnYlJ27vI/AAAAAAAAAEc/uZ3nd2JBU34/s320/10.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Put the buttons back in and put the button circuit board over the buttons the screw the 5 screws into place, and tuck the cable back in to the case.&lt;/li&gt; &lt;br /&gt;&lt;img id="Img19" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 240px; CURSOR: hand; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://1.bp.blogspot.com/_6eGPw5sN_Wg/SuxoEuOIXGI/AAAAAAAAAEk/TkoPcKBQDaQ/s320/7.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;Slide the screen and front case into the back case. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Screw in the four screws in the back. &lt;/li&gt;&lt;br /&gt;&lt;li&gt;Snap the front case into the back case.&lt;/li&gt;&lt;br /&gt;&lt;img id="Img20" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_6eGPw5sN_Wg/SuxoSDS9UfI/AAAAAAAAAEs/PaDniE5v9CY/s320/54.jpg" border="0" /&gt;&lt;/li&gt;&lt;li&gt;Remount the monitor on the stand and plug in the cables.&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;Using a flat-ended toothpick , sawed-off Q-Tip, stylus, or even a new button.  You now have a hole where you can turn your monitor on.    &lt;br /&gt;&lt;br /&gt;&lt;img id="Img21" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://3.bp.blogspot.com/_6eGPw5sN_Wg/Suxo9kV2vAI/AAAAAAAAAFE/ZpZ4KL2N-nY/s320/71.jpg" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Spend 20 minutes and save $400+.&lt;br /&gt;&lt;br /&gt;&lt;img id="Img22" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 320px; CURSOR: hand; HEIGHT: 240px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_6eGPw5sN_Wg/Suxoga5GNMI/AAAAAAAAAE0/zBx-StpbUD0/s320/74.jpg" border="0" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-301089162887763321?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/301089162887763321/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=301089162887763321' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/301089162887763321'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/301089162887763321'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/10/my-1907fpc-dell-lcd-monitor-power.html' title='My 1907FPC Dell LCD Monitor Power Button Broke'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_6eGPw5sN_Wg/SuxY1o9elVI/AAAAAAAAACk/bIpo5JvOe3s/s72-c/77.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8964627508708892935</id><published>2009-10-01T19:53:00.000-07:00</published><updated>2009-10-06T22:28:53.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='google base api'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Google Base API - Insert a Housing Entry via a Batch Feed</title><content type='html'>I've been looking for a straight forward .Net example on how to upload a "Housing" item entry via a batch in the Google Base API, but to no avail. Mind you this is for Australia, so the required attributes are a bit different for the United States. After talking with someone at Google, we got it sorted out. Here's my example:&lt;pre&gt;&lt;span style="color:#66ff99;"&gt;&lt;br /&gt;using Google.GData.Client;&lt;br /&gt;using Google.GData.GoogleBase;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static class GoogleBaseFacade&lt;br /&gt;{&lt;br /&gt;     private static GBaseService service;&lt;br /&gt;&lt;br /&gt;     private static void Connect()&lt;br /&gt;     {&lt;br /&gt;          if (service == null)&lt;br /&gt;          {&lt;br /&gt;               service = new GBaseService("TEST - Homes for Sale", &amp;lt;google key&amp;gt;);&lt;br /&gt;               service.setUserCredentials(&amp;lt;login&amp;gt;, &amp;lt;password&amp;gt;);&lt;br /&gt;               service.NewAtomEntry += new FeedParserEventHandler(service_NewAtomEntry);&lt;br /&gt;          }&lt;br /&gt;     }&lt;br /&gt;&lt;br /&gt;     static void service_NewAtomEntry(object sender, FeedParserEventArgs e)&lt;br /&gt;        {&lt;br /&gt;            if (e.Feed != null &amp;amp;&amp;amp; e.Feed.Entries != null &amp;amp;&amp;amp; e.Feed.Entries.Count &gt; 0)&lt;br /&gt;            {&lt;br /&gt;                foreach (AtomEntry entry in e.Feed.Entries)&lt;br /&gt;                {&lt;br /&gt;                    if (entry.BatchData != null)&lt;br /&gt;                    {&lt;br /&gt;                        Console.WriteLine("New Entry STATUS CODE: " + entry.BatchData.Status.Code.ToString());&lt;br /&gt;                    }&lt;br /&gt;                    else if (entry.Id != null &amp;amp;&amp;amp; entry.Id.Uri != null)&lt;br /&gt;                    {&lt;br /&gt;&lt;br /&gt;                        Console.WriteLine("New Entry URI: " + entry.Id.Uri);&lt;br /&gt;                    }&lt;br /&gt;                    else&lt;br /&gt;                    {&lt;br /&gt;                        Console.WriteLine("New Entry ???");&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            else&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine("No Feed or Entries in feed.  Possible single entry");&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;     public static void AddAHome()&lt;br /&gt;     {&lt;br /&gt;          Connect();&lt;br /&gt;          //create an entry&lt;br /&gt;          GBaseEntry entry = new GBaseEntry();&lt;br /&gt;          AtomPerson author = new AtomPerson(AtomPersonType.Author,"James Smith");&lt;br /&gt;          author.Email="jamessmith@example.com";&lt;br /&gt;          entry.Authors.Add(author);&lt;br /&gt;          entry.GBaseAttributes.AddTextAttribute("target_country", "AU");&lt;br /&gt;          entry.GBaseAttributes.ItemType = "Housing";&lt;br /&gt;          entry.GBaseAttributes.AddNumberAttribute("bathrooms", 2);&lt;br /&gt;          entry.GBaseAttributes.AddNumberAttribute("bedrooms", 3);&lt;br /&gt;          entry.GBaseAttributes.AddTextAttribute("description", "A fantastic underground house.");&lt;br /&gt;          entry.Links.Add(new AtomLink("http://www.velociraptorz.org"));&lt;br /&gt;          entry.GBaseAttributes.AddTextAttribute("listing_type", "residential for sale");&lt;br /&gt;          entry.GBaseAttributes.AddNumberAttribute("price", 1200000);&lt;br /&gt;          entry.GBaseAttributes.AddTextAttribute("property_type", "house");&lt;br /&gt;          entry.GBaseAttributes.Location = "1 Market St, Sydney, NSW, 2000";&lt;br /&gt;          entry.Title.Text = "A safe haven, underground.";&lt;br /&gt;          entry.BatchData = new GDataBatchEntryData("blahblah", GDataBatchOperationType.insert);&lt;br /&gt;          entry.BatchData.Id = "batch1234";&lt;br /&gt;&lt;br /&gt;          AtomFeed batchFeed = new AtomFeed(GBaseUriFactory.Default.ItemsFeedUri, service);&lt;br /&gt;          batchFeed.Entries.Add(entry);&lt;br /&gt;&lt;br /&gt;          GBaseFeed returnFeed = service.Batch(batchFeed, GBaseUriFactory.Default.ItemsFeedBatchUri) as GBaseFeed;&lt;br /&gt;     }&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Here are some useful links: &lt;ul&gt;&lt;li&gt;&lt;a href="http://www.google.com/base/"&gt;Google Base Home&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.google.com/base/api/demo/html/demo.html"&gt;Interactive Google Base data API Demo&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://base.google.com/support/bin/answer.py?answer=66779&amp;hl=en_AU"&gt;Google Base Attribute List (for AU)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://maps.google.com.au/help/maps/realestate/"&gt;Google Realestate (for AU)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://base.google.com/support/bin/answer.py?answer=61118&amp;hl=en_AU"&gt;Google Housing Item Policy (for AU)&lt;/a&gt;, currently doesn't exist...hence why Housing entries are not being approved&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://base.google.com/support/bin/answer.py?answer=66779&amp;hl=en_US"&gt;Google Base Attribute List (for US)&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://maps.google.com/help/maps/realestate/"&gt;Google Realestate(for US)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://base.google.com/support/bin/answer.py?answer=61118&amp;hl=en_US"&gt;Google Housing Item Policy (for US)&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;!--Part of the problem was there was no correct documentation for the "Listing Type" here is what I got from Google:&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#c0c0c0;"&gt;listing_type&lt;br /&gt;The type of transaction for this listing.&lt;br /&gt;&lt;br /&gt;Format:&lt;br /&gt;&lt;br /&gt;Text. Value must be one of:&lt;br /&gt;&lt;/span&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;span style="color:#c0c0c0;"&gt;residential for rent&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:#c0c0c0;"&gt;residential for sale&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:#c0c0c0;"&gt;commercial for sale&lt;br /&gt;&lt;/span&gt;&lt;li&gt;&lt;span style="color:#c0c0c0;"&gt;commercial for lease&lt;br /&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#c0c0c0;"&gt;Tab-delimited example:&lt;br /&gt;&lt;br /&gt;residential for sale&lt;br /&gt;&lt;br /&gt;XML example:&lt;br /&gt;&lt;br /&gt;&amp;lt;g:listing_type&amp;gt;residential for sale&amp;lt;/g:listing_type&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;--&gt;&lt;br /&gt;&lt;br /&gt;I hope this helps someone.&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8964627508708892935?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8964627508708892935/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8964627508708892935' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8964627508708892935'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8964627508708892935'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/10/google-base-api-insert-house-listing.html' title='Google Base API - Insert a Housing Entry via a Batch Feed'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-188122296631217463</id><published>2009-09-29T19:44:00.000-07:00</published><updated>2009-09-29T19:57:51.278-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='air'/><title type='text'>Install Badge and AIR MIME</title><content type='html'>I just ran into an issue with installing the Install Badge to allow people to people to download and install my new Weather Widget AIR application. When you click on the Install Badge, you get a #2032 Error. As it turns out there could be due to two issues (there maybe others, but check these first): &lt;ol&gt;&lt;li&gt;missing the MIME type on the webserver&lt;/li&gt;&lt;li&gt;didn't provide the full url for the AIR file in the badge's flashVars&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;Here is the MIME value and extension:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Value: &lt;span style="color:#66ffff;"&gt;application/vnd.adobe.air-applicationinstaller-package+zip&lt;/span&gt;&lt;/li&gt;&lt;li&gt;Extension: &lt;span style="color:#66ffff;"&gt;.air&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks goes out to Google (for finding these guys), &lt;a href="http://blogs.adobe.com/ashutosh/2009/02/setting_the_correct_mime_type.html"&gt;Josh Buhler&lt;/a&gt;, and &lt;a href="http://blog.joshbuhler.com/2008/06/30/air-installer-badge-error-2032/"&gt;Ashutosh Sharma&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-188122296631217463?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/188122296631217463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=188122296631217463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/188122296631217463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/188122296631217463'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/install-badge-and-air-mime.html' title='Install Badge and AIR MIME'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-362904856326650866</id><published>2009-09-28T20:19:00.000-07:00</published><updated>2009-09-28T20:34:55.595-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Flex Resources</title><content type='html'>Here are some good resources for Flex:&lt;ul&gt;&lt;li&gt;&lt;a href="http://blogs.adobe.com/flexdoc/"&gt;Flex Doc&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://labs.adobe.com/"&gt;Adobe Labs&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/"&gt;ActionScript 3.0&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://blog.papervision3d.org/"&gt;papervision3d&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;Others:&lt;ul&gt;&lt;li&gt;&lt;a href="http://lab.andre-michelle.com/"&gt;Andre Michelle's Lab&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blog.andre-michelle.com/2007/lack-of-information-about-flex-compiler/"&gt;Andre Michelle's Blog&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://labs.influxis.com/"&gt;influxis&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-362904856326650866?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/362904856326650866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=362904856326650866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/362904856326650866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/362904856326650866'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/flex-resources.html' title='Flex Resources'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-2341444643679542682</id><published>2009-09-28T19:49:00.000-07:00</published><updated>2009-09-28T20:12:00.631-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><title type='text'>Get Date and Time from the DateTime in SQL Server</title><content type='html'>Have you wanted to create a where clause the brings back all records for a given date? More specifically, today's date?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="color:#99ff99;"&gt;SELECT * FROM [database].[dbo].[myTable] Where Convert(varchar(8),CreatedDate,112) = Convert(varchar(8),getdate(),112)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;For a date range you can use the &lt;span style="color:#33ffff;"&gt;between&lt;/span&gt; key word:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;&lt;span style="color:#99ff99;"&gt;SELECT * FROM myTable WHERE createdate BETWEEN '2001-01-01' AND '2021-12-31'&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;or records for the last 5 days:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;span style="color:#99ff99;"&gt;SELECT * FROM [database].[dbo].[myTable] Where CreatedDate BETWEEN&lt;/span&gt; &lt;span style="color:#33ff33;"&gt;getdate&lt;/span&gt;&lt;span style="color:#99ff99;"&gt;()-5 AND&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#33ff33;"&gt;getdate&lt;/span&gt;&lt;span style="color:#99ff99;"&gt;()&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;To extract the time from a &lt;span style="color:#33ffff;"&gt;datetime&lt;/span&gt; value you can do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;span style="color:#99ff99;"&gt;declare @time datetime&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#99ff99;"&gt;set @time=&lt;/span&gt;&lt;span style="color:#33ff33;"&gt;CONVERT&lt;/span&gt;&lt;span style="color:#99ff99;"&gt;(varchar(8),&lt;/span&gt; &lt;/span&gt;&lt;span style="color:#33ff33;"&gt;GETDATE&lt;/span&gt;&lt;span style="color:#99ff99;"&gt;(), 108)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sql.ru/faq/faq_topic.aspx?fid=110" target="_blank"&gt;Thanks to Dankov&lt;/a&gt; for the time and date extraction code.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-2341444643679542682?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/2341444643679542682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=2341444643679542682' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2341444643679542682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2341444643679542682'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/get-date-and-time-from-datetime-in-sql.html' title='Get Date and Time from the DateTime in SQL Server'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8870943743033905103</id><published>2009-09-24T15:50:00.000-07:00</published><updated>2009-09-24T16:17:53.902-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><title type='text'>Looking For a Table or Stored Procedure in a Database</title><content type='html'>While I've designed a lot of databases, I've maintained even more. Often databases have hundreds of tables and thousands of stored procedures. Some company's have good naming conventions and others get a glazed look when you mention naming conventions. When trying to find a stored procedure that no one knows the name of, but know it has a variable called &lt;em&gt;&lt;span style="color:#66ffff;"&gt;@UserName&lt;/span&gt; &lt;/em&gt;in it, can be quite a daunting task. It be nice if there was a way to query the text of the stored procedure for &lt;em&gt;&lt;span style="color:#66ffff;"&gt;@UserName&lt;/span&gt;&lt;/em&gt; (we are using a database after all). Well you can. Here is the code:&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Template:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;&lt;span style="color:#66ffff;"&gt;SELECT sc.[id], sc.[text], so.[name]&lt;br /&gt;FROM dbo.syscomments sc&lt;br /&gt;INNER JOIN dbo.sysobjects so&lt;br /&gt;ON sc.[id] = so.[id]&lt;br /&gt;WHERE [Text] LIKE '%&lt;span style="color:#3366ff;"&gt;query text&lt;query&gt;&lt;text&gt;&lt;/span&gt;%'&lt;br /&gt;ORDER BY so.[Name]&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Example:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ffff;"&gt;SELECT sc.[id], sc.[text], so.[name]&lt;br /&gt;FROM dbo.syscomments sc&lt;br /&gt;INNER JOIN dbo.sysobjects so&lt;br /&gt;ON sc.[id] = so.[id]&lt;br /&gt;WHERE [Text] LIKE &lt;a href="mailto:"&gt;&lt;span style="color:#66ffff;"&gt;'%&lt;/span&gt;&lt;span style="color:#3366ff;"&gt;@UserName&lt;/span&gt;&lt;span style="color:#66ffff;"&gt;%'&lt;/span&gt;&lt;/a&gt;&lt;span style="color:#66ffff;"&gt;&lt;br /&gt;&lt;/span&gt;ORDER BY so.[Name]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8870943743033905103?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8870943743033905103/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8870943743033905103' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8870943743033905103'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8870943743033905103'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/looking-for-table-or-stored-procedure.html' title='Looking For a Table or Stored Procedure in a Database'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-7180564732568293357</id><published>2009-09-10T07:05:00.001-07:00</published><updated>2010-07-31T07:07:14.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='music'/><title type='text'>GrooveShark Widget</title><content type='html'>&lt;object height="150" width="346"&gt;&lt;param name="movie" value="http://listen.grooveshark.com/widget.swf"&gt;&lt;param name="wmode" value="window"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;param name="flashvars" value="hostname=cowbell.grooveshark.com&amp;amp;widgetID=15093041&amp;amp;style=metal&amp;amp;bbg=cfcfcf&amp;amp;bfg=b8e1f0&amp;amp;bt=96a4b0&amp;amp;bth=cfcfcf&amp;amp;pbg=96a4b0&amp;amp;pbgh=b8e1f0&amp;amp;pfg=cfcfcf&amp;amp;pfgh=96a4b0&amp;amp;si=96a4b0&amp;amp;lbg=96a4b0&amp;amp;lbgh=b8e1f0&amp;amp;lfg=cfcfcf&amp;amp;lfgh=96a4b0&amp;amp;sb=96a4b0&amp;amp;sbh=b8e1f0&amp;amp;p=0"&gt;&lt;br /&gt;     &lt;embed src="http://listen.grooveshark.com/widget.swf" type="application/x-shockwave-flash" width="346" height="150" flashvars="hostname=cowbell.grooveshark.com&amp;widgetID=15093041&amp;style=metal&amp;bbg=cfcfcf&amp;bfg=b8e1f0&amp;bt=96a4b0&amp;bth=cfcfcf&amp;pbg=96a4b0&amp;pbgh=b8e1f0&amp;pfg=cfcfcf&amp;pfgh=96a4b0&amp;si=96a4b0&amp;lbg=96a4b0&amp;lbgh=b8e1f0&amp;lfg=cfcfcf&amp;lfgh=96a4b0&amp;sb=96a4b0&amp;sbh=b8e1f0&amp;p=0" allowscriptaccess="always" wmode="window"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-7180564732568293357?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/7180564732568293357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=7180564732568293357' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7180564732568293357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7180564732568293357'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/grooveshark-widget.html' title='GrooveShark Widget'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5279193266658632978</id><published>2009-09-02T20:42:00.002-07:00</published><updated>2009-09-02T20:50:09.044-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Pratical Use</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/P9KPJlA5yds&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/P9KPJlA5yds&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5279193266658632978?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5279193266658632978/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5279193266658632978' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5279193266658632978'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5279193266658632978'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-pratical-use.html' title='Augmented Reality - Pratical Use'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5772768296152434981</id><published>2009-09-02T20:42:00.001-07:00</published><updated>2009-09-02T20:50:16.035-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Interactive Models and Games</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/enXTKvhE7yk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/enXTKvhE7yk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5772768296152434981?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5772768296152434981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5772768296152434981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5772768296152434981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5772768296152434981'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-interactive-models.html' title='Augmented Reality - Interactive Models and Games'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5412035155403174962</id><published>2009-09-02T20:41:00.004-07:00</published><updated>2009-09-02T20:50:22.428-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Serious Costumes 2</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/pO22yqlIDFk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/pO22yqlIDFk&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5412035155403174962?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5412035155403174962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5412035155403174962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5412035155403174962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5412035155403174962'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-serious-costumes-2.html' title='Augmented Reality - Serious Costumes 2'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-298481767518154106</id><published>2009-09-02T20:41:00.003-07:00</published><updated>2009-09-02T20:50:32.788-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Serious Costumes</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/UCIjFatU2l8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/UCIjFatU2l8&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-298481767518154106?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/298481767518154106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=298481767518154106' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/298481767518154106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/298481767518154106'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-serious-costumes.html' title='Augmented Reality - Serious Costumes'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-9057190210707388966</id><published>2009-09-02T20:41:00.001-07:00</published><updated>2009-09-02T20:50:41.059-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Fun Costumes</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/i_bZNVmhJ2o&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/i_bZNVmhJ2o&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-9057190210707388966?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/9057190210707388966/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=9057190210707388966' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/9057190210707388966'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/9057190210707388966'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-fun-costumes.html' title='Augmented Reality - Fun Costumes'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3638175694277535763</id><published>2009-09-02T20:35:00.000-07:00</published><updated>2009-09-02T20:50:49.465-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><title type='text'>Augmented Reality - Fun</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/3bW9Xgm7fj0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/3bW9Xgm7fj0&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3638175694277535763?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3638175694277535763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3638175694277535763' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3638175694277535763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3638175694277535763'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/augmented-reality-fun.html' title='Augmented Reality - Fun'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-628222227398206853</id><published>2009-09-02T07:54:00.000-07:00</published><updated>2010-08-01T19:12:15.904-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Weather Widget Enhanced</title><content type='html'>&lt;embed src="http://www.dripcode.com/playground/wc/weatherWidget_Flex.swf" quality="high" bgcolor="#ffffff" width="430" height="270" &gt;&lt;br /&gt;       &lt;/embed&gt;&lt;ol&gt;&lt;br /&gt;        &lt;li&gt; displays weather for more than one city&lt;/li&gt;&lt;br /&gt;        &lt;li&gt; saves application state using sharedobjects&lt;/li&gt;&lt;br /&gt;       &lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;created by John Roth &lt;br /&gt;&lt;br /&gt;see &lt;a href="http://www.dripcode.com"&gt;www.dripcode.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-628222227398206853?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/628222227398206853/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=628222227398206853' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/628222227398206853'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/628222227398206853'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/09/weather-widget-enhanced.html' title='Weather Widget Enhanced'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3557270237425102239</id><published>2009-08-20T07:27:00.000-07:00</published><updated>2009-08-20T07:28:28.947-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='cool technologies'/><title type='text'>Wind Creatures</title><content type='html'>&lt;object width="446" height="326"&gt;&lt;param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="wmode" value="transparent"&gt;&lt;/param&gt;&lt;param name="bgColor" value="#ffffff"&gt;&lt;/param&gt; &lt;param name="flashvars" value="vu=http://video.ted.com/talks/embed/TheoJansen_2007-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TheoJansen-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=162" /&gt;&lt;embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/TheoJansen_2007-embed_high.flv&amp;su=http://images.ted.com/images/ted/tedindex/embed-posters/TheoJansen-2007.embed_thumbnail.jpg&amp;vw=432&amp;vh=240&amp;ap=0&amp;ti=162"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3557270237425102239?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3557270237425102239/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3557270237425102239' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3557270237425102239'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3557270237425102239'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/08/wind-creatures.html' title='Wind Creatures'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-2030738707117001627</id><published>2009-08-12T20:18:00.000-07:00</published><updated>2009-08-20T07:44:02.481-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><title type='text'>Behind Flex Effects</title><content type='html'>&lt;embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="500" height="321" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashVars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzA5Ni5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&amp;w=500&amp;t=http://tv.adobe.com/vi+f1472v1060&amp;h=321"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanks to &lt;a href="http://tv.adobe.com/#"&gt;Adobe TV&lt;/a&gt; and &lt;a href="http://graphics-geek.blogspot.com/2009/03/video-flex-3-effects.html"&gt;Codedependent&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-2030738707117001627?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/2030738707117001627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=2030738707117001627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2030738707117001627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/2030738707117001627'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/08/behind-flex-effects.html' title='Behind Flex Effects'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1111102676696500694</id><published>2009-08-10T08:53:00.000-07:00</published><updated>2010-08-01T19:12:44.604-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='flex'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Weather Widget</title><content type='html'>&lt;embed src="http://www.dripcode.com/playground/wc/WheatherChannelFlex.swf" quality="high" bgcolor="#ffffff" width="305" height="270" &gt;&lt;br /&gt;                  &lt;br /&gt;&lt;br /&gt;          &lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;created by John Roth &lt;br /&gt;&lt;br /&gt;see &lt;a href="http://www.dripcode.com"&gt;www.dripcode.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1111102676696500694?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1111102676696500694/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1111102676696500694' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1111102676696500694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1111102676696500694'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/08/weather-widget.html' title='Weather Widget'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3371591935136163196</id><published>2009-07-28T17:51:00.000-07:00</published><updated>2009-08-10T16:19:45.424-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Testing Live ASMX Webservices Using the Protocols Tag in Your Web.config</title><content type='html'>&lt;pre&gt;&lt;br /&gt;&amp;lt;system.web&amp;gt;&lt;br /&gt;      &amp;lt;webServices&amp;gt;&lt;br /&gt;            &amp;lt;protocols&amp;gt;&lt;br /&gt;                  &amp;lt;add name="HttpGet"/&amp;gt;&lt;br /&gt;                  &amp;lt;add name="HttpPost"/&amp;gt;&lt;br /&gt;            &amp;lt;/protocols&amp;gt;&lt;br /&gt;      &amp;lt;/webServices&amp;gt;&lt;br /&gt;&lt;br /&gt;      .&lt;br /&gt;      .&lt;br /&gt;      .&lt;br /&gt;&amp;lt;/system.web&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3371591935136163196?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3371591935136163196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3371591935136163196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3371591935136163196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3371591935136163196'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/07/testing-live-asmx-webservices-using.html' title='Testing Live ASMX Webservices Using the Protocols Tag in Your Web.config'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-4118452685582400105</id><published>2009-07-17T07:22:00.000-07:00</published><updated>2009-08-10T16:23:30.830-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='javascript'/><title type='text'>JavaScript Finding Your Place in a Textbox</title><content type='html'>Finding the location of the cursor in a texbox is straight forward if you only want to support one browser. There are various reasons why you will want to know the location of the cursor in a textbox. For me, it was a request to create one of those auto completion dropdown lists that suggest the word you are trying to type. While simple enough to do, the twist in the requirement was to prompt the user for each word that was entered followed by a comma.  That is to say make a suggestion for Aspley if the user types "Asp" and also make a suggestion for Toowomba if the text string is "Aspley, Too".  In-other-words, I had to know the location of the cursor in order to suggest the correct city name in Queensland, Australia.&lt;br /&gt;&lt;br /&gt;Here is my solutions:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;function getposition(txt1)&lt;br /&gt;{&lt;br /&gt;     try  //ie&lt;br /&gt;     {&lt;br /&gt; var position=0;&lt;br /&gt;        var currentRange=document.selection.createRange();&lt;br /&gt;        var workRange=currentRange.duplicate();&lt;br /&gt;&lt;br /&gt;        txt1.select();  &lt;br /&gt;&lt;br /&gt;        var allRange=document.selection.createRange();&lt;br /&gt;  &lt;br /&gt;        while(workRange.compareEndPoints("StartToStart",allRange)&gt;0)     &lt;br /&gt;        {       &lt;br /&gt;            workRange.moveStart("character",-1);&lt;br /&gt;            position++;     &lt;br /&gt;        }&lt;br /&gt;                &lt;br /&gt;        currentRange.select();&lt;br /&gt; return position;&lt;br /&gt;     }&lt;br /&gt;     catch(Err) //firefox&lt;br /&gt;     {&lt;br /&gt;        return txt1.selectionStart;&lt;br /&gt;     }&lt;br /&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;Usage:&lt;br /&gt;&lt;span style="color:#3333ff;"&gt;var&lt;/span&gt; cursorPosition = GetPosition(document.getElementById(&lt;span style="color:#990000;"&gt;'&amp;lt;%= txtTextBoxNameInASPdotNET.ClientID %&amp;gt;'&lt;/span&gt;));&lt;br /&gt;&lt;br /&gt;&lt;i&gt;&lt;br /&gt;&lt;br /&gt;Note: To get an element's id in JavaScript from an ASP.net control use the following javascript and inline asp.net code:&lt;br /&gt;&lt;span style="color:#3366ff;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;br /&gt;&lt;i&gt;&lt;span style="color:#3366ff;"&gt;var&lt;/span&gt; txt1=document.getElementById(&lt;span style="color:#990000;"&gt;'&amp;lt;%= [asp.net control name].ClientID %&amp;gt;'&lt;/span&gt;);&lt;br /&gt;&lt;/i&gt;&lt;i&gt;&lt;br /&gt;&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I found the following solution &lt;a href="http://alexking.org/blog/2003/06/02/inserting-at-the-cursor-using-javascript" target="_blank"&gt;here&lt;/a&gt;:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-4118452685582400105?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/4118452685582400105/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=4118452685582400105' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4118452685582400105'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/4118452685582400105'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/07/javascript-finding-your-place-in.html' title='JavaScript Finding Your Place in a Textbox'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-917276803664651681</id><published>2009-07-08T07:06:00.000-07:00</published><updated>2009-09-02T20:49:57.520-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='augmented reality'/><category scheme='http://www.blogger.com/atom/ns#' term='cool technologies'/><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'>Augmented Reality, ActionScript 3, and PaperVision 3d</title><content type='html'>&lt;p&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/NK59Beq0Sew&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/NK59Beq0Sew&amp;color1=0xb1b1b1&amp;color2=0xcfcfcf&amp;feature=player_embedded&amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;a href="http://www.libspark.org/wiki/saqoosha/FLARToolKit/en" target="_blank"&gt;FLARToolKit &lt;/a&gt;&lt;br /&gt;&lt;a href="http://blog.papervision3d.org/page/2/" target="_blank"&gt;PaperVision3d&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ge.ecomagination.com/smartgrid/?c_id=Huff#/augmented_reality" target="_blank"&gt;Demo&lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-917276803664651681?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/917276803664651681/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=917276803664651681' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/917276803664651681'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/917276803664651681'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/07/augmented-reality-actionscript-3-and.html' title='Augmented Reality, ActionScript 3, and PaperVision 3d'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-7171097037625365742</id><published>2009-05-09T04:45:00.000-07:00</published><updated>2009-08-10T16:25:34.031-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='visual studio tips'/><title type='text'>Adding a Web Reference to a Class Library in .net 3.5</title><content type='html'>Have you ever wondered how to add a Web Reference to a Class Library in .net 3.5 and Visual Studio 2008?  This is how you do it: Right click on Service References &gt; Add Service Reference &gt; Advanced... (bottom left) &gt; Add Web Reference... (bottom left again).  Very nice.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stackoverflow.com/questions/354374/consuming-a-web-reference-in-a-class-library-c-net" target="_blank"&gt;Cheers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-7171097037625365742?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/7171097037625365742/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=7171097037625365742' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7171097037625365742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/7171097037625365742'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/05/adding-web-reference-to-class-library.html' title='Adding a Web Reference to a Class Library in .net 3.5'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-742539790906611157</id><published>2009-05-06T23:43:00.000-07:00</published><updated>2009-08-10T16:25:52.804-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='asp.net'/><title type='text'>Installing an assembly (DLL)  in the GAC (Global Assembly Cache)</title><content type='html'>It's pretty easy to install an assembly (dll) in the global assembly cache (GAC).  All you do is copy it to the C:\WINDOWS\assembly folder and run gacutil /i myAssembly.dll and you're done.  There are a few things you may want to know before you do this. See links below for more details: &lt;a href="http://support.microsoft.com/kb/815808" target="_blank"&gt;more details&lt;/a&gt;,&lt;a href="http://aspalliance.com/394_Installing_an_Assembly_in_GAC.1" target="_blank"&gt;even more details&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-742539790906611157?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/742539790906611157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=742539790906611157' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/742539790906611157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/742539790906611157'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/05/installing-assembly-dll-to-gac-global.html' title='Installing an assembly (DLL)  in the GAC (Global Assembly Cache)'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-9001159761102054821</id><published>2009-05-05T07:27:00.000-07:00</published><updated>2010-07-31T07:10:35.615-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='charity'/><title type='text'>Save Darfur</title><content type='html'>&lt;a href="http://www.savedarfur.org"  target="_blank"&gt;&lt;img border="0" src="http://www.dripcode.com/images/savedarfursmall.jpg"&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://www.savedarfur.org/pages/contact/" target="_blank"&gt;SaveDarfur.org&lt;/a&gt;, lend your support by &lt;a href="http://www.savedarfur.org/pages/contact/" target="_blank"&gt;visiting them&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-9001159761102054821?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/9001159761102054821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=9001159761102054821' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/9001159761102054821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/9001159761102054821'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/05/save-darfur.html' title='Save Darfur'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1306251985360439558</id><published>2009-04-28T22:28:00.000-07:00</published><updated>2009-08-10T16:34:50.618-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>10 C# Tips</title><content type='html'>&lt;a href="http://www.dijksterhuis.org/10-c-coding-shorthands-that-improve-productivity/"&gt;10 C# Tips&lt;/a&gt; - by Martijn&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1306251985360439558?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1306251985360439558/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1306251985360439558' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1306251985360439558'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1306251985360439558'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/10-c-tips.html' title='10 C# Tips'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-6763277665180429197</id><published>2009-04-27T17:15:00.000-07:00</published><updated>2009-08-10T17:09:43.839-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>WCF, BAL, and Serializing LINQ Objects</title><content type='html'>With LINQ to SQL as an O/RM (object relational mapper) it's never been easier to  consume data in your business logic, but how do you expose these data objects through a webservice so that they can be easily consumed by an applicaton.  I've created a short video demo that show's how to create a LINQ to SQL class in a business access layer library and expose it through a WCF Webservice.&lt;br /&gt;&lt;br /&gt;Watch my &lt;a href="http://www.screencast.com/t/ZLywt4RGpzu"&gt;video&lt;/a&gt; on how to expose a LINQ to SQL Class via WCF.  &lt;br /&gt;&lt;br /&gt;&lt;object width="400" height="305"&gt; &lt;param name="movie" value="http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/jingswfplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/FirstFrame.jpg&amp;containerwidth=400&amp;containerheight=305&amp;loaderstyle=jing&amp;content=http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/2009-05-02_2250.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="base" value="http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="400" height="305" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/FirstFrame.jpg&amp;containerwidth=400&amp;containerheight=305&amp;loaderstyle=jing&amp;content=http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/2009-05-02_2250.swf" allowFullScreen="true" base="http://content.screencast.com/users/bulaboard/folders/Jing/media/4082bcd4-1ca9-4b4a-b502-6fbf6b1c3133/" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-6763277665180429197?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/6763277665180429197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=6763277665180429197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6763277665180429197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6763277665180429197'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/wcf-bal-and-serializing-linq-objects.html' title='WCF, BAL, and Serializing LINQ Objects'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-1278179210545094493</id><published>2009-04-23T20:07:00.000-07:00</published><updated>2009-09-17T17:22:29.412-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><title type='text'>SQL Server Tricks - Order By IN Order</title><content type='html'>SQL Server Tricks - Order By IN Order&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Have you ever wanted to return the rows of select statement in the order of the list you were querying IN?  Did that sentence even make sense...&lt;br /&gt;&lt;br /&gt;Here's the solutions:&lt;br /&gt;&lt;br /&gt;SELECT *&lt;br /&gt;  FROM SomeDataTable&lt;br /&gt;where someID in (5,6000,5000,1000,2)&lt;br /&gt;ORDER BY CHARINDEX( ','+Convert(varchar,someID)+',',',5,6000,5000,1000,2,' )&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;br /&gt;While this is elegant, in some situations (perhaps where indexing is not done) it is costly.  Darian Ford, a colleage of mine, found a solution from Kapil Srivastava which solves this problem:&lt;br /&gt;&lt;br /&gt;select * from publishers&lt;br /&gt;Order by (CASE City&lt;br /&gt;WHEN 'Paris'  THEN 1&lt;br /&gt;WHEN 'Chicago'  THEN 2&lt;br /&gt;WHEN 'Boston'  THEN 3&lt;br /&gt;WHEN 'New York' THEN 4&lt;br /&gt;WHEN 'Berkeley' THEN 5&lt;br /&gt;WHEN 'Dallas'  THEN 6&lt;br /&gt;ELSE 100 END) ASC,City DESC&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.eggheadcafe.com/conversation.aspx?messageid=31792141&amp;threadid=31792135"&gt;eggheadcafe&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.devx.com/tips/Tip/17288"&gt;Kapil's solution&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-1278179210545094493?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/1278179210545094493/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=1278179210545094493' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1278179210545094493'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/1278179210545094493'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/sql-server-tricks-order-by-in-order.html' title='SQL Server Tricks - Order By IN Order'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-8480580353664909520</id><published>2009-04-23T17:23:00.000-07:00</published><updated>2009-08-10T17:09:28.941-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='wcf'/><title type='text'>WCF, SOAP, JSON, and the REST of us</title><content type='html'>The more I learn about the power and flexiblity of WCF (Windows Communication Foundation) the more I like it.&lt;br /&gt;&lt;br /&gt;See this blog by Anthony Steele's &lt;a href="http://blogs.conchango.com/anthonysteele/archive/2008/03/15/rest-from-wcf-3-5.aspx"&gt;REST from WCF 3.5&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-8480580353664909520?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/8480580353664909520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=8480580353664909520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8480580353664909520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/8480580353664909520'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/wcf-soap-json-and-rest-of-us.html' title='WCF, SOAP, JSON, and the REST of us'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-6978990073315934920</id><published>2009-04-23T17:20:00.000-07:00</published><updated>2009-08-10T16:38:18.661-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Be Coded or Be Cast Out - a XMLInclude and Casting issue</title><content type='html'>&lt;strong&gt;&lt;span style="color:#ff0000;"&gt;Problem:&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;When you don't have access to the code of a class in a webservice and you inherit from that class, you can't use xmlinclude. The reason is you need to put the XMLInclude attribute on the base class.&lt;br /&gt;&lt;br /&gt;So when I pass my derived class to the webmethod, it complains.&lt;br /&gt;&lt;br /&gt;Fine no worries.  I will cast it to the base class type and that should work, right? Wrong!&lt;br /&gt;&lt;br /&gt;Objects are reference types and the variable that you are assinging the cast to, even if it's defined as the base class, in pointing to the derived class has the type of the derived class.  Even though you can only access the properties and methods of the base class at design time (makes sense since this object is declared as the base class type).  Why is this?  It's because it's a reference type.&lt;br /&gt;&lt;br /&gt;You don't believe me. Run your code in debug mode and mouse over the variable that was assigned the cast object (base class type). Reflection will show you it's the derived class, even though you just casted it to a base class.&lt;br /&gt;&lt;br /&gt;What does this mean? You can't use XMLInclude and you can't cast the derived class object to work with the webservice method.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#33ff33;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;You need to create a new instance of the base class object and copy all the properities manually (in code) from the derived class object. I put this in a method (e.g. BaseClass DerivedClass.ToBaseClass())&lt;br /&gt;&lt;br /&gt;I wish there was a better way.  If you have access to the base class and it can see the derived class definition.  All you have to do is use XMLInclude to include the derived class type.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.pluralsight.com/community/blogs/craig/archive/2004/07/08/1580.aspx"&gt;XmlInclude - Not Quite as Useless as I Thought&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-6978990073315934920?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/6978990073315934920/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=6978990073315934920' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6978990073315934920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/6978990073315934920'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/be-coded-or-be-cast-out-xmlinclude-and.html' title='Be Coded or Be Cast Out - a XMLInclude and Casting issue'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5771794179341296318</id><published>2009-04-21T00:25:00.000-07:00</published><updated>2009-08-10T16:38:34.546-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Converting One Array Type to Another - Hacking with Lambda</title><content type='html'>&lt;span style="color:#33ccff;"&gt;&lt;strong&gt;&lt;span style="color:#66ffff;"&gt;Started with this:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;&lt;span style="color:#009900;"&gt;private ResponseListing[] PopulateListings&lt;br /&gt;(ListingFindResult[] listings)&lt;br /&gt;{&lt;br /&gt;List&lt;responselisting&gt; newListings = new List&lt;responselisting&gt;();&lt;br /&gt;ResponseListing newListing;&lt;br /&gt;&lt;br /&gt;foreach (ListingFindResult listing in listings)&lt;br /&gt;{&lt;br /&gt;newListing = new ResponseListing(listing);&lt;br /&gt;newListings.Add(newListing);&lt;br /&gt;}&lt;br /&gt;return newListings.ToArray();&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#66ffff;"&gt;&lt;strong&gt;Hacked to this:&lt;/strong&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;private ResponseListing[] PopulateListings&lt;br /&gt;(ListingFindResult[] listings)&lt;br /&gt;{&lt;br /&gt;return Array.ConvertAll(listings, delegate&lt;br /&gt;(ListingServiceProxy.ListingFindResult d)&lt;br /&gt;{ return new ResponseListing(d); });&lt;br /&gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="color:#66ffff;"&gt;Final hack with lambda function:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;return Array.ConvertAll(listings, d =&gt; new ResponseListing(d));&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;For &lt;span style="color:#66ffff;"&gt;generic list&lt;/span&gt; you can do the following:&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;List&amp;lt;Pnts&amp;gt; myPoints = GetListOfMyPoints();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ff33;"&gt;List&amp;lt;Point&amp;gt; yourPoints = myPoints.ConvertAll&amp;lt;Point&amp;gt;(p =&gt; new Point(p));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Note: the constructor of Point has to be able to take and translate Pnts object&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;public static TOutput[] ConvertAll&lt;tinput,&gt;(TInput[] array, Converter&lt;tinput,&gt; converter);&lt;br /&gt;&lt;br /&gt;string[] sa2 = Array.ConvertAll(data, delegate(double d) { return d.ToString(); });&lt;br /&gt;&lt;br /&gt;string[] lambdaSA = Array.ConvertAll(data, d =&gt; d.ToString());&lt;br /&gt;&lt;br /&gt;Credit goes to Patrick Steele's Blog &lt;a href="http://weblogs.asp.net/psteele/archive/2008/12/15/loops-conversions-and-lambdas.aspx"&gt;Loops, Conversions and Lambdas&lt;/a&gt; and MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/exc45z53.aspx"&gt;Array.ConvertAll&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5771794179341296318?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5771794179341296318/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5771794179341296318' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5771794179341296318'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5771794179341296318'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/casting-array-types.html' title='Converting One Array Type to Another - Hacking with Lambda'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-48910412009718094</id><published>2009-04-19T20:17:00.000-07:00</published><updated>2009-08-10T17:12:56.503-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='t-sql'/><category scheme='http://www.blogger.com/atom/ns#' term='linq'/><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Enum, LINQ, and Lookup Tables in C#/SQL Server</title><content type='html'>Three options:&lt;br /&gt;&lt;br /&gt;1. Auto generate ENUM from a lookup table (still have to compile). Here's some helpful links:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.onedotnetway.com/enum-support-with-linq-to-sql-and-sqlmetal/"&gt;Enum Support With LINQ To SQL And SqlMetal&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://dotnet.org.za/hiltong/archive/2008/08/06/using-enums-with-linq-to-sql.aspx"&gt;Using Enums With LINQ To SQL&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;&lt;a href="http://www.codeproject.com/KB/database/EnumGenerator.aspx?display=Print"&gt;Enum Code Generator&lt;/a&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;2. Just use a dataset object directly (but is a bit ambiguous when coding).&lt;br /&gt;&lt;br /&gt;3. Use something that implements IDictionary. This is not as nice as an Enum, but you get the dynamic benefit and it's not as ambiguous when you code. Here's an example:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//put this in a static class, singleton, abstract class, or whatever fits your need&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;private&lt;/span&gt; SortedList _CriteriaItem;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33cc00;"&gt;//get data from database and iterate over the dataset to populate the list&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#33ccff;"&gt;public void&lt;/span&gt; Add(object Key, object Value)&lt;br /&gt;{&lt;br /&gt;       _CriteriaItem.Add(Key, Value);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;public String&lt;/span&gt; GetDescriptionByCode(String key)&lt;br /&gt;{&lt;br /&gt;      &lt;span style="color:#33ccff;"&gt; if&lt;/span&gt; (_Item.ContainsKey(key))&lt;br /&gt;       {&lt;br /&gt;              return _Item[key].ToString();&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       return "";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#33ccff;"&gt;public String&lt;/span&gt; GetCodeByDescriptionBy(&lt;span style="color:#33ccff;"&gt;String &lt;/span&gt;description)&lt;br /&gt;{&lt;br /&gt;       &lt;span style="color:#33ccff;"&gt;if&lt;/span&gt; (_Item.ContainsValue(description))&lt;br /&gt;       {&lt;br /&gt;              &lt;span style="color:#33ccff;"&gt;foreach&lt;/span&gt; (String key in _Item.Keys)&lt;br /&gt;              {&lt;br /&gt;                     &lt;span style="color:#33ccff;"&gt;if &lt;/span&gt;(_Item[key].ToString() == description)&lt;br /&gt;                     {&lt;br /&gt;                            return key.ToString();&lt;br /&gt;                     }&lt;br /&gt;              }&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;       &lt;span style="color:#33ccff;"&gt;return&lt;/span&gt; "";&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-48910412009718094?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/48910412009718094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=48910412009718094' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/48910412009718094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/48910412009718094'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/enum-linq-and-lookup-tables-in-csql.html' title='Enum, LINQ, and Lookup Tables in C#/SQL Server'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3572378575615857422</id><published>2009-04-19T20:04:00.000-07:00</published><updated>2009-08-10T16:40:21.008-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c#'/><title type='text'>Enum Databinding to DropDownList in C#</title><content type='html'>//Enumerator&lt;br /&gt; public enum Month&lt;br /&gt;        {&lt;br /&gt;            Jan = 1,&lt;br /&gt;            Feb = 2,&lt;br /&gt;            Mar = 3,&lt;br /&gt;            Apr = 4,&lt;br /&gt;            May = 5,&lt;br /&gt;            Jun = 6,&lt;br /&gt;            Jul = 7,&lt;br /&gt;            Aug = 8,&lt;br /&gt;            Sep = 9,&lt;br /&gt;            Oct = 10,&lt;br /&gt;            Nov = 11,&lt;br /&gt;            Dec = 12&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;//Databinding enum text values&lt;br /&gt;ddlMonth.DataSource = Enum.GetNames(typeof(Month));&lt;br /&gt;&lt;br /&gt;//Assigning enum text value to a databound object &lt;br /&gt;ddlMonth.SelectedValue = ((Month)object.Date.Value.Month).ToString();&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3572378575615857422?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3572378575615857422/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3572378575615857422' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3572378575615857422'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3572378575615857422'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/enum-databinding-to-dropdownlist.html' title='Enum Databinding to DropDownList in C#'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-5199003115149873317</id><published>2009-04-18T06:48:00.000-07:00</published><updated>2009-08-10T17:10:44.165-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='actionscript 3'/><title type='text'></title><content type='html'>I wrote this little game based on Asteroids. Tell me what you think. Click image to play or watch video below.&lt;br /&gt;&lt;a href="http://www.dripcode.com/playground/roids/webroids.html"&gt;&lt;img src="http://www.dripcode.com/images/webroids.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;spacebar to fire, right and left arrow to rotate, and up arrow for thrusters... once the game is over, hit any key to start a new game&lt;br /&gt;&lt;br /&gt;&lt;object width="450" height="319"&gt; &lt;param name="movie" value="http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/jingswfplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/FirstFrame.jpg&amp;containerwidth=450&amp;containerheight=319&amp;loaderstyle=jing&amp;content=http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/2009-05-17_0056.swf"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="base" value="http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="450" height="319" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/FirstFrame.jpg&amp;containerwidth=450&amp;containerheight=319&amp;loaderstyle=jing&amp;content=http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/2009-05-17_0056.swf" allowFullScreen="true" base="http://content.screencast.com/users/bulaboard/folders/Jing/media/e7e3fdb3-4ad1-43d7-856a-78b37c632776/" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-5199003115149873317?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/5199003115149873317/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=5199003115149873317' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5199003115149873317'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/5199003115149873317'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/04/i-wrote-this-little-game-based-on.html' title=''/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-3924164048315843390</id><published>2009-03-23T20:17:00.001-07:00</published><updated>2009-03-23T20:17:58.853-07:00</updated><title type='text'>My Site</title><content type='html'>Come visit my site at &lt;a href="http://www.dripcode.com/"&gt;http://www.dripcode.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-3924164048315843390?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/3924164048315843390/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=3924164048315843390' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3924164048315843390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/3924164048315843390'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2009/03/my-site.html' title='My Site'/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5971707845442359141.post-159050356595002894</id><published>2008-12-05T23:42:00.000-08:00</published><updated>2008-12-05T23:43:33.895-08:00</updated><title type='text'></title><content type='html'>This is nice.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5971707845442359141-159050356595002894?l=dripcode.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://dripcode.blogspot.com/feeds/159050356595002894/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5971707845442359141&amp;postID=159050356595002894' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/159050356595002894'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5971707845442359141/posts/default/159050356595002894'/><link rel='alternate' type='text/html' href='http://dripcode.blogspot.com/2008/12/this-is-nice.html' title=''/><author><name>dripcode</name><uri>http://www.blogger.com/profile/09059704305108948414</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='26' height='32' src='http://2.bp.blogspot.com/_6eGPw5sN_Wg/SrwOX0hYHNI/AAAAAAAAABU/r5IO81yM--Q/S220/Head-Art-1.jpg'/></author><thr:total>1</thr:total></entry></feed>
