<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:series="http://unfoldingneurons.com/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>umop apisdn</title>
	
	<link>http://pournaras.opaf.org</link>
	<description>Thoughts, comments, guides and discoveries</description>
	<lastBuildDate>Wed, 03 Feb 2010 15:48:48 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/UmopApisdn" /><feedburner:info uri="umopapisdn" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Notepad++ Function List Plugin</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/dV6eWr8Fl48/</link>
		<comments>http://pournaras.opaf.org/2010/02/03/notepad-function-list-plugin/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 15:48:48 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/2010/02/03/notepad-function-list-plugin/</guid>
		<description><![CDATA[After upgrading to the latest (5.6.6 Unicode) version of Notepad++, I had several problems (read: crashes).
After playing around with the plugins, I noticed that the problem was with one of my (favorite) plugins: Function List.
Fortunately, thanks to Ruslan&#8217;s blog I found the solution: download a copy from here.
]]></description>
			<content:encoded><![CDATA[<p>After upgrading to the latest (5.6.6 Unicode) version of Notepad++, I had several problems (read: crashes).</p>
<p>After playing around with the plugins, I noticed that the problem was with one of my (favorite) plugins: Function List.</p>
<p>Fortunately, thanks to <a  href="http://randronov.blogspot.com/2008/11/function-list-for-notepad-5x-unicode.html">Ruslan&#8217;s blog</a> I found the solution: download a copy from <a  href="http://sourceforge.net/projects/npp-plugins/files/Function%20List/FunctionList%20Plugin%20v2.0%20BETA%20VC2005/">here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/rvKlFuRUmZdylsjSFxm_-ccZWeo/0/da"><img src="http://feedads.g.doubleclick.net/~a/rvKlFuRUmZdylsjSFxm_-ccZWeo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/rvKlFuRUmZdylsjSFxm_-ccZWeo/1/da"><img src="http://feedads.g.doubleclick.net/~a/rvKlFuRUmZdylsjSFxm_-ccZWeo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2010/02/03/notepad-function-list-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2010/02/03/notepad-function-list-plugin/</feedburner:origLink></item>
		<item>
		<title>Mystery Express</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/RbR8wYHZ4lA/</link>
		<comments>http://pournaras.opaf.org/2010/01/25/mystery-express/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 14:05:31 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=237</guid>
		<description><![CDATA[Days of Wonder, my favorite board games publisher, is up to a new suprise. The game &#8220;Mystery Express&#8221; was announced a few minutes ago, sadly without too many details.
According to the website, the game is out in March and it will be available in English, French and German. From the publisher&#8217;s blog we read the [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://www.daysofwonder.com/">Days of Wonder</a>, my favorite board games publisher, is up to a new suprise. The game &#8220;<a  href="http://blog.daysofwonder.com/2010/01/25/a-little-trip-anyone/en/">Mystery Express</a>&#8221; was announced a few minutes ago, sadly without too many details.</p>
<p>According to the website, the game is out in March and it will be available in English, French and German. From the publisher&#8217;s blog we read the following:</p>
<blockquote><p>Experience the very pinnacle of stylish and luxurious travel aboard the famed Orient Express until you find the body!</p>
<p>Suddenly everyone on board is a suspect, as you desperately attempt to solve the murder before the train reaches Istanbul.</p>
<p>Welcome to the Mystery Express!</p></blockquote>
<p>A <a  href="http://www.daysofwonder.com/mystery-express/en/">new website is up</a>, where people can read what this new game will be about.</p>
<p><strong>Update:</strong></p>
<p><a  href="http://www.boardgamenews.com/index.php/boardgamenews/comments/gone_cardboard_mystery_express_coming_from_days_of_wonder/">Boardgame News</a>, posted an interview with Antoine Bauza, one of the game designers (the other one is Serge Laget).</p>

<p><a href="http://feedads.g.doubleclick.net/~a/WpZqi4RzFWmqIiDm2udcyIpZuAM/0/da"><img src="http://feedads.g.doubleclick.net/~a/WpZqi4RzFWmqIiDm2udcyIpZuAM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/WpZqi4RzFWmqIiDm2udcyIpZuAM/1/da"><img src="http://feedads.g.doubleclick.net/~a/WpZqi4RzFWmqIiDm2udcyIpZuAM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2010/01/25/mystery-express/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2010/01/25/mystery-express/</feedburner:origLink></item>
		<item>
		<title>Google Translation in Opera’s Context menu</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/8y7RBQ-i9h8/</link>
		<comments>http://pournaras.opaf.org/2009/12/15/google-translation-in-operas-context-menu/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 13:55:18 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Web browsers]]></category>
		<category><![CDATA[Opera translate]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=222</guid>
		<description><![CDATA[I&#8217;m not really fond of Opera&#8217;s translation menu; maybe it&#8217;s because it only offers a handful of languages (and I have some Finnish, Danish, Swedish and other -ishes friends on Facebook).
Hopefully Opera&#8217;s known power user, Tamil, had a solution for a similar task, which I changed a bit:

Go to Tools -> Preferences -> Advanced -> [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not really fond of Opera&#8217;s translation menu; maybe it&#8217;s because it only offers a handful of languages (and I have some Finnish, Danish, Swedish and other -ishes friends on Facebook).</p>
<p>Hopefully Opera&#8217;s known power user, Tamil, had a <a  href="http://my.opera.com/Tamil/blog/google-babelfish-translation">solution for a similar task</a>, which I changed a bit:</p>
<ol>
<li>Go to Tools -> Preferences -> Advanced -> Toolbar</li>
<li>Find &#8220;Menu Setup&#8221; (bottom right), click &#8220;Opera Standard&#8221; and press &#8220;Duplication&#8221; (skip this part if you already have a &#8220;Copy of Opera Standard&#8221;).</li>
<li>From the <a href="opera:config#Opera%20Directory">profile</a> directory, open &#8220;menu&#8221; folder and edit the file called &#8220;standard menu (1).ini&#8221;</li>
<li>Find the section named &#8220;[Hotclick Popup Menu]&#8221; and add the entry:
<p><code>Item, "Google Auto Translation"= Go to page, "http://translate.google.com/?hl=auto#auto|auto|%t"</code></li>
<li>Save the file, restart Opera</li>
</ol>
<p>Now simply select a word or phrase from the HTML document, right click and choose &#8220;Google Auto Translation&#8221;.</p>
<p>If you want to have the ability to translate the entire page, find the section named &#8220;[Document Popup Menu]&#8221; and add the following item:</p>
<p><code>Item, "Google Auto Translation"= Go to page, "http://translate.google.com/translate?hl=auto&#038;sl=auto&#038;tl=auto&#038;u=%u"</code></p>

<p><a href="http://feedads.g.doubleclick.net/~a/OW035Jr1bFzjk2SOPDpByrFvGkw/0/da"><img src="http://feedads.g.doubleclick.net/~a/OW035Jr1bFzjk2SOPDpByrFvGkw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OW035Jr1bFzjk2SOPDpByrFvGkw/1/da"><img src="http://feedads.g.doubleclick.net/~a/OW035Jr1bFzjk2SOPDpByrFvGkw/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/12/15/google-translation-in-operas-context-menu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/12/15/google-translation-in-operas-context-menu/</feedburner:origLink></item>
		<item>
		<title>Manifesto in Defense of Fundamental Rights on the Internet</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/5QgXRjyqaGE/</link>
		<comments>http://pournaras.opaf.org/2009/12/04/manifesto-in-defense-of-fundamental-rights-on-the-internet/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 12:54:53 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=218</guid>
		<description><![CDATA[A group of journalists, bloggers, professionals and creators want to express their firm opposition to the inclusion in a Draft Law of some changes to Spanish laws restricting the freedoms of expression, information and access to culture on the Internet.
Read the declaration here.
]]></description>
			<content:encoded><![CDATA[<p>A group of journalists, bloggers, professionals and creators want to express their firm opposition to the inclusion in a Draft Law of some changes to Spanish laws restricting the freedoms of expression, information and access to culture on the Internet.</p>
<p>Read the declaration <a  href="http://hiperactivo.com/2009/12/02/manifesto-in-defense-of-fundamental-rights-on-the-internet/">here</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/dHpO1CH-Ki3vfktw25wAxHUKdIY/0/da"><img src="http://feedads.g.doubleclick.net/~a/dHpO1CH-Ki3vfktw25wAxHUKdIY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/dHpO1CH-Ki3vfktw25wAxHUKdIY/1/da"><img src="http://feedads.g.doubleclick.net/~a/dHpO1CH-Ki3vfktw25wAxHUKdIY/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/12/04/manifesto-in-defense-of-fundamental-rights-on-the-internet/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/12/04/manifesto-in-defense-of-fundamental-rights-on-the-internet/</feedburner:origLink></item>
		<item>
		<title>Ride the Wave</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/SEDO5h9RCV4/</link>
		<comments>http://pournaras.opaf.org/2009/11/16/ride-the-wave/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 10:51:53 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>
		<category><![CDATA[google wave]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=206</guid>
		<description><![CDATA[I have just added a new page, which includes my first wave! I&#8217;m eager to see how this works. For this, I used wavr

]]></description>
			<content:encoded><![CDATA[<p>I have just added a new page, which includes my first wave! I&#8217;m eager to see how this works. For this, I used <a  href="http://wordpress.org/extend/plugins/wavr/" 0="title" 1="wavr wordpress plugin">wavr</a></p>
<p><object width="500" height="306"><param name="movie" value="http://www.youtube.com/v/v_UyVmITiYQ&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/v_UyVmITiYQ&#038;fs=1" type="application/x-shockwave-flash" width="500" height="306" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>

<p><a href="http://feedads.g.doubleclick.net/~a/jE0rcefQeC2Jd-vVhs8EwopynCk/0/da"><img src="http://feedads.g.doubleclick.net/~a/jE0rcefQeC2Jd-vVhs8EwopynCk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jE0rcefQeC2Jd-vVhs8EwopynCk/1/da"><img src="http://feedads.g.doubleclick.net/~a/jE0rcefQeC2Jd-vVhs8EwopynCk/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/11/16/ride-the-wave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/11/16/ride-the-wave/</feedburner:origLink></item>
		<item>
		<title>Just made</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/i2RGTQfZ48o/</link>
		<comments>http://pournaras.opaf.org/2009/11/12/just-made/#comments</comments>
		<pubDate>Thu, 12 Nov 2009 09:33:21 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Websites]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=177</guid>
		<description><![CDATA[
http://www.kyriakochori.gr
]]></description>
			<content:encoded><![CDATA[<p style="text-align: center"><img src="http://pournaras.opaf.org/wp-content/uploads/kyriakochori-300x187.jpg" alt="kyriakochori" title="kyriakochori" width="300" height="187" class="aligncenter size-medium wp-image-178" /></p>
<p><a  href="http://www.kyriakochori.gr">http://www.kyriakochori.gr</a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/YOp65XVttNMThF4p7oCanjhXgbE/0/da"><img src="http://feedads.g.doubleclick.net/~a/YOp65XVttNMThF4p7oCanjhXgbE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/YOp65XVttNMThF4p7oCanjhXgbE/1/da"><img src="http://feedads.g.doubleclick.net/~a/YOp65XVttNMThF4p7oCanjhXgbE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/11/12/just-made/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/11/12/just-made/</feedburner:origLink></item>
		<item>
		<title>Ding</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/LbR7hfiK69o/</link>
		<comments>http://pournaras.opaf.org/2009/06/02/ding/#comments</comments>
		<pubDate>Tue, 02 Jun 2009 09:11:15 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=174</guid>
		<description><![CDATA[One thousand spam blocked&#8230;.. I love Akismet.
Bring it on, punk.
]]></description>
			<content:encoded><![CDATA[<p>One thousand spam blocked&#8230;.. I love <a  href="http://akismet.com/">Akismet</a>.</p>
<p>Bring it on, punk.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/L87hoXWW1lh8sKAVdxQjNjT-mdo/0/da"><img src="http://feedads.g.doubleclick.net/~a/L87hoXWW1lh8sKAVdxQjNjT-mdo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/L87hoXWW1lh8sKAVdxQjNjT-mdo/1/da"><img src="http://feedads.g.doubleclick.net/~a/L87hoXWW1lh8sKAVdxQjNjT-mdo/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/06/02/ding/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/06/02/ding/</feedburner:origLink></item>
		<item>
		<title>XML serialization ouput my way</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/hx-EdRtWyYU/</link>
		<comments>http://pournaras.opaf.org/2009/05/20/xml-serialization-ouput-my-way/#comments</comments>
		<pubDate>Wed, 20 May 2009 12:02:38 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[serialization]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=141</guid>
		<description><![CDATA[The default XML serialization adds the xml header and a couple of namespace definitions &#8211; elements which aren&#8217;t always welcome. Here&#8217;s how to control the XML source.
Let&#8217;s start with a simple class called &#8216;Book&#8217;:

Public Class Book

    Public Title As String = String.Empty

    Public Sub New()
    End [...]]]></description>
			<content:encoded><![CDATA[<p>The default XML serialization adds the xml header and a couple of namespace definitions &#8211; elements which aren&#8217;t always welcome. Here&#8217;s how to control the XML source.</p>
<p>Let&#8217;s start with a simple class called &#8216;Book&#8217;:</p>
<pre class="brush: vbnet">
Public Class Book

    Public Title As String = String.Empty

    Public Sub New()
    End Sub

    Public Sub New(ByVal title As String)
        Me.Title = title
    End Sub

End Class
</pre>
<p>Our mini-project (in this case: a console application) should be able to create a new instance of the book class and serialize it:</p>
<pre class="brush: vbnet">
Imports System.IO
Imports System.Xml
Imports System.Xml.Serialization

Module Main

    Sub Main()

        Dim book As New Book(&quot;XML Serialization&quot;)

        Dim result As String
        Dim serializer As New XmlSerializer(GetType(Book))

        Using writer As New StringWriter()
            serializer.Serialize(writer, book)
            result = writer.ToString

        End Using

        Console.WriteLine(result)
        Console.ReadLine()

    End Sub

End Module
</pre>
<p>The result looks like this:</p>
<pre class="brush: xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;
&lt;Book
    xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
    xmlns:xsd=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
  &lt;Title&gt;XML Serialization&lt;/Title&gt;
&lt;/Book&gt;
</pre>
<h4>Task #1: removing the namespace definitions</h4>
<p>In order to remove the namespace definitions, we need to define a new set of namespaces and tell our serializer to use this set. We can do this by using the XmlSerializerNamespaces class. We need to add the following lines just after the XmlSerializer definition:</p>
<pre class="brush: vbnet">
Dim nameSpaces As XmlSerializerNamespaces = _
    New XmlSerializerNamespaces()
nameSpaces.Add(&quot;&quot;, &quot;&quot;)
</pre>
<p>and we also need to replace line 15 in the original code with the following statement:</p>
<pre class="brush: vbnet">
serializer.Serialize(writer, book, nameSpaces)
</pre>
<p>This way our XML source becomes:</p>
<pre class="brush: xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;
&lt;Book&gt;
  &lt;Title&gt;XML Serialization&lt;/Title&gt;
&lt;/Book&gt;
</pre>
<h4>Task #2: Removing the XML header</h4>
<p>Next thing on the to-do list is to find a way to produce a plain XML file without any definitions whatsoever. To accomplish this, we need to further modify our code and use the XmlWriterSettings class with OmitXmlDeclaration property set to true. Replace lines 14-18 with the following:</p>
<pre class="brush: vbnet">
Dim settings As New XmlWriterSettings()
settings.OmitXmlDeclaration = True
settings.Indent = True

Using writer As New StringWriter()

  Using xmlWriter As XmlWriter = _
      xmlWriter.Create(writer, settings)

    serializer.Serialize(xmlWriter, book, nameSpaces)
    result = writer.ToString

  End Using

End Using
</pre>
<p>Our XML now becomes:</p>
<pre class="brush: xml">
&lt;Book&gt;
  &lt;Title&gt;XML Serialization&lt;/Title&gt;
&lt;/Book&gt;
</pre>
<h4>Task #3: adding our own namespace definition</h4>
<p>Our final task is to insert our own namespace definition (and only that one). First thing to do is to instantiate the XmlSerializer with our own namespace. Then we need to add our namespace to our custom namespace list. Replace the serializer definition with:</p>
<pre class="brush: vbnet">
Dim serializer As New XmlSerializer(GetType(Book), _
    &quot;urn:our_namespace&quot;)
</pre>
<p>add change the nameSpaces.add statement with:</p>
<pre class="brush: vbnet">
nameSpaces.Add(&quot;&quot;, &quot;urn:our_namespace&quot;)
</pre>
<p>The last set of changes produce the following XML:</p>
<pre class="brush: xml">
&lt;Book xmlns=&quot;urn:our_namespace&quot;&gt;
  &lt;Title&gt;XML Serialization&lt;/Title&gt;
&lt;/Book&gt;
</pre>
<p>There you have it.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/PsILFBxBwt8AXJ5TcnkQip-XmLc/0/da"><img src="http://feedads.g.doubleclick.net/~a/PsILFBxBwt8AXJ5TcnkQip-XmLc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/PsILFBxBwt8AXJ5TcnkQip-XmLc/1/da"><img src="http://feedads.g.doubleclick.net/~a/PsILFBxBwt8AXJ5TcnkQip-XmLc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/05/20/xml-serialization-ouput-my-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/05/20/xml-serialization-ouput-my-way/</feedburner:origLink></item>
		<item>
		<title>Back to school</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/DmppGseZDeU/</link>
		<comments>http://pournaras.opaf.org/2009/04/02/back-to-school/#comments</comments>
		<pubDate>Thu, 02 Apr 2009 09:20:49 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[cakePHP]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=123</guid>
		<description><![CDATA[I&#8217;ve got a couple of messages from [apparently] junior programmers regarding my previous post, so I decided to go back and explain some of the magic that&#8217;s happening every day inside Cake applications.
As you know (or should have known) Cake does a lot of magic behind the scenes, as long as we&#8217;re following some naming [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve got a couple of messages from [apparently] junior programmers regarding my previous post, so I decided to go back and explain some of the magic that&#8217;s happening every day inside Cake applications.</p>
<p>As you know (or should have known) Cake does a lot of magic behind the scenes, as long as we&#8217;re following some <a  href="http://book.cakephp.org/view/22/CakePHP-Conventions" title="CakePHP online manual">naming conventions</a>. The developers prefer convention over configuration (via files), which may seem a bit restrictive for some, but, once you get used to it, you will notice that it speeds up things.</p>
<p>If you recall from the previous post, the User Model looks like this:</p>
<pre class="brush: php">
class User extends AppModel {
  var $name = &#039;User&#039;;

}
</pre>
<p>This class extends a class named &#8220;<b>AppModel</b>&#8220;, which in turn extends a class named &#8220;<b>Model</b>&#8220;. Therefore, each method described in the <b>Model</b> class is also available to the <b>AppModel</b> and (our own) the <b>User</b> class in turn.</p>
<p>Why did the developers go so far as to create two classes instead of one? Simply because they wanted to give us more flexibility. We have the option to create a class called AppModel and place that code inside the <b>app</b> directory like this:</p>
<pre class="brush: php">
/**
 *
 * Filename: /app/app_model.php
 *
**/
class AppModel extends Model {

}
</pre>
<p>Now, whenever you create this file, you can add your own custom functions, which will be available to all your models. The same goes for all your controllers, i.e. you can create a file named app_controller.php and place it inside your app directory, where a class named AppController will extend the Controller class.</p>
<p>In case you didn&#8217;t figure it out yourself by now, there is a file named app_model.php which Cake uses if you haven&#8217;t created your own (take a look at /cake/lib/model). Cake automatically includes your own app_model.php if you have one, or its own (empty) version if you don&#8217;t. Talking about some serious magic here!</p>
<p>In general, whenever your application runs, all requests are redirected to the index.php file, which in turn includes all necessary files. Cake examines your app directory and, if it finds files which can override its core files, it includes those files instead.</p>
<p>Finally, if you follow the naming conventions mentioned earlier, you won&#8217;t have to include anything in your files (there are some exceptions to this rule, if you need a certain level of complexity). For instance, if you name your model User, that model will be automatically available in your UsersController controller, simply by typing $this->User.</p>
<p>Catch you all next time.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/tU4rK3xGJux57tO-d6BdO3udyKA/0/da"><img src="http://feedads.g.doubleclick.net/~a/tU4rK3xGJux57tO-d6BdO3udyKA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tU4rK3xGJux57tO-d6BdO3udyKA/1/da"><img src="http://feedads.g.doubleclick.net/~a/tU4rK3xGJux57tO-d6BdO3udyKA/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/04/02/back-to-school/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[Simple user authentication in CakePHP]]></series:name>
	<feedburner:origLink>http://pournaras.opaf.org/2009/04/02/back-to-school/</feedburner:origLink></item>
		<item>
		<title>The Indie scene</title>
		<link>http://feedproxy.google.com/~r/UmopApisdn/~3/5MIZZ_IMaLI/</link>
		<comments>http://pournaras.opaf.org/2009/03/31/the-indie-scene/#comments</comments>
		<pubDate>Tue, 31 Mar 2009 18:30:26 +0000</pubDate>
		<dc:creator>anax</dc:creator>
				<category><![CDATA[Mumble]]></category>
		<category><![CDATA[games]]></category>

		<guid isPermaLink="false">http://pournaras.opaf.org/?p=9</guid>
		<description><![CDATA[For those of you (like myself) who have been hiding under your shell, there&#8217;s a whole world of games out there, away from the publicity lights. It&#8217;s the &#8220;Indie&#8221; (independent) scene, where small groups of people create wonderful games.
I was only aware of such groups thanks to Uplink, a hacker simulation game from Introversion (&#8220;the [...]]]></description>
			<content:encoded><![CDATA[<p>For those of you (like myself) who have been hiding under your shell, there&#8217;s a whole world of games out there, away from the publicity lights. It&#8217;s the &#8220;Indie&#8221; (independent) scene, where small groups of people create wonderful games.</p>
<p>I was only aware of such groups thanks to <a  href="http://www.introversion.co.uk/uplink/">Uplink</a>, a hacker simulation game from Introversion (&#8220;the last group of bedroom programmers&#8221;). This unique game, with great plot and replayability managed to keep me in front of the computer for weeks.</p>
<p>Recently (read: 4 months ago) I was lucky enough to discover another great game: <a  href="http://www.worldofgoo.com/">World of Goo</a> from 2DBoy. The idea is to go from point A to point B, by building structures consisted of small balls (goo), which are interconnected. It&#8217;s a game certainly worth its money and, if you love puzzle games, you should certainly check it out.</p>
<p><img src="http://pournaras.opaf.org/wp-content/uploads/world-of-goo.png" alt="World of Goo" title="World of Goo" width="490" height="367" class="aligncenter size-full wp-image-119" /></p>

<p><a href="http://feedads.g.doubleclick.net/~a/SdHmZIlMdQbzKDvnwz8YvIT9Rng/0/da"><img src="http://feedads.g.doubleclick.net/~a/SdHmZIlMdQbzKDvnwz8YvIT9Rng/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/SdHmZIlMdQbzKDvnwz8YvIT9Rng/1/da"><img src="http://feedads.g.doubleclick.net/~a/SdHmZIlMdQbzKDvnwz8YvIT9Rng/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://pournaras.opaf.org/2009/03/31/the-indie-scene/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://pournaras.opaf.org/2009/03/31/the-indie-scene/</feedburner:origLink></item>
	</channel>
</rss>
