<?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>APIDesign - Blogs</title>
		<link>http://wiki.apidesign.org/index.php?title=Blogs&amp;action=feed&amp;feed=html</link>
		<description></description>
		<language>en</language>
		<generator>MediaWiki 1.12.0rc1 via WikiArticleFeeds 0.6.3</generator>
		<lastBuildDate>Mon, 08 Sep 2008 13:24:36 GMT</lastBuildDate>
		<item>
			<title> First Public Review of Practical API Design Book </title>
			<link>http://wiki.apidesign.org/wiki/1stPublicReview</link>
			<description>
&lt;p&gt;There is a &lt;a href=&quot;http://wiki.apidesign.org/wiki/1stPublicReview&quot; title=&quot;1stPublicReview&quot;&gt;review&lt;/a&gt; of &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;! &lt;a href=&quot;http://wiki.apidesign.org/wiki/GeertjanWielenga&quot; title=&quot;GeertjanWielenga&quot;&gt;Geertjan&lt;/a&gt; had just sent me a link to the &lt;a href=&quot;http://72miles.com/blog/posts/practical-api-design-confessions-of-a-java-framework-architect-book-reivew/&quot; class=&quot;external text&quot; title=&quot;http://72miles.com/blog/posts/practical-api-design-confessions-of-a-java-framework-architect-book-reivew/&quot; rel=&quot;nofollow&quot;&gt;first public review&lt;/a&gt; of the &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;. I was a bit nervous to open the page. I was not sure whether to get ready for absolute criticism or words expressing usefulness of &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;. I guess that a review which says &lt;i&gt;this is without a doubt a book that you need to put on your bookshelf. This is the first book of its kind and the tips and tricks that it provides is timeless - a key attribute of any pragmatic software development book&lt;/i&gt; can only be seen in positive light. Thanks for the nice review, &lt;a href=&quot;http://72miles.com/blog/posts/practical-api-design-confessions-of-a-java-framework-architect-book-reivew/&quot; class=&quot;external text&quot; title=&quot;http://72miles.com/blog/posts/practical-api-design-confessions-of-a-java-framework-architect-book-reivew/&quot; rel=&quot;nofollow&quot;&gt;Mike&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;Now on to the critical comments. Yes, I know the first part of the book, the theory, maybe seen as something delaying the real pleasure - the practical code samples. In &lt;a href=&quot;http://wiki.apidesign.org/wiki/Have_You_Ever_Wondered&quot; title=&quot;Have You Ever Wondered&quot;&gt;some sense it does&lt;/a&gt;, however I just felt that given the wide audience of readers (just to quote the reviewer &lt;i&gt;this book is really much more for anyone who writes code that anyone else consumes - and who doesn’t do that? This book is for any developer who is not brand new to software development&lt;/i&gt;), I felt the need to get everyone on the speed, clean up the terminology, make sure we understand each other. Maybe I was too careful, as &lt;a href=&quot;http://wiki.apidesign.org/wiki/RichUnger&quot; title=&quot;RichUnger&quot;&gt;RichUnger&lt;/a&gt; said: &lt;i&gt;you do not need your readers to agree with you 100%, maybe 99% is enough&lt;/i&gt;. Well, I targeted for the 100%, and as a result, the book may be seen &lt;i&gt;slow&lt;/i&gt; for those who are already on the same boat. Still, it has a lot of &lt;i&gt;meat&lt;/i&gt; even for such readers, I guess.
&lt;/p&gt;&lt;p&gt;The other interesting comment was about the subtitle: &lt;i&gt;confessions&lt;/i&gt;. The comment is very likely true. I have to admit, especially after the confession I made at the end of &lt;a href=&quot;http://wiki.apidesign.org/wiki/Ever_Changing_Targets&quot; title=&quot;Ever Changing Targets&quot;&gt;Chapter 4&lt;/a&gt;, that I have never been to a confession. My understanding of that term is really vague. However, we needed the subtitle to stress, that the book is not opinion neutral, that it contains personal experiences, ideas, stories, etc. When &lt;a href=&quot;http://wiki.apidesign.org/wiki/ThanksEveryone#Clay_Andres&quot; title=&quot;ThanksEveryone&quot;&gt;Clay&lt;/a&gt; suggested to use &lt;i&gt;confessions&lt;/i&gt;, I felt, yes, that is sort of what I am actually doing. Maybe this is not absolutely correct, but it helps set the right expectations up. At least I hope.
&lt;/p&gt;&lt;p&gt;I really like Mike saying: &lt;i&gt;After reading many chapters, I went right to my open source project, &lt;a href=&quot;http://code.google.com/p/architecturerules/&quot; class=&quot;external text&quot; title=&quot;http://code.google.com/p/architecturerules/&quot; rel=&quot;nofollow&quot;&gt;Architecture Rules&lt;/a&gt;, and either changed code or emailed developer mailing list to suggest changes to code to encourage a better, more malleable and extensible API.&lt;/i&gt; Yes, this is it! This is the reason why I wrote &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;. Software for 21st century needs to be modular, needs to be well evolved and I am glad that &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;my book&lt;/a&gt; can contribute to that.
&lt;/p&gt;&lt;p&gt;Thanks for such nice review and I am eagerly waiting to see more. Btw. if you ever feel you have a note to share about API Design, feel free to jump on the &lt;a href=&quot;http://wiki.apidesign.org/wiki/Main_Page&quot; title=&quot;Main Page&quot;&gt;apidesign.org&lt;/a&gt; wiki.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 19:42, 2 September 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Tue, 02 Sep 2008 19:42:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Joel Neely on Enums in APIs </title>
			<link>http://wiki.apidesign.org/wiki/Talk:Blogs:AndreiBadea:EnumsInAPIs#Joel_Neely_said_...</link>
			<description>
