<?xml version="1.0" encoding="utf-8"?><!-- generator="wordpress/2.1" -->
<rss version="0.92">
<channel>
	<title>George Tsiokos' blog</title>
	<link>http://george.tsiokos.com</link>
	<description>on c#, .NET, SharePoint, Windows and OS X</description>
	<lastBuildDate>Thu, 09 Oct 2008 13:51:07 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	
	<item>
		<title>c# Language request for properties</title>
		<description>Auto-Implemented properties are great, until you need to implement custom get or set logic. I love the ability to make the field an implementation detail, until you need to implement the property. What if you could continue to hide the field, like this:public string FirstName {
  get {
  ...</description>
		<link>http://george.tsiokos.com/posts/2008/10/07/c-sharp-language-request-for-properties/</link>
			</item>
	<item>
		<title>LINQ to SQL produces incorrect TSQL when using UNION or CONCAT</title>
		<description>When a LINQ to SQL query contains a Union or Concat with a second query, and the second query references a column twice, a SqlException will occur.

var a = from address in dc.Addresses
select new {
ID = address.AddressID,
Address1 = address.AddressLine1,
Address2 = address.AddressLine2,
};
var b = from address in dc.Addresses
select new {
ID = ...</description>
		<link>http://george.tsiokos.com/posts/2008/09/10/linq-to-sql-produces-incorrect-tsql-when-using-union-or-concat/</link>
			</item>
	<item>
		<title>Extending LINQ to SQL</title>
		<description>Last year, Scott Guthrie stated “You can actually override the raw SQL that LINQ to SQL uses if you want absolute control over the SQL executed”, but I can’t find documentation describing an extensibility method.

I would like to modify the following LINQ to SQL query:
using (NorthwindContext northwind = new NorthwindContext ...</description>
		<link>http://george.tsiokos.com/posts/2008/09/09/extending-linq-to-sql/</link>
			</item>
	<item>
		<title>Introducing nComet</title>
		<description>nComet is a .NET implementation of the Comet (reverse-AJAX push) architecture. This server-side pipeline uses long-lived client-initiated HTTP connections to push messages to the client. Once the client receives a response, it immediately opens another HTTP request, which the server holds until a message is ready. This architecture allows the ...</description>
		<link>http://george.tsiokos.com/posts/2008/07/09/introducing-ncomet/</link>
			</item>
	<item>
		<title>LINQ to SQL - code generation bug</title>
		<description>The code generation performed by MSLinqToSQLGenerator or SQLMetal generates weird property code. For example, in AdvantureWorks, the table Product has a column ProductLine. Using the tools that come with LINQ to SQL, this column translates to a property:
[Column(Storage="_ProductLine", DbType="NChar(2)")]
public string ProductLine
{
  get
  {
    return this._ProductLine;
 ...</description>
		<link>http://george.tsiokos.com/posts/2008/04/09/linq-to-sql-code-generation-bug/</link>
			</item>
	<item>
		<title>LINQ - WHERE X IN (&#8230;)</title>
		<description>I couldn't figure out a way to perform the equivalent of WHERE Column1 IN ('A', 'B', 'C') in LINQ, where ('A', 'B', 'C') would represent an IEnumerable&#60;T&#62; where T is the type of Column1. So I thought it was an excellent time to write an extension method that would generate ...</description>
		<link>http://george.tsiokos.com/posts/2007/11/30/linq-where-x-in/</link>
			</item>
	<item>
		<title>SqlMetal.exe crashes when a column name in the result set is [ ].</title>
		<description>The last message to be written to the console was: “Error : Index was outside the bounds of the array.”.

To reproduce this bug, create this stored procedure and run SqlMetal against it:
CREATE PROCEDURE [dbo].[ThisProcedureWillCauseSqlMetalToCrash] AS
BEGIN
	SET NOCOUNT ON;
	SELECT 1 [A], 2 [ ], 3 [C]
END

Applies to:

	Visual Studio 2008 RTM
	Microsoft Windows SDK ...</description>
		<link>http://george.tsiokos.com/posts/2007/11/28/sqlmetal-crashes-when-a-column-name-in-the-result-set-is-blank/</link>
			</item>
	<item>
		<title>Some Enterprise Library 3.0 - April 2007 bug fixes</title>
		<description>Here are the bug fixes I wrote for Enterprise Library 3.0 - April 2007, related to using the EntLibLoggingProxyTraceListener to proxy .NET TraceListener messages to enterprise library and logging over MSMQ via MsmqTraceListener.

In Microsoft. Practices. EnterpriseLibrary. Logging. TraceListeners. EntLibLoggingProxyTraceListener, comment out
properties.Add(TraceEventCacheKey, eventCache); // line 66 & 146 (fix for SerializationException)
In ...</description>
		<link>http://george.tsiokos.com/posts/2007/05/21/some-enterprise-library-30-april-2007-bug-fixes/</link>
			</item>
	<item>
		<title>ClickOnce progress suggestion</title>
		<description>Microsoft:

When a ClickOnce application is updating on startup, please display a wait cursor, or some indication to the user that the application is loading - the progress bar currently disappears after the new version is downloaded. On older computers, the time between the progress bar dissapearing and the application loading ...</description>
		<link>http://george.tsiokos.com/posts/2007/03/16/clickonce_progress_disappear/</link>
			</item>
	<item>
		<title>Internal NullReferenceException in HttpWebRequest when using a CachePolicy</title>
		<description>Setting the CachePolicy to the default HttpRequestCacheLevel causes an exception internal to HttpWebRequest when a web application is running with an application pool configured to use a custom identity. For example:
HttpWebRequest request = …;
request.CachePolicy = 
  new System.Net.Cache.HttpRequestCachePolicy (
    System.Net.Cache.HttpRequestCacheLevel.Default);
request.GetResponse ();
GetResponse () throws a WebException: “The ...</description>
		<link>http://george.tsiokos.com/posts/2007/03/15/nullreferenceexception_httpwebrequest_cachepolicy/</link>
			</item>
	<item>
		<title>What happened here?</title>
		<description>Here's a number of inconsistencies with exception constructors:

The message parameter is first and paramName is second for one of ArgumentException's constructors.
public ArgumentException(string message, string paramName);

These exceptions inherit ArgumentException:

In one of ArgumentOutOfRangeException's constructors, paramName is first and message is second.
public ArgumentOutOfRangeException(string paramName, string message);In one of InvalidEnumArgumentException's constructors, argumentName is used ...</description>
		<link>http://george.tsiokos.com/posts/2007/03/14/what-happened-here/</link>
			</item>
	<item>
		<title>WCF: Service Name</title>
		<description>I've been working with a WCF service and wanted to change the name of the service without changing the class name (TypeName). Every example I've seen shows that the name of the type equals the name of the service.

The service is hosted in IIS, and the web.config is configured as:
&#60;system.serviceModel&#62;&#60;services&#62;
&#60;service ...</description>
		<link>http://george.tsiokos.com/posts/2007/03/13/wcf-service-name/</link>
			</item>
	<item>
		<title>Orcas CTP: Synchronization Services</title>
		<description>Just looking over the latest Orcas CTP I noticed something new:

Synchronization Services lets you synchronize data from disparate sources over two-tier, N-tier, and service-based architectures. Instead of only replicating a database and its schema, the Synchronization Services application programming interface (API) provides a set of components to synchronize data between ...</description>
		<link>http://george.tsiokos.com/posts/2007/03/12/orcas_ctp_synchronization_services/</link>
			</item>
	<item>
		<title>Heroes</title>
		<description>Just saw the latest episode of Heroes: The Company Man. Not only is this best episode of Heroes yet, it’s officially the best TV show, ever. Watch the full series premiere for free, or, get the entire season pass on iTunes. </description>
		<link>http://george.tsiokos.com/posts/2007/02/26/heroes/</link>
			</item>
	<item>
		<title>Removing a control&#8217;s behavior</title>
		<description>In Programming .NET Components, Juval Löwy explains the reasoning behind and how to use the EventHandlerList class (It’s used internally in the Control & derived classes to store event subscriptions).

I found that this architecture easily supports the removal of all behavior*:
public static void ClearEventHandlerList (Component component) {
    ...</description>
		<link>http://george.tsiokos.com/posts/2006/11/21/removing-a-controls-behavior/</link>
			</item>
	<item>
		<title>Vista RC1 shutdown notification</title>
		<description>The shutdown notifications need additional work in Windows Vista RC1:

	Run cmd.exe with administrative privileges
	Run the following command:
	shutdown /s /t 600
	Abort the shutdown with this command:
	shutdown /a

Notification of an aborted system shutdown in Beta 2 had a strange title:


Luckily, Microsoft has enhanced the title in RC1, but there is still room ...</description>
		<link>http://george.tsiokos.com/posts/2006/09/11/vista-rc1-shutdown-notification/</link>
			</item>
	<item>
		<title>Network Neutrality</title>
		<description>The Internet is not a big truck. It’s a series of tubes. - Ted Stevens

Check out this clip from The Daily Show where John Hodgman explains the technical implementation of the Internet and why we need network neutrality:
 </description>
		<link>http://george.tsiokos.com/posts/2006/09/01/network-neutrality/</link>
			</item>
	<item>
		<title>Camera metadata</title>
		<description>I received a lot of JPEG images taken by multiple cameras at my daughter's birthday party. My first thought was to import them in to Aperture as a birthday album. Unfortunately, these images contained incorrect capture dates preventing me from organized them in chronological order.

Digital cameras have a clock and ...</description>
		<link>http://george.tsiokos.com/posts/2006/08/28/camera-metadata/</link>
			</item>
	<item>
		<title>More inaccuracies</title>
		<description>Daring fireball reveals hypocrisy on a comparison between Windows and Mac OS X. After reading both posts, I’ve found more inaccuracies with Paul Thurrott's preview of the new Mac OS X.
Time Machine is a truly good idea: It helps you automatically back up everything on your system and restore earlier ...</description>
		<link>http://george.tsiokos.com/posts/2006/08/20/more-inaccuracies/</link>
			</item>
	<item>
		<title>email2face is live!</title>
		<description>Find out what someone looks like based on their email address! Most people have online relationships with several people whom they have never met in person. Most of the time, all you have is their email address. email2face is an online directory of photos that are linked to people's email ...</description>
		<link>http://george.tsiokos.com/posts/2006/03/27/email2face-is-live/</link>
			</item>
	<item>
		<title>SxS does not support configuration namespace in app.config files</title>
		<description>If the configuration namespace is referenced in an app.config, you may receive the following error messages in the system event log:

	Syntax error in manifest or policy file file name on line 2. The manifest file root element must be assembly.
	The application failed to launch because of an invalid manifest.
	Generate Activation ...</description>
		<link>http://george.tsiokos.com/posts/2006/01/12/sxs/</link>
			</item>
	<item>
		<title>ClickOnce does not support mandatory user profiles</title>
		<description>When attempting to install a ClickOnce application when using mandatory user profiles, you may receive an error message similar to the following:

	The manifest may not be valid or the file could not be opened
	Manifest XML signature is not valid
	The profile for the user is a temporary profile

Please rate and validate ...</description>
		<link>http://george.tsiokos.com/posts/2006/01/12/clickonce-does-not-support-mandatory-user-profiles/</link>
			</item>
	<item>
		<title>yield return &#8220;elegant code&#8221;</title>
		<description>I didn’t think the new iterator pattern in c# 2.0 would be as useful as the other new features. I though, how many problems are solved with enumerators? Well, here is a great example where creating an enumerator isn’t the problem being solved, it’s an elegant HTTP application pipeline that ...</description>
		<link>http://george.tsiokos.com/posts/2005/08/29/yield-return-elegant-code/</link>
			</item>
	<item>
		<title>ISNULL in c#</title>
		<description>If you’ve used SQL Server, you’ve probably used the ISNULL function. It replaces NULL with the specified replacement value. In .NET 2.0, c# gets this capability with a new ?? operator – the null coalescing operator. So when you define nullable types, you can check for null, and replace it ...</description>
		<link>http://george.tsiokos.com/posts/2005/08/27/isnull-in-c-sharp/</link>
			</item>
	<item>
		<title>Not going to the PDC</title>
		<description>I've always wanted to go to the PDC, i’ve just never been in the position to go. For example, for the 2000 Professional Developer’s Conference (PDC), I was an undergraduate student at the University of Central Florida working as a professor’s assistant, making just enough money to pay the bills. ...</description>
		<link>http://george.tsiokos.com/posts/2005/08/15/pdc-2005/</link>
			</item>
	<item>
		<title>Time to change your pin</title>
		<description>Some guy has posted a list of everyone's pin!

read more &#124; digg story </description>
		<link>http://george.tsiokos.com/posts/2005/07/12/time-to-change-your-pin/</link>
			</item>
	<item>
		<title>WSS-RSS Version 1.4</title>
		<description>I have released a new version of my Windows SharePoint Services RSS/ATOM reader. It now supports the two most requested features: items optionally displayed in a new window & optionally displaying item descriptions. As with previous versions, you may generate DWP files for use in SharePoint directly from my website ...</description>
		<link>http://george.tsiokos.com/posts/2005/07/04/wss-rss-14/</link>
			</item>
	<item>
		<title>Busy, busy, and busy</title>
		<description>It's been a while since my last post. I've accepted a position with ASPSOFT and have been extremely busy since March. I'm hard at work on a new community site for .NET development that should ease coding for multiple versions of .NET as well as the transition to new versions ...</description>
		<link>http://george.tsiokos.com/posts/2005/05/24/busy-busy-and-busy/</link>
			</item>
	<item>
		<title>.NET HTTPS Security</title>
		<description>Did you ever get this exception when using HTTPS?

System.Net.WebException: The underlying connection was closed: Could not establish trust relationship with remote server.

This usually happens on a client calling a secure web service with a user generated certificate. Did you write this code to solve the problem?
public class TerribleCertificatePolicy : System.Net.ICertificatePolicy ...</description>
		<link>http://george.tsiokos.com/posts/2005/02/10/net-https-security/</link>
			</item>
	<item>
		<title>Florida Code Camp 2005</title>
		<description>I had a great time at the Florida Code Camp 2005. The Indigo presentation was awesome – I’d really like to see some more details on the new Windows Activation Service that Indigo supports for application hosting. I was also particularly impressed with Visual Studio Team System’s ability to get ...</description>
		<link>http://george.tsiokos.com/posts/2005/02/09/florida-code-camp-2005/</link>
			</item>
	<item>
		<title>Windows SharePoint Services RSS (WSS-RSS)</title>
		<description>SharePoint RSS/ATOM reader



XSL converts RSS to a native Windows SharePoint Services DataViewWebPart DWP file.

	No binaries, installation or server configuration necessary.
	Supports RSS versions 0.90, 0.91, 0.92, 1.0, and 2.0.
	Supports the Atom Syndication Format 0.3.
	Supports Microsoft's Channel Definition Format.
	Html output is similar to the links list summary view.
	Title, Description, and DetailLink come ...</description>
		<link>http://george.tsiokos.com/posts/2005/01/11/wss-rss/</link>
			</item>
	<item>
		<title>Halo 2 was depressing yesterday</title>
		<description>"Games against similarly skilled opponents and with similarly skilled teammates tend to be the most fun." - Bungie

I disagree with that statement. I find that games against slightly less skilled opponents are the most fun. On Wednesday, I had some great scores and my level went from 4 to 5 ...</description>
		<link>http://george.tsiokos.com/posts/2005/01/09/halo-2-was-depressing-yesterday/</link>
			</item>
	<item>
		<title>Not just another year</title>
		<description>I've finally gotten around to writing my first entry for the New Year. I’ve got many things planned for this website as well as some freeware and commercial apps coming later this year. For example, typereference.com will contain the most comprehensive class library documentation for .NET as well as showcase ...</description>
		<link>http://george.tsiokos.com/posts/2005/01/09/not-just-another-year/</link>
			</item>
	<item>
		<title>Collection equality regardless of item order</title>
		<description>I wanted to test collection equality disregarding order. One int array of 1,2,3,4 and another of 4,2,3,1 would be equal. Also, collections of collections would be compared only by their items and the number of times those items appear in any collection.
char[] charsA = new char[] { 'a', 'b', 'c', ...</description>
		<link>http://george.tsiokos.com/posts/2004/12/03/collection-equality-regardless-of-item-order/</link>
			</item>
	<item>
		<title>RelaxComparer : Missing IComparer?</title>
		<description>
5.CompareTo(4); // returns 1 (greater than)
5.CompareTo(5); // returns 0 (equal)
5.CompareTo(6); // returns -1 (less than)

// A class will only compare to its same type.
5.CompareTo('c'); // Throws ArgumentException

I created the following class to use instead of the default Comparer class (which just calls the CompareTo method of each object implementing IComparable) ...</description>
		<link>http://george.tsiokos.com/posts/2004/12/02/missing-icomparer/</link>
			</item>
	<item>
		<title>How To Retrieve Column Schema by Using the IDataReader GetSchemaTable Method</title>
		<description>The Microsoft KB example code or class library documentation do not explain how to efficiently return a table’s schema. For example, this code follows the documentation:





DataTable dataTable = null;
using(IDbConnection dbConnection = (IDbConnection)database.Unwrap())
{
  dbConnection.Open();
  using (IDbCommand dbCommand = dbConnection.CreateCommand())
  {
    dbCommand.CommandType = CommandType.Text;
   ...</description>
		<link>http://george.tsiokos.com/posts/2004/12/01/idatareader-getschematable/</link>
			</item>
	<item>
		<title>SQLite</title>
		<description>SQLite was the topic at the last ONETUG meeting here in Orlando, FL. I was surprised to find that SQLite was exactly what I was looking for in a client-side database - slim and easy to deploy. There’s also an ADO.NET data provider open-source project where they provide everything you ...</description>
		<link>http://george.tsiokos.com/posts/2004/10/24/sqlite/</link>
			</item>
	<item>
		<title>CountryWide PayPlan/52</title>
		<description>Countrywide wants me to believe that making more payments on my loan will benefit me. For example, with PayPlan/52, I could pay off my mortgage every week. 
You may be able to save thousands of dollars in interest payments and reduce the term of your loan by several years, or ...</description>
		<link>http://george.tsiokos.com/posts/2004/09/11/countrywide-payplan-52/</link>
			</item>
	<item>
		<title>IPAddress class serializable?</title>
		<description>Back in 2002 I posted a question in Usenet about the IPAddress class being serializable, but not serializing in ASP.NET. I just found the post, and noticed that no one responded with the reason why. So, here it is:

There are two types of serialization in .NET: System.Runtime.Serialization and System.Xml.Serialization. Runtime ...</description>
		<link>http://george.tsiokos.com/posts/2004/09/06/ipaddress-class-serializable/</link>
			</item>
	<item>
		<title>Is it reference or value equality?</title>
		<description>Probably reference. Checking for value equality is unintuitive - by default == is a reference equality check.object a = 1;object b = 1;Assert.IsFalse (a == b);Object a doesn't equal object b since boxing a as object created once instance, and boxing b created another. Since == is a "reference type ...</description>
		<link>http://george.tsiokos.com/posts/2004/08/26/reference-or-value-equality/</link>
			</item>
	<item>
		<title>XML/object libraries are deprecated</title>
		<description>If you take any one of the many RSS libraries, including my own RSS.NET, ATOM libraries, or even OPML libraries, you find mostly the same functionality. Each read and write to a specific XML format. Some take advantage of the XML libraries provided by the environment, and some even read ...</description>
		<link>http://george.tsiokos.com/posts/2004/07/15/xml-object-libraries-are-deprecated/</link>
			</item>
	<item>
		<title>This weblog is preliminary and is subject to change.</title>
		<description>The services that George provides to you are subject to the following Terms of Use (TOU). George reserves the right to update the TOU at any time without notice to you. The most current version of the TOU can be reviewed here.

Through his network of websites, George provides you with ...</description>
		<link>http://george.tsiokos.com/posts/2004/07/09/terms-of-use/</link>
			</item>
</channel>
</rss>
