<?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: You can&#8217;t force people to provide metadata</title>
	<atom:link href="http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/</link>
	<description>The blog of John D. Cook</description>
	<lastBuildDate>Sat, 31 Jul 2010 07:45:27 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Wiktor Dolecki</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32708</link>
		<dc:creator>Wiktor Dolecki</dc:creator>
		<pubDate>Thu, 11 Feb 2010 06:19:53 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32708</guid>
		<description>The point is that most meta-data is in fact useless, because even if it is there there are no tools to make use of it, like some automatic verification or code generation etc.

Here&#039;s an example. Assume that you have to write a simple text calculator that allows definitions of functions, storing variables, has reasonable number of builtins and provides meaningful error messages. Furthermore you have to implement it in c.

So you are probably thinking flex &amp; bison (or lex &amp; yacc if you prefer). Of course this is the best option given current tools. The only excuse to do it by hand is to learn how algorithms in those tools actually work.

But the flex and bison sources are meta-data for the resulting c program and this meta-data is very useful as it allows to get the work done. So it is not the point of meta-data itself. It is the question &#039;will providing meta-data give me any benefit?&#039; that should be answered. If the answer is &#039;yes&#039; then provide meta-data. If the answers is &#039;no&#039; then why bother with doing something that won&#039;t give any benefit?</description>
		<content:encoded><![CDATA[<p>The point is that most meta-data is in fact useless, because even if it is there there are no tools to make use of it, like some automatic verification or code generation etc.</p>
<p>Here&#8217;s an example. Assume that you have to write a simple text calculator that allows definitions of functions, storing variables, has reasonable number of builtins and provides meaningful error messages. Furthermore you have to implement it in c.</p>
<p>So you are probably thinking flex &amp; bison (or lex &amp; yacc if you prefer). Of course this is the best option given current tools. The only excuse to do it by hand is to learn how algorithms in those tools actually work.</p>
<p>But the flex and bison sources are meta-data for the resulting c program and this meta-data is very useful as it allows to get the work done. So it is not the point of meta-data itself. It is the question &#8216;will providing meta-data give me any benefit?&#8217; that should be answered. If the answer is &#8216;yes&#8217; then provide meta-data. If the answers is &#8216;no&#8217; then why bother with doing something that won&#8217;t give any benefit?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kjetil Kjernsmo</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32641</link>
		<dc:creator>Kjetil Kjernsmo</dc:creator>
		<pubDate>Tue, 09 Feb 2010 22:33:59 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32641</guid>
		<description>It is too early to write off the Semantic Web as a failure, it is just passing the bottom of the Gartner hype curve. Also, the reason why we&#039;re not seeing too much of it isn&#039;t what you think. It isn&#039;t that there isn&#039;t enough useful data, and it isn&#039;t that there aren&#039;t enough incentives to provide useful data. There is &lt;a href=&quot;http://www4.wiwiss.fu-berlin.de/bizer/pub/lod-datasets_2009-07-14_colored.svg&quot; rel=&quot;nofollow&quot;&gt;more than enough data&lt;/a&gt; to do truly useful things. There are many reasons why we&#039;re not seeing more of it are many, one important reason is that customers do not demand solutions to the problems they have tomorrow. But the big reason, I would say, is that there is a huge gap between what businesses label research and what scientists label research. In this gap, we find dynamic OWL-class to OO Class mapping tools, nice templating languages, software stacks for many environments that programmers actually like, and so on. These are not really research problems, but they are also problems that commercial problems tend to tackle by only ad hoc solutions. thus there has been very little progress.</description>
		<content:encoded><![CDATA[<p>It is too early to write off the Semantic Web as a failure, it is just passing the bottom of the Gartner hype curve. Also, the reason why we&#8217;re not seeing too much of it isn&#8217;t what you think. It isn&#8217;t that there isn&#8217;t enough useful data, and it isn&#8217;t that there aren&#8217;t enough incentives to provide useful data. There is <a href="http://www4.wiwiss.fu-berlin.de/bizer/pub/lod-datasets_2009-07-14_colored.svg" rel="nofollow">more than enough data</a> to do truly useful things. There are many reasons why we&#8217;re not seeing more of it are many, one important reason is that customers do not demand solutions to the problems they have tomorrow. But the big reason, I would say, is that there is a huge gap between what businesses label research and what scientists label research. In this gap, we find dynamic OWL-class to OO Class mapping tools, nice templating languages, software stacks for many environments that programmers actually like, and so on. These are not really research problems, but they are also problems that commercial problems tend to tackle by only ad hoc solutions. thus there has been very little progress.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32515</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 08 Feb 2010 03:27:16 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32515</guid>
		<description>James, you&#039;re absolutely right. I discovered the link today and thought it was a new post. I saw &quot;Sunday, February ...&quot; at the top of the page and didn&#039;t look closely enough to see that it said &quot;Sunday, February 10, 2008.&quot; I&#039;ll edit the post to correct my mistake. Thanks for pointing out the error.</description>
		<content:encoded><![CDATA[<p>James, you&#8217;re absolutely right. I discovered the link today and thought it was a new post. I saw &#8220;Sunday, February &#8230;&#8221; at the top of the page and didn&#8217;t look closely enough to see that it said &#8220;Sunday, February 10, 2008.&#8221; I&#8217;ll edit the post to correct my mistake. Thanks for pointing out the error.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: James Thompson</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32513</link>
		<dc:creator>James Thompson</dc:creator>
		<pubDate>Mon, 08 Feb 2010 03:20:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32513</guid>
		<description>When you say &quot;today,&quot; do you mean sometime in February of 2008? Or am I reading the wrong blog entry?</description>
		<content:encoded><![CDATA[<p>When you say &#8220;today,&#8221; do you mean sometime in February of 2008? Or am I reading the wrong blog entry?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32511</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 08 Feb 2010 01:22:08 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32511</guid>
		<description>Some people argue that static type checking is just a weak form of unit testing, and that dynamically typed code with unit tests is safer than statically typed code without. That has a ring of truth to it, but some people will write tests no matter what language they&#039;re using, and some will not.

That&#039;s an interesting point about tests forcing you into structural rigidity. It would be hard to know, since it&#039;s a behavioral issue. In theory, you should continually refactor your tests as you refactor your code. But I imagine you&#039;re right: the more tests you have, the less willing you&#039;re going to be to make a change that makes you revise your tests. 

The strongest criticism I&#039;ve seen of unit tests is that they they &lt;a href=&quot;http://www.johndcook.com/blog/2010/01/12/software-sins-of-omission/&quot; rel=&quot;nofollow&quot;&gt;cannot catch three out of four bugs&lt;/a&gt;. They&#039;re valuable for the one in four bugs they can catch, but QA has got to be a lot more than unit testing.</description>
		<content:encoded><![CDATA[<p>Some people argue that static type checking is just a weak form of unit testing, and that dynamically typed code with unit tests is safer than statically typed code without. That has a ring of truth to it, but some people will write tests no matter what language they&#8217;re using, and some will not.</p>
<p>That&#8217;s an interesting point about tests forcing you into structural rigidity. It would be hard to know, since it&#8217;s a behavioral issue. In theory, you should continually refactor your tests as you refactor your code. But I imagine you&#8217;re right: the more tests you have, the less willing you&#8217;re going to be to make a change that makes you revise your tests. </p>
<p>The strongest criticism I&#8217;ve seen of unit tests is that they they <a href="http://www.johndcook.com/blog/2010/01/12/software-sins-of-omission/" rel="nofollow">cannot catch three out of four bugs</a>. They&#8217;re valuable for the one in four bugs they can catch, but QA has got to be a lot more than unit testing.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Minerich</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32510</link>
		<dc:creator>Rick Minerich</dc:creator>
		<pubDate>Mon, 08 Feb 2010 00:40:31 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32510</guid>
		<description>Ahh I see.  I haven&#039;t spent much time with Python.  Although, MIT adopting it as their main language must mean good things :). 

In the past I&#039;ve used Ruby, TCL, PHP and Javascript and found repeatedly that the lack of type safety let otherwise obvious bugs go undiscovered.   Some of these statically typed FP languages are somewhere in the middle I think.   The type inference lets the code feel more dynamic.  

Perhaps the issue was I had never even heard of TDD at that point.  However, don&#039;t tests cause the same kinds of structural rigidity that you are trying to avoid by using a dynamic language?</description>
		<content:encoded><![CDATA[<p>Ahh I see.  I haven&#8217;t spent much time with Python.  Although, MIT adopting it as their main language must mean good things <img src='http://www.johndcook.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> . </p>
<p>In the past I&#8217;ve used Ruby, TCL, PHP and Javascript and found repeatedly that the lack of type safety let otherwise obvious bugs go undiscovered.   Some of these statically typed FP languages are somewhere in the middle I think.   The type inference lets the code feel more dynamic.  </p>
<p>Perhaps the issue was I had never even heard of TDD at that point.  However, don&#8217;t tests cause the same kinds of structural rigidity that you are trying to avoid by using a dynamic language?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32509</link>
		<dc:creator>John</dc:creator>
		<pubDate>Mon, 08 Feb 2010 00:22:10 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32509</guid>
		<description>Rick, Yegge mentioned C++ and Java as languages that invite the programmer to get lost in the type system. His complaint is not the familiar one that it takes more keystrokes to declare variable types. His complaint is that programmers are tempted to spend a tremendous amount of time creating custom types, hoping to get the type system to catch logic errors. But I think he likes Python&#039;s light-weight OO.</description>
		<content:encoded><![CDATA[<p>Rick, Yegge mentioned C++ and Java as languages that invite the programmer to get lost in the type system. His complaint is not the familiar one that it takes more keystrokes to declare variable types. His complaint is that programmers are tempted to spend a tremendous amount of time creating custom types, hoping to get the type system to catch logic errors. But I think he likes Python&#8217;s light-weight OO.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rick Minerich</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32508</link>
		<dc:creator>Rick Minerich</dc:creator>
		<pubDate>Mon, 08 Feb 2010 00:15:11 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32508</guid>
		<description>The funny thing is, this is exactly what OO languages like C++, C# and Java force the programmer to do.  Type definitions everywhere.</description>
		<content:encoded><![CDATA[<p>The funny thing is, this is exactly what OO languages like C++, C# and Java force the programmer to do.  Type definitions everywhere.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: billso</title>
		<link>http://www.johndcook.com/blog/2010/02/07/you-cant-force-people-to-provide-metadata/comment-page-1/#comment-32507</link>
		<dc:creator>billso</dc:creator>
		<pubDate>Mon, 08 Feb 2010 00:00:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.johndcook.com/blog/?p=4491#comment-32507</guid>
		<description>Good point... some programmers tend to get greedy regarding metadata. Forcing users to consciously annotate and reveal isn&#039;t realistic. There are some privacy concerns here, of course.</description>
		<content:encoded><![CDATA[<p>Good point&#8230; some programmers tend to get greedy regarding metadata. Forcing users to consciously annotate and reveal isn&#8217;t realistic. There are some privacy concerns here, of course.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.355 seconds -->