&lt;p&gt;Today I found out that there is an interesting 
&lt;a href=&quot;http://wiki.apidesign.org/wiki/Talk:Blogs:AndreiBadea:EnumsInAPIs#Joel_Neely_said_...&quot; title=&quot;Talk:Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;comment&lt;/a&gt;
to the blog entry published by 
&lt;a href=&quot;http://wiki.apidesign.org/wiki/AndreiBadea&quot; title=&quot;AndreiBadea&quot;&gt;Andrei&lt;/a&gt; a week ago. &lt;a href=&quot;http://wiki.apidesign.org/wiki/AndreiBadea&quot; title=&quot;AndreiBadea&quot;&gt;Andrei&lt;/a&gt; shared with us few thoughts on the &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:AndreiBadea:EnumsInAPIs&quot; title=&quot;Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;use of enums in API&lt;/a&gt;. &lt;a href=&quot;http://wiki.apidesign.org/wiki/Talk:Blogs:AndreiBadea:EnumsInAPIs#Joel_Neely_said_...&quot; title=&quot;Talk:Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;Joel Neely noted&lt;/a&gt;  that it all depends on how the &lt;b&gt;enum&lt;/b&gt; is used in the API. I cannot do anything else than agree with 
&lt;a href=&quot;http://wiki.apidesign.org/wiki/Talk:Blogs:AndreiBadea:EnumsInAPIs#Joel_Neely_said_...&quot; title=&quot;Talk:Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;his words&lt;/a&gt;, yes it depends on whether the &lt;b&gt;enum&lt;/b&gt; is used  &lt;a href=&quot;http://en.wikipedia.org/wiki/Covariance_and_contravariance_%28computer_science%29&quot; class=&quot;extiw&quot; title=&quot;wikipedia:Covariance_and_contravariance_(computer_science)&quot;&gt;covariantly or contravariantly&lt;/a&gt;. If the enum is used covariantly only, then extending it with new constant in new version of the API is OK.
&lt;/p&gt;&lt;p&gt;The only problem is that as soon as you publish an &lt;b&gt;enum&lt;/b&gt;, one can immediately write a &lt;b&gt;switch&lt;/b&gt; statement over it. And the &lt;b&gt;switch&lt;/b&gt; statement's behaviour is contravariant. That is no good news for the API writers and compatible extensibility of their &lt;b&gt;enum&lt;/b&gt; based APIs...
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 21:22, 26 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Tue, 26 Aug 2008 21:22:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Are there any Languages Ready for API Evolution? </title>
			<link>http://wiki.apidesign.org/wiki/TheAPIBook</link>
			<description>
