<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Getting Rid Of null</title>
	<atom:link href="http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/</link>
	<description>Actionscript3, Flash, Scala, Java, C#, C++, Algorithms &#38; Imageprocessing</description>
	<lastBuildDate>Sun, 05 Feb 2012 21:26:20 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: joa</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-184046</link>
		<dc:creator>joa</dc:creator>
		<pubDate>Fri, 22 Jan 2010 13:26:32 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-184046</guid>
		<description>amn: I do not think you are quite right about that. First of all, if the method signature for getUser is &quot;getUser(name: String): User&quot; you expect that you get a user from it.
You have no idea that it might return null. Basically, whenever you dereference the pointer to an object that is the result of a method, you have to check for null. If the signatrue is however &quot;getUser(name: String): Option[User]&quot; you immediately know that the result is only optional. This means you have to expect the case that you do not get a result.
The model Nicolas proposed is the classical way from functional languages and I would also favour it, but it is not possible to write such code in AS3 since we lack parameterized types.

Regarding your last argument, you could easily check in the proposed AS3 version if the User object is the EmptyUser or the NullUser if you are interested in that information. This information is not lost.

Basically, the idea is to get rid of null since it makes it cumbersome and error prone to write code. The Scala compiler would also warn you for instance if your match is not exhaustive on the Option[T] and this makes it an even better feature.

