<?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>Medieval Programming</title>
	<atom:link href="http://blog.hma-info.de/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hma-info.de</link>
	<description>Fabians random thoughts about work and private life</description>
	<lastBuildDate>Thu, 16 Jun 2011 09:12:20 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Its about time!</title>
		<link>http://blog.hma-info.de/2011/06/16/its-about-time/</link>
		<comments>http://blog.hma-info.de/2011/06/16/its-about-time/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 09:06:06 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=220</guid>
		<description><![CDATA[Ouch! i didn&#8217;t post for a year now? Boy! I don&#8217;t know exactly why I stopped blogging here. But I am not dead! Those interested in Java or Performance topics for sure read my posts on blog.codecentric.de, where I write at least a post per month, or my random tweets @CodingFabian. I guess I can [...]]]></description>
			<content:encoded><![CDATA[<p>Ouch! i didn&#8217;t post for a year now? Boy!</p>
<p>I don&#8217;t know exactly why I stopped blogging here. But I am not dead! Those interested in Java or Performance topics for sure read my posts on blog.codecentric.de, where I write at least a post per month, or my random tweets @CodingFabian.</p>
<p>I guess I can blame it on work, cause I travel more than I used to, helping clients in Europe cope with their performance issues. But I also speak at conferences like JAX.</p>
<p>With my wife, I have been in the states last month, and now our next big project starts. Building a house <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  Lets see if I afterwards can confirm the similarities between building software and building a house.</p>
<p>However, I will not write much about the progress as others do. Its progressing nicely, and my ranting about stupid processes will be kept internally <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Lets see if after the house is up and running, I will have more time to do medieval stuff again!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2011/06/16/its-about-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Ideal Scrum Team</title>
		<link>http://blog.hma-info.de/2010/06/22/the-ideal-scrum-team/</link>
		<comments>http://blog.hma-info.de/2010/06/22/the-ideal-scrum-team/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 17:51:43 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=217</guid>
		<description><![CDATA[Last Friday, at our Meet The Experts conference, somebody asked what would be the ideal SCRUM Team. I found that especially interesting as it mirrors the question of MMORPGs: whats the ideal group to beat XYZ Instance. And I think the answer is exactly the same in both: It depends. Many combination&#8217;s can be successful. [...]]]></description>
			<content:encoded><![CDATA[<p>Last Friday, at our Meet The Experts conference, somebody asked what would be the ideal SCRUM Team.<br />
I found that especially interesting as it mirrors the question of MMORPGs: whats the ideal group to beat XYZ Instance.</p>
<p>And I think the answer is exactly the same in both: It depends. Many combination&#8217;s can be successful. Even some exotic teams can make the impossible. It also depends on personal skill and dedication to the course.<br />
But yes there are general recommendations. In an MMORPG you often need somebody&#8230;</p>
<ol>
<li>&#8230; keeping all the bad guys away. Taking the beating (the tank).</li>
<li>&#8230; caring for you, healing your wounds. Saving your life (the healer).</li>
<li>&#8230; attacking the troublemakers. Earning the glory (the damage dealer).</li>
<li>&#8230; helping all the others to do their role better. Unsung heroes (the supporter).</li>
</ol>
<p>For SCRUM Teams this is pretty much the same. You need various skills. Programming skills solving the issues and testing skills making sure you don&#8217;t blow up. Caching skills to help the team perform better, and documentation skills to make sure the project isn&#8217;t hit and run.</p>
<p>Side note: Somebody was missing form above. The Quest handing NPC. Which would be of course the Product Owner <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>For me the SCRUM Master would be the Tank, holding all the trouble away from the team. Frankly, this was not completely my idea, as <a href="http://blogs.atlassian.com/developer/2009/08/holding_aggro.html">Charls Miller from Atlassian blogged about holding Aggro</a> before.</p>
<p>You do not need an ideal team. You need a team to get work done.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2010/06/22/the-ideal-scrum-team/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Epic Player vs Player Evening in Lord of the Rings online</title>
		<link>http://blog.hma-info.de/2010/03/01/epic-player-vs-player-evening-in-lord-of-the-rings-online/</link>
		<comments>http://blog.hma-info.de/2010/03/01/epic-player-vs-player-evening-in-lord-of-the-rings-online/#comments</comments>
		<pubDate>Sun, 28 Feb 2010 22:06:04 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=213</guid>
		<description><![CDATA[As some of you know, I am most of my time in front of my PC. When not working or coding just for fun, I like gaming. One game of special Interest is Lord of the Rings online. Its much better than WoW, but I am not going to start a flame war While the [...]]]></description>
			<content:encoded><![CDATA[<p>As some of you know, I am most of my time in front of my PC. When not working or coding just for fun, I like gaming. One game of special Interest is Lord of the Rings online. Its much better than WoW, but I am not going to start a flame war <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
While the game has few player vs player content, sometimes epic battles are fought on the fields of the ettenmoors.<br />
Here some impressions on tonights event.</p>
<p>Free People of Middle Earth mustering (100+ Players, not all on screen)<br />
<img src="http://blog.hma-info.de/wp-content/uploads/2010/03/freeps.png" alt="" title="freeps" width="630" height="225" class="aligncenter size-full wp-image-214" /></p>
<p>Orc hordes charging (number unknown, but said to be more than 150), including two trolls<br />
<img src="http://blog.hma-info.de/wp-content/uploads/2010/03/creeps.png" alt="" title="creeps" width="630" height="243" class="aligncenter size-full wp-image-215" /></p>
<p>Some more or less intense fighting going on (not everybodys PC could handle the load)<br />
<img src="http://blog.hma-info.de/wp-content/uploads/2010/03/creeps_vs_freeps.png" alt="" title="creeps_vs_freeps" width="630" height="259" class="aligncenter size-full wp-image-216" /></p>
<p>Awesome, eh? Perhaps we meet in middle earth?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2010/03/01/epic-player-vs-player-evening-in-lord-of-the-rings-online/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>symfony core team meets again at symfony live 2010</title>
		<link>http://blog.hma-info.de/2010/02/17/symfony-core-team-meets-again-at-symfony-live-2010/</link>
		<comments>http://blog.hma-info.de/2010/02/17/symfony-core-team-meets-again-at-symfony-live-2010/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 08:35:31 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=211</guid>
		<description><![CDATA[First day of the symfony live conference is over. Many interesting talks from today and more for sure to follow tomorrow. In our core team panel, Fabien already spilled some beans on the upcoming symfony 2 alpha release. If you missed that, I wont repeat it sorry prepare for the big news tonight when Fabien [...]]]></description>
			<content:encoded><![CDATA[<p>First day of the <a href="http://www.symfony-live.com/">symfony live conference</a> is over. Many interesting talks from today and more for sure to follow tomorrow.<br />
In our core team panel, Fabien already spilled some beans on the upcoming symfony 2 alpha release. If you missed that, I wont repeat it sorry <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /><br />
prepare for the big news tonight when Fabien has his &#8220;revealing 2.0&#8243; session.</p>
<p><a href="http://www.flickr.com/photos/bayarsaikhan/">bayarsaikhan</a> took a great picture of the core team on stage:<br />
<a href="http://www.flickr.com/photos/bayarsaikhan/4362881629/"><img class="center size-full wp-image-212" title="The symfony core team" src="http://blog.hma-info.de/wp-content/uploads/2010/02/sfcoreteam10.jpg" alt="" width="500" height="332" /></a><br />
From Left to right:</p>
<ul>
<li>Bernhard Schussek, who works on Lime2 and Forms2</li>
<li>Stefan Koopmanschap, who is our Community Relations Manager (the one who buys beer)</li>
<li>Me, currently busy with Ticket Management and fixing the 1.x branch</li>
<li>Fabien Potencier, symfony Masterbrain</li>
<li>Jonathan Wage, our ORM expert developing Doctrine 2</li>
<li>Dustin Whittle, working for Yahoo and keeping an eye out on the big Web/Enterprise world for symfony</li>
<li>Kris Wallsmith, very busy with being Release Manager for our currently supported 1.3 and 1.4 release</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2010/02/17/symfony-core-team-meets-again-at-symfony-live-2010/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ugliest Code of the Year</title>
		<link>http://blog.hma-info.de/2010/01/13/ugliest-code-of-the-year/</link>
		<comments>http://blog.hma-info.de/2010/01/13/ugliest-code-of-the-year/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 11:03:20 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=209</guid>
		<description><![CDATA[Usually I rant about code from others. But this is something different. this is my code: PdfPCell pdfPCell = table.getRow&#40;0&#41;.getCells&#40;&#41;&#91;0&#93;; List compositeElements = pdfPCell.getCompositeElements&#40;&#41;; Paragraph p = &#40;Paragraph&#41; compositeElements.get&#40;0&#41;; Chunk c = &#40;Chunk&#41; p.get&#40;0&#41;; Jpeg jpeg = &#40;Jpeg&#41; &#40;&#40;&#40;Object&#91;&#93;&#41;c.getAttributes&#40;&#41;.get&#40;&#34;IMAGE&#34;&#41;&#41;&#91;0&#93;&#41;; Now comes my excuse for this crap. I need to parse this HTML and render it [...]]]></description>
			<content:encoded><![CDATA[<p>Usually I rant about code from others. But this is something different. this is my code:</p>

<div class="wp_syntax"><div class="code"><pre class="java5" style="font-family:monospace;">PdfPCell pdfPCell = table.<span style="color: #006633;">getRow</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">getCells</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
<span style="color: #003399; font-weight: bold;">List</span> compositeElements = pdfPCell.<span style="color: #006633;">getCompositeElements</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Paragraph p = <span style="color: #009900;">&#40;</span>Paragraph<span style="color: #009900;">&#41;</span> compositeElements.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Chunk c = <span style="color: #009900;">&#40;</span>Chunk<span style="color: #009900;">&#41;</span> p.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
Jpeg jpeg = <span style="color: #009900;">&#40;</span>Jpeg<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #003399; font-weight: bold;">Object</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span>c.<span style="color: #006633;">getAttributes</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #006633;">get</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;IMAGE&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>Now comes my excuse for this crap. I need to parse this HTML and render it in a PDF (currently using iText):</p>

<div class="wp_syntax"><div class="code"><pre class="html" style="font-family:monospace;">&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; border=&quot;0&quot;&gt;
&lt;tr&gt;
&lt;td width=&quot;1%&quot;&gt;&lt;img height=&quot;100&quot; border=&quot;0&quot; width=&quot;150&quot; src=&quot;/pat_to.jpg&quot; /&gt;&lt;/td&gt;
&lt;td&gt;some fancy text&lt;/td&gt;
&lt;/tr&gt;
&lt;/table&gt;</pre></div></div>

<p>iText cannot automatically resize columns. So the column needs an explicit width. I don&#8217;t know the width of the table, because its not on the page, so I need the page width. I need to delve into the cell of the table which I know to contain the image. I need to know that its an Jpeg and that it had no alignment because if it had it would not be wrapped as chunk in a paragraph.<br />
This is among the ugliest I ever wrote. But now my excuse. It is not my faul <img src='http://blog.hma-info.de/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>The iText API (in 2.7.1) is not consistent at all, you have Arrays, Lists, Maps mixed and matched, keys as String, Constant (public or private constant) or no keys at all. Properties of images stored for each type in a different way. And you need to know a lot on yout parsed html structure, because iText cannot discover it. The way the HTML parser is implemented is way to basic and not extendable.</p>
<p>Currently thinking about switching to POI or rewriting the iTextParser&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2010/01/13/ugliest-code-of-the-year/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Today is symfony Project Day</title>
		<link>http://blog.hma-info.de/2009/12/01/today-is-symfony-project-day/</link>
		<comments>http://blog.hma-info.de/2009/12/01/today-is-symfony-project-day/#comments</comments>
		<pubDate>Tue, 01 Dec 2009 16:11:19 +0000</pubDate>
		<dc:creator>Fabian</dc:creator>
				<category><![CDATA[symfony]]></category>

		<guid isPermaLink="false">http://blog.hma-info.de/?p=208</guid>
		<description><![CDATA[Last night I hung out with Fabien, Jon and Kris on IRC, preparing today! Here the results of our hackathon about 140 Ticktes have been closed Doctrine 1.2, 1.1.6 and 1.0.14 have been released symfony 1.2.10, 1.3.0 and 1.4.0 have been released A new symfony advent calendar was unveiled. Its a book that has been [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I hung out with <a href="https://twitter.com/fabpot">Fabien</a>, <a href="https://twitter.com/jwage">Jon</a> and <a href="https://twitter.com/kriswallsmith">Kris</a> on IRC, preparing today!<br />
Here the results of our hackathon</p>
<ul>
<li><a href="http://trac.symfony-project.org/timeline?from=12%2F01%2F09&#038;daysback=1&#038;ticket=on&#038;update=Update">about 140 Ticktes</a> have been closed</li>
<li><a href="http://www.doctrine-project.org/blog/doctrine-1-2-0-stable-released">Doctrine 1.2</a>, <a href="http://www.doctrine-project.org/blog/more-doctrine-releases">1.1.6 and 1.0.14</a> have been released</li>
<li><a href="http://www.symfony-project.org/blog/2009/12/01/symfony-1-2-10-preparing-you-for-1-3-and-1-4">symfony 1.2.10</a>, <a href="http://www.symfony-project.org/blog/2009/12/01/symfony-1-3-and-1-4-stable-released">1.3.0 and 1.4.0</a> have been released</li>
<li>A new <a href="http://www.symfony-project.org/blog/2009/12/01/one-more-thing">symfony advent calendar</a> was unveiled. Its a book that has been translated to 5 languages</li>
</ul>
<p>We all hope you enjoy our stuff hand have productive days till Christmas.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hma-info.de/2009/12/01/today-is-symfony-project-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