&lt;p&gt;When I was describing my API design adventures in &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;, I could not realize that many of these problems would not even appear if we had better languages, or systems more suitable for the &lt;a href=&quot;http://wiki.apidesign.org/wiki/DistributedDevelopment&quot; title=&quot;DistributedDevelopment&quot;&gt;DistributedDevelopment&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;I may be wrong, but I do not know about any language that would support &lt;i&gt;modularity&lt;/i&gt;. And here I mean not compilation piece by piece, but also &lt;i&gt;modularity in time&lt;/i&gt;. Because that is the kind of modularity that is needed quite often during development of APIs for our libraries. 
&lt;/p&gt;&lt;p&gt;At one point of time we release a version of a library and distribute it to others by publishing it on the website. Now people unknown to us, distributed all around the world download it and use it. As a result, the amount of applications built on top of such library is increasing, which implies also that the amount of bugs and feature requests is growing too. After a while the time to release new version of the library comes. However what if the first version used to have a class:
&lt;/p&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;&lt;pre class=&quot;source-java&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;abstract&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;View&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;abstract&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;String&lt;/span&gt; getDisplayName&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;What if one of the feature requests demands to add an HTML title to each view. Can we change the view class to following form:
&lt;/p&gt;
&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot;&gt;&lt;pre class=&quot;source-java&quot;&gt;&lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;abstract&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;View&lt;/span&gt; &lt;span class=&quot;br0&quot;&gt;&amp;#123;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;abstract&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;String&lt;/span&gt; getDisplayName&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
  &lt;span class=&quot;kw1&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kw1&quot;&gt;abstract&lt;/span&gt; &lt;span class=&quot;kw3&quot;&gt;String&lt;/span&gt; getHTMLTitle&lt;span class=&quot;br0&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span class=&quot;br0&quot;&gt;&amp;#41;&lt;/span&gt;&lt;span class=&quot;sy0&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;br0&quot;&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;p&gt;Indeed, this cannot be done. Existing subclasses of &lt;i&gt;View&lt;/i&gt; would no longer compile, because the change is not source compatible. Also, even if someone links already compiled subclass with the new version of the library, the Java virtual machine will complain and throw some kind of linkage error, as definition of an abstract super class method is missing.
&lt;/p&gt;&lt;p&gt;I would love to see a language or system that would fail the compilation whenever I want to modify my already released classes in a style that could prevent some of their users to continue to use them in previously working way. This would be the real &lt;i&gt;modularity&lt;/i&gt;, which is ready for changes in time. So far it seems to me that the current languages do not deal with changes in time really well. Just like Andrei described in his &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:AndreiBadea:EnumsInAPIs&quot; title=&quot;Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;Enums in APIs&lt;/a&gt; blog, it seems that our languages do not think about the process of API evolution much and include constructs that one needs to avoid to make &lt;a href=&quot;http://wiki.apidesign.org/wiki/DistributedDevelopment&quot; title=&quot;DistributedDevelopment&quot;&gt;DistributedDevelopment&lt;/a&gt; possible.
&lt;/p&gt;&lt;p&gt;Releasing new version of libraries with modified APIs is really common and our software engineering practices cannot live without it, yet it seems that there is no language in the world that would make this easy and &lt;a href=&quot;http://wiki.apidesign.org/wiki/Cluelessness&quot; title=&quot;Cluelessness&quot;&gt;clueless&lt;/a&gt;. Or am I wrong?
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
Also lively discussed at &lt;a href=&quot;http://lambda-the-ultimate.org/node/2950&quot; class=&quot;external text&quot; title=&quot;http://lambda-the-ultimate.org/node/2950&quot; rel=&quot;nofollow&quot;&gt;Lambda the Ultimate&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 06:50, 24 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Sun, 24 Aug 2008 06:50:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Have You Ever Wondered? </title>
			<link>http://wiki.apidesign.org/wiki/Have_You_Ever_Wondered</link>
			<description>
