<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/css" href="http://wiki.apidesign.org/skins/common/feed.css?116"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Leaky abstractions - Revision history</title>
		<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;action=history</link>
		<description>Revision history for this page on the wiki</description>
		<language>en</language>
		<generator>MediaWiki 1.12.0rc1</generator>
		<lastBuildDate>Fri, 01 May 2026 22:54:52 GMT</lastBuildDate>
		<item>
			<title>JaroslavTulach at 09:22, 31 October 2009</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3127&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:22, 31 October 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Joel Spolsky's article claims that it is inevitable that every abstraction is leaky. I can only support this statement. In the world of [[DCI]], when the bindings between ''data'' and ''interactions'' are almost unpredictable, one can see such [[DCIAndLeakyAbstractions|leakage effects]] quite easily. However the rest of Joel's article concludes that due to that he has to learn far more than he had to when dealing with old good '''char*''' years ago. This is where I have to, in the name of (selective) [[cluelessness]], object! Good abstractions (and [[API]]s) hide the implementation details in a way that 99% of usages do not require understanding of the underlying (and leaking) gory details. As a result majority of users of such systems can use them while staying [[clueless]]. For them the abstractions are quite beneficial.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Joel Spolsky's article claims that it is inevitable that every abstraction is leaky. I can only support this statement. In the world of [[DCI]], when the bindings between ''data'' and ''interactions'' are almost unpredictable, one can see such [[DCIAndLeakyAbstractions|leakage effects]] quite easily. However the rest of Joel's article concludes that due to that he has to learn far more than he had to when dealing with old good '''char*''' years ago. This is where I have to, in the name of (selective) [[cluelessness]], object! &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[&lt;/ins&gt;Good &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Technology|Good]] &lt;/ins&gt;abstractions (and [[API]]s) hide the implementation details in a way that 99% of usages do not require understanding of the underlying (and leaking) gory details. As a result majority of users of such systems can use them while staying [[clueless]]. For them the abstractions are quite beneficial.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Indeed, some users, in some situations need the underlying details, but for them there is the ''selective'' adjective in the [[cluelessness|selective cluelessness]]. This ensures that the knowledge is build-able, that the source code, implementations, behind the abstractions are no oraculums, but can be inspected, read and understood (for those 1% which needs it). &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Indeed, some users, in some situations need the underlying details, but for them there is the ''selective'' adjective in the [[cluelessness|selective cluelessness]]. This ensures that the knowledge is build-able, that the source code, implementations, behind the abstractions are no oraculums, but can be inspected, read and understood (for those 1% which needs it). &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 31 Oct 2009 09:22:10 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
		<item>
			<title>JaroslavTulach at 09:21, 31 October 2009</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3126&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:21, 31 October 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Joel Spolsky's article claims that it is inevitable that every abstraction is leaky. I can only support this statement. In the world of [[DCI]], when the bindings between ''data'' and ''interactions'' are almost unpredictable, one can see such [[DCIAndLeakyAbstractions|leakage effects]] quite easily. However the rest of Joel's article concludes that due to that he has to learn far more than he had to when dealing with old good '''char*''' years ago. This is where I have to, in the name of (selective) [[cluelessness]], object! Good abstractions (and [[API]]s) hide the implementation details in a way that 99% of usages do not require understanding of the underlying (and leaking) gory details. As a result majority of users of such systems can use them while staying [[clueless]]. For them the abstractions are quite beneficial. Indeed, some users, in some situations need the underlying details, but for them there is the ''selective'' adjective in the [[cluelessness|selective cluelessness]]. This ensures that the knowledge is build-able, that the source code, implementations, behind the abstractions are no oraculums, but can be inspected, read and understood (for those 1% which needs it). &lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Joel Spolsky's article claims that it is inevitable that every abstraction is leaky. I can only support this statement. In the world of [[DCI]], when the bindings between ''data'' and ''interactions'' are almost unpredictable, one can see such [[DCIAndLeakyAbstractions|leakage effects]] quite easily. However the rest of Joel's article concludes that due to that he has to learn far more than he had to when dealing with old good '''char*''' years ago. This is where I have to, in the name of (selective) [[cluelessness]], object! Good abstractions (and [[API]]s) hide the implementation details in a way that 99% of usages do not require understanding of the underlying (and leaking) gory details. As a result majority of users of such systems can use them while staying [[clueless]]. For them the abstractions are quite beneficial.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Indeed, some users, in some situations need the underlying details, but for them there is the ''selective'' adjective in the [[cluelessness|selective cluelessness]]. This ensures that the knowledge is build-able, that the source code, implementations, behind the abstractions are no oraculums, but can be inspected, read and understood (for those 1% which needs it). &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Leaky abstractions]] are here and we need to learn to live with them. When accompanied with [[cluelessness|selective cluelessness]], we can maximize their benefits while minimizing the negative effects of their leakages.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;[[Leaky abstractions]] are here and we need to learn to live with them. When accompanied with [[cluelessness|selective cluelessness]], we can maximize their benefits while minimizing the negative effects of their leakages.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 31 Oct 2009 09:21:37 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
		<item>
			<title>JaroslavTulach at 09:11, 31 October 2009</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3120&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 09:11, 31 October 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. There is some controversy on [[wikipedia::Leaky abstraction|wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;TBD&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;Joel Spolsky's article claims that it is inevitable that every abstraction is leaky. I can only support this statement. In the world of [[DCI]], when the bindings between ''data'' and ''interactions'' are almost unpredictable, one can see such [[DCIAndLeakyAbstractions|leakage effects]] quite easily. However the rest of Joel's article concludes that due to that he has to learn far more than he had to when dealing with old good '''char*''' years ago. This is where I have to, in the name of (selective) [[cluelessness]], object! Good abstractions (and [[API]]s) hide the implementation details in a way that 99% of usages do not require understanding of the underlying (and leaking) gory details. As a result majority of users of such systems can use them while staying [[clueless]]. For them the abstractions are quite beneficial. Indeed, some users, in some situations need the underlying details, but for them there is the ''selective'' adjective in the [[cluelessness|selective cluelessness]]. This ensures that the knowledge is build-able, that the source code, implementations, behind the abstractions are no oraculums, but can be inspected, read and understood (for those 1% which needs it). &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;[[Leaky abstractions]] are here and we need to learn to live with them. When accompanied with [[cluelessness|selective cluelessness]], we can maximize their benefits while minimizing the negative effects of their leakages.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;==== In other news ====&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion and led one of [[TheAPIBook]]'s reviewers to reject to publish its review.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion and led one of [[TheAPIBook]]'s reviewers to reject to publish its review.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 31 Oct 2009 09:11:05 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
		<item>
			<title>JaroslavTulach at 08:32, 31 October 2009</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3116&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 08:32, 31 October 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;This &lt;/del&gt;is &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;common source of &lt;/del&gt;[[wikipedia::Leaky abstraction|&lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;software bugs&lt;/del&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;There &lt;/ins&gt;is &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;some controversy on &lt;/ins&gt;[[wikipedia::Leaky abstraction|&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;wikipedia]] whether this is good or bad and even whether the original [http://www.joelonsoftware.com/articles/LeakyAbstractions.html Spolsky's article] is properly understood. Let me add few comments to this debate from the perspective of [[cluelessness|selective cluelessness&lt;/ins&gt;]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;TBD&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;and led one of [[TheAPIBook]]'s reviewers to reject to publish its review&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 31 Oct 2009 08:32:01 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
		<item>
			<title>JaroslavTulach at 07:18, 31 October 2009</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3115&amp;oldid=prev</link>
			<description>&lt;p&gt;&lt;/p&gt;

			&lt;table style=&quot;background-color: white; color:black;&quot;&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;col class='diff-marker' /&gt;
			&lt;col class='diff-content' /&gt;
			&lt;tr&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;←Older revision&lt;/td&gt;
				&lt;td colspan='2' style=&quot;background-color: white; color:black;&quot;&gt;Revision as of 07:18, 31 October 2009&lt;/td&gt;
			&lt;/tr&gt;
		&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;-&lt;/td&gt;&lt;td style=&quot;background: #ffa; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. This is common source of [[wikipedia::Leaky &lt;del style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;abstractions&lt;/del&gt;|software bugs]].&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;background: #cfc; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. This is common source of [[wikipedia::Leaky &lt;ins style=&quot;color: red; font-weight: bold; text-decoration: none;&quot;&gt;abstraction&lt;/ins&gt;|software bugs]].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background: #eee; color:black; font-size: smaller;&quot;&gt;&lt;div&gt;Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</description>
			<pubDate>Sat, 31 Oct 2009 07:18:04 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
		<item>
			<title>JaroslavTulach: New page: When creating an API one is creating a facade, an abstractions over the internals of the API's implementation. Often the characteristics of the implementations are visible through ...</title>
			<link>http://wiki.apidesign.org/index.php?title=Leaky_abstractions&amp;diff=3113&amp;oldid=prev</link>
			<description>&lt;p&gt;New page: When creating an &lt;a href=&quot;/wiki/API&quot; class=&quot;mw-redirect&quot; title=&quot;API&quot;&gt;API&lt;/a&gt; one is creating a facade, an abstractions over the internals of the &lt;a href=&quot;/wiki/API&quot; class=&quot;mw-redirect&quot; title=&quot;API&quot;&gt;API&lt;/a&gt;'s implementation. Often the characteristics of the implementations are visible through ...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;When creating an [[API]] one is creating a facade, an abstractions over the internals of the [[API]]'s implementation. Often the characteristics of the implementations are visible through the [[API]]. This is common source of [[wikipedia::Leaky abstractions|software bugs]].&lt;br /&gt;
&lt;br /&gt;
Leakages of this kind are not restricted just to the world of [[API]]. After writing [[TheAPIBook]] I also noticed that I made my own [[LeakingCulturalContext|cultural context leak]] which created an unwanted confusion.&lt;/div&gt;</description>
			<pubDate>Sat, 31 Oct 2009 06:39:26 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>			<comments>http://wiki.apidesign.org/wiki/Talk:Leaky_abstractions</comments>		</item>
	</channel>
</rss>