If you do not consider null values that bad, check out the link from Maxim :)</description>
		<content:encoded><![CDATA[<p>amn: I do not think you are quite right about that. First of all, if the method signature for getUser is &#8220;getUser(name: String): User&#8221; you expect that you get a user from it.<br />
You have no idea that it might return null. Basically, whenever you dereference the pointer to an object that is the result of a method, you have to check for null. If the signatrue is however &#8220;getUser(name: String): Option[User]&#8221; you immediately know that the result is only optional. This means you have to expect the case that you do not get a result.<br />
The model Nicolas proposed is the classical way from functional languages and I would also favour it, but it is not possible to write such code in AS3 since we lack parameterized types.</p>
<p>Regarding your last argument, you could easily check in the proposed AS3 version if the User object is the EmptyUser or the NullUser if you are interested in that information. This information is not lost.</p>
<p>Basically, the idea is to get rid of null since it makes it cumbersome and error prone to write code. The Scala compiler would also warn you for instance if your match is not exhaustive on the Option[T] and this makes it an even better feature.</p>
<p>If you do not consider null values that bad, check out the link from Maxim :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: amn</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-183976</link>
		<dc:creator>amn</dc:creator>
		<pubDate>Thu, 21 Jan 2010 13:35:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-183976</guid>
		<description>Also in case with Joas approach, it becomes an impossibility for the context to differentiate between users that do not exist and users not logged in. Sometimes such information can be valuable, f.e. when optimizing backends - so that these do not go the extra mile with database accesses after it is already been established that no such user even exists.

The difference between the invalid and offline users has been abstracted into the body of &#039;get_user&#039; method, and so the context keeps running logic that assumes user exists, when in fact he does not. I would say, if there is a need for code that needs fewest lines to do what it does, simply make &#039;get_user&#039; old-fashioned (return null on invalid users) and call it in turn from another abstraction context, something like an &#039;if_logged_in&#039; procedure which will trace the &#039;Hooray&#039;. Just as readable, but arguable more optimized.

function get_user(id): IUser
{
     // return an IUser or null when no user by given id
}

function cheer_if_user_logged_in(var id)
{
     var user = get_user(id);
     if(user == null) return;
     if(user.isLoggedIn) trace(&#039;Hooray!&#039;);
}

cheer_if_user_logged_in(); //An abstraction for a very specific case</description>
		<content:encoded><![CDATA[<p>Also in case with Joas approach, it becomes an impossibility for the context to differentiate between users that do not exist and users not logged in. Sometimes such information can be valuable, f.e. when optimizing backends &#8211; so that these do not go the extra mile with database accesses after it is already been established that no such user even exists.</p>
<p>The difference between the invalid and offline users has been abstracted into the body of &#8216;get_user&#8217; method, and so the context keeps running logic that assumes user exists, when in fact he does not. I would say, if there is a need for code that needs fewest lines to do what it does, simply make &#8216;get_user&#8217; old-fashioned (return null on invalid users) and call it in turn from another abstraction context, something like an &#8216;if_logged_in&#8217; procedure which will trace the &#8216;Hooray&#8217;. Just as readable, but arguable more optimized.</p>
<p>function get_user(id): IUser<br />
{<br />
     // return an IUser or null when no user by given id<br />
}</p>
<p>function cheer_if_user_logged_in(var id)<br />
{<br />
     var user = get_user(id);<br />
     if(user == null) return;<br />
     if(user.isLoggedIn) trace(&#8216;Hooray!&#8217;);<br />
}</p>
<p>cheer_if_user_logged_in(); //An abstraction for a very specific case</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: amn</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-183974</link>
		<dc:creator>amn</dc:creator>
		<pubDate>Thu, 21 Jan 2010 13:24:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-183974</guid>
		<description>Nicolas, I would have to say that what you propose, relies on &quot;non-polymorphism&quot; approach again, just as checking for &#039;null&#039; values does, because you have to switch between the type of object you get. I think, in that case it may be just as attractive to stick to the old methods.

I consider the following equally viable and maintainable as your example, if you disagree you are welcome to state your reasons:

&lt;code&gt;

/// Code happens to be in haXe

var user = get_user(id);
if(user == null) /* handle error */;

if(user.isLoggedIn)
{
     /* ... */
}

&lt;/code&gt;

Joas approach however is closer to true polymorphism, because the context of obtaining a user object reference does not to know the type of returned value and explicitly account for the &#039;user not found&#039; error - it always returns an object expected to be able to be called &#039;isLoggedIn&#039; on, even for users that do not exist.

In my opinion however, it is an abstraction that is not really necessary. I do acknowledge its need for readable code, but I do not consider &#039;null&#039; values that bad. Null is just a special value that indicates error condition, just as None or Some types are, but in case with the latter, they have to define the &#039;isLoggedIn&#039; method which frankly makes no sense for users that do not exist. I value semantics over code readability.</description>
		<content:encoded><![CDATA[<p>Nicolas, I would have to say that what you propose, relies on &#8220;non-polymorphism&#8221; approach again, just as checking for &#8216;null&#8217; values does, because you have to switch between the type of object you get. I think, in that case it may be just as attractive to stick to the old methods.</p>
<p>I consider the following equally viable and maintainable as your example, if you disagree you are welcome to state your reasons:</p>
<p><code></p>
<p>/// Code happens to be in haXe</p>
<p>var user = get_user(id);<br />
if(user == null) /* handle error */;</p>
<p>if(user.isLoggedIn)<br />
{<br />
     /* ... */<br />
}</p>
<p></code></p>
<p>Joas approach however is closer to true polymorphism, because the context of obtaining a user object reference does not to know the type of returned value and explicitly account for the &#8216;user not found&#8217; error &#8211; it always returns an object expected to be able to be called &#8216;isLoggedIn&#8217; on, even for users that do not exist.</p>
<p>In my opinion however, it is an abstraction that is not really necessary. I do acknowledge its need for readable code, but I do not consider &#8216;null&#8217; values that bad. Null is just a special value that indicates error condition, just as None or Some types are, but in case with the latter, they have to define the &#8216;isLoggedIn&#8217; method which frankly makes no sense for users that do not exist. I value semantics over code readability.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: djakarta-trap - [CS4]条件つきコンパイルのメモ。</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-180480</link>
		<dc:creator>djakarta-trap - [CS4]条件つきコンパイルのメモ。</dc:creator>
		<pubDate>Wed, 02 Dec 2009 11:52:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-180480</guid>
		<description>[...] この記事を読んでいて、「条件つきコンパイル」というキーワードにぶつかったので、メモ。 [...]</description>
		<content:encoded><![CDATA[<p>[...] この記事を読んでいて、「条件つきコンパイル」というキーワードにぶつかったので、メモ。 [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nicolas</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-179815</link>
		<dc:creator>Nicolas</dc:creator>
		<pubDate>Sun, 22 Nov 2009 19:13:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-179815</guid>
		<description>This is something that comes from functional languages such as OCaml, where there is no null and where pattern matching is used to differentiate between None and Some value

You can actually do the same in haXe :

enum Option {
   None;
   Some( v : T );
}

var x = None;
var y : Option = Some(56);

switch( opt ) {
case None: // handle the &quot;null&quot; case
case Some(v): // &quot;v&quot; is the actual value (not null)
}</description>
		<content:encoded><![CDATA[<p>This is something that comes from functional languages such as OCaml, where there is no null and where pattern matching is used to differentiate between None and Some value</p>
<p>You can actually do the same in haXe :</p>
<p>enum Option {<br />
   None;<br />
   Some( v : T );<br />
}</p>
<p>var x = None;<br />
var y : Option = Some(56);</p>
<p>switch( opt ) {<br />
case None: // handle the &#8220;null&#8221; case<br />
case Some(v): // &#8220;v&#8221; is the actual value (not null)<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Alan</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178953</link>
		<dc:creator>Alan</dc:creator>
		<pubDate>Sun, 08 Nov 2009 18:09:37 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178953</guid>
		<description>Joa,
Right now, I&#039;m in the camp of &#039;Conditionals are not (mostly) needed in OOP&#039;.

I would ask, why would a developer design their application in a manner that allows a situation where nulls pop up?

In the example accessor, getUser(id: String),  I&#039;d argue: Why is an invalid &#039;id&#039; being passed in? 

If you do have a design whereby the developer can&#039;t control what 
&#039;id&#039; is being passed, I&#039;d suggest this:

if(isValidID(id))
{
   var user = getUser(id: String);
   passUserToClientObject(user);
}
else
{
    Alert(&quot;No User Exists&quot;);
}

Anyone&#039;s thoughts.....</description>
		<content:encoded><![CDATA[<p>Joa,<br />
Right now, I&#8217;m in the camp of &#8216;Conditionals are not (mostly) needed in OOP&#8217;.</p>
<p>I would ask, why would a developer design their application in a manner that allows a situation where nulls pop up?</p>
<p>In the example accessor, getUser(id: String),  I&#8217;d argue: Why is an invalid &#8216;id&#8217; being passed in? </p>
<p>If you do have a design whereby the developer can&#8217;t control what<br />
&#8216;id&#8217; is being passed, I&#8217;d suggest this:</p>
<p>if(isValidID(id))<br />
{<br />
   var user = getUser(id: String);<br />
   passUserToClientObject(user);<br />
}<br />
else<br />
{<br />
    Alert(&#8220;No User Exists&#8221;);<br />
}</p>
<p>Anyone&#8217;s thoughts&#8230;..</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TK</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178789</link>
		<dc:creator>TK</dc:creator>
		<pubDate>Fri, 06 Nov 2009 22:32:50 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178789</guid>
		<description>There&#039;s an open issue for the request of true generic types in AS3 found here:
http://bugs.adobe.com/jira/browse/FP-811</description>
		<content:encoded><![CDATA[<p>There&#8217;s an open issue for the request of true generic types in AS3 found here:<br />
<a href="http://bugs.adobe.com/jira/browse/FP-811" rel="nofollow">http://bugs.adobe.com/jira/browse/FP-811</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jackson Dunstan</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178785</link>
		<dc:creator>Jackson Dunstan</dc:creator>
		<pubDate>Fri, 06 Nov 2009 21:43:49 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178785</guid>
		<description>I&#039;ve heard of languages like Scala without a null type, but haven&#039;t gotten around to learning any of them. I think your null solution (including debug-only exceptions) could be pretty nice, although seems like a lot of code to write and maintain (as you point out). It also seems like it could slow down the program if used widely, as &lt;a href=&quot;http://jacksondunstan.com/articles/413#comment-353&quot; rel=&quot;nofollow&quot;&gt;you pointed out&lt;/a&gt; on my site and bloat up the SWF as you pointed out above in the comments. Perhaps a tool could be created that would create and update these &quot;Null&quot; classes. That might at least help with the headache of creating and maintaining the Null classes. I&#039;m not sure what to do about the speed...

Thanks for the article!</description>
		<content:encoded><![CDATA[<p>I&#8217;ve heard of languages like Scala without a null type, but haven&#8217;t gotten around to learning any of them. I think your null solution (including debug-only exceptions) could be pretty nice, although seems like a lot of code to write and maintain (as you point out). It also seems like it could slow down the program if used widely, as <a href="http://jacksondunstan.com/articles/413#comment-353" rel="nofollow">you pointed out</a> on my site and bloat up the SWF as you pointed out above in the comments. Perhaps a tool could be created that would create and update these &#8220;Null&#8221; classes. That might at least help with the headache of creating and maintaining the Null classes. I&#8217;m not sure what to do about the speed&#8230;</p>
<p>Thanks for the article!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: joa</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178781</link>
		<dc:creator>joa</dc:creator>
		<pubDate>Fri, 06 Nov 2009 21:17:03 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178781</guid>
		<description>Troy: I agree and in Scala, None is also an &quot;object&quot; and not a &quot;class&quot;. It is Scala&#039;s concept of singletons.

Maxim: Thank you for the link!

Macaca: True, you can generate a lot of files but your SWF will get bigger and bigger. Besides, what if you figured out that you have a bug in your template? :)

James: I have had a look into the compiler. I am highly interested on getting Scala running inside the Flash Player and would be willing to invest time. That would be spring next year and definitely after Scala 2.8 has been released.</description>
		<content:encoded><![CDATA[<p>Troy: I agree and in Scala, None is also an &#8220;object&#8221; and not a &#8220;class&#8221;. It is Scala&#8217;s concept of singletons.</p>
<p>Maxim: Thank you for the link!</p>
<p>Macaca: True, you can generate a lot of files but your SWF will get bigger and bigger. Besides, what if you figured out that you have a bug in your template? :)</p>
<p>James: I have had a look into the compiler. I am highly interested on getting Scala running inside the Flash Player and would be willing to invest time. That would be spring next year and definitely after Scala 2.8 has been released.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Ward</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178779</link>
		<dc:creator>James Ward</dc:creator>
		<pubDate>Fri, 06 Nov 2009 20:36:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178779</guid>
		<description>Hey Joa,

Great post!  Want to port Scala to run on Flash Player?  I talked with Martin Odersky about this a year ago.  He said it&#039;s certainly possible he just doesn&#039;t have the time.  Scala on both sides of the wire!  That would be very cool.

-James</description>
		<content:encoded><![CDATA[<p>Hey Joa,</p>
<p>Great post!  Want to port Scala to run on Flash Player?  I talked with Martin Odersky about this a year ago.  He said it&#8217;s certainly possible he just doesn&#8217;t have the time.  Scala on both sides of the wire!  That would be very cool.</p>
<p>-James</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Macaca</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178776</link>
		<dc:creator>Macaca</dc:creator>
		<pubDate>Fri, 06 Nov 2009 20:20:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178776</guid>
		<description>Nice concept, worth looking into.

On generics: FDT templates work to some extent if you establish a good convention (but oc they just generate source code).</description>
		<content:encoded><![CDATA[<p>Nice concept, worth looking into.</p>
<p>On generics: FDT templates work to some extent if you establish a good convention (but oc they just generate source code).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Maxim Zaks</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178773</link>
		<dc:creator>Maxim Zaks</dc:creator>
		<pubDate>Fri, 06 Nov 2009 19:25:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178773</guid>
		<description>I think this will be interesting for you :)
http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare</description>
		<content:encoded><![CDATA[<p>I think this will be interesting for you :)<br />
<a href="http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare" rel="nofollow">http://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Schlösser</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178772</link>
		<dc:creator>Michael Schlösser</dc:creator>
		<pubDate>Fri, 06 Nov 2009 19:13:10 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178772</guid>
		<description>Just as an addition to your blog entry: the described approach of returning an (empty) object that conforms to a specific interface (in your example IUser) is know as the &quot;Null Object Pattern&quot; and/or the &quot;Special Case Pattern&quot;.
Fowler describes this concept/pattern in his book &quot;Patterns of Enterprise Application Architecture&quot; very well.

Further reading:
http://martinfowler.com/eaaCatalog/specialCase.html
http://en.wikipedia.org/wiki/Null_Object_pattern</description>
		<content:encoded><![CDATA[<p>Just as an addition to your blog entry: the described approach of returning an (empty) object that conforms to a specific interface (in your example IUser) is know as the &#8220;Null Object Pattern&#8221; and/or the &#8220;Special Case Pattern&#8221;.<br />
Fowler describes this concept/pattern in his book &#8220;Patterns of Enterprise Application Architecture&#8221; very well.</p>
<p>Further reading:<br />
<a href="http://martinfowler.com/eaaCatalog/specialCase.html" rel="nofollow">http://martinfowler.com/eaaCatalog/specialCase.html</a><br />
<a href="http://en.wikipedia.org/wiki/Null_Object_pattern" rel="nofollow">http://en.wikipedia.org/wiki/Null_Object_pattern</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: uberVU - social comments</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178769</link>
		<dc:creator>uberVU - social comments</dc:creator>
		<pubDate>Fri, 06 Nov 2009 18:51:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178769</guid>
		<description>&lt;strong&gt;Social comments and analytics for this post...&lt;/strong&gt;

This post was mentioned on Twitter by retrogamer4ever: RT @joa: New blog post: Getting Rid of null http://bit.ly/31Uk0h...</description>
		<content:encoded><![CDATA[<p><strong>Social comments and analytics for this post&#8230;</strong></p>
<p>This post was mentioned on Twitter by retrogamer4ever: RT @joa: New blog post: Getting Rid of null <a href="http://bit.ly/31Uk0h.." rel="nofollow">http://bit.ly/31Uk0h..</a>.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Troy Gilbert</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178768</link>
		<dc:creator>Troy Gilbert</dc:creator>
		<pubDate>Fri, 06 Nov 2009 18:46:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178768</guid>
		<description>I like the idea of create custom &quot;null&quot; values for custom types. It makes for some pretty slick API&#039;s, though it obviously takes more work to build out the API.

In the case above, I would not create a custom Null class, because from my perspective it&#039;s not a &quot;class&quot; of user or a new type. Rather, I&#039;d create a null-valued user, i.e. User.NULL (which may in turn get its value from a NullClass like you showed).

Semantically, null is a object-reference value (just like 0 is a Number value or &quot;&quot; is a String value). For many custom types (classes), there are semantic &quot;nulls&quot; or &quot;undefined&quot; that should be provided by a complete API.

Thanks for the info on Scala... really need to dive into a functional language these days... it&#039;s been years!</description>
		<content:encoded><![CDATA[<p>I like the idea of create custom &#8220;null&#8221; values for custom types. It makes for some pretty slick API&#8217;s, though it obviously takes more work to build out the API.</p>
<p>In the case above, I would not create a custom Null class, because from my perspective it&#8217;s not a &#8220;class&#8221; of user or a new type. Rather, I&#8217;d create a null-valued user, i.e. User.NULL (which may in turn get its value from a NullClass like you showed).</p>
<p>Semantically, null is a object-reference value (just like 0 is a Number value or &#8220;&#8221; is a String value). For many custom types (classes), there are semantic &#8220;nulls&#8221; or &#8220;undefined&#8221; that should be provided by a complete API.</p>
<p>Thanks for the info on Scala&#8230; really need to dive into a functional language these days&#8230; it&#8217;s been years!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tweets that mention Getting Rid Of null at blog.joa-ebert.com – Blog of Joa Ebert -- Topsy.com</title>
		<link>http://blog.joa-ebert.com/2009/11/06/getting-rid-of-null/comment-page-1/#comment-178766</link>
		<dc:creator>Tweets that mention Getting Rid Of null at blog.joa-ebert.com – Blog of Joa Ebert -- Topsy.com</dc:creator>
		<pubDate>Fri, 06 Nov 2009 18:18:11 +0000</pubDate>
		<guid isPermaLink="false">http://blog.joa-ebert.com/?p=495#comment-178766</guid>
		<description>[...] This post was mentioned on Twitter by Joseph Burchett and joa ebert, Joseph Burchett. Joseph Burchett said: RT @joa: New blog post: Getting Rid of null http://bit.ly/31Uk0h [...]</description>
		<content:encoded><![CDATA[<p>[...] This post was mentioned on Twitter by Joseph Burchett and joa ebert, Joseph Burchett. Joseph Burchett said: RT @joa: New blog post: Getting Rid of null <a href="http://bit.ly/31Uk0h" rel="nofollow">http://bit.ly/31Uk0h</a> [...]</p>
]]></content:encoded>
	</item>
</channel>
</rss>