&lt;p&gt;Many people want to know, before they start to read a book, whether it can help them solve some problems they have faced. That is very likely reason why many books start with &lt;i&gt;have you ever wondered&lt;/i&gt; sections. The &lt;i&gt;Practical API Design&lt;/i&gt; book does not contain such section itself, however that in no way means that there it is not helping to solve problems! You can bet that there is a lot of useful advices! The book is a lab journal describing adventures of NetBeans project and as such, it is almost completely stuffed with problem solutions. Here is short &lt;a href=&quot;http://wiki.apidesign.org/wiki/Have_You_Ever_Wondered&quot; title=&quot;Have You Ever Wondered&quot;&gt;online&lt;/a&gt; version of &lt;a href=&quot;http://wiki.apidesign.org/wiki/Have_You_Ever_Wondered&quot; title=&quot;Have You Ever Wondered&quot;&gt;Have You Ever Wondered&lt;/a&gt; to demonstrate that. Visit the &lt;a href=&quot;http://wiki.apidesign.org/wiki/Have_You_Ever_Wondered&quot; title=&quot;Have You Ever Wondered&quot;&gt;page&lt;/a&gt; and check yourself what problems can &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt; solve for you!
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 20:42, 17 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Sun, 17 Aug 2008 20:42:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Win the Practical API Design Book </title>
			<link>http://wiki.apidesign.org/wiki/HtmlForFood</link>
			<description>
&lt;p&gt;As part of Chapter 1, The Art of Building Modern Software I wanted to demonstrate that the need for programmers is really big and that almost everyone who wants to get a job as a programmer may get it. For this I wanted to reuse a picture of a San Francisco homeless that is famous for wearing sign with &quot;&lt;a href=&quot;http://wiki.apidesign.org/wiki/HtmlForFood&quot; title=&quot;HtmlForFood&quot;&gt;Will Code HTML for Food&lt;/a&gt;&quot;. However I could not do that, because the picture is of really low quality. That is why I needed a new re-take.  We already &lt;a href=&quot;http://wiki.apidesign.org/wiki/HtmlForFood&quot; title=&quot;HtmlForFood&quot;&gt;have some&lt;/a&gt;, but still, I'd like us to start sharing! As sharing of pictures is sometimes easier than sharing of API Design ideas,  please participate in a photo contest! Get a chance to 
win &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt; by taking &quot;Will Code HTML for Food&quot; like picture and adding a reference to it to &lt;a href=&quot;http://wiki.apidesign.org/wiki/HtmlForFood&quot; title=&quot;HtmlForFood&quot;&gt;HtmlForFood&lt;/a&gt; by Aug 28, 2008!
&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://wiki.apidesign.org/wiki/Image:Tomas1.jpg&quot; class=&quot;image&quot; title=&quot;Image:tomas1.jpg&quot;&gt;&lt;img alt=&quot;Image:tomas1.jpg&quot; src=&quot;http://wiki.apidesign.org/images/0/0f/Tomas1.jpg&quot; width=&quot;300&quot; height=&quot;450&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;a href=&quot;http://wiki.apidesign.org/wiki/Image:HtmlForFood.png&quot; class=&quot;image&quot; title=&quot;Image:HtmlForFood.png&quot;&gt;&lt;img alt=&quot;Image:HtmlForFood.png&quot; src=&quot;http://wiki.apidesign.org/images/8/82/HtmlForFood.png&quot; width=&quot;278&quot; height=&quot;320&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;I am looking forward your &lt;a href=&quot;http://wiki.apidesign.org/wiki/HtmlForFood&quot; title=&quot;HtmlForFood&quot;&gt;submissions&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 16:11, 14 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Thu, 14 Aug 2008 16:11:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Visual Aspects of an API </title>
			<link>http://wiki.apidesign.org/wiki/APITypes:VisualAspects</link>
			<description>
