<?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>.simplicity</title>
	<atom:link href="http://www.dotsimplicity.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dotsimplicity.net</link>
	<description>Simple, reliable, simplicity. A software discussion blog</description>
	<lastBuildDate>Sun, 04 Jul 2010 09:44:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>It&#8217;s been a long time</title>
		<link>http://www.dotsimplicity.net/2010/07/its-been-a-long-time/</link>
		<comments>http://www.dotsimplicity.net/2010/07/its-been-a-long-time/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 09:42:14 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=537</guid>
		<description><![CDATA[I think it&#8217;s been too long. I think you agree.
Lately, my head has been bludgeoned with the lack of simplicity in several places. It&#8217;s almost every time the same problem: duplicate storage of the same information without a proper system in place for keeping all the information in sync. Shit hits the fan when one [...]]]></description>
			<content:encoded><![CDATA[<p>I think it&#8217;s been too long. I think you agree.</p>
<p>Lately, my head has been bludgeoned with the lack of simplicity in several places. It&#8217;s almost every time the same problem: duplicate storage of the same information without a proper system in place for keeping all the information in sync. Shit hits the fan when one system can store some information, ie. postal adress and living adress, (pardon the Dutchness of those words), but another system only can keep track of a living adress, and sends the mail to that adress. It also messes up when the system that is supposed to the keep the information in sync fails to do so, or does only when first entering the information (not when later on you edit the information). This happens too often and is clearly a result of bad, especially old, design: &#8220;We want to have a program that replaces are paper-database&#8221;.</p>
<p>I understand they couldn&#8217;t share a paper-database across the country, but now you can share a digital database across a country with great ease! So please, please Dutch government, when you finally form the coalition government, do something about duplicate storage of the same variables. Thank you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2010/07/its-been-a-long-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick update: A look at things to come</title>
		<link>http://www.dotsimplicity.net/2010/04/quick-update-a-look-at-things-to-come/</link>
		<comments>http://www.dotsimplicity.net/2010/04/quick-update-a-look-at-things-to-come/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 18:07:43 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[General Info]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=529</guid>
		<description><![CDATA[It has already been several weeks since I posted an article here. And despite the fact that I have been busy will all kind of things, I have little to show at moment.
My primary work at the moment concerns Human Computer Interaction (HCI). The theory concerning HCI is not the most exciting material as most [...]]]></description>
			<content:encoded><![CDATA[<p>It has already been several weeks since I posted an <a href="http://www.dotsimplicity.net/2010/02/welcome-to-the-world-of-haskell/">article</a> here. And despite the fact that I have been busy will all kind of things, I have little to show at moment.</p>
<p>My primary work at the moment concerns Human Computer Interaction (HCI). The theory concerning HCI is not the most exciting material as most of it is highly trivial. Nevertheless, taking care of HCI topics early can prevent problems later on in the development cycle. And that is really nice, because the appliances of HCI are incredibly fun, especially when you combine it emerging interaction technologies. Unfortunately I cannot tell what I am working on. As a matter of fact I cannot even say which stakeholders are involved. I can only confirm that the project is progressing nicely, mostly thanks to Qt. Which is, speaking of it, really an awesome library. I definitely recommend it for GUI development.</p>
<p>It looks like I will be working on that HCI project for some time. Nevertheless, I hope to publish some more articles in the near future. Also, I have been thinking about starting several new open-source projects targeting fields ranging from The Cloud to game-technology. But no decisions regarding those projects have been made yet.</p>
<p>But that is all for now. Later!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2010/04/quick-update-a-look-at-things-to-come/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Welcome to the world of Haskell!</title>
		<link>http://www.dotsimplicity.net/2010/02/welcome-to-the-world-of-haskell/</link>
		<comments>http://www.dotsimplicity.net/2010/02/welcome-to-the-world-of-haskell/#comments</comments>
		<pubDate>Sat, 06 Feb 2010 20:34:27 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Haskell]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=519</guid>
		<description><![CDATA[In the past three months I have had the pleasure of learning a strange yet interesting new programming language: Haskell. Initially I was quite sceptical about this language. After all, some of the most basic (imperative) concepts I knew looked so hard to implement in Haskell. And the fact that people allegedly had finally found [...]]]></description>
			<content:encoded><![CDATA[<p>In the past three months I have had the pleasure of learning a strange yet interesting new programming language: Haskell. Initially I was quite sceptical about this language. After all, some of the most basic (imperative) concepts I knew looked so hard to implement in Haskell. And the fact that people allegedly had finally found some use for functional programming languages, did not really excite me either. But in the end, Haskell turned out to be quite fun.</p>
<p>In this article I would like to look at some Haskell features I really liked. As I know that most of our readers are not Haskell experts I have decided to keep it quite general and simple.</p>
<h2>Function transformations</h2>
<h3>Function composition</h3>
<p>Function composition is a technique of combining two functions into one function.</p>
<p>f1 . f2</p>
<p>This says that function <i>f1</i> should be applied to the result of applying <i>f2</i> to its first parameter. So, above code could be rewritten to:</p>
<p>(.) f g = h<br />
   where h x = f (g x)</p>
<p>The type of <i>h</i> can be deduced like this:</p>
<p>f :: a -&gt; b<br />
g :: b -&gt; c<br />
&#8211; Thus:<br />
h :: a -&gt; c </p>
<h3>Function application</h3>
<p>Function application is not exactly a very exciting feature, but it is helpful as it helps you to get rid of annoying extra parantheses.</p>
<p>f1 $ f2</p>
<p>This says that function <i>f1</i> should be applied to the result of function <i>f2</i>. Now you are probably what the difference is with <i>f1 f2</i>. </p>
<p>When you simply type <i>f1 f2</i>, <i>f2</i> is considered as a parameter for <i>f1</i> and all of the parameters of <i>f2</i> will be considered as n-ary parameters of <i>f1</i>. When you type <i>f1 $ f2</i> you first apply <i>f2</i> to all the following parameters, and <i>f1</i> is then applied to the result of <i>f2</i>.</p>
<p>So, for example:</p>
<p>sum x y z = x + y + z</p>
<p>successor x = x + 1 &#8212; A better alternative is discussed in the next section!</p>
<p>test1 = successor sum 1 2 3   &#8212; Will not work. After all, you cannot take the successor of a function.<br />
test2 = successor $ sum 1 2 3</p>
<h3>Partial parameterisation</h3>
<p>Partial parameterisation is a technique to partially satisfy a function. This technique can be used to create new specialized functions.</p>
<p>For example, if we would want to declare a function that gives us the successor of the given integer, we could simply write:</p>
<p>successor = (+) 1</p>
<p>or</p>
<p>successor = (+1)</p>
<p>This would make the following example valid:</p>
<p>&gt; successor 41<br />
42<br />
&gt; successor $ successor 41<br />
44</p>
<p><i>successor</i> is of course an incredibly easy example of partial parameterisation, and it might give you the impression that its just a gimmick. However, in combination with function application and function composition its an incredibly useful mechanism. </p>
<p>A slightly more complex example, is a function that gives us the successors of all elements in the given list.</p>
<p>successors = map (+1)</p>
<h2>Operators</h2>
<p>Another cool feature of Haskell is the ability to define your own operators. As this is actually rather simple I am not going to spend much attention to it.</p>
<p>Lets say we would want to express addition and substraction through smilies. It could be done like this:</p>
<p>x ^-^ y = x + y<br />
x -.- y = x &#8211; y </p>
<p>Or with partial parameterisation in our mind:</p>
<p>(^-^) = (+)<br />
(-.-) = (-)</p>
<p>Which would make the following valid:</p>
<p>&gt; 1 ^-^ 2<br />
3<br />
&gt; 3 -.- 1<br />
2</p>
<p>In the latter definition you can see how operators can also be used as functions: you simply put parantheses around them. And the fun thing is that a similar trick can be applied to functions with two parameters:</p>
<p>min :: Int -&gt; Int -&gt; Int<br />
min = (-)</p>
<p>&gt; 3 `min` 1<br />
2</p>
<p>In order to use a function as a operator you have to put backquotes around it.</p>
<p>Again, this might seem like a gimmick, but it can be pretty useful in the field of &#8220;symbolic evaluation&#8221;. But more on that another time.</p>
<h2>Lazy evaluation</h2>
<p>Lazy evaluation is one of the most powerful features, if not the most powerful feature, of Haskell. Lazy evaluation is the technique of delaying a computation until the result is required. This means that the data that is required for a computation is retrieved at the moment that the computation is actually executed. This makes it possible, for example, to work with lists of infinite length without actually computing the complete list. As lazy evaluation is beyond the scope of this article I would like to refer interested readers to <a href="http://en.wikipedia.org/wiki/Lazy_evaluation">Wikipedia</a>, which has a nice article on the matter.</p>
<p>And with that I would like to conclude my first article about Haskell. I hope you enjoyed reading it. And as always: if you have questions or comments feel free to post them.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2010/02/welcome-to-the-world-of-haskell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>const unsigned int HOURSINDAY = 37;</title>
		<link>http://www.dotsimplicity.net/2009/12/const-unsigned-int-hoursinday-37/</link>
		<comments>http://www.dotsimplicity.net/2009/12/const-unsigned-int-hoursinday-37/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 01:32:04 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=514</guid>
		<description><![CDATA[The, nowadays, three editors are all so busy. Michael&#8217;s doing lots of stuff at the university considering free open gaming. Maurice is doing a double BSc (Mathematics and Computer Science) and has his own company with a load of work. I have quite a busy job too and need to settle down at a new [...]]]></description>
			<content:encoded><![CDATA[<p>The, nowadays, three editors are all so busy. Michael&#8217;s doing lots of stuff at the university considering free open gaming. Maurice is doing a double BSc (Mathematics and Computer Science) and has his own company with a load of work. I have quite a busy job too and need to settle down at a new place (which I really like, but it could use some paint). To give you an idea of how busy I am, I didn&#8217;t read Questionable Content, XKCD and Zero Punctuation for over 4 (four) weeks. ZOMG&gt;!±±±!!!1.</p>
<p>Thus, there are very few updates, but here&#8217;s futurePosts.peek();</p>
<ol>
<li>The first update I really want to do is work on the Language &#8230; thingie. We still don&#8217;t have a good name for it. Seeing how it can generate words and such it might be a fun tool to play with. Maybe we can generate a word and use that as a name. <img src='http://www.dotsimplicity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </li>
<li>The second one is about the electronic drumkit. I want to drum so badly but I can&#8217;t fit in in my day, let alone fit enough time to finish the thing, but it shall be done! Sometime in the hopefully near future.</li>
<li>There&#8217;s no three. But post something you want to read/talk about.</li>
</ol>
<p>Anyhow, I know we still have some regular visitors (mostly thanks to Michael I think, his articles are almost always at the top of viewed pages in Google Analytics), and don&#8217;t leave. Sign up for the rss/atom feed so you don&#8217;t have to check each time but get notified. That is if you&#8217;re using a decent rss/atom feed reader, I like Google&#8217;s.</p>
<p>If anyone has any ideas for the Language thingie do post them by the way! Implementations for ideas, ideas only (don&#8217;t feel limited by implementation difficulties), anything really. A little feedback is always nice to get.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/12/const-unsigned-int-hoursinday-37/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Re: Language</title>
		<link>http://www.dotsimplicity.net/2009/11/re-language/</link>
		<comments>http://www.dotsimplicity.net/2009/11/re-language/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 12:05:41 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Idea]]></category>
		<category><![CDATA[Language Recognizer]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=507</guid>
		<description><![CDATA[These features are pending proof of concept implementation. Currently I’m very busy with my study and my job and Maurice is as well so you probably won’t see anything anytime soon. But to be honest, from my side it’s also laziness. But today I sat down and wanted to come up with some algorithms.

Some definitions [...]]]></description>
			<content:encoded><![CDATA[<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">These features are pending proof of concept implementation. Currently I’m very busy with my study and my job and Maurice is as well so you probably won’t see anything anytime soon. But to be honest, from my side it’s also laziness. But today I sat down and wanted to come up with some algorithms.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;"><span id="more-507"></span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px;">Some definitions for the following paragraphs:</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">Text: any text. Can be a complete book, a word, a sentence, etc.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">LR&lt;Languages&gt;: Language Recognizer for the languages.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px;"><span style="white-space: pre;"> </span></p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px;">
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">Possible applications of the LR</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px;">
<h2>Advanced Texthelper</h2>
<h3>Features</h3>
<h5>Can correct words without a dictionary: recognizes when something probably isn’t a word.</h5>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">A word of length X has an average score of AVG. If there is a word with length X and its score is lower with significance S, then the word probably isn’t a word in the current language. I don’t know how to determine significance S.</p>
<h5>Can correct sentences, since it also recognizes sentence structures.</h5>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">Basically the same as the word recognition, but for sentences.</p>
<h5>Can auto-complete sentences (and parts thereof).</h5>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">Since the LR keeps tracks of how many times a word follows another word, it should be able to predict what word you are going to type, which could speed up writing a text. As you read, a lot of shoulda coulda woulda, but maybe we are clever enough to pull this off.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica; min-height: 14.0px;">
<h2>Language Recognizer<span style="white-space: pre;"> </span></h2>
<h3>Features</h3>
<h5>Can tell if text A is more English than text B</h5>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">If text A scores higher on LR&lt;English&gt; than B, A is more likely to be english than B.</p>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;"><em>Test results indicate very few false positives with a simple implementation.</em></p>
<h5>Can help for auto-recognizing if something is human readable text.</h5>
<p style="margin: 0.0px 0.0px 0.0px 0.0px; font: 12.0px Helvetica;">If a text gets a higher score than previous texts, the text is more likely to be human readable text, which is useful for the “recovery” of encrypted text.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/11/re-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAI! / Language</title>
		<link>http://www.dotsimplicity.net/2009/11/hai-language/</link>
		<comments>http://www.dotsimplicity.net/2009/11/hai-language/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 20:56:29 +0000</pubDate>
		<dc:creator>Maurice</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Software Idea]]></category>
		<category><![CDATA[Language Recognizer]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=499</guid>
		<description><![CDATA[Hello World! I&#8217;m Maurice, I&#8217;m new to .simplicity, nice to meet you, etc.
Language
I&#8217;ve been experimenting with some fun stuff lately, it involves language, programming, password-dictionaries, spell checkers, and more   .


Get a file with a lot of words (i.e. a spell checker dictionary).
Count the occurrences of N-letter-groups in those words. (example with N = [...]]]></description>
			<content:encoded><![CDATA[<p>Hello World! I&#8217;m Maurice, I&#8217;m new to .simplicity, nice to meet you, etc.</p>
<h2>Language</h2>
<p>I&#8217;ve been experimenting with some fun stuff lately, it involves language, programming, password-dictionaries, spell checkers, and more <img src='http://www.dotsimplicity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  .</p>
<p><span id="more-499"></span></p>
<ol>
<li>Get a file with a lot of words (i.e. a spell checker dictionary).</li>
<li>Count the occurrences of N-letter-groups in those words. (example with N = 3: &#8220;hello&#8221;, hel++, ell++, llo++)</li>
<li>Find high-scoring letter-groups which overlap (ie. &#8220;hel&#8221; + &#8220;ell&#8221; = &#8220;hell&#8221;) to form a word. (Obviously, repeat this to form bigger words)</li>
</ol>
<p>Using an English dictionary, this gives output such as: &#8220;anteringlogratio&#8221;, &#8220;callinesthesional&#8221; and &#8220;prestionistering&#8221;. Altough those words are absolutely not English words (as far as I know), they look pretty English. Cool huh?</p>
<p>It can obviously also create &#8216;fake words&#8217; in other languages, by using other dictionaries. For example, using a Dutch dictionary: &#8220;verderendelijker&#8221;, &#8220;heiderdelijkeren&#8221; and &#8220;eerderingelijkerigen&#8221;. (I&#8217;m Dutch, and I can tell you those words are easy to read and pronounce, altough they mean nothing to me)</p>
<p>I can hear you thinking: &#8220;Nice, but why&#8217;d you ever need to create &#8216;fake words&#8217; ?&#8221;.<br />
Well, for example, we could expand a password-dictionary by generating new passwords from the passwords already in there. This gives new passwords wich are likely to be passwords, instead of the 99% of garbage from a simple brute-forcer.</p>
<p>Also, if we can create words that seem to belong to some language, we can probably also recognize if something could be a real word.</p>
<p>We could create a program wich can tell random sequences of letters and real words apart by giving the words an &#8216;Englishness-score&#8217;, the more it uses high-scoring letter-groups, the higher the score. This might come in handy while brute-forcing a password for some text file. The program could detect if it succesfully decrypted the file, or just got some garbage-output. Or we could create a smart spell checker wich can check and correct words even when they&#8217;re not in the dictionary. If &#8216;hello&#8217; has a much higher score than &#8216;helllo&#8217;, the user probably wanted to type &#8216;hello&#8217;. Or a language-recognizer, if all the words have a higher &#8216;Dutchness-score&#8217; than &#8216;Englishness-score&#8217;, it&#8217;s probably not an English text.</p>
<p>When we take this a level higher, not using words and letter-groups, but sentences and word-groups, the awesomeness grows exponentially. A spell checker could simply correct &#8220;Ive is fun&#8221; to &#8220;Ice is fun&#8221;, but &#8220;Ive been running&#8221; to &#8220;I&#8217;ve been running&#8221;. An internet spider could tell real text apart from those random-keywords-pages. Lots of possibilities.</p>
<p>Anyway, I&#8217;ll try to code some of this stuff to see how well it all works, stay tuned.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/11/hai-language/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Gaming Alliance &#8211; Continued</title>
		<link>http://www.dotsimplicity.net/2009/11/free-gaming-alliance-continued/</link>
		<comments>http://www.dotsimplicity.net/2009/11/free-gaming-alliance-continued/#comments</comments>
		<pubDate>Sat, 14 Nov 2009 16:30:10 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Alliance]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=494</guid>
		<description><![CDATA[Some while ago I wrote an article about the Free Gaming Alliance, an organization that could help with the promotion and development of Free Open Source Games. At the time that I wrote that article I was not sure how well it would be received by the public. In the end the reactions turned out [...]]]></description>
			<content:encoded><![CDATA[<p>Some while ago I wrote an article about the <a href="http://www.dotsimplicity.net/2009/06/free-gaming-alliance/">Free Gaming Alliance</a>, an organization that could help with the promotion and development of Free Open Source Games. At the time that I wrote that article I was not sure how well it would be received by the public. In the end the reactions turned out to be fairly positive.</p>
<p>Lets start with a reply to the original article. Some while after the article was published on .simplicity Valentin Anastase from the non-profit organization <a href="http://www.freezingmoon.org/">Freezing Moon</a> replied. He provided a link to two sites, including Freezing Moon&#8217;s, dedicated to free gaming. Freezing Moon comes close to the idea that I sketched in the previous article, but it is not completely the same. Opposed to the Free Gaming Alliance, Freezing Moon actually develops games themselves. While I think that we should first deal with other issues concerning free gaming, I am happy to see an initiative like Freezing Moon and I encourage people to check it out.</p>
<p>Another interesting development can be found at <a href="http://www.opengameart.org/">OpenGameArt.org</a>. OpenGameArt.org is a website that hosts &#8220;free, legal art for open source game projects&#8221;. It started small, but the amount of art has been growing fast. And the art that is being hosted on OpenGameArt.org is certainly not bad; it looks very good. If you are looking for art for your Free Open Source Game or want to support free game art (OpenGameArt.org accepts donations), then definitely check OpenGameArt.org.</p>
<p>So, there are initiatives focused on Free Open Source Gaming, but what about me? Through Sirrf I am trying to improve the Free Open Source Gaming ecosystem. I am wondering if I can have an impact on it in other ways, though.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/11/free-gaming-alliance-continued/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Old Games</title>
		<link>http://www.dotsimplicity.net/2009/10/old-games/</link>
		<comments>http://www.dotsimplicity.net/2009/10/old-games/#comments</comments>
		<pubDate>Sat, 24 Oct 2009 11:34:00 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Gaming]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/2009/10/old-games/</guid>
		<description><![CDATA[I&#8217;m a Gamer, can&#8217;t help it. Lately I&#8217;ve been rediscovering my PSX, while my original is broken, I found a excellent emulator and a neat rom site. With those, I can re-live Medieval times in Medievil one and two, jump on pigs in Tomba, and these are really 2 great games! Why doesn&#8217;t Steam have [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a Gamer, can&#8217;t help it. Lately I&#8217;ve been rediscovering my PSX, while my original is broken, I found a excellent emulator and a neat rom site. With those, I can re-live Medieval times in Medievil one and two, jump on pigs in Tomba, and these are really 2 great games! Why doesn&#8217;t Steam have some sort of PSX emulator with (seperate) games for sale? That&#8217;d be great. <img src='http://www.dotsimplicity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Games wouldn&#8217;t be expensive and it&#8217;d be hours and hours of fun. So, if you can get a PS 1 or 2 and also the games noted earlier, go get them, you&#8217;re missing out for a few bucks. Also worth noting is Spyro The Dragon, I don&#8217;t recall having so much fun with dragons without brutally slaying them and yelling OOM.</p>
<p>Sorry for the long time no update, hope you are still watching. <img src='http://www.dotsimplicity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Some small updates after the break.<br />
<span id="more-488"></span></p>
<h2>Medievil</h2>
<p>The first game I decided to play on the emulator. It was decent fun, but the best part was really in the story. It&#8217;s not the depth, but it&#8217;s the humor. The green gargoyles keep mocking you in really funny ways and the text is just top notch. Medievil&#8217;s story telling is for games what Shakespeare&#8217;s was for drama, a thing to strive for.You play Sir Daniel Fortesque who is a hero from long long ago. He battled his way to the evil sorcerer Zarok&#8217;s castle and with his dying breath he killed Zarok. At least, that what&#8217;s the books say. What really happened? Get the game, I don&#8217;t want to spoil that for you. But keep in mind that this is a really funny game. Anyhow, several decades or so later you wake up from the dead because Zarok is at it again and it is up to you to stop the evil sorcerer.</p>
<p>The sound was good! Almost every level has it&#8217;s own theme and they all fit, plus the voice acting! I like it a lot. In the Hall Of Heroes, a bonus-shopping level, each hero has it&#8217;s own accent and funny lines. Good stuff.</p>
<p>The gameplay was decent. Replay value is none, which makes it a short game. My first and only run through the game took me 5 hours. Some annoying things are the jumps: Fortesque can&#8217;t jump that good and you fall to your death way too often. It&#8217;s frustrating, it adds unnecessary repetition to the game. The fighting is more button bashing (or when you have a turbo-button like me, button holding) than strategicly doing stuff. You run, you charge your special attack, you kill the monsters. None of the monsters are a real threat which in the end makes this play more like a platformer and since Sir Dan sucks at jumping and steering him while running isn&#8217;t with the accuracy of a modern day FPS the game doesn&#8217;t score high on gameplay. The game has some wicked weapons and even a shield system which is easy to master and use, but you&#8217;ll never find yourself using it because you&#8217;re invincible as long as you keep hitting attack. It&#8217;s a shame really, the fighting could have made this game a lot more special and fun.</p>
<p>In the end:</p>
<p style="padding-left: 30px;">+Good story!<br />
+Good sound!<br />
+Lots of humor</p>
<p style="padding-left: 30px;">-Plays like a platformer, and not a very fun one.<br />
-No replay value, short playthrough, combined making it a short game.</p>
<p style="padding-left: 30px;">Medievil&#8217;s good sides make up for the suckier parts. Medievil is definitely worth a look: 6 points.</p>
<p>Stay tuned for when I finish my next game! <img src='http://www.dotsimplicity.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/10/old-games/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.simplicity Code and Java Sigslot Event System</title>
		<link>http://www.dotsimplicity.net/2009/10/simplicity-code-and-java-sigslot-event-system/</link>
		<comments>http://www.dotsimplicity.net/2009/10/simplicity-code-and-java-sigslot-event-system/#comments</comments>
		<pubDate>Sat, 10 Oct 2009 13:09:25 +0000</pubDate>
		<dc:creator>Michael</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Sigslot]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=482</guid>
		<description><![CDATA[Today we are launching .simplicity Code. .simplicity Code is a project created to maintain open-source projects from .simplicity that are too small to be considered as full-blown projects, but too big to be considered as simple code snippets. We are launching this project, because we often work on small projects without any other target audience [...]]]></description>
			<content:encoded><![CDATA[<p>Today we are launching <a href="http://code.dotsimplicity.net/">.simplicity Code</a>. .simplicity Code is a project created to maintain open-source projects from .simplicity that are too small to be considered as full-blown projects, but too big to be considered as simple code snippets. We are launching this project, because we often work on small projects without any other target audience than ourselves. These projects are the typical projects that are started out of self-interest. We recognize, though, that the code we write for these projects can be of interest to our visitors. .simplicity Code offers us the opportunity to publish this code, without having to offer complete support as a full-blown project would require. As a matter of fact most projects on .simplicity Code will have limited to no support. That does not mean that you will find junk on .simplicity Code. On the contrary, you will find that the code will be most of the time of the same quality as our bigger projects.</p>
<p><span id="more-482"></span></p>
<p>The first project that you can find on .simplicity Code is the <i>.simplicity Java Sigslot Event System</i>. This is, as the name already says, an implementation of a sigslot event system in Java. A sigslot event system allows the programmer to connect components within a system without that those components know with who they are actually connected. Furthermore this system can also be used as a broadcasting system for sending information to multiple subscribed components. Sigslot event systems can be applied in various different cases, such as component-based entity systems and graphical user interfaces.</p>
<p>But lets look at some example code using the <i>.simplicity Java SigSlot Event System</i>:</p>
<pre class="brush: java;">
// Import classes
import java.applet.Applet;

import java.awt.Graphics;
import java.awt.event.*;

import net.dotsimplicity.events.awt.AWTEventsContainer;

// EventApplet class
public class EventApplet extends Applet
{
    // Public methods
    // Initialize the applet.
    public void init()
    {
       // Create an AWT EventsContainer.
       AWTEventsContainer container = new AWTEventsContainer(&quot;applet&quot;, this);

       // Add a mouse moved event.
       container.addMouseMotionListener();
       container.connectEventSlot(&quot;mouseMoved&quot;, this, &quot;onMouseMoved&quot;);

       // Add a custom event.
       container.createEvent(&quot;print&quot;, String.class);
       container.connectEventSlot(&quot;print&quot;, this, &quot;onPrint&quot;);
       container.emitEventSignal(&quot;print&quot;, &quot;Hello, World!&quot;);
    }

    // Paint the applet.
    public void paint(Graphics g)
    {
       g.drawString(&quot;X: &quot; + this.x + &quot;, Y: &quot; + this.y, 10, 15);
       g.drawString(this.message, 10, 30);
    }

    // Handle mouseMoved events.
    public void onMouseMoved(MouseEvent event)
    {
       this.x = event.getX();
       this.y = event.getY();
       this.repaint();
    }

    // Handle print events.
    public void onPrint(String string)
    {
       this.message = string;
    }

    // Private members
    private static final long serialVersionUID = 1;
    private int x, y;
    private String message;
}

// End of File
</pre>
<p>In the above example we have created an applet that uses our sigslot event system to handle mouseMoved events. Please note that we do not have to implement the MouseMotionListener interface; you are free to only implement those features that you need under whatever name you choose. That means that you no longer have to implement six empty methods if you want to use one feature of the WindowListener, for example.</p>
<p>Furthermore we also use our event system to transmit a signal with the message &#8220;Hello, World!&#8221;. In this particular appliance this is a rather useless operation, but it demonstrates in a simple way how we can use our system for broadcasting. Note that you can also use the relatively simpler EventsContainer for this appliance; this class provides all methods that the AWTEventsContainer provides except for the AWT specific methods.</p>
<p>Well, that is all for now. We hope that .simplicity Code will be of use to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/10/simplicity-code-and-java-sigslot-event-system/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nick </title>
		<link>http://www.dotsimplicity.net/2009/09/nick/</link>
		<comments>http://www.dotsimplicity.net/2009/09/nick/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 21:55:31 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Operating System]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[x64]]></category>

		<guid isPermaLink="false">http://www.dotsimplicity.net/?p=475</guid>
		<description><![CDATA[Hai!
I installed Ubuntu on my laptop a while ago, but didn&#8217;t use my laptop a lot because I had a computer that was about 30 times as fast (P3 Mobile vs. Core 2 Duo). But when I&#8217;m not at home, thus not at my computer, I only have my laptop! And since I&#8217;m far far [...]]]></description>
			<content:encoded><![CDATA[<p>Hai!</p>
<p>I installed Ubuntu on my laptop a while ago, but didn&#8217;t use my laptop a lot because I had a computer that was about 30 times as fast (P3 Mobile vs. Core 2 Duo). But when I&#8217;m not at home, thus not at my computer, I only have my laptop! And since I&#8217;m far far away from home now for my study&#8230; I got to know Ubuntu a bit more.<br />
<span id="more-475"></span><br />
I must say my first few Linux tryouts were.. bad. First try was Fedora Core 3 which was.. nasty. The 14 year old me didn&#8217;t know what packages to get and what not to get, let alone the proper size for a swap partition.</p>
<p>Years later I installed Ubuntu 8, first having tried some setups in a virtual environment. I liked it, and figured I could get used to the nice &#8220;Add/Remove&#8230;&#8221; option in Applications. But my music! The sound sucked. So I tried installing drivers for my Realtek&#8217;97, I think. Installed the driver (I guess), rebooted, tried to log in.. Which failed. I cursed Ubuntu for not letting me log in with a faulty sound driver and promptly reinstalled Windows.</p>
<p>So, now, Ubuntu 9, Jaunty Jackalope&#8230; I like! So much liked it on my laptop that I also installed it on my home PC (the fast one) and I liked it even more. It even basically auto-installed my videocard driver (asked me what version I wanted)! Windows doesn&#8217;t do that, hehe. Windows 7 does I think, but still, +1 for Ubuntu.</p>
<p>There were 2 obstacles:</p>
<ul>
<li> Flash on x64 </li>
<li> Surround Sound </li>
</ul>
<p>Flash was a bit of googling to do. I heard people on Windows x64 had the same problems so&#8230; Nothing to mourn about. Just a bit weird that the Adobe site didn&#8217;t offer a lot of help for x64 (not on the download page anyway). In the end I found the alpha x64 version and it works like a charm&#8230; nah not really. Firefox crashes when I play any game on Kongregate. But it&#8217;s Alpha and it&#8217;ll be fine when the first RC comes around.</p>
<p>Surround sound took me some googling but I figured it out. You need to add the &#8220;Surround&#8221; and some other sliders to the Volume Control and then you&#8217;re done! Man that was easy. Ubuntu took away the driver installing troubles: video and sound. Pretty neat. Now my computer even uses the subwoofer with Youtube vids, something I can&#8217;t get to work in Windows. So again +1.</p>
<p>Enough Ubuntu praise for today. <a href="http://www.ubuntu.com">Now go get your copy.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.dotsimplicity.net/2009/09/nick/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

