<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	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/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>martinklinke.com</title>
	<atom:link href="https://www.martinklinke.com/feed/" rel="self" type="application/rss+xml" />
	<link>https://www.martinklinke.com</link>
	<description>IT&#039;s my business</description>
	<lastBuildDate>Wed, 01 Jun 2016 22:14:29 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>
	<item>
		<title>Interactive coding in Visual Studio with Alive</title>
		<link>https://www.martinklinke.com/2016/06/02/interactive-coding-in-visual-studio-with-alive/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Wed, 01 Jun 2016 22:14:03 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[interactive-coding]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=121</guid>

					<description><![CDATA[If you like NCrunch, you should take a look atÂ the Visual Studio pluginÂ Alive. I stumbled upon this tool while researching for my previous post about C# code generation. Just like NCrunch, it executes your code while you type. But instead of test outcomes, it focusses on the details of the code execution and provides invaluable [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If you like <a href="http://www.ncrunch.net/">NCrunch</a>, you should take a look atÂ the Visual Studio pluginÂ <a href="https://comealive.io/">Alive</a>. I stumbled upon this tool while researching for my previous post about C# code generation.</p>
<p>Just like NCrunch, it executes your code while you type. But instead of test outcomes, it focusses on the details of the code execution and provides invaluable insight into the contents of variables and even the control flow as you type. You can even drag a slider to see differentÂ iterations in loops. All you need is a starting point like a static method, a test method or any method where the parent type can be instantiated with some generic defaults.</p>
<p>This short video (~6 minutes) gives a great first impression so far:</p>
<p><span id="more-121"></span></p>
<p><iframe title="Alive - Helps you catch bugs quickly." width="500" height="281" src="https://www.youtube.com/embed/C40Ozwohgm8?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe></p>
<p>I might take a look at the free 30 day trial as soon as I am back in Visual Studio.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>How to generate C# code in 2016</title>
		<link>https://www.martinklinke.com/2016/06/01/how-to-generate-c-code-in-2016/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Wed, 01 Jun 2016 21:15:21 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[.net]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=117</guid>

					<description><![CDATA[Today I wanted to generate a bit of rather trivial C# code to provide a convenient facade to an internal library. After creating a T4 template, loadingÂ the required assembly and adding some namespace imports,Â I found it rather inefficientÂ to write code in that simple text editor without IntelliSense. So of course, there is always the option [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>Today I wanted to generate a bit of rather trivial C# code to provide a convenient facade to an internal library. After creating a <a href="https://msdn.microsoft.com/en-us/library/bb126445.aspx">T4 template</a>, loadingÂ the required assembly and adding some namespace imports,Â I found it rather inefficientÂ to write code in that simple text editor without IntelliSense. So of course, there is always the option to write a code generator class with a method that returns a string. The T4 template can instantiate that class, call the method and emit the value directly:</p>
<blockquote><p>&lt;#= new CodeGenerator().Generate() #&gt;</p></blockquote>
<p>Next comes the question of how to implement the generator. StringBuilder? Come on, there must be a better way. I checked in another library that I knew was using code generation. Then IÂ sawÂ thatÂ the library was usingÂ <a href="https://msdn.microsoft.com/en-us/library/y2k85ax6(v=vs.110).aspx">CodeDOM</a>. For my simple needs, I decided that this would be sufficient for the time being (and efficient, since I didn&#8217;t want to spend too much time there).</p>
<p>But then I started toÂ wonder. WillÂ CodeDOMÂ still work with the newÂ <a href="https://dotnet.github.io/">.NET Core</a>?</p>
<p><span id="more-117"></span></p>
<p>The answer was <a href="http://stackoverflow.com/questions/7852926/microsoft-roslyn-vs-codedom">no</a>.</p>
<p>The linked StackOverflow question already includes the &#8220;replacement&#8221; of CodeDOM (CodeDOM is referred to as someÂ precursor to part of what Roslyn does): The &#8220;new&#8221; <a href="https://github.com/dotnet/roslyn">Roslyn compiler platform</a> (which has been around for a while by now). More specifically, the <a href="https://johnkoerner.com/csharp/creating-code-using-the-syntax-factory/">SyntaxFactory</a>Â that comes with Roslyn.</p>
<p>The only draw-back I see immediately: The code that uses the SyntaxFactoryÂ seemsÂ a lot more verbose than the CodeDOM API. On the plus side, theÂ Roslyn way should beÂ superior toÂ CodeDOM regarding features and support for language constructs.</p>
<p>There are already articlesÂ available for <a href="https://dogschasingsquirrels.com/2014/07/16/generating-code-with-roslyn/">generating code with Roslyn</a>, so I will leave the details to the interested reader.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Learn Node.js basics with Learnyounode</title>
		<link>https://www.martinklinke.com/2015/04/24/learn-node-js-basics-with-learnyounode/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Fri, 24 Apr 2015 13:03:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[node-js]]></category>
		<category><![CDATA[tutorial]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=110</guid>

					<description><![CDATA[There is a nice Node.jsÂ module that can be installed via npm called learnyounode. It contains 13 exercises that practiceÂ the basics of node development. The nice thing is that it gives you instructions for implementing a short node program and then also provides an automated way to verify your solution. See this GitHub page for more [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There is a nice <a href="http://nodejs.org">Node.js</a>Â module that can be installed via npm called learnyounode. It contains 13 exercises that practiceÂ the basics of node development. The nice thing is that it gives you instructions for implementing a short node program and then also provides an automated way to verify your solution.</p>
<p>See <a href="https://github.com/workshopper/learnyounode">this GitHub page</a> for more details and installation instructions.</p>
<p>I have completed half of the exercises by now. Maybe there is time for the remaining ones next week. But the weather is nice, too ;)</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Automatic WordPress upgrades fail? Use PHP 5!</title>
		<link>https://www.martinklinke.com/2010/06/29/automatic-wordpress-upgrades-fail-use-php-5/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Tue, 29 Jun 2010 19:33:58 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[php5]]></category>
		<category><![CDATA[wordpress]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=98</guid>

					<description><![CDATA[If automatic upgrades of plugins or your whole WordPress installation do not work, you might need to enforce PHP 5 usage. This is fortunately very simple. In the root directory of your WordPress installation, look for a file called .htaccess. If it does not exist, create it with the following content: AddType x-mapp-php5 .php AddHandler [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>If automatic upgrades of plugins or your whole WordPress installation do not work, you might need to enforce PHP 5 usage. This is fortunately very simple. In the root directory of your WordPress installation, look for a file called .htaccess. If it does not exist, create it with the following content:</p>
<blockquote>
<pre>AddType x-mapp-php5 .php
AddHandler x-mapp-php5 .php</pre>
</blockquote>
<p>If the file already exists, just append the above two lines at the end.</p>
<p>Thanks to <a href="http://schnurpsel.de/wordpress-beim-11-webhosting-11-homepage-220/">Schnurpsel for this hint</a>.</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>MDSD Survey 2010</title>
		<link>https://www.martinklinke.com/2010/06/10/mdsd-survey-2010/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Thu, 10 Jun 2010 12:25:27 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[mdsd]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[uml]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=94</guid>

					<description><![CDATA[The Generative Software GmbH and the FZI have done a survey about the usage of Model-Driven Software Development approaches with around 300 participants. Almost 90% of the respondents have prior experience with the topic, so the report might give interesting general insights. Please see theÂ MDSD report 2010 (sorry, only in German) for details on the [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The <a href="http://www.generative-software.de/">Generative Software GmbH</a> and the <a href="http://www.fzi.de/">FZI</a> have done a survey about the usage of Model-Driven Software Development approaches with around 300 participants. Almost 90% of the respondents have prior experience with the topic, so the report might give interesting general insights.</p>
<p>Please see theÂ <a title="MDSD Report 2010" href="http://www.mdsd-umfrage.de/mdsd-report-2010.pdf">MDSD report 2010</a> (sorry, only in German) for details on the results.</p>
<p>Do you make use of MDSD techniques?</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Quick Guide: Embedding Google Wave in a blog post or web site</title>
		<link>https://www.martinklinke.com/2010/06/03/quick-guide-embedding-google-wave-in-a-blog-post-or-web-site/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Thu, 03 Jun 2010 17:16:32 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[google-wave]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=87</guid>

					<description><![CDATA[[wave id=&#8221;googlewave.com!w%252BPGAYVAPjA&#8221;] Please see these great articles for more detailed instructions: http://techpp.com/2009/12/03/how-to-add-embed-google-wave-in-your-blog-website/ http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/]]></description>
										<content:encoded><![CDATA[<p>[wave id=&#8221;googlewave.com!w%252BPGAYVAPjA&#8221;]</p>
<p>Please see these great articles for more detailed instructions:</p>
<ul>
<li><a href="http://techpp.com/2009/12/03/how-to-add-embed-google-wave-in-your-blog-website/">http://techpp.com/2009/12/03/how-to-add-embed-google-wave-in-your-blog-website/</a></li>
<li><a href="http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/">http://www.victusspiritus.com/2009/10/15/how-to-embed-google-wave-on-your-wordpress-blog/</a></li>
</ul>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Public Waves broken? No, it&#8217;s just the search term with:public&#8230;</title>
		<link>https://www.martinklinke.com/2009/10/19/public-waves-broken-no-its-just-the-search-term-withpublic/</link>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Mon, 19 Oct 2009 19:10:25 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[google-wave]]></category>
		<category><![CDATA[workaround]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=78</guid>

					<description><![CDATA[The search term &#8220;with:public&#8221; in Google Wave seems to be broken and shows only waves in which you are already a participant. Most likely, this is a bug, since it is a more convenient way to see public waves. However, until this is fixed again, use the search term &#8220;group:public@a.wave.com&#8221; to get to the public [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The search term &#8220;with:public&#8221; in Google Wave seems to be broken and shows only waves in which you are already a participant. Most likely, this is a bug, since it is a more convenient way to see public waves.</p>
<p>However, until this is fixed again, use the search term &#8220;group:public@a.wave.com&#8221; to get to the public waves in the meantime.</p>
<p><strong>Update: &#8220;with:public&#8221; is working again.</strong></p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>Google Wave Robot Capabilities</title>
		<link>https://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/</link>
					<comments>https://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/#comments</comments>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Sat, 17 Oct 2009 13:47:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[google-wave]]></category>
		<category><![CDATA[software]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=71</guid>

					<description><![CDATA[The only list of Google Wave Robot capabilities is contained in the API reference documentation of the enum EventType, but unfortunately does not contain a description when the events are triggered. Here is a documented list of what I&#8217;ve figured out so far (needs to be completed in the future): WAVELET_BLIP_CREATED Could not produce this [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>The only list of Google Wave Robot capabilities is contained in the API reference documentation of the enum <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/EventType.html">EventType</a>, but unfortunately does not contain a description when the events are triggered. Here is a documented list of what I&#8217;ve figured out so far (needs to be completed in the future):</p>
<ul>
<li><strong>WAVELET_BLIP_CREATED</strong><br />
<em>Could not produce this event</em> yet.</li>
<li><strong>WAVELET_BLIP_REMOVED</strong><br />
<em>Could not produce this event yet.</em></li>
<li><strong>WAVELET_PARTICIPANTS_CHANGED</strong><br />
Participants have been added to and/or removed from a Wave. Access the new/removed participants via <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Event.html#getAddedParticipants%28%29">Event#getAddedParticipants()</a> / <a href="http://wave-robot-java-client.googlecode.com/svn/trunk/doc/com/google/wave/api/Event.html#getRemovedParticipants%28%29">Event#getRemovedParticipants()</a></li>
<li><strong>WAVELET_SELF_ADDED</strong><br />
The robot has been added to a wave.</li>
<li><strong>WAVELET_SELF_REMOVED</strong><br />
The robot has been removed from a wave.</li>
<li><strong>WAVELET_TIMESTAMP_CHANGED</strong><br />
The modification timestamp of a wave has changed.</li>
<li><strong>WAVELET_TITLE_CHANGED</strong><br />
The title of the wave has changed.</li>
<li><strong>WAVELET_VERSION_CHANGED</strong><br />
<em>Haven&#8217;t figured out what version means exactly.</em></li>
<li><strong>BLIP_CONTRIBUTORS_CHANGED</strong><br />
The contributors for a blip have changed, i.e. added or removed.</li>
<li><strong>BLIP_DELETED</strong><br />
A blip was removed.</li>
<li><strong>BLIP_SUBMITTED</strong><br />
A new blip was created.</li>
<li><strong>BLIP_TIMESTAMP_CHANGED</strong><br />
The timestamp of a blip has changed.</li>
<li><strong>BLIP_VERSION_CHANGED</strong><br />
<em>Haven&#8217;t figured out what version means exactly.</em></li>
<li><strong>DOCUMENT_CHANGED</strong><br />
The content of a blip was changed.</li>
<li><strong>FORM_BUTTON_CLICKED</strong><br />
<em>Haven&#8217;t figured out yet what this really means.</em></li>
</ul>
<p>As one can see, the description is not complete yet. Feel free to help me out in the comments ;)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.martinklinke.com/2009/10/17/google-wave-robot-capabilities/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title>Speedometer with JFreeChart in Eclipse</title>
		<link>https://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/</link>
					<comments>https://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/#comments</comments>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Wed, 18 Feb 2009 22:25:18 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[charts]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[visualization]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=51</guid>

					<description><![CDATA[There is a great tutorial on vogella.de describing how to add a pie chart with JFreeChart to an Eclipse RCP application or plug-in. The ChartFactory that is used to create the pie chart does not include a method to create a speedometer (or dial) as shown in the sample section of JFreeChart. The following code [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>There is a great tutorial on <a href="http://www.vogella.de">vogella.de</a> describing how to <a title="JFreeChart in Eclipse RCP" href="http://www.vogella.de/articles/EclipseJFreeChart/article.html">add a pie chart with JFreeChart to an Eclipse RCP application or plug-in</a>. The ChartFactory that is used to create the pie chart does not include a method to create a speedometer (or dial) as shown in the <a title="JFreeChart Samples" href="http://www.jfree.org/jfreechart/samples.html">sample section of JFreeChart</a>. The following code fragment creates a view that displays a very basic speedometer using the <strong>org.jfree.chart.plot.MeterPlot</strong> class:</p>
<pre lang="Java">package com.martinklinke.eclipse.jfreechart.demo.views;

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.ui.part.ViewPart;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.MeterPlot;
import org.jfree.data.general.DefaultValueDataset;
import org.jfree.experimental.chart.swt.ChartComposite;

/**
* @author martin
*
*/
public class MeterChartView extends ViewPart {
   public static final String ID = "com.martinklinke.eclipse.jfreechart.demo.views.MeterChartView";

   public void createPartControl(Composite parent) {
      JFreeChart chart = createChart();
      final ChartComposite frame = new ChartComposite(parent, SWT.NONE, chart, true);
   }

   public void setFocus() {
   }

   /**
    * Creates the Chart based on a dataset
    */
   private JFreeChart createChart() {
      DefaultValueDataset data = new DefaultValueDataset(20.0);
      MeterPlot plot = new MeterPlot(data);
      JFreeChart chart = new JFreeChart("Meter Chart",
      JFreeChart.DEFAULT_TITLE_FONT, plot, false);
      plot.setNoDataMessage("No data available");
      return chart;
   }
}</pre>
<p>The result should look like the following screenshot:</p>
<div id="attachment_59" style="width: 579px" class="wp-caption alignnone"><a href="https://www.martinklinke.com/wp-content/uploads/2009/02/speedometer.jpg"><img fetchpriority="high" decoding="async" aria-describedby="caption-attachment-59" class="size-full wp-image-59" title="speedometer" src="https://www.martinklinke.com/wp-content/uploads/2009/02/speedometer.jpg" alt="JFreeChart Speedometer in Eclipse View" width="569" height="329" srcset="https://www.martinklinke.com/wp-content/uploads/2009/02/speedometer.jpg 569w, https://www.martinklinke.com/wp-content/uploads/2009/02/speedometer-300x173.jpg 300w" sizes="(max-width: 569px) 100vw, 569px" /></a><p id="caption-attachment-59" class="wp-caption-text">JFreeChart Speedometer in Eclipse View</p></div>
<p>Of course, the MeterPlot can be further customized by calling the plot.setXXX(&#8230;) methods. However, this exercise is left to the willing reader ;)</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.martinklinke.com/2009/02/18/speedometer-with-jfreechart-in-eclipse/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title>Textual modeling with TextUML</title>
		<link>https://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/</link>
					<comments>https://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/#comments</comments>
		
		<dc:creator><![CDATA[Martin Klinke]]></dc:creator>
		<pubDate>Tue, 21 Oct 2008 21:45:08 +0000</pubDate>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[modeling]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[uml]]></category>
		<guid isPermaLink="false">http://www.martinklinke.com/?p=46</guid>

					<description><![CDATA[I just discovered TextUML, an Eclipse extension that enables you to define UML models textually. It started out as a free but closed source project and was open sourced eventually. The core of this tool is the editor for the textual UML representation that provides many features that developers are used to (syntax highlighting, validation, [&#8230;]]]></description>
										<content:encoded><![CDATA[<p>I just discovered <a href="http://abstratt.com/">TextUML</a>, an <a href="http://www.eclipse.org">Eclipse</a> extension that enables you to define UML models textually. It started out as a free but closed source project and was <a href="http://abstratt.com/blog/2008/08/27/the-textuml-toolkit-needs-you/">open sourced eventually</a>.</p>
<p>The core of this tool is the editor for the textual UML representation that provides many features that developers are used to (syntax highlighting, validation, outline view etc.). Additionally, <a href="http://graphviz.org/">Graphviz</a> can be integrated to create diagrams from the textual models.</p>
<p>There are <a href="http://abstratt.com/docs/index.php?title=Install_Instructions">detailed instructions</a> for the installation of TextUML and the Graphviz integration and a <a href="http://abstratt.com/docs/index.php?title=TextUML_Tutorial">tutorial</a> to get started with textual modeling.</p>
<p>A huge advantage of textual over graphical notations is in my opinion the possibility to create diffs which means you can easily put those textual models under version control and profit from Eclipse&#8217;s compare mechanism. This enables teams of developers to share a common model and to edit it concurrently like any other piece of source code.</p>
<p>According to Rafael Chaves&#8217; (the author of the project) <a href="http://abstratt.com/blog/2008/08/27/the-textuml-toolkit-needs-you/#comment-294">comment</a> on the previously linked article,</p>
<blockquote><p>[&#8230;] the final goal is at some point to submit a proposal to Eclipse.org [&#8230;]</p></blockquote>
<p>I hope that this goal will be reached, because TextUML is a very interesting and promising project. Claiming</p>
<blockquote>
<ul>
<li><strong>increased modeling productivity</strong></li>
<li><strong>live graphical visualization</strong> of your class diagrams</li>
</ul>
</blockquote>
<p>as two of the key benefits of using TextUML, the goal should not be too far away. Productivity is always welcome and the graphical visualization may be one of the key arguments for your manager ;)</p>
<p>Seriously, even if it&#8217;s not the core feature of TextUML, a simple and efficient way to create class diagrams quickly would be a great win for any technical documentation or idea sketching as well.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://www.martinklinke.com/2008/10/21/textual-modeling-with-textuml/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
	</channel>
</rss>