&lt;p&gt;The usual consensus is that &lt;a href=&quot;http://wiki.apidesign.org/wiki/APITypes:VisualAspects&quot; title=&quot;APITypes:VisualAspects&quot;&gt;visual aspects&lt;/a&gt; that are presented just to the end user are not part of API of some application. This is usually well justified and correct, except in &lt;a href=&quot;http://wiki.apidesign.org/wiki/APITypes:VisualAspects&quot; title=&quot;APITypes:VisualAspects&quot;&gt;some situations&lt;/a&gt;...
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 11:40, 11 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Mon, 11 Aug 2008 11:40:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> New LaF of apidesign.org </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:NewLookAndFeel</link>
			<description>
&lt;p&gt;There was a lot of factors that influenced me last year, when I was searching for publisher of my book. However one of them must have been slickness of cover. I really like the black and yellow style of Apress books. I like it so much that I decided to make it the default &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:NewLookAndFeel&quot; title=&quot;Blogs:JaroslavTulach:Daily Life:NewLookAndFeel&quot;&gt;Look and Feel&lt;/a&gt; of the &lt;a href=&quot;http://wiki.apidesign.org/wiki/Main_Page&quot; title=&quot;Main Page&quot;&gt;apidesign.org&lt;/a&gt; website. 
&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://wiki.apidesign.org/wiki/Image:Apidesign.jpg&quot; class=&quot;image&quot; title=&quot;Image:Apidesign.jpg&quot;&gt;&lt;img alt=&quot;Image:Apidesign.jpg&quot; src=&quot;http://wiki.apidesign.org/images/3/35/Apidesign.jpg&quot; width=&quot;372&quot; height=&quot;494&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;I'd started with &lt;a href=&quot;http://wiki.apidesign.org/index.php?title=Blogs:JaroslavTulach:Daily_Life:NewLookAndFeel&amp;amp;useskin=monobook&quot; class=&quot;external text&quot; title=&quot;http://wiki.apidesign.org/index.php?title=Blogs:JaroslavTulach:Daily_Life:NewLookAndFeel&amp;amp;useskin=monobook&quot; rel=&quot;nofollow&quot;&gt;MonoBook theme&lt;/a&gt; and modified it to be &lt;i&gt;a bit&lt;/i&gt; darker. I &lt;a href=&quot;http://wiki.apidesign.org/wiki/HtmlForFood&quot; title=&quot;HtmlForFood&quot;&gt;do not code CSS for living&lt;/a&gt;, but &lt;a href=&quot;http://en.wikipedia.org/wiki/CSS&quot; class=&quot;extiw&quot; title=&quot;wikipedia:CSS&quot;&gt;CSS&lt;/a&gt; file editing support in &lt;a href=&quot;http://wiki.apidesign.org/wiki/NetBeans&quot; class=&quot;mw-redirect&quot; title=&quot;NetBeans&quot;&gt;NetBeans&lt;/a&gt; IDE is good, so it was quite entertaining experience. I am sure not everything is perfect, but I'll keep fixing problems as they appear. If you notice something ugly or broken, let me know.
&lt;/p&gt;
&lt;div id=&quot;commentForm&quot;&gt;&lt;form method=&quot;post&quot; action=&quot;/index.php?title=Special:ProcessComment&quot;&gt;&lt;input type=&quot;hidden&quot; id=&quot;titleKey&quot; name=&quot;titleKey&quot; value=&quot;Blogs&quot; /&gt;&lt;input type=&quot;hidden&quot; id=&quot;titleNS&quot; name=&quot;titleNS&quot; value=&quot;0&quot; /&gt;&lt;p&gt;Name (required): &lt;br /&gt;&lt;input type=&quot;text&quot; id=&quot;commenterName&quot; name=&quot;commenterName&quot; /&gt;&lt;/p&gt;&lt;p&gt;Website: &lt;br /&gt;&lt;input type=&quot;text&quot; id=&quot;commenterURL&quot; name=&quot;commenterURL&quot; value=&quot;http://&quot; /&gt;&lt;/p&gt;&lt;p&gt;Comment: &lt;br /&gt;&lt;textarea id=&quot;comment&quot; name=&quot;comment&quot; style=&quot;width:30em&quot; rows=&quot;5&quot;&gt;&lt;/textarea&gt;&lt;/p&gt;&lt;p&gt;&lt;input id=&quot;submit&quot; type=&quot;submit&quot; value=&quot;Submit&quot; /&gt;&lt;/p&gt;&lt;/form&gt;&lt;/div&gt;&lt;script type='text/javascript'&gt;//&lt;![CDATA[
(function(){
var prefillUserName = function(){
var ptu=document.getElementById(&quot;pt-userpage&quot;);
if (ptu) document.getElementById(&quot;commenterName&quot;).value=ptu.getElementsByTagName(&quot;a&quot;)[0].innerHTML;};
if (window.addEventListener) window.addEventListener(&quot;load&quot;,prefillUserName,false);
else if (window.attachEvent) window.attachEvent(&quot;onload&quot;,prefillUserName);
var cf=document.getElementById(&quot;commentForm&quot;);
cf.style.display=&quot;none&quot;;
var p=document.createElement(&quot;p&quot;);
p.innerHTML=&quot;&lt;a href='javascript:void(0)' onclick='document.getElementById(\&quot;commentForm\&quot;).style.display=\&quot;block\&quot;;this.style.display=\&quot;none\&quot;;false'&gt;Leave a comment ...&lt;/a&gt;&quot;;
cf.parentNode.insertBefore(p,cf);
})();
//]]&gt;&lt;/script&gt;
&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 10:16, 4 August 2008 (UTC)
--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 10:09, 4 August 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Mon, 04 Aug 2008 10:16:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> There is a Reason Why Every Book is Dedicated to Family </title>
			<link>http://wiki.apidesign.org/wiki/ThanksFriends</link>
			<description>
&lt;p&gt;I've heard this sentence at the J1 this year and I cannot get it out of my mind. Yes, family plays a really big role in the life of a writer. So please let me thank to it as well to other &lt;a href=&quot;http://wiki.apidesign.org/wiki/ThanksFriends&quot; title=&quot;ThanksFriends&quot;&gt;friends&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 19:00, 27 July 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Sun, 27 Jul 2008 19:00:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Good Book Needs Good Reviewers </title>
			<link>http://wiki.apidesign.org/wiki/ThanksReviewers</link>
			<description>
&lt;p&gt;It is time to &lt;a href=&quot;http://wiki.apidesign.org/wiki/ThanksReviewers&quot; title=&quot;ThanksReviewers&quot;&gt;thank to all my reviewers&lt;/a&gt; as today I've found out that you can order my book on &lt;a href=&quot;http://www.amazon.com/gp/product/1430209739?ie=UTF8&amp;amp;tag=apidesignorg-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1430209739&quot; class=&quot;external text&quot; title=&quot;http://www.amazon.com/gp/product/1430209739?ie=UTF8&amp;amp;tag=apidesignorg-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1430209739&quot; rel=&quot;nofollow&quot;&gt;Amazon.com&lt;/a&gt;. Please look at my little &lt;a href=&quot;http://wiki.apidesign.org/wiki/ThanksReviewers&quot; title=&quot;ThanksReviewers&quot;&gt;ThanksReviewers&lt;/a&gt; to find out why to  &lt;a href=&quot;http://www.amazon.com/gp/product/1430209739?ie=UTF8&amp;amp;tag=apidesignorg-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1430209739&quot; class=&quot;external text&quot; title=&quot;http://www.amazon.com/gp/product/1430209739?ie=UTF8&amp;amp;tag=apidesignorg-20&amp;amp;linkCode=as2&amp;amp;camp=1789&amp;amp;creative=9325&amp;amp;creativeASIN=1430209739&quot; rel=&quot;nofollow&quot;&gt;order my book&lt;/a&gt;. I believe that all reviewers really shape it to something worth reading. Thanks a lot.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 19:44, 18 July 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Fri, 18 Jul 2008 19:44:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Removing Fear of Writing Documentation </title>
			<link>http://wiki.apidesign.org/wiki/Teamwork</link>
			<description>
&lt;p&gt;Heuréka! As I've just noted in a dedicated page describing chapter 16, &lt;a href=&quot;http://wiki.apidesign.org/wiki/Teamwork&quot; title=&quot;Teamwork&quot;&gt;Teamwork&lt;/a&gt; one &lt;a href=&quot;http://wiki.apidesign.org/wiki/GeertjanWielenga&quot; title=&quot;GeertjanWielenga&quot;&gt;GeertjanWielenga&lt;/a&gt;'s fear has just been overcome!
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 16:05, 17 July 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Thu, 17 Jul 2008 16:05:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Enums in APIs </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:AndreiBadea:EnumsInAPIs</link>
			<description>
&lt;p&gt;An user of an enum might want to ensure he has processed all its fields. This can be problematic when the user doesn't own the enum, &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:AndreiBadea:EnumsInAPIs&quot; title=&quot;Blogs:AndreiBadea:EnumsInAPIs&quot;&gt;such  as in an API&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:AndreiBadea&quot; class=&quot;mw-redirect&quot; title=&quot;User:AndreiBadea&quot;&gt;AndreiBadea&lt;/a&gt; 14:18, 16 July 2008 (UTC)
&lt;/p&gt;&lt;p&gt;</description>
			<pubDate>Wed, 16 Jul 2008 14:18:00 GMT</pubDate>			<dc:creator>AndreiBadea</dc:creator>					</item>
		<item>
			<title> Question on classes and interfaces </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JesseGlick:OfClassesAndInterfaces</link>
			<description>
&lt;p&gt;Someone asked: &lt;i&gt;I guess that, roughly, a client API should use abstract classes while&lt;/i&gt;
a support/provider API should use interfaces?&lt;i&gt; &lt;/i&gt;
&lt;/p&gt;&lt;p&gt;To which &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JesseGlick:OfClassesAndInterfaces&quot; title=&quot;Blogs:JesseGlick:OfClassesAndInterfaces&quot;&gt;I responded...&lt;/a&gt;
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JesseGlick&quot; class=&quot;mw-redirect&quot; title=&quot;User:JesseGlick&quot;&gt;JesseGlick&lt;/a&gt; 09:33, 15 July 2008 (UTC)
&lt;/p&gt;&lt;p&gt;</description>
			<pubDate>Tue, 15 Jul 2008 09:33:00 GMT</pubDate>			<dc:creator>JesseGlick</dc:creator>					</item>
		<item>
			<title> Dependencies Are Important Type of API </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Theory:Dependencies_Are_Impotant_Type_of_API</link>
			<description>
&lt;p&gt;New type of API &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Theory:Dependencies_Are_Impotant_Type_of_API&quot; title=&quot;Blogs:JaroslavTulach:Theory:Dependencies Are Impotant Type of API&quot;&gt;has been discovered&lt;/a&gt;!
&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 07:05, 15 July 2008 (UTC)
&lt;/p&gt;&lt;p&gt;</description>
			<pubDate>Tue, 15 Jul 2008 07:05:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Adventures with PHP and MediaWiki </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:Adventures_with_PHP_and_MediaWiki</link>
			<description>
&lt;p&gt;During the last week, I was &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:Adventures_with_PHP_and_MediaWiki&quot; title=&quot;Blogs:JaroslavTulach:Daily Life:Adventures with PHP and MediaWiki&quot;&gt;slightly playing&lt;/a&gt; with various enhancements to the content of the &lt;a href=&quot;http://wiki.apidesign.org/wiki/Main_Page&quot; title=&quot;Main Page&quot;&gt;API Design wiki&lt;/a&gt;.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 21:14, 6 July 2008 (UTC)
&lt;/p&gt;
</description>
			<pubDate>Sun, 06 Jul 2008 21:14:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Request/Response Pattern Revisited </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Practical_Design:Request/Response_Pattern_Revisited</link>
			<description>
&lt;p&gt;Here is few additional &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Practical_Design:Request/Response_Pattern_Revisited&quot; title=&quot;Blogs:JaroslavTulach:Practical Design:Request/Response Pattern Revisited&quot;&gt;thoughts about Request/Response&lt;/a&gt; which did not make it into &lt;a href=&quot;http://wiki.apidesign.org/wiki/TheAPIBook&quot; title=&quot;TheAPIBook&quot;&gt;TheAPIBook&lt;/a&gt;'s explanation of &lt;a href=&quot;http://wiki.apidesign.org/wiki/APIDesignPatterns:RequestResponse&quot; title=&quot;APIDesignPatterns:RequestResponse&quot;&gt;Request/Response&lt;/a&gt; pattern.
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 21:02, 25 June 2008 (UTC)
</description>
			<pubDate>Wed, 25 Jun 2008 21:02:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Book is never Written by a Single Person </title>
			<link>http://wiki.apidesign.org/wiki/ThanksEveryone</link>
			<description>
&lt;p&gt;The &lt;i&gt;Practical API Design&lt;/i&gt; book has been sent for print over the last weekend. I take it as a good opportunity to say thanks to all the people who helped me write it. The first set of &lt;a href=&quot;http://wiki.apidesign.org/wiki/ThanksEveryone&quot; title=&quot;ThanksEveryone&quot;&gt;ThanksEveryone&lt;/a&gt; notes is now available and covers those who &quot;manually&quot; contributed. I still need to thank to all those support &quot;units&quot; around me - something left for next blog entry...
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 12:01, 23 June 2008 (UTC)
&lt;/p&gt;&lt;p&gt;&lt;br /&gt;
&lt;/p&gt;
</description>
			<pubDate>Mon, 23 Jun 2008 12:01:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
		<item>
			<title> Entering the Blogosphere </title>
			<link>http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:Entering_the_Blogosphere</link>
			<description>
&lt;p&gt;I have created &lt;a href=&quot;http://wiki.apidesign.org/wiki/Blogs:JaroslavTulach:Daily_Life:Entering_the_Blogosphere&quot; title=&quot;Blogs:JaroslavTulach:Daily Life:Entering the Blogosphere&quot;&gt;my blog&lt;/a&gt;, does it mean that I finally exist?
&lt;/p&gt;&lt;p&gt;--&lt;a href=&quot;http://wiki.apidesign.org/wiki/User:JaroslavTulach&quot; title=&quot;User:JaroslavTulach&quot;&gt;JaroslavTulach&lt;/a&gt; 09:33, 15 June 2008 (UTC)
&lt;/p&gt;&lt;p&gt;</description>
			<pubDate>Sun, 15 Jun 2008 09:33:00 GMT</pubDate>			<dc:creator>JaroslavTulach</dc:creator>					</item>
	</channel>
</rss>