<?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>Mage Blog</title>
	<atom:link href="http://blog.mageprojects.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mageprojects.com</link>
	<description></description>
	<lastBuildDate>Thu, 18 Aug 2011 14:37:56 +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>Is mplayer taking WAY to long to play ASF files? Here is the solution!</title>
		<link>http://blog.mageprojects.com/2011/08/18/is-mplayer-taking-way-to-long-to-play-asf-files-here-is-the-solution/</link>
		<comments>http://blog.mageprojects.com/2011/08/18/is-mplayer-taking-way-to-long-to-play-asf-files-here-is-the-solution/#comments</comments>
		<pubDate>Thu, 18 Aug 2011 14:37:56 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=306</guid>
		<description><![CDATA[Hi, I was paying (or trying to play) the Q-Music ASF stream. It looks like this: Now look at line 15, 16, 17 and 18. By default mplayer just does the first one, then the second one.. etc. In this case the first link (line 15) is broken, gives a bunch of errors. The solution [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I was paying (or trying to play) the Q-Music ASF stream. It looks like this:</p>
<pre class="brush: plain; title: ; notranslate">

&lt;ASX version = &quot;3.0&quot;&gt;
   &lt;ABSTRACT&gt;Q-music&lt;/ABSTRACT&gt;
   &lt;TITLE&gt;Q-music - Maximum Hit Music&lt;/TITLE&gt;
   &lt;AUTHOR&gt;Q-music - Q is good for you&lt;/AUTHOR&gt;
   &lt;COPYRIGHT&gt;Q-music&lt;/COPYRIGHT&gt;
   &lt;Base href= &quot;http://www.q-music.nl/&quot; /&gt;
   &lt;MoreInfo href = &quot;http://www.q-music.nl&quot; /&gt;

&lt;REPEAT&gt;
&lt;ENTRY&gt;
      &lt;Title&gt;Q-music - Maximum Hit Music&lt;/Title&gt;
      &lt;AUTHOR&gt;Q-music&lt;/AUTHOR&gt;
      &lt;Copyright&gt;Q is good for you&lt;/Copyright&gt;
      &lt;MoreInfo href = &quot;http://www.q-music.nl&quot;&gt;&lt;/MoreInfo&gt;
      	&lt;Ref href = &quot;rtsp://vip1.str.reasonnet.com/qmusic.wma.96&quot; /&gt;
      	&lt;Ref href = &quot;http://vip1.str.reasonnet.com/qmusic.wma.96&quot; /&gt;
      	&lt;Ref href = &quot;mms://vip1.str.reasonnet.com/qmusic.wma.96&quot; /&gt;
      	&lt;Ref href = &quot;http://vip2.str.reasonnet.com/qmusic.mp3.96&quot; /&gt;
      &lt;Banner href=&quot;http://www.q-music.nl/asx/logo.gif&quot;&gt;
	&lt;MOREINFO href = &quot;http://www.q-music.nl/&quot; /&gt;
        &lt;ABSTRACT&gt;Q-music - Q is good for you&lt;/ABSTRACT&gt;
      &lt;/Banner&gt;
&lt;/ENTRY&gt;
&lt;/REPEAT&gt;
&lt;/ASX&gt;
</pre>
<p>Now look at line 15, 16, 17 and 18. By default mplayer just does the first one, then the second one.. etc. In this case the first link (line 15) is broken, gives a bunch of errors. The solution that worked for me was simply grabbing the second link (line 16) and play that with mplayer. Now it starts playing in just a few seconds.</p>
<p>The command i used:<br />
mplayer http://vip1.str.reasonnet.com/qmusic.wma.96</p>
<p>That&#8217;s it.</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/08/18/is-mplayer-taking-way-to-long-to-play-asf-files-here-is-the-solution/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing: Lite REST Router</title>
		<link>http://blog.mageprojects.com/2011/08/09/introducing-lite-rest-router/</link>
		<comments>http://blog.mageprojects.com/2011/08/09/introducing-lite-rest-router/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 21:20:08 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=293</guid>
		<description><![CDATA[Hi, A few days ago i somehow found the &#8220;slim&#8221; framework which looked promising. Specially the part for REST routing! However, as usual, i just didn&#8217;t like the overly bloated code it had so i decided to make a quick &#8220;one class only&#8221; file for rest routing that is using something very nifty of PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>A few days ago i somehow found the &#8220;<a href="http://www.slimframework.com/">slim</a>&#8221; framework which looked promising. Specially the part for REST routing! However, as usual, i just didn&#8217;t like the overly bloated code it had so i decided to make a quick &#8220;one class only&#8221; file for rest routing that is using something very nifty of PHP 5.3.x.</p>
<p><strong>Anonymous functions</strong> from PHP 5.3 are being used in this rest routing class and it works wonderful! This also means the class below requires PHP 5.3! You are however free to do whatever you want with it. This is the class:</p>
<pre class="brush: php; title: ; notranslate">
	/**
		Lite_Rest_Router

		This class is meant to be used when you want to have restfull urls very fast with as little overhead as possible.
		Right now there is no APC support, but in time that should be added since this is a typical case where APC can
		come in very handy!

		Version:		0.1
		Author:			markg85
		License:		It's all yours!
		Requirements:	PHP 5.3+
	*/
	class Lite_Rest_Router
	{
		private $aCallbackData			= array();
		private $sPathInfo				= '';
		private $sExpression			= '[a-zA-Z0-9_. ]';

		const HTTP_GET 		= 0;
		const HTTP_POST 	= 1;
		const HTTP_PUT 		= 2;
		const HTTM_DELETE 	= 3;

		public function __construct()
		{
			// First get the full URI. This includes the current subfolder name..
			$sFullUri 		= (isset($_SERVER['REQUEST_URI'])) ? $_SERVER['REQUEST_URI'] : '';
			$sScriptName 	= (isset($_SERVER['PATH_INFO'])) ? $_SERVER['SCRIPT_NAME'] : dirname($_SERVER['SCRIPT_NAME']);

			// Now remove the subfolder to get a clean URL from the current folder
			$this-&gt;sPathInfo = substr($sFullUri, strlen($sScriptName));
		}

		public function setExpression($sExpression)
		{
			$this-&gt;sExpression = $sExpression;
		}

		private function mapRoute($eType, $sPattern, $oCallback)
		{
			// Check if we are allowed to call the method with out current REQUEST_METHOD from PHP
			switch($_SERVER['REQUEST_METHOD'])
			{
				case 'GET':
					if($eType != self::HTTP_GET) return;
					break;
				case 'POST':
					if($eType != self::HTTP_POST) return;
					break;
				case 'PUT':
					if($eType != self::HTTP_PUT) return;
					break;
				case 'DELETE';
					if($eType != self::HTTP_DELETE) return;
					break;
				default:
					trigger_error('No request method in PHP.', E_USER_ERROR);
					break;
			}

			// Is the callback function callable?
			if(!is_callable($oCallback))
			{
				trigger_error('The supplied callback is not callable.', E_USER_ERROR);
			}

			// A path can't exist in just 1 or less character(s) so exit if it does.
			if(strlen($this-&gt;sPathInfo) &lt;= 1)
			{
				return;
			}

			// If there is no route known we make and store it.
			$sMethodUniqueName = $eType . $sPattern;
			if(!isset($this-&gt;aObjectCallbackStore[$sMethodUniqueName]))
			{
				// Get the patterns from the key
				$sFinalPattern = preg_replace(array(&quot;/(:&quot;.$this-&gt;sExpression.&quot;*)/&quot;, '/\//'), array(&quot;(&quot;.$this-&gt;sExpression.&quot;*)&quot;, '\\/'), $sPattern);
				preg_match_all(&quot;/&quot;.$sFinalPattern.&quot;/&quot;, $this-&gt;sPathInfo, $aMatches);

				// make a better looking matches array ready to send in call_user_func_array function
				$aMatchesClean = array();
				foreach($aMatches as $iKey =&gt; $aMatch)
				{
					if($iKey != 0)
					{
						$aMatchesClean[] = $aMatch[0];
					}
				}

				// set the function and arguments
				$this-&gt;aCallbackData[$sMethodUniqueName]['function'] = $oCallback;
				$this-&gt;aCallbackData[$sMethodUniqueName]['arguments'] = $aMatchesClean;
			}

			// Once the route has been created return it
			return call_user_func_array($this-&gt;aCallbackData[$sMethodUniqueName]['function'], $this-&gt;aCallbackData[$sMethodUniqueName]['arguments']);
		}

		public function get($pattern, $callback)
		{
			return $this-&gt;mapRoute(self::HTTP_GET, $pattern, $callback);
		}

		public function post($pattern, $callback)
		{
			return $this-&gt;mapRoute(self::HTTP_POST, $pattern, $callback);
		}

		public function put($pattern, $callback)
		{
			return $this-&gt;mapRoute(self::HTTP_PUT, $pattern, $callback);
		}

		public function delete($pattern, $callback)
		{
			return $this-&gt;mapRoute(self::HTTP_DELETE, $pattern, $callback);
		}
	}
</pre>
<p>Put the above code in &#8220;index.php&#8221; and place it where you can access it on http://localhost (just for the examples below)<br />
To use this you need a little piece of htaccess (directly copied form the clim framework):</p>
<pre class="brush: plain; title: ; notranslate">
RewriteEngine On

# Some hosts may require you to use the `RewriteBase` directive.
# If you need to use the `RewriteBase` directive, it should be the
# absolute physical path to the directory that contains this htaccess file.
#
# RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php [QSA,L]
</pre>
<p>Assuming your AllowRewrite directive in Apache is set to &#8220;All&#8221; you can do this:</p>
<p>http://localhost/my/rest/path</p>
<p>Where it would have been something like this without rewriting:</p>
<p>http://localhost/index.php?&#8230;</p>
<p>Oke, lets start rewriting a bit.<br />
Add the following sample at the bottom of your index.php (assuming you called it that):</p>
<pre class="brush: php; title: ; notranslate">
	$oExample = new Lite_Rest_Router();

	$oExample-&gt;get(&quot;/:one/:two&quot;, function($one, $two)
	{
		echo $one . ' --- ' . $two;
	});
</pre>
<p>Usually i hate hidden functions (closures) but in this case it really makes the code look good since the part that is used to get the rest route is also the part where you decide what to do with it thus making it look really clean! (my opinion)</p>
<p>Now if you go to http://localhost/test_one/test_two/3/4/5/6</p>
<p>It should return : &#8220;test_one &#8212; test_two&#8221;</p>
<p>It works like that for get, post, put and delete requests. Do note that i only demonstrate &#8220;get&#8221; here, but it works the same for put, post and delete.</p>
<p>Points to note (possible flaws that need fixing at some point in time)</p>
<ul>
<li>When the preg_match_all matches the number of elements you asked it to, it doesn&#8217;t mean you get the expected ones! Example: If you do (like in the example) /:one/:two but you do an url like: &#8220;/test/123^?/test2&#8243; you will get &#8220;test &#8212; 123&#8243; (missing the &#8220;^?&#8221;).. You can fix this by setting your own expression which van be done with -&gt;setExpression(&#8220;[...]&#8220;)</li>
<li>If preg_match_all matches less elements than you asked for you sill get a nice error about that.</li>
<li>APC isn&#8217;t implemented but really should be used here. Perfect stuff for caching!</li>
</ul>
<p>Have fun with it. I&#8217;d appreciate fixes for the code when required.</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/08/09/introducing-lite-rest-router/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Linux fonts compared &#8211; Ubuntu 11.04, LinuxMint 11, Fedora 15, Windows 7, Sabayon 5.5</title>
		<link>http://blog.mageprojects.com/2011/05/27/linux-fonts-compared-ubuntu-11-04-linuxmint-11-fedora-15-windows-7-sabayon-5-5/</link>
		<comments>http://blog.mageprojects.com/2011/05/27/linux-fonts-compared-ubuntu-11-04-linuxmint-11-fedora-15-windows-7-sabayon-5-5/#comments</comments>
		<pubDate>Fri, 27 May 2011 12:35:12 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=264</guid>
		<description><![CDATA[Hi, I&#8217;ve always wondered which distribution had the best fonts in linux compared to the real nice looking fonts in Windows 7 so i made a little overview comparing the most popular distributions. I did compare OpenSuse as well, but since it wasn&#8217;t willing to run at my native resolution i discarded it. Also missing in the list is [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I&#8217;ve always wondered which distribution had the best fonts in linux compared to the real nice looking fonts in Windows 7 so i made a little overview comparing the most popular distributions. I did compare OpenSuse as well, but since it wasn&#8217;t willing to run at my native resolution i discarded it. Also missing in the list is ArchLinux but that&#8217;s on purpose. ArchLinux by default has no custom font settings other then the ones provided by default in the font packages (upstream) and we all know the default fonts are.. not looking that good.</p>
<p>Without further delay, here is the image that compares the fonts. I on purposely took gmail screenshots of mail listings and of the menu since that is the place where you can really notice a difference! All images are taken on either Firefox 3.6 or 4.0 (depends on the distribution). And i didn&#8217;t tweak one bit in fonts! This is how they look out of the box.</p>
<p><img class="aligncenter size-full wp-image-265" title="fonts_compared" src="http://blog.mageprojects.com/wp-content/uploads/2011/05/fonts_compared.png" alt="" width="897" height="777" />Now i have some comments to make here. Do take into account that i want the windows 7 style fonts on linux so what comes below is purely MY opinion.</p>
<p>The Ubuntu and LinuxMint fonts look ugly and way to fat. period! One thing to note though is that Ubuntu provides a whole range of different settings just no way to test them. It are just files living in /etc/fonts/conf.avail/ (same for Fedora)</p>
<p>Sabayon 5.5 is a bit different.. They look in some parts the same, some parts are worse and some parts are better then even windows. Look at the &#8220;Review&#8221; text and compare that to windows 7.. i think the sabayon one looks better there. It just seems to miss some aliasing compared to Windows and the other linux distros.</p>
<p>For all linux distros i&#8217;m guessing it will look a lot better with <a title="this patch" href="http://www.infinality.net/blog/">this patch</a> installed.</p>
<p>I&#8217;m gonna play with the fonts on Archlinux with that patch installed and will report back here if i get something good.</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/05/27/linux-fonts-compared-ubuntu-11-04-linuxmint-11-fedora-15-windows-7-sabayon-5-5/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>mplayer DVD and Blu-Ray playback though folder, iso and device</title>
		<link>http://blog.mageprojects.com/2011/04/23/mplayer-dvd-and-blu-ray-playback-though-folder-iso-and-device/</link>
		<comments>http://blog.mageprojects.com/2011/04/23/mplayer-dvd-and-blu-ray-playback-though-folder-iso-and-device/#comments</comments>
		<pubDate>Sat, 23 Apr 2011 18:56:36 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=261</guid>
		<description><![CDATA[Hi, As usual an article starts when i&#8217;m having issues finding something out but get is working in the long run. This is yet another case of that. This time it&#8217;s with the playback of blu-ray iso images in mplayer. There are 3 ways to play a DVD or Bly-Ray movie. When you physically insert a disc [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>As usual an article starts when i&#8217;m having issues finding something out but get is working in the long run. This is yet another case of that. This time it&#8217;s with the playback of blu-ray iso images in mplayer.</p>
<p>There are 3 ways to play a DVD or Bly-Ray movie.</p>
<ol>
<li>When you physically insert a disc in your cd/dvd/blu-ray player.</li>
<li>When you want to play it from a folder.</li>
<li>When you want to play it from a ISO file.</li>
</ol>
<p>Note: You can also mount the ISO image but in commands that is the exact same as when playing it from your hardware (point 1).</p>
<p>Once you know the steps required to play dvd or blu-ray it&#8217;s easy&#8230; So here are the steps. Before you start make sure you have an mplayer with blu-ray support! And that is only in mplayer if &#8220;libbluray&#8221; was installed for compiling mplayer. Right now if you use archlinux, fedora or ubuntu then you don&#8217;t have this. So, there you have to install libbluray and simply recompile mplayer the way your distribution requires it.</p>
<p><strong>Start DVD or Blu-Ray from device</strong></p>
<ul>
<li>mplayer br:// -bluray-device /path/to/device</li>
<li>mplayer dvd://1 -dvd-device /path/to/device</li>
</ul>
<p><strong>Start it from folder (exactly the same)</strong></p>
<ul>
<li>mplayer br:// -bluray-device /path/to/folder</li>
<li>mplayer dvd://1 -dvd-device /path/to/folder</li>
</ul>
<p><strong>Start it from an ISO</strong></p>
<ul>
<li>mplayer br:// -bluray-device /path/to/filename.iso</li>
<li>mplayer dvd://1 -dvd-device /path/to/filename.iso</li>
</ul>
<p>It is really that simple! however a note for the iso one. For DVD&#8217;s this seems to work just fine. For Blu-Rays this doesn&#8217;t seem to work. So, for now, you will have to mount the iso like this (as root and first make the folder /media/iso):</p>
<ul>
<li>mount -o loop filename.iso /media/iso</li>
</ul>
<p>That&#8217;s about it. Neat huh?</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/04/23/mplayer-dvd-and-blu-ray-playback-though-folder-iso-and-device/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Linux sound control from a C++ application seems impossible!</title>
		<link>http://blog.mageprojects.com/2011/01/25/linux-sound-control-from-a-c-application-seems-impossible/</link>
		<comments>http://blog.mageprojects.com/2011/01/25/linux-sound-control-from-a-c-application-seems-impossible/#comments</comments>
		<pubDate>Tue, 25 Jan 2011 16:37:09 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=256</guid>
		<description><![CDATA[Hi, I was trying to figure out to control my ALSA sound from within Qt to for example decrease the sound volume, increase it or mute it but it seems to be an impossible task. Qt doesn&#8217;t seem to have a class for it. To make it worse. There doesn&#8217;t even seem to be a [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I was trying to figure out to control my ALSA sound from within Qt to for example decrease the sound volume, increase it or mute it but it seems to be an impossible task. Qt doesn&#8217;t seem to have a class for it.</p>
<p>To make it worse. There doesn&#8217;t even seem to be a generic linux sound mixing library that lets you manage the volum regardless of what your using (alsa, pulseaudio, oss etcetera)&#8230; So now i&#8217;m stuck and have only one real options to getit working..</p>
<p><strong>Make it myself </strong>(which seems to be the way to get things done in linux)</p>
<p>If i make it myself (which seems to be the only solution) i have to define an interface of functions i want to make available like:</p>
<ul>
<li>increase</li>
<li>decrease</li>
<li>mute</li>
</ul>
<p>That with a plugin architecture behind it so i can easily support new sound systems (since linux tends to switch once every few years).. The minimal backends would probably be:</p>
<ul>
<li>ALSA</li>
<li>PulseAudio</li>
<li>OSS (Open Sound System)</li>
</ul>
<p>Once that is done i can simply use my self made lib in my Qt creation.. But really.. is there NOTHING in linux (be it programming, dbus or even bash scripting) that can&#8217;t do this already..?</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/01/25/linux-sound-control-from-a-c-application-seems-impossible/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using ffmpeg in a Qt project</title>
		<link>http://blog.mageprojects.com/2011/01/23/using-ffmpeg-in-a-qt-project/</link>
		<comments>http://blog.mageprojects.com/2011/01/23/using-ffmpeg-in-a-qt-project/#comments</comments>
		<pubDate>Sun, 23 Jan 2011 14:51:53 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=252</guid>
		<description><![CDATA[Hi, usually using a library is as &#8220;simple&#8221; as including the library and the headers to your project settings and you can use it. However, with ffmpeg things work slightly different which makes compiling it that way impossible. The solution is simple but can be hard to figure out. Open your .pro file and add [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>usually using a library is as &#8220;simple&#8221; as including the library and the headers to your project settings and you can use it. However, with ffmpeg things work slightly different which makes compiling it that way impossible.</p>
<p>The solution is simple but can be hard to figure out. Open your .pro file and add this to make use of ffmpeg:</p>
<p><!-- p, li { white-space: pre-wrap; } --></p>
<p style="padding-left: 30px;"># required to get ffmpeg building<br />
QMAKE_CXXFLAGS += -D__STDC_CONSTANT_MACROS</p>
<p style="padding-left: 30px;"># Set list of required FFmpeg libraries<br />
LIBS += -lavutil \<br />
-lavcodec \<br />
-lavformat \<br />
-lswscale</p>
<p>Here the QMAKE_CXXFLAGS is the part that makes ffmpeg compile like it should be. Without that line it simply complains about missing defines. In the example i included various libraries, but you can remove the ones you don&#8217;t need.</p>
<p>I hope this helps a few people out there that are trying to use ffmpeg within a Qt project.</p>
<p>Regards,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2011/01/23/using-ffmpeg-in-a-qt-project/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ATI VSYNC without video trearing works!</title>
		<link>http://blog.mageprojects.com/2010/06/17/ati-vsync-without-video-trearing-works/</link>
		<comments>http://blog.mageprojects.com/2010/06/17/ati-vsync-without-video-trearing-works/#comments</comments>
		<pubDate>Thu, 17 Jun 2010 13:29:03 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=246</guid>
		<description><![CDATA[Hi, This used to be near impossible some time ago however a new ATI driver just got released: 10.6 and now VSYNC actually works on application level. However, this still does not make it work under mplayer. To get that working you will have to do a few tricks. If you run a desktop WITHOUT [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>This used to be near impossible some time ago however a new ATI driver just got released: 10.6 and now VSYNC actually works on application level. However, this still does not make it work under mplayer. To get that working you will have to do a few tricks. If you run a desktop WITHOUT compisiting the tricks are easy, but with compositing i found myself trying a whole lot more things to get it working.</p>
<p>Note: I suspect the ATI catalyst 10.6 driver is needed!</p>
<p>The trick when you run a desktop without compositing:</p>
<p><strong>mplayer -vo gl2 yourvideo.avi</strong></p>
<p>The trick when you do run compositing is quite a bit more complex.</p>
<p>First edit xorg with the following edits in the <strong>device section</strong>:</p>
<div id="_mcePaste">
<div id="_mcePaste"><strong> Option   &#8220;XAANoOffscreenPixmaps&#8221; &#8220;on&#8221;</strong></div>
<div id="_mcePaste"><strong> Option   &#8220;TexturedVideo&#8221; &#8220;on&#8221;</strong></div>
<div id="_mcePaste"><strong> Option   &#8220;VideoOverlay&#8221; &#8220;off&#8221;</strong></div>
<div id="_mcePaste"><strong> Option   &#8220;OpenGLOverlay&#8221; &#8220;off&#8221;</strong></div>
</div>
<p>And add the following at the bottom of your xorg.conf file (if not there already):</p>
<p><strong>Section &#8220;Extensions&#8221;<br />
Option     &#8220;Composite&#8221; &#8220;Enable&#8221; # If enabled (and used), use OpenGL to VSync<br />
EndSection</strong></p>
<p>Now restart your X by logging out and back in. Playing a video that is tear free with compositing enabled should now be possible with the following <strong>mplayer command</strong>:</p>
<p><strong>mplayer -vo gl yourvideo.avi</strong></p>
<p>Note the &#8220;<strong>-vo gl</strong>&#8221; instead of &#8220;<strong>-vo gl2</strong>&#8221; &#8230;. With my ATI cards the xorg.conf edits where needed to get -gl playing nicely.</p>
<p>This post probably helps some people with the same problem. Leave a comment if this helped you (or not).</p>
<p>Regards,<br />
Mark</p>
<p><strong>Update</strong></p>
<p>I noticed a big difference between windowed and fullscreen mode. On ATI video just seems to flickr when run in windowed mode (even with &#8220;-vo gl&#8221;) but the same video with the same settings runs without any flickering in fullscreen mode (press &#8220;f&#8221;).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2010/06/17/ati-vsync-without-video-trearing-works/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Auto resuming is possible in Linux!</title>
		<link>http://blog.mageprojects.com/2010/06/17/auto-resuming-is-possible-in-linux/</link>
		<comments>http://blog.mageprojects.com/2010/06/17/auto-resuming-is-possible-in-linux/#comments</comments>
		<pubDate>Wed, 16 Jun 2010 23:40:44 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=242</guid>
		<description><![CDATA[Hi, It &#8220;seems&#8221; like a windows task not &#8220;possible&#8221; on linux but that&#8217;s wrong. Auto suspending can be done through con jobs as is a widely known. Auto resuming is something that is in a bit darker area of Linux. This is how you can do that. There is a linux command line tool (probably [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>It &#8220;seems&#8221; like a windows task not &#8220;possible&#8221; on linux but that&#8217;s wrong. Auto suspending can be done through con jobs as is a widely known.</p>
<p>Auto resuming is something that is in a bit darker area of Linux.<br />
This is how you can do that. There is a linux command line tool (probably even installed by default) called: <strong>rtcwake</strong>. With this tool you can use your system &#8220;Real Time Clock (RTC)&#8221; and that allows you to wake your pc at a set point in time.</p>
<p>The commands to do that are very simple but hard to find out if you don&#8217;t know what to look for. For example the following commands set your PC to wake in 5 minutes (asuming it&#8217;s sleeping) &#8212; execute as root! &#8212; :</p>
<p><strong>echo 0 &gt;/sys/class/rtc/rtc0/wakealarm</strong> # Clear RTC<br />
<strong>date &#8220;+%s&#8221; -d &#8220;+ 5 minutes&#8221; &gt;/sys/class/rtc/rtc0/wakealarm</strong> # Set the time 5 minutes in the future</p>
<p>The latter command can also be done like this:</p>
<p><strong>echo +300 &gt;/sys/class/rtc/rtc0/wakealarm</strong></p>
<p>Now all you have to do is suspend your pc and it will (probably) wake up at the set time.<br />
On the command line there are various ways to suspend:</p>
<p><strong>echo -n mem &gt; /sys/power/state</strong></p>
<p>or</p>
<p><strong>pm-suspend</strong></p>
<p>or other ways (like dbus).</p>
<p>Where is this usefull? Well, this might be very handy for HTPC setups that you can just turn off at times when not a single person is gonna use it.</p>
<p>Hope you found this usefull.<br />
Regards,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2010/06/17/auto-resuming-is-possible-in-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mageprojects.com main page in pure css (3)!</title>
		<link>http://blog.mageprojects.com/2010/04/06/mageprojects-com-main-page-in-pure-css-3/</link>
		<comments>http://blog.mageprojects.com/2010/04/06/mageprojects-com-main-page-in-pure-css-3/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 17:21:23 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=239</guid>
		<description><![CDATA[Hi, I spend a few hours recreating the main mageprojects.com site in pure css. The result is visible here: http://mageprojects.com/PureCSS/ and works in Firefox 3.6, Chrome 4 and Safari 4. Note that there is actually just one image on that entire page and that&#8217;s the header image with my logo in it. Everything else you [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I spend a few hours recreating the main mageprojects.com site in pure css. The result is visible here: <a href="http://mageprojects.com/PureCSS/">http://mageprojects.com/PureCSS/</a> and works in Firefox 3.6, Chrome 4 and Safari 4.</p>
<p>Note that there is actually just one image on that entire page and that&#8217;s the header image with my logo in it. Everything else you see on that page is done with css only! I even had some css animation effects in it but since that&#8217;s chrome only i left it out for now.</p>
<p>Just made it to show you the power of CSS.</p>
<p>Feel free to browse the page source and use it to your liking.</p>
<p>Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2010/04/06/mageprojects-com-main-page-in-pure-css-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WinTV-PVR 150 on Arch Linux</title>
		<link>http://blog.mageprojects.com/2009/12/29/wintv-pvr-150-on-arch-linux/</link>
		<comments>http://blog.mageprojects.com/2009/12/29/wintv-pvr-150-on-arch-linux/#comments</comments>
		<pubDate>Tue, 29 Dec 2009 21:34:37 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=233</guid>
		<description><![CDATA[Hi, Yet again i had issues to get this working. Documenting it this time for myself in the future and perhaps other persons that might want to do the same. To even get the 150 card working install ivtv-utils: sudo pacman -S ivtx-utils To scan your card for tv channles install xawtv: sudo pacman -S [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Yet again i had issues to get this working. Documenting it this time for myself in the future and perhaps other persons that might want to do the same.</p>
<p>To even get the 150 card working install ivtv-utils:<br />
sudo pacman -S ivtx-utils</p>
<p>To scan your card for tv channles install xawtv:<br />
sudo pacman -S xawtv</p>
<p>And to play it install mplayer:<br />
sudo pacman -S maplyer</p>
<p>The last thing you need to change is the /dev/video0 permissions:<br />
sudo chown root.users /dev/video0</p>
<p>Now to start watching tv you need to type:<br />
mplayer /dev/video0 or gmplayer /dev/video0 for a gui</p>
<p>If you have an nvidia GPU (and working in linux) append &#8220;-va vdpau&#8221; (without the quotes). That should of load some stuff to your video card.</p>
<p>By now you probably want to switch channels? To do that we first need to scan the tv channels by typing:<br />
scantv (fill in your options and it will scan)</p>
<p>Once that is done save that list to a file! The channels in that list are the numbers you need to use.<br />
To change a channel type something like this:<br />
ivtv-tune -teurope-west -c37 -d/dev/video0 (change your -teurope-west to the one you picked)</p>
<p>The last thing before the video is &#8220;nice&#8221; (as far as nice video can be nice on a computer monitor). You probably have seen some odd lines on the live tv. That&#8217;s called interlacing. To &#8220;fix&#8221; that you need to deinterlace the video. A nice resource that shows the options mplayer has is: http://guru.multimedia.cx/deinterlacing-filters/</p>
<p>The command that i use:<br />
mplayer -vo vdpau -ao oss /dev/video0 -vf yadif=1:1,denoise3d</p>
<p>yadif is used for deinterlacing and denoise3d is used to filter out noise which is quite a lot on tv broadcasts and this filter makes it look nice!</p>
<p>All i still want to find out is ho to cut off the black bars since the broadcast is 4:3 now on my 16:10 display. The broadcast has bars at the top and bottom since it&#8217;s a widescreen broadcast but that is being broadcasted in 4:3 so the result is black bars on the left, right, top and bottom.. not nice ^_^</p>
<p>Hope this was helpful for others as well.</p>
<p><strong>Update<br />
</strong>After many hours of trial and error and very close to make a mplayer filter to filter out the letterboxing bars (black bars on the top and bottom of widescreen broadcasts). The solution? panscan! The command that i use now is:<br />
mplayer -vo vdpau -ao oss /dev/video0 -vf yadif=1:1,denoise3d -panscan 1</p>
<p><strong>Update 2</strong><br />
This command might give better image results (other denoiser):<br />
mplayer -vo vdpau -ao oss /dev/video0 -vf yadif=1:1,hqdn3d -panscan 1</p>
<p>That only works when your in fullscreen. Then press W or E to zoom in or out.</p>
<p><strong>Update 3</strong><br />
I found this command to be giving very nice results (for when you don&#8217;t have vdpau):<br />
mplayer /dev/video0 -cache 2000 -panscan 1 -vo gl -vf yadif=1/3<br />
Note the -cache 2000; that seems to be just fine to have a smooth deinterlaced  PVR stream. The yadif on this setting also produces nice results. You could append &#8220;,<strong>hqdn3d</strong>&#8221; to have a somewhat smoother image but it will start to look ugly when you play anything with a lot of action in it.</p>
<p>Good luck,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/12/29/wintv-pvr-150-on-arch-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Play bluray movies with subtitles in mplayer</title>
		<link>http://blog.mageprojects.com/2009/10/03/play-bluray-movies-with-subtitles-in-mplayer/</link>
		<comments>http://blog.mageprojects.com/2009/10/03/play-bluray-movies-with-subtitles-in-mplayer/#comments</comments>
		<pubDate>Sat, 03 Oct 2009 14:55:35 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=221</guid>
		<description><![CDATA[Hi, Playing a bluray video in Linux is kinda awkward so that&#8217;s why i make a small howto that describes just that. I&#8217;m not aware of any other methods to play bluray movies with (custom) subtitles like described below. If you know another (better?) method please let me know. Before you start, make sure you [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Playing a bluray video in Linux is kinda awkward so that&#8217;s why i make a small howto that describes just that.<br />
I&#8217;m not aware of any other methods to play bluray movies with (custom) subtitles like described below. If you know another (better?) method please let me know.</p>
<p>Before you start, make sure you can mount your bluray image which can be done with the following line:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">mount -o loop -t udf /path/to/image.iso /media/bluray_image</pre>
<p>Or you have a bluray drive with the disc inserted.</p>
<p>Note: the bluray menus are not usable yet in Linux. only playing the video file is possible at the moment.</p>
<p>First you need to have the mplayer svn version. I used <a href="http://aur.archlinux.org/packages.php?ID=24405">this one</a> from arch linux.<br />
I assume you know how to compile it and get mplayer working.</p>
<p>Once it&#8217;s compiled and installed you need to go to your bluray drive or the mount path and then in the folder:<br />
<strong>BDMV/STREAM/</strong></p>
<p>Now if your running compiz or any kind of 3d accelerated desktop environment then you have to append:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">-ao gl</pre>
<p>to the play line (comes later) otherwise you can just use:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">-ao xv</pre>
<p>Now the final play line would be (assuming your still in the BDMV/STREAM/ folder):</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">mplayer -vo gl 00000.m2ts</pre>
<p>I used -vo gl because i use an accelerated desktop but replace the gl with xv if you&#8217;re not using an accelerated desktop. The file: <strong>00000.m2ts</strong> was the one that was the biggest for me (well over 6 GB). the name might differ in your movie so make sure check the name before trying to play it.</p>
<p>Now for the subtitles.<br />
Since bluray menus are still not possible in linux you have to just download the subtitle you want. So, go to your favorite subtitle site which provides .srt subtitle files and grab the one you want. Now there is one issue with playing those bluray movies. Somehow mplayer &#8220;thinks&#8221; it starts playing at minute 10 while the movie plays from second one. This causes your subtitles to begin playing from 10 minutes thus resulting in the wrong subtitles at the wrong time. There is a nice little trick in mplayer that can be done to &#8220;prevent&#8221; this. Just let your subtitles delay 10 minutes like so:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">-subdelay -600</pre>
<p>And a subtitle can be loaded with -sub &lt;filename&gt;</p>
<p>The resulting line to play a bluray movie with subtitles is:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; text-align: left;" dir="ltr">mplayer -vo gl -subdelay -600 -sub subtitle.srt BDMV/STREAM/00000.m2ts</pre>
<p>That&#8217;s what worked for me when playing ripped bluray movies.<br />
Hope this works for you as well.</p>
<p>Goodluck,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/10/03/play-bluray-movies-with-subtitles-in-mplayer/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Kinda frustrating&#8230;</title>
		<link>http://blog.mageprojects.com/2009/07/14/kinda-frustrating/</link>
		<comments>http://blog.mageprojects.com/2009/07/14/kinda-frustrating/#comments</comments>
		<pubDate>Tue, 14 Jul 2009 00:51:48 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=219</guid>
		<description><![CDATA[Hey, Sorry to say but there is no progress since my last post. I tried to make the admin interface (just basics) working in IE but it&#8217;s kinda hard to get it working in ie6. And to get that working i spend roughly a full day of trying to get ie6 running under linux (wine) [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>Sorry to say but there is no progress since my last post. I tried to make the admin interface (just basics) working in IE but it&#8217;s kinda hard to get it working in ie6. And to get that working i spend roughly a full day of trying to get ie6 running under linux (wine) or in a virtual machine (kvm) both failed and worked but never worked long before crashing to never be able to start again thus resulting me in re-installing that shit again.</p>
<p>What i&#8217;m going to do now is completely ignore IE (all versions) and make it work in FF. Once it&#8217;s all done i will take another look at IE. The user side interface of MageDB works just fine under IE. the admin is just a problematic one.</p>
<p>That&#8217;s it for now,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/07/14/kinda-frustrating/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Decision made and admin panel</title>
		<link>http://blog.mageprojects.com/2009/07/09/decision-made-and-admin-panel/</link>
		<comments>http://blog.mageprojects.com/2009/07/09/decision-made-and-admin-panel/#comments</comments>
		<pubDate>Thu, 09 Jul 2009 00:38:19 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=217</guid>
		<description><![CDATA[Hi, Last post was about making tough decisions between a SplStack vs Array + array_reverse and now i think i&#8217;m just going for a stack when php 5.3 is used. This is just for the title buildup which is hardly ever bigger then 5 entries, but a stack is just where these kind of things [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Last post was about making tough decisions between a SplStack vs Array + array_reverse and now i think i&#8217;m just going for a stack when php 5.3 is used. This is just for the title buildup which is hardly ever bigger then 5 entries, but a stack is just where these kind of things are good for (LIFO, Last In First Out).</p>
<p>Now for the admin panel.<br />
I haven&#8217;t been extremely busy with magedb but did made up a first mockup of the admin panel (sadly can&#8217;t show the image because wordpress is having a: &#8220;no i don&#8217;t want to upload images&#8221; moment.. but the start is here. The way i&#8217;m going to make the admin panel is with a horizontal tabbed navigation and as soon as you click and of the category&#8217;s you will, right below it, see the sub ctegory&#8217;s you can access. For example:</p>
<p style="padding-left: 30px;">File Management<br />
| Add file | Delete file | List file |</p>
<p>Kinda like that. Only then with nice icons and probably some more options. Probably also a &#8220;Rebuild file cache&#8221; and some others. I hope to have the majority of the admin panel done by tomorrow.</p>
<p>That&#8217;s it for now,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/07/09/decision-made-and-admin-panel/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>decisions, updates and benchmarks</title>
		<link>http://blog.mageprojects.com/2009/07/04/decisions-updates-and-benchmarks/</link>
		<comments>http://blog.mageprojects.com/2009/07/04/decisions-updates-and-benchmarks/#comments</comments>
		<pubDate>Sat, 04 Jul 2009 22:47:51 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=214</guid>
		<description><![CDATA[Hi, Oke, now i&#8217;m kinda getting crazy by my own benchmarks: Array VS SplFixedArray &#8212; SPLFixedArray Execution time: 0.022745132446289 &#8212; Memory: 8801432 Array VS SplFixedArray &#8212; Array Execution time: 0.037898063659668 &#8212; Memory: 17849424 Stack VS array_unshift &#8212; Stack Execution time: 0.000594139099121 &#8212; Memory: 128952 &#8212; banana999 Stack VS array_unshift &#8212; Unshift Execution time: 0.035573005676270 &#8212; [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Oke, now i&#8217;m kinda getting crazy by my own benchmarks:</p>
<div style="margin-left: 20px;">
<hr />Array VS SplFixedArray &#8212; SPLFixedArray<br />
Execution time: 0.022745132446289 &#8212; Memory: 8801432<br />
<hr />Array VS SplFixedArray &#8212; Array<br />
Execution time: 0.037898063659668 &#8212; Memory: 17849424<br />
<hr />Stack VS array_unshift &#8212; Stack<br />
Execution time: 0.000594139099121 &#8212; Memory: 128952 &#8212; banana999<br />
<hr />Stack VS array_unshift &#8212; Unshift<br />
Execution time: 0.035573005676270 &#8212; Memory: 176440 &#8212; banana999<br />
<hr />Stack VS array_unshift VS array_reverse &#8212; array_reverse<br />
Execution time: 0.000366926193237 &#8212; Memory: 176440 &#8212; banana999<br />
<hr /></div>
<p>What you see above is very interesting. Lets first look at the <strong>Array VS SplFixedArray</strong> one. If you look at the execution time you see that the SplFixedArray is roughly 1 third faster then a normal array. Now look at the memory part. SplFixedArray is <strong>more then twice as efficient</strong> as a normal array in terms of memory and it&#8217;s even 1/3 faster then a normal array! So i will use it when available like said in my previous post. And i think i will use it in every place where possible. the performance numbers speak for themself.</p>
<p>Now that SplFixedArray one was already on my list to use because i roughly knew the performance boosts it gives but the real decision part that&#8217;s breaking my head is the stack benchmarks. The first stack one is the most memory efficient and, after further benching it, becomes faster then the array_reverse one if you add in 100.000 elements (those 3 stack ones have 1.000 elements). The second stack one (array_unshift) is the one that i <strong>was</strong> using till just 30 minutes ago. I knew it was slow but i didn&#8217;t know how i could fix it. Turns out making a normal array then using array_reverse is exactly what i needed to fix it. Now the issue here is the SplStack (first stack one) is a nice object and doing exactly what i want, but is slower then a normal array followed by array_reverse when filled. So what do i need to choose here? lower memory, not the fastest way and nice object (SplStack) or fastest option, little more memory and no nice object (array followed by array_reverse).. I tend to choose the array + array_reverse option and that&#8217;s mainly because the data in this array will probably be never more then 10 elements. In case you want to know. I use this in the category class where i calculate the title array and that is the link part that allows you to go back to the parent category (up until the root category).</p>
<p>Now for the updates<br />
Category class is updated to be a lot faster with bigger arrays (removed the use of array_unshift). The cache abstraction is nearly done. All that&#8217;s left to be done in there is the file based caching.</p>
<p>That&#8217;s it for todays progress,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/07/04/decisions-updates-and-benchmarks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First PHP 5.3 feature in use and some other progress</title>
		<link>http://blog.mageprojects.com/2009/07/03/first-php-5-3-feature-in-use-and-some-other-progress/</link>
		<comments>http://blog.mageprojects.com/2009/07/03/first-php-5-3-feature-in-use-and-some-other-progress/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 19:04:22 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=210</guid>
		<description><![CDATA[Hey, I just made the MySQLi use of MageDB a little more effective. Previously it was duplicating some code to make arrays out of database requests. Now one function is making all the array decisions and the rest makes use of that one function resulting in cleaner and more easy to understand code. That was [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I just made the MySQLi use of MageDB a little more effective. Previously it was duplicating some code to make arrays out of database requests. Now one function is making all the array decisions and the rest makes use of that one function resulting in cleaner and more easy to understand code.</p>
<p>That was the most minor thing. Another thing i added in is array profiling! quite handy when you&#8217;re developing but for the avarage user of MageDB not of much use thus it&#8217;s off by default.</p>
<p>The last thing i added in is quite complex. In PHP 5.3 you have a new MySQL backend called MySQLND (nd == native driver) which is, when enabled, used for mysqli, mysql and pdo_mysql. If it&#8217;s not enabled the &#8216;old&#8217; default of libmysql is used. That&#8217;s one of the changes in PHP 5.3 one which i can use in MageDB. When MySQLND is enabled i have the function: fetch_all() in mysqli which is putting a query response in a array. Now this is probably not turned on on every php 5.3 server so if that&#8217;s the case i&#8217;m going to use SplFixedArray which is just a bit faster then a normal array but twice as memory efficient! So, that&#8217;s a big win win situation for you as a user and your host as a sever owner. So there you have it. 2 php 5.3 features are already in MageDB and will be used as soon as your server has it. Buth features that i user are (still) backwards compatible with at least php 5.2.</p>
<p>And an idea for some future version. Right now MageDB is MySQLi only and just MySQL will never be supported anymore since that is just ugly stuff. But i do think of supporting PostgreSQL but that will be quite hard since queries are not exactly the same on both database vendors.. most are the same though.</p>
<p>And last but not least. MageDB updates will from now on be here a lot more or faster since the next week is going to be a MageDB scripting week.</p>
<p>Till next post,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/07/03/first-php-5-3-feature-in-use-and-some-other-progress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>MageDB progress update and php 5.3</title>
		<link>http://blog.mageprojects.com/2009/06/30/magedb-progress-update-and-php-5-3/</link>
		<comments>http://blog.mageprojects.com/2009/06/30/magedb-progress-update-and-php-5-3/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 13:07:42 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=203</guid>
		<description><![CDATA[Hey, There actually is no progress to report but there is some news. The delay in MageDB is actually good. When i posted the delay i didn&#8217;t knew PHP 5.3 was going to be released today and i&#8217;ve never tested MageDB with php 5.3 before so i smell a nice opportunity here. So what does [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>There actually is no progress to report but there is some news.</p>
<p>The delay in MageDB is actually good. When i posted the delay i didn&#8217;t knew PHP 5.3 was going to be <a href="http://www.php.net/archive/2009.php#id2009-06-30-1">released <strong>today</strong></a> and i&#8217;ve never tested MageDB with php 5.3 before so i smell a nice opportunity here.</p>
<p>So what does this mean? Well first of all i have a hard week right now (school stuff) and am done with that coming friday. So just because of that there will be no progress until friday. Another major factor is the php 5.3 release that is scheduled for today (<span style="text-decoration: line-through;">as of this writing it&#8217;s not released yet</span> and has just been <a href="http://www.php.net/archive/2009.php#id2009-06-30-1">released</a>) and i am going to wait with big magedb progress until php 5.3 is released. As soon as that happens i will install it, run magedb on it and see how it works and if it needs fixing somewhere. I will (right now) update the MageDB progress on www.mageprojects.com because it&#8217;s a lot more finished then described there.</p>
<p>So, more news after php 5.3 is released and after (or on) next friday.</p>
<p>Thanks,<br />
Mark</p>
<p>Updated one minute after initial post with php 5.3 release link</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/30/magedb-progress-update-and-php-5-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Howto: release and renew ip in ubuntu (9.04)</title>
		<link>http://blog.mageprojects.com/2009/06/29/howto-release-and-renew-ip-in-ubuntu-9-04/</link>
		<comments>http://blog.mageprojects.com/2009/06/29/howto-release-and-renew-ip-in-ubuntu-9-04/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 14:02:27 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=198</guid>
		<description><![CDATA[Hey, Yet again a issue in ubuntu that lets me search for hours only to find non working solutions. So here i go again.. i will just post the solution that worked for me. The issue was that i had an ip address in a different part of the same subnetwork. all in 192.168.1.* Now [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>Yet again a issue in ubuntu that lets me search for hours only to find non working solutions.<br />
So here i go again.. i will just post the solution that worked for me.</p>
<p>The issue was that i had an ip address in a different part of the same subnetwork. all in 192.168.1.*<br />
Now on the ubuntu forums you can find a lot of questions to release and renew your ip. None of those methods worked for me.<br />
This did:</p>
<pre style="border: 1px inset; margin: 0px; padding: 6px; overflow: auto; width: 640px; height: 114px; text-align: left;" dir="ltr">sudo echo '' &gt; /var/lib/dhcp3/dhclient.leases
sudo echo '' &gt; /var/lib/dhcp3/dhclient-eth0.lease
sudo dhclient -r // or with eth0
sudo dhclient // or with eth0</pre>
<p>What this is doing is cleaning the dhclient lease files and after that releasing your current ip followed by a new dhcp request to get a new ip.Big downside is that the ip doesn&#8217;t seem to be released on the actual dhcp server thus for the remaining lease time no other computers willbe able to get that ip.</p>
<p>This is how it worked for me and i take the downside for what it is.</p>
<p>This will probably help a few other ubuntu users out there with the same issue.<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/29/howto-release-and-renew-ip-in-ubuntu-9-04/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transition to MegaHost UK complete</title>
		<link>http://blog.mageprojects.com/2009/06/26/transition-to-megahost-uk-complete/</link>
		<comments>http://blog.mageprojects.com/2009/06/26/transition-to-megahost-uk-complete/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 15:11:34 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=195</guid>
		<description><![CDATA[Hi, The transition to MageHost UK is complete. So far i didn&#8217;t encounter any issues yet, but i&#8217;m sure i forgot to set a few file permissions which will be fixed as soon as i notice them. In case your wondering. O-Todo is also back online and seems to be fully functional besides the friendly [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>The transition to MageHost UK is complete.<br />
So far i didn&#8217;t encounter any issues yet, but i&#8217;m sure i forgot to set a few file permissions which will be fixed as soon as i notice them.<br />
In case your wondering. O-Todo is also back online and seems to be fully functional besides the friendly url&#8217;s.. I broke that somewhere some months ago and still didn&#8217;t fix it.</p>
<p>That&#8217;s it for this &#8220;tweet&#8221; like message,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/26/transition-to-megahost-uk-complete/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Switched to another host, move is tomorrow, not going to make the deadline</title>
		<link>http://blog.mageprojects.com/2009/06/25/switched-to-another-host-move-is-tomorrow-not-going-to-make-the-deadline/</link>
		<comments>http://blog.mageprojects.com/2009/06/25/switched-to-another-host-move-is-tomorrow-not-going-to-make-the-deadline/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 23:29:39 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=192</guid>
		<description><![CDATA[Hey, Switched to another host Yesterday i told you i switched to a USA host and was planning on moving mageprojects to there. Now i kept on searching for a EU based host and fount one that&#8217;s asking just one pound more then i paid with media30 and is providing nearly double the features of [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p><strong>Switched to another host<br />
</strong>Yesterday i told you i switched to a USA host and was planning on moving mageprojects to there. Now i kept on searching for a EU based host and fount one that&#8217;s asking just one pound more then i paid with media30 and is providing nearly double the features of them. I now have 12.5GB hdd and 125GB bandwidth available for just 4.99 pound (6 euro). This new host is also in the UK like Media30 was and helped me a great deal to get started. The PHP APC extension was missing and they installed it right away. So my impression with them, <a href="http://megahostuk.com/">MegaHost UK</a>, is quite good to begin with.</p>
<p><strong>Move is tomorrow<br />
</strong>Now that i have a new and good host in england i can finally start merging Mageprojects to that new host. The site <a href="http://www.magedb.net">MageDB</a> (<a href="http://www.magedb.net">.net</a> and <a href="http://www.magedb.com">.com</a>) are already hosted on there. It COULD be possible that mageprojects is going to be offline for one or 2 days because the global dns servers still have to add the new dns information. I believe this is called &#8220;propagation&#8221;. So don&#8217;t worry when it&#8217;s off. It will be back.</p>
<p><strong>Not going to make the deadline<br />
</strong>Well i can&#8217;t say i like this but it&#8217;s a fact. You&#8217;ve all saw the list that&#8217;s still on the drawing board and add to that a few very tough exams i have in the coming week that really needs a lot of attentions.. So i won&#8217;t make it to release Beta 1 this week or early next week. I will try to make a few parts for a release ASAP.</p>
<p>Next post will be from the new host,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/25/switched-to-another-host-move-is-tomorrow-not-going-to-make-the-deadline/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Introducing: MageDB.net and new hosting found</title>
		<link>http://blog.mageprojects.com/2009/06/24/introducing-magedb-net-and-new-hosting-found/</link>
		<comments>http://blog.mageprojects.com/2009/06/24/introducing-magedb-net-and-new-hosting-found/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 16:26:35 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=187</guid>
		<description><![CDATA[Hey, I&#8217;ve been on a domain registering spree the last few days. I&#8217;ve registered MageDB.net and MageDB.com where the .com domain redirects you to the .net one. The purpose of that .net domain is going to be to just host MageDB and possible services (like MageDB hosting solutions) all centralised on that one domain. A [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I&#8217;ve been on a domain registering spree the last few days. I&#8217;ve registered <a href="http://www.magedb.net">MageDB.net</a> and <a href="http://www.magedb.com">MageDB.com</a> where the .com domain redirects you to the .net one. The purpose of that .net domain is going to be to just host MageDB and possible services (like MageDB hosting solutions) all centralised on that one domain. A added banifit is ofcourse that a full domain name with the same name as the script looks a lot more professional then a simple subdomain on my projects domain. For now this blog remains on mageprojects and magedb news will be posted on this blog, but in time i might create a new seperate blog on magedb.net for magedb only news.. who knows.</p>
<p>And, yes, i&#8217;ve added google adsence advertisements on MageDB.net just to see if it works out well and ofcourse to make some money once that domain is actively hosting MageDB.</p>
<p>Now for the new hosting. I found a new &#8220;home&#8221; at <a href="http://boostvisual.com/">BoostVisual</a>. They are cheap and from what i&#8217;ve seen so far offer nice hosting solutions. The speed is great with them as well which isn&#8217;t always the case for me when downloading stuff from servers in usa. The only think i&#8217;m waiting for before i can migrate this blog to there host is the php MySQLi and APC extensions to be installed. As soon as that&#8217;s been fixed i will start migrating my all of this to that host.</p>
<p>Now for some tine MageDB news.<br />
I had quite a lot of trouble getting my category class working for menu navigation and also some annoying cache issues which is now all fixed. Now here is a start of the features that are not going to make beta 1 but will likely be in beta 2:</p>
<ul>
<li>Search engine friendly urls</li>
<li>Comments in file view</li>
<li>ajax based file rating in file view</li>
</ul>
<p>Features that are not implemented yet but should be in the first beta release later this week or early next week</p>
<ul>
<li>Full admin panel</li>
<li>search (sql based not highly optimised one)</li>
<li>statistics (basic ones)</li>
<li><strong>[ <span style="color: #008000;">done</span> ] </strong>working category&#8217;s (template is here.. code is here partly)</li>
<li><strong>[ <span style="color: #ff6600;">W.I.P.</span> ] </strong>ability to: download, rate, report and mail a file</li>
<li>upload a file (also part of the admin panel)</li>
<li>apc abstraction because right now magedb is not working without apc (needed because with APC is the only way it&#8217;s working now)</li>
<li>settings for various magedb things (needed for the header mostly)</li>
<li>writing a logger to for example log mails being send (needed for mail a file aka mail link to friend)</li>
<li>&#8220;intelligent&#8221; spam detection for mails send and also for comments when they are here (needed for mail a file aka mail link to friend)</li>
<li>Tagcloud (yea, i will go go with the hype around this.. i don&#8217;t really see a benifit but well, you&#8217;re going to get it)</li>
</ul>
<p>I will update those last 6 features here with a<strong> [ <span style="color: #008000;">done</span> ]</strong> tag once i&#8217;ve made them.<br />
// note to self :: am i ever going to make that big list in just a few days?</p>
<p>That&#8217;s it for now,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/24/introducing-magedb-net-and-new-hosting-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tables are back, magedb hosting, mageprojects server move</title>
		<link>http://blog.mageprojects.com/2009/06/23/tables-are-back-magedb-hosting-mageprojects-server-move/</link>
		<comments>http://blog.mageprojects.com/2009/06/23/tables-are-back-magedb-hosting-mageprojects-server-move/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 14:13:47 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=185</guid>
		<description><![CDATA[Hi, Quite a lot is going on in and around MageDB. Lets start with the Tables. Tables are back At first when i started with magedb (late 2006 early 2007) i was under the impression that tables where just bad period. That opinion got changed roughly a year ago when i read something like this [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Quite a lot is going on in and around MageDB. Lets start with the Tables.</p>
<p><strong>Tables are back<br />
</strong>At first when i started with magedb (late 2006 early 2007) i was under the impression that tables where just bad period. That opinion got changed roughly a year ago when i read something like this somewhere: &#8220;Tables are not intended for defining how a page looks. Tables are here for lists of data so use it for lists and use divs for page layout stuff.&#8221; so when i made the category and file view in MageDB i remembered that. The result of that is that tables are back in MageDB (if you search the internet on MageDB and tables you will find me posting on some blog that i removed tables) and are kicking asses there. As a result of tables being back the MageDB browser support could be from Internet Explorer 6 and up. I usually don&#8217;t support IE6 but in this case where i wide range of people could use this script at some point in time it seemed wite to me to support as much browsers as possible with as little javascript and css tricks as possible. Right now i use NO javascript tricks and NO css tricks and it works fairly well on IE6. Some parts do not work on IE6 but that will have to be fixed by using the famous IE7 javascript file which makes ie6 act mostly like ie7. this is done through conditional comments in html so that other browsers see it as.. comments and do nothing with it. Only IE knows it and does something with it. Microsofts way of telling they screwed up big time in ie and a possible way of making it all a bit better.</p>
<p><strong>MageDB hosting</strong><br />
This is right now just an idea but something i&#8217;ve been thinking about a lot lately and something i really want to provide with magedb. Perhaps some of you remember paFileDB? they had an option to buy &#8220;paFileDB hosting&#8221; which was optimised (right?) for use with paFileDB thus giving you the ability to have hosting that was sure to work with paFileDB and had support from the creators. I tend to do roughly the same thing. I don&#8217;t plan on buying a dedicated server and put hosting on it becasue that&#8217;s not just one server if you do it good. That&#8217;s going to be atleast 2. 1 for backup one for the accounts. My idea now is to allow you to register for a simple free account on mageprojects on which you can host your files, screenshots and have your database on. It&#8217;s NOT meant as hosting where you host your site on.. only your database with the graphical interface (MageDB). That idea would be the free plan. The paid plan (yes that&#8217;s going to be there if i do this at all) will allow you to run your site from that account, will allow you to buy a domain along with it, will get you access to probably cpanel and will give you support for MageDB. That&#8217;s going to cost you some euros per month. Right now i&#8217;m thinking of something around 15 euros per month.</p>
<p><strong>Mageprojects server move<br />
</strong>A few days ago i received a message from my host that they where attacked and are going to stop providing hosting packages and giving all there customers 2 weeks to move there sites to another host or everything will be lost (they didn&#8217;t said the last part but i can guess that) so i&#8217;m right now hunting for a new hosting provider. Finding one in the netherlands (my home country) or some in europe that&#8217;s equal or better then the package i currently have seems extremely hard to find (6 gb space, 60 gb bandwidth for just 4 pound in uk) so i&#8217;m right now looking at hosting in USA to see if that&#8217;s going to work out. Whatever the results are. Mageprojects will have to move to another server within now and 12 days.</p>
<p>As for MageDB progress. None happened yesterday but last sunday the file view was nearly finished (only thumbnails left to do). And in the very near future i&#8217;m going to make a blog post here with the features that are in MageDB right now, those that will get in there before i release a release candidate and how the features are in the end MageDB 1.0.0 release. For now i do intend to release a beta later this week (depends on the admin panel) and during that beta new features will still be added. During the release candidate cycle there will only be bug and feature fixes but no new features at all. The release planning so far:<br />
MageDB Beta 1 (0.8.0) &#8212; later this week or early next week<br />
MageDB Bera 2 (0.9.0) &#8212; unknown (and only if needed)<br />
MageDB Release Candidate 1 (0.9.5) &#8212; unknown<br />
MageDB Release Candidate 2 (0.9.6) &#8212; unknown (and only if needed and as you can see in the release numbers i can go till rc 5 ^_^)<br />
MageDB Final (1.0.0) &#8212; somewhere in July i hope</p>
<p>So a lot of stuff is going to happen with MageDB and Mageprojects.</p>
<p>Till next post (on perhaps another server),<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/23/tables-are-back-magedb-hosting-mageprojects-server-move/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MageDB theming started</title>
		<link>http://blog.mageprojects.com/2009/06/20/magedb-theming-started/</link>
		<comments>http://blog.mageprojects.com/2009/06/20/magedb-theming-started/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 22:32:47 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=178</guid>
		<description><![CDATA[Hi, I started theming MageDB with the following goals in mind: clearly vissible where you hold your mouse regarding file/category lists easy and intuitive interface easy to use easy for the eyes color variation but not to much Works in all major browsers + ie 6 and 7 NOTE: the &#8220;There are no&#8230;&#8221; text is [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>I started theming MageDB with the following goals in mind:</p>
<ul>
<li>clearly vissible where you hold your mouse regarding file/category lists</li>
<li>easy and intuitive interface</li>
<li>easy to use</li>
<li>easy for the eyes</li>
<li>color variation but not to much</li>
<li>Works in all major browsers + ie 6 and 7</li>
</ul>
<p>NOTE: the &#8220;There are no&#8230;&#8221; text is there just for me to see how that looks. In this case both those lines should be gone.</p>
<p>And the result of that is this:</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2009/06/magedb-wip.png"><img class="alignnone" title="MageDB wip layout" src="http://blog.mageprojects.com/wp-content/uploads/2009/06/magedb-wip.png" alt="" width="748" height="467" /></a></p>
<p>Things i still have to do in the layout:</p>
<ul>
<li>Improve the login/password/go fields</li>
<li>minor css fixes</li>
<li>Make a file view, download view&#8230; and everything else i can think of.</li>
</ul>
<p>The rough lines are done now. Right now it&#8217;s all just a mather of fine tuning before i can start on the administration panel. And then, once that&#8217;s done, MageDB is finally ready to get an release candidate release! And i hope i&#8217;m at that point by the end of next week.</p>
<p>Btw. sorry for the ugly downscale of the image above. WordPress seems to be a bit broken on my site. If i can&#8217;t get it fixed fast i will probably reinstall it.</p>
<p>That&#8217;s it for now,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/20/magedb-theming-started/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Links to help you install your PVR-150 on Ubuntu</title>
		<link>http://blog.mageprojects.com/2009/06/18/links-to-help-you-install-your-pvr-150-on-ubuntu/</link>
		<comments>http://blog.mageprojects.com/2009/06/18/links-to-help-you-install-your-pvr-150-on-ubuntu/#comments</comments>
		<pubDate>Thu, 18 Jun 2009 20:48:04 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=173</guid>
		<description><![CDATA[Hey, Just a quick post with some links that will help you get your PVR-150 device running in ubuntu or just linux. http://www.simsemporium.com/Stuff/Mythtv+-+PVR-150+-+Ubuntu+-+New+Zealand+HOWTO.html Note about that link. They tell you to compile ivtv. That&#8217;s not needed! ivtv is in the ubuntu repository (universe repo) so you can search for that in synaptic or just by [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>Just a quick post with some links that will help you get your PVR-150 device running in ubuntu or just linux.<br />
<a href="http://www.simsemporium.com/Stuff/Mythtv+-+PVR-150+-+Ubuntu+-+New+Zealand+HOWTO.html">http://www.simsemporium.com/Stuff/Mythtv+-+PVR-150+-+Ubuntu+-+New+Zealand+HOWTO.html</a></p>
<p>Note about that link. They tell you to compile ivtv. That&#8217;s not needed! ivtv is in the ubuntu repository (universe repo) so you can search for that in synaptic or just by typing this in a console: sudo apt-get install ivtv-utils.</p>
<p>And if your sound is not working this might be very helpful: <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/228363">https://bugs.launchpad.net/ubuntu/+source/linux/+bug/228363</a></p>
<p>That&#8217;s it for this quick twitter like post. I hope this helped a few people with this issue.</p>
<p>Good luck,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/18/links-to-help-you-install-your-pvr-150-on-ubuntu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requests per second highly improved</title>
		<link>http://blog.mageprojects.com/2009/06/15/requests-per-second-highly-improved/</link>
		<comments>http://blog.mageprojects.com/2009/06/15/requests-per-second-highly-improved/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 00:23:33 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=171</guid>
		<description><![CDATA[Hi, first a list of the current requests per second all benchmarked on my personal pc: PHPBB : 100 requests per second paFileDB : 1200 requests per second MageDB : 2000 requests per second MageDB without MySQL : 2600 requests per second Clean php file with only &#8216;hello world!&#8217; : 3800 requests per second Clean [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>first a list of the current requests per second all benchmarked on my personal pc:<br />
PHPBB : 100 requests per second<br />
paFileDB : 1200 requests per second<br />
MageDB : 2000 requests per second<br />
MageDB without MySQL : 2600 requests per second</p>
<p>Clean php file with only &#8216;hello world!&#8217; : 3800 requests per second<br />
Clean html file with only hello world : 6000 requests per second</p>
<p>Oke, now what is all of this? First look at the clean php and html ones. Clean html file means just 1 line of text and that&#8217;s able to get 6000 requests per second on my pc. That benchmark is quite useless for comparision. The interesting one is a clean php file with 3800 requests per second. That means that my pc can have 3800 requests per second MAX with php.  The lighter MageDB is the more requests per second it can handle.  What i&#8217;m doing right now in MageDB is caching every object i make in APC and retreive that one from the APC cache next time a visitor looks at MageDB. With this technique the requests per second shoot up from roughly 1400 to 1600 which is already quite impressive. now to get more requests per second i took a close look at one of the biggest request sucking piece: Dwoo. That one took 600 request with my last blogpost.  In Dwoo i noticed  i added a Compiler class while it wasn&#8217;t even needed. That one class sucked up ~150 requests per second. Disabling that one meand my 1600 went up to roughly 1750 requests per second. Then i had found a bug in Dwoo that caused a lot of stat calls and most of them with &#8220;no such file or directory&#8217; so i fixed that one up which improved the requests per second by another rough 100 resulting in 1850 requests per seond. Add to that a cached category lookup system that fetches his category data from APC and doesn&#8217;t need to recalculate everything all the time which added yet another requests per second boost of 150 resulting in 2000 requests per second! that&#8217;s really fast!. Then i want to investigate a little to see the next big request sucker. That one was surprisingly MySQLi. It takes up 600 requests per second! So by now so much was cached that a query wasn&#8217;t even needed anymore so i disabled MySQLi in MageDB for a minute to see how fast it would be. And that was a major boost of 600 requests per second resulting in 2600 requests per second for MageDB. The big issue i have right now is that MySQLi doesn&#8217;t have to be included always when the requested data is in the cache but in other cases a few queries will have to be done. So i need to find a way to include MySQL when there is a need for MySQL. If that&#8217;s implemented and working then those 600 requests that MySQL takes will be wasted a lot less. Now i ofcourse can&#8217;t cache every single thing since a database in MageDB could contain thousands of files thus looking at a file will probably still be a query call but the very main page of MageDB is going to be extremely fast for PHP to parse and that will probably keep your host happy ^_^.</p>
<p>Please note that 2600 requests per second like at this moment for MageDB is extremely fast and is only possible in the most optimal condition. In reality it&#8217;s more likely that you get between 1500 and 2000 requests per second which is still 15 &#8211; 20 times faster then phpbb.</p>
<p>I also still have to make a caching abstraction to allow you to choose how you want to cache:</p>
<ol>
<li>MySQL</li>
<li>File</li>
<li>APC</li>
<li>Memcached</li>
</ol>
<p>where File based caching will probably be the default one. And in that case i will probably put as much information in one cache file as possible. Another possibility is File caching by default but as soon as the file is loaded in the memory it will be memcached for as long as possible and then just reloaded from the file once the memcached session has expired.</p>
<p>That&#8217;s it for now. More stuff will come probably later this week,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/15/requests-per-second-highly-improved/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Zend = exit</title>
		<link>http://blog.mageprojects.com/2009/06/08/zend-exit/</link>
		<comments>http://blog.mageprojects.com/2009/06/08/zend-exit/#comments</comments>
		<pubDate>Mon, 08 Jun 2009 14:48:14 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=164</guid>
		<description><![CDATA[I did a few size checks: MageDB with Zend MageDB without Zend Zend The results are yet again surprising to me. MageDB with Zend  is a freaking 20.0 MB MageDB without Zend just is: 681.7 KB (note: this is WITH Dwoo! which takes up 495.4 KB of that 681.7 KB and that means MageDB itself [...]]]></description>
			<content:encoded><![CDATA[<p>I did a few size checks:</p>
<p>MageDB with Zend<br />
MageDB without Zend<br />
Zend</p>
<p>The results are yet again surprising to me.<br />
MageDB with Zend  is a freaking <strong>20.0 MB</strong><br />
MageDB without Zend just is: <strong>681.7 KB</strong> (note: this is WITH Dwoo! which takes up <strong>495.4 KB</strong> of that <strong>681.7 KB </strong>and that means MageDB itself (the core) is: <strong>186.3 KB</strong>)<br />
Zend alone is: <strong>19.4 MB</strong></p>
<p><strong></strong>Add to this the performance (in requests per second) loss i would have had if Zend was included and the size of the complete MageDB package.<br />
That gives me enough reasons o just drop Zend.</p>
<p>So how am i going to replace Zend&#8217;s modules that i WAS using?<br />
I where just 3 modules (that sucked up over 50 includes)..</p>
<ul>
<li><span style="text-decoration: underline;">Db</span> [ - <span style="color: #008000;">Done</span> - ]<br />
<em>Going to skip this all together, make a few functions to have nicely formed database arrays but that&#8217;s it.</em></li>
<li><span style="text-decoration: underline;">Translate</span> [ - <span style="color: #008000;">Done</span> - ]<br />
<em> Going to recreate it based on INI files or just a big PHP array. This is probably the hardest module to recreate out of the ones that i used</em></li>
<li><span style="text-decoration: underline;">Registry</span> [ - <span style="color: #008000;">Done</span> - ]<br />
<em>Going to recreate it</em></li>
<li><span style="text-decoration: underline;">Autoload</span> [ <span style="color: #3366ff;">Not going to do before 1.0.0</span> ]<br />
<em>For now i won&#8217;t do anything with it. Dwoo is using it and that will stay but i won (yet) play with outoload for version 1.0.0 of MageDB</em></li>
</ul>
<p>So now your all up to data again with the progress on MageDB. And i have some more work to do.</p>
<p>Cya,<br />
Mark</p>
<p>Db update:<br />
I&#8217;m not sure yet but i think i&#8217;m going to use the SplFixedArray for the Db. Banchmarks on the internet show that it&#8217;s a little faster then a normal array but twice as memory efficient. This does however make MageDB a PHP <strong>5.3</strong> or higher script! Stay tuned for more information about this Db part later this week as soon as i&#8217;ve done some tests with it.</p>
<p><strong>Updates regarding &#8220;Done &#8221; components</strong> + a bit more<br />
For the Db component, i extended the MySQLi class (internal php class) and named it MageMySQLi. In there i implemented the fetchAssoc and fetchAll methods that you can also find in Zend_Db. Other then that nothing Db related (like query logs) is implemented. For now MageDB works again without any Zend components but with Zend LIKE components.</p>
<p>For the Translate component. I&#8217;m actually surprised of myself that i made that component in just roughly one hour. I made it static which means that &#8220;MageTranslate&#8221; (name of the static class) can be used anywhere throughout the code without any issues to make it global because static classes are per definition global. One thing i added that wasn&#8217;t even in the Zend_Translate module is a fallback language. For example. The default fully implemented language is going to be english for MageDB but if you add another language and use that language but one translation line is missing then it will use the fallback language which is set (by default but you can change that) to english.</p>
<p>Now for the registry component. That&#8217;s actually a lot like the Translate component. both are static thus global classes. The purpose of the MageRegistry is to make local variables accessible globally by putting them in a static class. You can see this as one big container where you put your stuff in. Your stuff alone without the container is hard to transport. When it&#8217;s in the container another route can be choosen and in this case it&#8217;s a open route to everywhere.</p>
<p>So that was one day of kicking Zend out of MageDB and replacing Zend&#8217;s components by self made small ones. This still leaves a few other components to be made:</p>
<ul>
<li>ACL component (for later MageDB version)</li>
<li>Feed module for rss and atom feeds</li>
<li>Log module for logging stuff in a database table</li>
<li>Cache module for caching compiled templates</li>
<li>Mail module for sending mails</li>
<li>Compression module for compressing database backups</li>
<li>And in time probably my own template engine</li>
</ul>
<p>Btw. MageDB is right now faster then paFileDB  with rougly 200 requests per second more for MageDB resulting in a total of 1400 requests per second! That is FAST!! compared to a lot of other scripts.</p>
<p>that was it for the edit,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/08/zend-exit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MageDB progress update &#8211; disappointed in Zend</title>
		<link>http://blog.mageprojects.com/2009/06/05/magedb-progress-update-disappointed-in-zend/</link>
		<comments>http://blog.mageprojects.com/2009/06/05/magedb-progress-update-disappointed-in-zend/#comments</comments>
		<pubDate>Fri, 05 Jun 2009 21:18:23 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=161</guid>
		<description><![CDATA[Hey, I did some major work on MageDB again. This time to make the code that i currently have more structured. And the results look nice. For example the inclusion of sub pages on a page used to roughly take 40 or 50 lines of code (with all the if elseif elseif &#8230; else + [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I did some major work on MageDB again. This time to make the code that i currently have more structured. And the results look nice.<br />
For example the inclusion of sub pages on a page used to roughly take 40 or 50 lines of code (with all the if elseif elseif &#8230; else + checks + include lines) but right now that part is down to 16 lines with enters and handles 4 pages (view, download, post_comment and rate) this can be done in less lines but will become ugly or look strange.</p>
<p>Other things i did in MageDB was rechecking the input values if they where really safe. They where not thus i needed to fix that up. It&#8217;s now way shorter and a lot more strict.</p>
<p>For the rest i did performance testing of the current MageDB codebase. That is without the template engine (Dwoo) since i didn&#8217;t include that one yet. I came to very surprising results compared to the latest paFileDB (not downloadable because there site is offline and seems just dead). I had expected MageDB to run faster then paFileDB but sadly that&#8217;s not the case. In terms of requests per second (ab &#8212; Apache Banch) MageDB gets roughly 900 requests per second (lighttpd + php + APC module) and paFileDB gets roughly 1200 requests per second on the same setup! that&#8217;s roughly 33% FASTER then my MageDB script. But i do think that the current MageDB code-base is way more suited to heavy load then paFileDB was.</p>
<p>Anyway. that unpleasant surprise made me wonder what was taking up the resources so i installed XDebug and did some traces on MageDB and paFileDB. It turns out that MageDB had roughly 2x more function calls then paFileDB and is roughly 1.8x slower then paFileDB. Now what caused that?<br />
<strong>Zend</strong> sadly is the source of the problems. I already found out that it&#8217;s including a shitload of classes (thus also files in zend&#8217;s case) and that alone makes everything run a bit slower. Then the parts of Zend that i use right now: Db (for mysql), Translate (to support multiple languages), Registry (nice way to have global variables in a clean way) and the Autoload for zend itself. Now my guess is that it&#8217;s including roughly 40 or even 50 files because 1 simple test with only 1 zend module being used resulted in 30!!!! classes (thus files) being included.</p>
<p>So what am i going to do about this? Well at some point in time i will just (again) drop Zend for being a time ans resource hog. I will only have to recreate the classes Registry and Locale and use just php&#8217;s mysqli without a wrapper. It&#8217;s not like i was planning to support anything other then mysql anyway although in the long run i would have liked sqlite and postgresql support as well. For right now i probably just continue where i left and keep zend in it for now.</p>
<p>The things i have to do now before i can start working on the admin panel:</p>
<ul>
<li>Making a very strict and fast category caching system since category calculations are heavy on php(recursive checks and thus a lot of loops) and on mysql(i&#8217;m grabbing all category data at once&#8230;).</li>
<li>Including Dwoo as the template engine</li>
</ul>
<p>And btw. My goal in requests per second on my hardware and the above named setup is to have <strong>1000 requests/second</strong> on every page that MageDB has. Just for comparison, <strong>phpbb has just a pathetic 44.97 requests/second</strong> and that is with the above mentions setup! Note: just having APC installed is a rough x2 or even x3 speed improvement.</p>
<p>That&#8217;s it for the MageDB news,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/06/05/magedb-progress-update-disappointed-in-zend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Proposal: Stretch elements(s) via CSS</title>
		<link>http://blog.mageprojects.com/2009/05/30/stretch-elementss-via-css/</link>
		<comments>http://blog.mageprojects.com/2009/05/30/stretch-elementss-via-css/#comments</comments>
		<pubDate>Sat, 30 May 2009 18:21:58 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[HTML/CSS]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=144</guid>
		<description><![CDATA[Hi, First: What is the biggest problem in html/css that we currently have? Well, let one div be equal in height as some other div. When the height positions are absolute that isn&#8217;t an issue. When both can vary, lets say a menu and a content div, then it becomes a big nightmare for web [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>First: What is the biggest problem in html/css that we currently have?</p>
<p>Well, let one div be equal in height as some other div. When the height positions are absolute that isn&#8217;t an issue. When both can vary, lets say a menu and a content div, then it becomes a big nightmare for web developers. There are a lot of ways to solve that issue. Some say faux columns, some say tables and others use javascript grid library&#8217;s. All those solutions will just work fine but won&#8217;t fix the issue. The issue is ilustrated in the image below.</p>
<p><img class="alignnone size-full wp-image-145" title="currentdivissue" src="http://blog.mageprojects.com/wp-content/uploads/2009/05/currentdivissue.png" alt="currentdivissue" width="500" height="500" /></p>
<p>The image above is exactly what is possible today with divs. The menu div (in this case) can&#8217;t auto adjust to the height of the content div.</p>
<p>And this is what we want:</p>
<p><img class="alignnone size-full wp-image-146" title="currentdivpossiblefix" src="http://blog.mageprojects.com/wp-content/uploads/2009/05/currentdivpossiblefix.png" alt="currentdivpossiblefix" width="500" height="500" /></p>
<p>Note: the vertical text says:</p>
<pre><span style="color: #800000;">div#menu
{
    .....
    stretch-with: “div#content”, height;
    .....
}</span></pre>
<p>Now my proposal would be to add a &#8220;stretch-with&#8221; property in css which allows you to say:<br />
&#8220;this div (menu) should be equal in height as that (content) div&#8221;.</p>
<p>The properties within stretch-with would be: [element name] [how to stretch] [how much of it]<br />
So that would result in: stretch-with: &#8220;div#content&#8221;, height, 100%;<br />
Perhaps also a pixel value instead of percentages&#8230; not sure if that adds value to this idea?</p>
<p>I would say that 100% is default so no need to supply that so you get: stretch-with: &#8220;div#content&#8221;, height;<br />
In normal text this would say: stretch this element to the same height as div#content.</p>
<p>Now how is this different from the &#8220;Advanced Layout Module&#8221; that is a working draft over at W3C?<br />
Well they use ASCII to define the entire layout in css. That might be a little overkill and not even what you want. I certainly don&#8217;t want to specify my entire layout in ascii art. All you want in pritty much any case is to have some div be as high as another div. This proposal does just that and nothing more. Also this idea might be a lot easier for rendering engines to pick up because it&#8217;s a lot more simple then the Advanced Layout Module and it&#8217;s not making css much harder to understand or even make artwork from it.</p>
<p>Now all that needs to happen is the top rendering engines to implement this idea. Those are:<br />
Trident (internet Explorer)<br />
Gecko (Firefox) + a lot more gacko based browsers<br />
Webkit (Safari) + a lot more webkit based browsers<br />
Presto (Opera)</p>
<p>Making a Javascript implementation for this (just to test how it works) is probably extremely easy as well because it&#8217;s just not much to implement and not extremely complex.</p>
<p>Let me know what you think of this idea,<br />
Mark.</p>
<p><strong>Update:</strong> It&#8217;s &#8220;Template Layout Module&#8221; instead of &#8220;Advanced Layout Module&#8221;. Sorry for the confusion it might have caused. Not changing in the text above since i submitted it to a few places.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/05/30/stretch-elementss-via-css/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Get DirectFB 1.2.* running on Ubuntu 9.04 (with multi app support)</title>
		<link>http://blog.mageprojects.com/2009/05/12/get-directfb-12-running-on-ubuntu-904-with-multi-app-support/</link>
		<comments>http://blog.mageprojects.com/2009/05/12/get-directfb-12-running-on-ubuntu-904-with-multi-app-support/#comments</comments>
		<pubDate>Tue, 12 May 2009 16:03:02 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=110</guid>
		<description><![CDATA[Hi, Since there is no guide anywhere on the internet that tells you how you can get DirectFB working on ubuntu, i will make one. I expect you know how you compile things in this article. If you don&#8217;t follow some guide that explains how to do that. The very first thing you have to [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Since there is no guide anywhere on the internet that tells you how you can get DirectFB working on ubuntu, i will make one.</p>
<p>I expect you know how you compile things in this article. If you don&#8217;t follow some guide that explains how to do that.</p>
<p>The very first thing you have to do is get ubuntu (9.04 but the last few versions should all work fine).<br />
next is setting up your &#8220;framebuffer&#8221; at boot time. To do this restart your pc. while in grub press &#8220;e&#8221; to edit that boot line. Then select the kernel line and again press &#8220;e&#8221; to edit that line. Now add (at the end of that line) <strong>vga=ask</strong>. Right after that it will ask you which resolution you want. See if yours is in that list and anter the number that&#8217;s standing infront of it. Now just let it boot. Once booted you will have to edit your grub menu file (sudo nano /boot/grub/menu.lst) and add vga=0x<strong>the number you picked</strong>) and then when you reboot you should have the framebuffer stuff. If you don&#8217;t have it look for a solution somewhere on the internet. Problems with framebuffers can be quite hard to understand or find solutions for. I don&#8217;t know much more about those framebuffers then this.</p>
<p>Once that&#8217;s all done you will have to setup your build environment. run the following commands:</p>
<p><span style="color: #999999;"><span style="color: #993300;"><em>sudo apt-get install linux-source // Will install the actual linux source of your current kernel<br />
sudo apt-get build-dep linux // Will get your linux kernel source dependencies installed on your system<br />
sudo apt-get build-dep libdirectfb-1.0-0 // We are going to use a later version of DirectFB but this will do fine to install the requirements<br />
wget http://www.directfb.org/downloads/Core/DirectFB-1.2.8.tar.gz<br />
wget http://www.directfb.org/downloads/Core/linux-fusion-8.1.1.tar.gz<br />
wget http://www.directfb.org/downloads/Extras/DirectFB-examples-1.2.0.tar.gz</em></span><br />
</span></p>
<p>Note: go to: http://www.directfb.org/index.php?path=Main%2FDownloads to download the latest <strong>DirectFB 1.2.*</strong> (do <strong>not</strong> download the 1.3.* versions because that&#8217;s still in development) release and the latest linux-fusion file.</p>
<p>Once you&#8217;ve done the two apt-get lines and downloaded the files you will have to extract those later two.<br />
Do that by running:</p>
<p><span style="color: #993300;"><em>tar -xvf DirectFB-1.2.8.tar.gz<br />
tar -xvf linux-fusion-8.1.1.tar.gz<br />
tar -xvf DirectFB-Examples-1.2.0.tar.gz</em></span></p>
<p>The first thing we&#8217;re going to do now is getting that fusion module compiled and loaded at boot time.<br />
Here is the list of commands to do that:</p>
<p><em><span style="color: #993300;">cd linux-fusion-8.1.1</span><span style="color: #993300;"> make &amp;&amp; sudo make install<br />
sudo su -<br />
echo fusion &gt;&gt; /etc/initramfs-tools/modules // this adds the text &#8220;fusion&#8221; at the end of the modules file<br />
exit<br />
sudo update-initramfs -u // This updates your initramfs file<br />
sudo modprobe fusion // Only needed if you didn&#8217;t restart after you changed initramfs. Otherwise this module will be loaded anyway beacayse it&#8217;s done so during boot.</span><br />
</em></p>
<p>Now fusion is done.<br />
Next is compiling DirectFB with multi application support.</p>
<p>Here is the list of commands needed for that:<br />
<span style="color: #993300;"><em>cd DirectFB-1.2.8<br />
./configure &#8211;enable-multi &#8211;libdir=/usr/lib64 &#8211;bindir=/usr/bin // <strong>note</strong> the libdir is /usr/lib64 for x86_64 distributions and just /usr/lib for the rest. Change it to your needs<br />
make &amp;&amp; sudo make install</em></span></p>
<p>Now it should be compiling for a few minutes. Depending on your cpu. My quadcore does this in a few minutes.<br />
Once it&#8217;s done DirectFB is installed and (if all previous steps worked fine) can be used.</p>
<p>Now to see it in use we need some examples.<br />
here is the command list for that:</p>
<p><span style="color: #993300;"><em>cd DiirectFB-Examples-1.2.0<br />
./configure &#8211;bindir=/usr/bin // note no need to set a libdir because it&#8217;s not making libs<br />
make &amp;&amp; sudo make install</em><br />
</span></p>
<p>Now the examples are also ready to use.<br />
You can now switch to another tty (CTRL + ALT + F&lt;number&gt;), login and run something like df_window.<br />
Be sure to type df_ followed by a hit on the tab button. It will give you all run commands that start with df_ and all the results that  you get to see are DirectFB examples.</p>
<p>But this didn&#8217;t show you a multi-app environment yet.</p>
<p>Log in into your gnome or kde or whatever graphical environment you use. Open up a terminal in there and type:</p>
<p><span style="color: #993300;"><em>nano ~/.directfbrc</em></span></p>
<p>What we&#8217;re going to do now is change a few directfb settings to run it under X11. (see man directfbrc for more settings)<br />
Just plain copy and paste the following settings in that file:</p>
<p><span style="color: #993300;"><em>mode=1024&#215;768<br />
pixelformat=RGB32<br />
system=x11</em></span></p>
<p>You can change the resolution to your liking if you want.</p>
<p>Now type (still in that same console that&#8217;s running inside your graphical environment):</p>
<p><span style="color: #993300;"><em>df_window &amp; // runs it in the background<br />
df_cpuload &amp;</em></span></p>
<p>And you will see the df_window example with in there the cpuload graphic. Nifty huh?<br />
Just be carefull here. save all your data before you start with this because if you do anything wrong it COULD completely crash your system in a way that you just have to reboot to get it back. While writing this howto i experienced this myself because i did do df_window &amp; but i didn&#8217;t add the &#8220;&amp;&#8221; to df_cpuload</p>
<p>This was it for the DirectFB howto.<br />
I might post more stuff about DirectFB in the future.</p>
<p>I hope it was useful to you,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/05/12/get-directfb-12-running-on-ubuntu-904-with-multi-app-support/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>MageDB &#8212; Milestone #1</title>
		<link>http://blog.mageprojects.com/2009/04/17/magedb-milestone-1/</link>
		<comments>http://blog.mageprojects.com/2009/04/17/magedb-milestone-1/#comments</comments>
		<pubDate>Fri, 17 Apr 2009 01:49:07 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=108</guid>
		<description><![CDATA[Hi, Right now i&#8217;m about done with the details of a file in MageDB and how complex it&#8217;s going to be in the coding. It&#8217;s becomming quite heavy because i&#8217;ve decided to do all file related stuff in file.php or include files that do it. For example. If you rate a file that is done [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Right now i&#8217;m about done with the details of a file in MageDB and how complex it&#8217;s going to be in the coding. It&#8217;s becomming quite heavy because i&#8217;ve decided to do all file related stuff in file.php or include files that do it.<br />
For example. If you rate a file that is done by rate.php but done through file.php. Same for file downloads. they are done with download.php but done through file.php thus file.php gets extensive.</p>
<p>You can see this like sub pages of the file  page like this:<br />
file<br />
- rate<br />
- view (this is just the file and all it&#8217;s details and is what you see when you click on a file)<br />
- download<br />
- rating<br />
- comments</p>
<p>By now you might wonder what the milestone is. Well, the file part, though not done yet, was the biggest issue till this moment. That part is roughly done in raw coding which mkes all the user parts roughly done in coding. And that means that i can start by making the admin part. Now don&#8217;t think that there is anything to show because there isn&#8217;t besided printed arrays. I&#8217;m not even including the template engine in magedb yet!</p>
<p>So again some nice progress in MageDB.</p>
<p>Till next post,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/04/17/magedb-milestone-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MageDB progress update: Zend components</title>
		<link>http://blog.mageprojects.com/2009/04/16/magedb-progress-update-zend-components/</link>
		<comments>http://blog.mageprojects.com/2009/04/16/magedb-progress-update-zend-components/#comments</comments>
		<pubDate>Thu, 16 Apr 2009 00:05:32 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=104</guid>
		<description><![CDATA[Hi, In the last few days, specially the last few hours, i&#8217;ve testes out some &#8220;new&#8221; technologies from the Zend Framework. I was already planning on using Zend for the DB an Cache and perhaps a few others but now i&#8217;ve discovered the features of: Zend_Regitry and Zend_Translate. The Registry object is a smart way [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>In the last few days, specially the last few hours, i&#8217;ve testes out some &#8220;new&#8221; technologies from the Zend Framework. I was already planning on using Zend for the DB an Cache and perhaps a few others but now i&#8217;ve discovered the features of: <strong>Zend_Regitry</strong> and <strong>Zend_Translate</strong>.</p>
<p>The Registry object is a smart way of accessing variables globally in a nice way (through the use of a static class). I was always wondering how i could get rig of global variables in php in some cases or adding extra getters/setters to classes in order to give them the data they need. Zend_Registry seems to be providing a nice new clean way for global variables.</p>
<p>The Translate object is really nice as well. That object allows me to make MageDB a multi-language script. I did a few tests with it and it seems to be working very nice. The language files where going to be gettext files but that seemed a bit annoying to make so i picked a ini based style.</p>
<p>Now for some other MageDB progress. I am currently working on building up the file view page. And just to give you an idea of how this was going under paFileDB:</p>
<p>They fetched the raw sql data in php and practicly dumped that to smarty <span style="text-decoration: line-through;">where a loop was done to display it all</span> where they manually looked up for every possible setting. That is all fine but the issue there was that it required if/else statements in the templates! and that&#8217;s something you want to avoid as much as possible just so that making a new theme is as easy as possible.</p>
<p>Now MageDB is doing it a bit different. In php all data is fetched, like in paFileDB, but i loop through all the data in PHP, filter/modify it all i want, make a nice array with all the new data and that array will be pushed in the template engine (Dwoo). Sadly this won&#8217;t prevent all if/else statements but it will prevent a lot from being needed in the templates because they are all already done in the php code. Things where if/else statements are needed are with the screenshots. I can&#8217;t give a array of marked up screenshots because that would be html inside php and that&#8217;s exactly the thing i try to prevent in MageDB by using a template engine.</p>
<p>All in all the progress isn&#8217;t going fast, but coming along quite nicely in this rate.</p>
<p>I will post some more progress sometime later this week.</p>
<p>Cya,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/04/16/magedb-progress-update-zend-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MageDB got some attention (again)</title>
		<link>http://blog.mageprojects.com/2009/04/10/magedb-got-some-attention-again/</link>
		<comments>http://blog.mageprojects.com/2009/04/10/magedb-got-some-attention-again/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 02:45:11 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=97</guid>
		<description><![CDATA[Hey, Since paFileDB seems to be dead (see for youself) i got more interested in putting more attention to MageDB. It&#8217;s not the first time that i spend a few hours on making MageDB possible but up until now it never was much more then some work on it before giving up again. So i&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>Since paFileDB seems to be dead (<a href="http://www.phparena.net">see</a> for youself) i got more interested in putting more attention to MageDB.<br />
It&#8217;s not the first time that i spend a few hours on making MageDB possible but up until now it never was much more then some work on it before giving up again. So i&#8217;m doing things a bit different this time.</p>
<p>For starters i&#8217;m going to drop all promisses i made about previous MageDB versions. The one i&#8217;m making now is going to have an entirely new structure and this also means that (for now) the plugin based MageDB is off. that would take way to much time and is way to hard to &#8220;just&#8221; do. What i&#8217;m doing now is first getting the most importand parts to work. The pages and the categories. Both are working fine at this time. Next up are the:</p>
<ul>
<li>files</li>
<li>download possibility</li>
<li>login</li>
<li>admin</li>
</ul>
<p>keep in mind that admin is HUGE. that consists of:</p>
<ul>
<li>add/edit/delete files</li>
<li>add/edit/delete categories</li>
<li>add/edit/delete users</li>
<li>settings for MageDB</li>
<li>database backup and restore tool</li>
<li>and probably some more</li>
</ul>
<p>And once that&#8217;s done it&#8217;s time for user priviledges and making them work. That part is huge on it&#8217;s own. After that it&#8217;s:</p>
<ul>
<li>theming a default MageDB</li>
<li>make a install script</li>
<li>make a conversion script from paFileDB to MageDB</li>
<li>make language files for multiple languages or the possibility to have it</li>
</ul>
<p><strong>Update: </strong>if you want to see the progress so far <a href="http://o-todo.mageprojects.com/public/markg85/MageDB">click here</a> it will bring you to the MageDB todo list on O-Todo. I didn&#8217;t fill in everything because i will have my hands full with the parts that are in it now.</p>
<p>And a little bit more technical. With paFileDB a lot of checks (for example to show or hide the viewall link) was done in the template files. Back then when i saw it i didn&#8217;t know how things like that where supposed to go. Now i&#8217;m still not sure but i&#8217;m going to prepare all the data for html in the PHP scripts and send them to HTML to do as much in HTML in as little code as possible to keep it readable. if statements in HTML (and other template specific settings in HTML) make it needlesly hard to understand for persons that want to make there own theme.</p>
<p>About the default MageDB theme.. don&#8217;t expect it to be extremely pritty with a lot of AJAX in it. That stuff will come as well but probably not in the first stable release.</p>
<p>And once that&#8217;s done it&#8217;s time for a 0.1 or 0.5 release (beta or release candidate). This is all just to let you know how the progress is at this moment. Let me be clear about it that i <strong>do</strong> want to release MageDB (under GPLv2 or GPLv3) because of the simple reason that there is no decent file download script around now because the biggest and best one (paFileDB) died.</p>
<p>So stay tuned this time. The progress will go rapidly and something will be visual in the comming days.</p>
<p>Till next post,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/04/10/magedb-got-some-attention-again/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Gnome 2.26 &#8211; Small review of interesting features</title>
		<link>http://blog.mageprojects.com/2009/03/28/gnome-226-small-review-of-interesting-features/</link>
		<comments>http://blog.mageprojects.com/2009/03/28/gnome-226-small-review-of-interesting-features/#comments</comments>
		<pubDate>Sat, 28 Mar 2009 00:08:18 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux - Gnome based]]></category>
		<category><![CDATA[Linux - KDE based]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=81</guid>
		<description><![CDATA[Hi, Lets do the same order as the gnome release notes only with my opinion about them and of the items that deserve a little more attention. Brasero Brasero always seemed to be the burning tool to use under linux. Or the one most used. It didn&#8217;t made much sense to have nautilus-cd-burner (which has [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>Lets do the same order as the <a title="Gnome 2.26 release noted" href="http://library.gnome.org/misc/release-notes/2.26/index.html">gnome release notes</a> only with my opinion about them and of the items that deserve a little more attention.</p>
<p><strong>Brasero</strong></p>
<p>Brasero always seemed to be the burning tool to use under linux. Or the one most used. It didn&#8217;t made much sense to have nautilus-cd-burner (which has been removed in gnome 2.26) while most people preferred brasero. Brasero is also integrated in nautilus (go to 			<span class="menuchoice"><span class="guimenu">Applications</span> -&gt; <span class="guimenu">System Tools</span> -&gt; <span class="guimenuitem">CD/DVD 			Creator) and seems to be offering the same as nautilus-cd-burner had. I didn&#8217;t test it yet. In my opinion it&#8217;s a wise decision of gnome to make the move to brasero.</span></span></p>
<div id="attachment_82" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-brasero.png"><img class="size-thumbnail wp-image-82" title="screenshot-brasero" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-brasero-500x319.png" alt="screenshot-brasero" width="500" height="319" /></a><p class="wp-caption-text">Brasero screenshot</p></div>
<div id="attachment_83" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-cd-dvd-creator-file-browser.png"><img class="size-thumbnail wp-image-83" title="screenshot-cd-dvd-creator-file-browser" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-cd-dvd-creator-file-browser-500x354.png" alt="screenshot-cd-dvd-creator-file-browser" width="500" height="354" /></a><p class="wp-caption-text">Brasero in nautilus</p></div>
<p><strong>Totem</strong></p>
<p>This is a good example of a feature that <em>might</em> be required by some people but is useless for most. Quote from the release notes:</p>
<blockquote><p><em>While GNOME&#8217;s Media Player already has the ability to display subtitles for a movie, this still required you to have the subtitle data available. As of GNOME 2.26, this restriction is gone. Using the new subtitle downloader plugin, the Media Player will automatically find subtitles for you.</em></p></blockquote>
<p>I don&#8217;t understand why they bother to add in features like that (and remember they did add in youtube support in either gnome 2.22 or 2.24) that are pointless for most people. This should be just a plugin that you can download somewhere but not a new <strong>feature</strong> mentioned in the release notes.</p>
<p><strong>Updated sound preferences for PulseAudio</strong></p>
<p>Now this is an interesting one! PulseAudio is in Fedora since <a href="http://docs.fedoraproject.org/release-notes/f8/en_US/">release 8</a> and ubuntu has it since <a href="http://www.ubuntu.com/getubuntu/releasenotes/804">8.04</a> so it was about time that those volume controls where going to work with PulseAudio instead of against it (or so it seemed sometimes). Sadly the application that gnome posts in a screenshot is nowhere to be found on my ubuntu 9.04 Beta (fully updated) machine so i can&#8217;t really say more about it without seeing it for myself.</p>
<p><strong>Multiple monitors</strong></p>
<p>If you have just one monitor you probably don&#8217;t care about this but it&#8217;s something that was divided in the past. Ubuntu had it&#8217;s own application to get this. Fedora had one and there where a few others floating around. Far from an ideal situation. Now Gnome has updated his display program to support multiple screens. This was all possible with the xrandr command line tool but a graphical frontend it quite handy for things like this. It&#8217;s becoming a nice tool now and way more centralized then then it used to be.</p>
<p><strong>Epiphany</strong></p>
<p>This browser for (and by) Gnome looks clean but has a lot of potential. I will write a bigger article or perhaps a review about this one later. What they added here is Firefox&#8217;s &#8220;<em>Awsome Bar</em>&#8220;&#8230; it looks funny and seems to be running fast from what i&#8217;ve seen so far. It&#8217;s definitely a browser to check out and see if you like it.</p>
<div id="attachment_87" class="wp-caption alignnone" style="width: 510px"><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-gnome-226-release-notes.png"><img class="size-thumbnail wp-image-87" title="screenshot-gnome-226-release-notes" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-gnome-226-release-notes-500x297.png" alt="screenshot-gnome-226-release-notes" width="500" height="297" /></a><p class="wp-caption-text">Epiphany - Note the wrong render of the legend box. That&#39;s bad and ugly! (no issue in Firefox)</p></div>
<p><strong>Overall Gnome 2.26 impression</strong></p>
<p>With the previous 2 releases (<a href="http://library.gnome.org/misc/release-notes/2.22/index.html">2.22</a> and <a href="http://library.gnome.org/misc/release-notes/2.24/index.html">2.24</a>) i found the release notes weak and more useless stuff that was added then useful stuff. Back then it seemed (to me) that they added what was popular at the time. Google had just bought Youtube and they felt some need to implement that in Totem. This time they did also include stuff that strikes me as useless but the majority seems to be useful for everyday Gnome usage. This release was a good one, despite the additions that i rather didn&#8217;t see, for Gnome although not much changed visually. This seems to be the release i&#8217;ve been hoping for since roughly 2.20. A release where they finally fixed the things that needed fixing and add the things that are needed.</p>
<p><strong>Next in 6 months: Gnome 2.28</strong></p>
<p>There are already some ideas for the next Gnome version. At this moment only the Artwork section for the next gnome has been filled in and that looks promising. If you want to have a look at it click <a href="http://live.gnome.org/RoadMap">here</a>.</p>
<p>I hope you liked this small review of interesting new and updated Gnome 2.26 features.</p>
<p>Till next time,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/03/28/gnome-226-small-review-of-interesting-features/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Get your microphone working in Ubuntu 9.04 and skype (x64)</title>
		<link>http://blog.mageprojects.com/2009/03/24/get-your-microphone-working-in-ubuntu-904-and-skype-x64/</link>
		<comments>http://blog.mageprojects.com/2009/03/24/get-your-microphone-working-in-ubuntu-904-and-skype-x64/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 16:47:22 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=56</guid>
		<description><![CDATA[Hi, After hours of testing i finally found out how to get my microphone to work under ubuntu. The thing that i had already working &#8220;out of the box&#8221; is that you could talk in your microphone and you would hear it come out of your speakers but somehow it wasn&#8217;t recording it when i [...]]]></description>
			<content:encoded><![CDATA[<p>Hi,</p>
<p>After hours of testing i finally found out how to get my microphone to work under ubuntu.<br />
The thing that i had already working &#8220;out of the box&#8221; is that you could talk in your microphone and you would hear it come out of your speakers but somehow it wasn&#8217;t recording it when i tried to record the input from the microphone. So once i got it working i started writing this howto so that others can get a microphone (and skype) working as well. This howto should work in any linux distribution since it&#8217;s not ubuntu specific. It <strong>is</strong> gnome specific so i don&#8217;t know how well this works (if at all) in kde.</p>
<p>The first thing i did (and you should do as well) is open a console (ALT+F2 -&gt; gnome-terminal or xterm).<br />
Now type this:</p>
<pre class="brush: plain; title: ; notranslate">
alsamixer
</pre>
<p>now you should see something like this:</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-markmark-desktop.png"><img class="alignnone size-thumbnail wp-image-66" title="screenshot-markmark-desktop" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-markmark-desktop-500x282.png" alt="screenshot-markmark-desktop" width="500" height="282" /></a></p>
<p>My advise would be to just put all at max EXEPT for the values that contain anything like &#8220;boost&#8221;.. i put them up to test with and it didn&#8217;t really improve microphone quality or made it louder. It just made it sound horrible and it was even affecting the normal playback sound as well.</p>
<p>Now once this is done press TAB in that alse mixes stuff. You should now get the properties for &#8220;Capture&#8221; (seen at the top left corner in those few lines of text) devices:<br />
<a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-markmark-desktop-1.png"><img class="alignnone size-thumbnail wp-image-67" title="screenshot-markmark-desktop-1" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-markmark-desktop-1-500x282.png" alt="screenshot-markmark-desktop-1" width="500" height="282" /></a></p>
<p>I&#8217;m not sure if anything here helped getting it working but i turned all &#8220;boost&#8221; things off and the rest on. Feel free to tweak those settings a bit to see if they actually do something with the microphone.</p>
<p>Now, once you&#8217;ve done this, you &#8220;should&#8221; have your microphone setup currectly and it should just work. There are just a few more issues. When you start recording your microphone imput you most likely don&#8217;t hear anything when you play it back. That&#8217;s because the &#8220;Sound Capture&#8221; setting in gnome&#8217;s sound settings is set wrong.<br />
So open the gnome sound settings: <strong>System -&gt; Preferences -&gt; Sound</strong> and you should see this:</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-sound-preferences.png"><img class="alignnone size-thumbnail wp-image-68" title="screenshot-sound-preferences" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-sound-preferences-435x500.png" alt="screenshot-sound-preferences" width="435" height="500" /></a></p>
<p>The way to test if your microphone is actually working is by clicking on the &#8220;Test&#8221; button behind &#8220;Sound capture&#8221;. Press test and talk in your microphone. If you hear yourself with a slight delay from the speakers you have it working. If not try every option in the list (in the screenshot it&#8217;s on &#8220;ALSa &#8211; Advanced Linux Sound Architecture&#8221; between the &#8220;Sound capture:&#8221;  and &#8220;test&#8221;. one of them should be working. Also note that there seems to be double values with exactly the same name but they do act differently! atleast that was the case for me.</p>
<p>Once you&#8217;ve done that and you found one that seems to be working (the right one for me was: &#8220;HDA Intel something&#8230;&#8221; which was in the list twice. the top one did it for me) then you can start recording your microphone if you want. Try it out in <strong>gnome-sound-recorder</strong> but i won&#8217;t go deeper in that stuff.</p>
<p>Oke, by now your microphone should be working and you can record your microphone input and it seems to be working fine. If that&#8217;s the case then you now install skype (i used this link: <a href="http://www.skype.com/go/getskype-linux-ubuntu-amd64 ">http://www.skype.com/go/getskype-linux-ubuntu-amd64</a> which should be the latest x64 version) Open skype and go to the &#8220;Sound Devices&#8221; tab in skype.<br />
<a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-skype-sound-options.png"><img class="alignnone size-thumbnail wp-image-69" title="screenshot-skype-sound-options" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-skype-sound-options-500x334.png" alt="screenshot-skype-sound-options" width="500" height="334" /></a></p>
<p>For me the Sound out and Ringing was just fine but the Sound in was wrong. To get that one good you have to (sadly) test every option in the Sound in list and &#8220;Make a test call&#8221;&#8230; say something and see if it gets out of your boxes after the second beep.</p>
<p>This is how i got it working.<br />
Here are my settings from the volume control stuff in gnome incase you might be interested in those as well.</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-1.png"><img class="alignnone size-thumbnail wp-image-65" title="screenshot-1" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-1-500x217.png" alt="screenshot-1" width="500" height="217" /></a></p>
<p>Note for the image above: i have no clue why the microphone icons have a cross in there. i could turn them off/on whatever i wanted but the setting didn&#8217;t seem to be saved and didn&#8217;t seem to mather for the microphone.</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot.png"><img class="alignnone size-thumbnail wp-image-64" title="screenshot" src="http://blog.mageprojects.com/wp-content/uploads/2009/03/screenshot-500x218.png" alt="screenshot" width="500" height="218" /></a></p>
<p>It <strong>should</strong> all be working fine now.</p>
<p>I hope this howto has been helpfull for you. If you found another solution or have something to add to this feel free to post so in the comments.<br />
Good luck,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2009/03/24/get-your-microphone-working-in-ubuntu-904-and-skype-x64/feed/</wfw:commentRss>
		<slash:comments>88</slash:comments>
		</item>
		<item>
		<title>Get your gnome metacity decorations back</title>
		<link>http://blog.mageprojects.com/2008/12/20/get-your-gnome-metacity-decorations-back/</link>
		<comments>http://blog.mageprojects.com/2008/12/20/get-your-gnome-metacity-decorations-back/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 15:24:05 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux - Gnome based]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=48</guid>
		<description><![CDATA[Hey, I was playing around with gnome and openbox (and compiz) and to my surprise i didn&#8217;t had any decorations in gnome anymore when i switched back to just gnome (no openbox nor compiz). I did a search on google to try and find the fix but sadly there wasn&#8217;t any good one. People with [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I was playing around with gnome and openbox (and compiz) and to my surprise i didn&#8217;t had any decorations in gnome anymore when i switched back to just gnome (no openbox nor compiz). I did a search on google to try and find the fix but sadly there wasn&#8217;t any good one. People with similar problems got the suggestion to add metacity in the gnome-session tool which should also work but isn&#8217;t the solution because it simply isn&#8217;t in there when everything is working and when you didn&#8217;t screw with other windows managers yet.</p>
<p>So i did a search on my other pc where it was all working fine to see where metacity really has to be enabled. It turns out that you have to be in gconf to do that!<br />
But not on this gconf location: &#8220;/desktop/gnome/applications/window_manager&#8221; like what was suggested in ubuntu&#8217;s forums. You have to be in this location: &#8220;<strong>/desktop/gnome/session/required_components/windowmanager</strong>&#8221; illustrated by the screenshot below.</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2008/12/gnome_metacity_fix.png"><img class="alignnone size-thumbnail wp-image-49" title="gnome_metacity_fix" src="http://blog.mageprojects.com/wp-content/uploads/2008/12/gnome_metacity_fix-499x405.png" alt="gnome_metacity_fix" width="499" height="405" /></a></p>
<p>And make sure the key (selected row in the image): &#8220;<strong>windowmanager</strong>&#8221; is set to &#8220;<strong>metacity</strong>&#8220;.<br />
You can access that same tool by pressing: <strong>ALT +  F2</strong> then type in: &#8220;<strong>gconf-editor</strong>&#8220;.</p>
<p>If you don&#8217;t have that tool or don&#8217;t know how to get it you can insert the metacity value directly with this line:<br />
&#8220;<strong>gconftool-2 -s -t string /desktop/gnome/session/required_components/windowmanager metacity</strong>&#8221;<br />
You can just enter that line in the run box (again by pressing <strong>ALT + F2</strong>).</p>
<p>Also note that if you encounter a bug like this, no decorations while you had them, and you didn&#8217;t edited files yourself but just installed and removed packages that your distribution provides then it&#8217;s a bug in those packages and should be reported. So if it&#8217;s not reported please do so to help your distribution get better.</p>
<p>I hope this helped anyone with a similar issue,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/12/20/get-your-gnome-metacity-decorations-back/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Disable the Vista &#8220;Open File &#8211; Security Warning&#8221; dialog</title>
		<link>http://blog.mageprojects.com/2008/12/16/disable-the-vista-open-file-security-warning-dialog/</link>
		<comments>http://blog.mageprojects.com/2008/12/16/disable-the-vista-open-file-security-warning-dialog/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 18:17:51 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Windows related]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=33</guid>
		<description><![CDATA[Hey, I searched way to long for this. I found forums where stupid users reply with &#8220;why would you want to do this&#8221;&#8230; Just freaking respond to the question. Some users just don&#8217;t respond on questions. Now i found the solution and will post it here. Mainly so i know where to look next time [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I searched way to long for this.<br />
I found forums where stupid users reply with &#8220;why would you want to do this&#8221;&#8230;<br />
Just freaking <strong>respond to the question</strong>. Some users just <strong>don&#8217;t</strong> respond on questions.</p>
<p>Now i found the solution and will post it here. Mainly so i know where to look next time but also for anyone that&#8217;s interested.<br />
Here is how i did it:</p>
<p>1. Open Internet Options (start (orb) -&gt; Internet Options (in the search field)<br />
2. Go to the &#8220;Security&#8221; tab<br />
3. Click &#8220;Custom level&#8230;&#8221;<br />
4. Now you get the &#8220;Security Settings &#8211; Internet Zone&#8221; dialog. Scroll down till you see: &#8220;Launching applications and unsafe files (not secure)&#8221; and click on &#8220;Enable&#8221;<br />
5. Click ok everywhere and your done.</p>
<p><a href="http://blog.mageprojects.com/wp-content/uploads/2008/12/disable_annoying_security_check.png"><img class="alignnone size-thumbnail wp-image-42" title="disable_annoying_security_check" src="http://blog.mageprojects.com/wp-content/uploads/2008/12/disable_annoying_security_check-500x316.png" alt="disable_annoying_security_check" width="500" height="316" /></a></p>
<p style="text-align: center;">
<p>Note that doing what i described in the above steps (illustrated in the screenshot) will work for and browser! Those &#8220;internet options&#8221; are just for files downloaded! they don&#8217;t have anything to do with Internet Explorer or Firefox or another browser thus applying this will solve it everywhere (for your user account only!)</p>
<p>That&#8217;s it,<br />
Good luck</p>
<p>Edit: a normal full answer on the subject is also provided <a href="http://answers.yahoo.com/question/index?qid=20080617194948AApEZhr">here</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/12/16/disable-the-vista-open-file-security-warning-dialog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 tiny benchmark</title>
		<link>http://blog.mageprojects.com/2008/12/12/wordpress-27-tiny-benchmark/</link>
		<comments>http://blog.mageprojects.com/2008/12/12/wordpress-27-tiny-benchmark/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 15:30:14 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=26</guid>
		<description><![CDATA[Hey, After yesterday when i installed WordPress 2.7 i was interested by how the performance was going to be. So i ran a small benchmark tool called: AB (Apache Benchmark) and tested it locally. I tested it on my notebook (Acer Aspire 5630, Core 2 duo T5200 1.6 Ghz and 1 gig memory. The OS [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>After yesterday when i installed WordPress 2.7 i was interested by how the performance was going to be. So i ran a small benchmark tool called: AB (Apache Benchmark) and tested it locally.</p>
<p>I tested it on my notebook (Acer Aspire 5630, Core 2 duo T5200 1.6 Ghz and 1 gig memory.<br />
The OS i tested it on was Fedora 10.</p>
<p><strong>Changes i made:</strong></p>
<ul>
<li> Enabled url rewriting in apache</li>
<li>Turned on permalinks in WordPress</li>
</ul>
<p>I did not install any other modules in WordPress. All just the default stuff.<br />
Everything else is just the default fedora install for:</p>
<ul>
<li>Apache</li>
<li>MySQL</li>
<li>PHP</li>
</ul>
<p>with no settings changed.</p>
<p>Now for the results:</p>
<p style="padding-left: 30px;">Server Software:        Apache/2.2.10<br />
Server Hostname:        localhost<br />
Server Port:            80</p>
<p style="padding-left: 30px;">Document Path:          /<br />
Document Length:        5081 bytes</p>
<p style="padding-left: 30px;">Concurrency Level:      5<br />
Time taken for tests:   86.132 seconds<br />
Complete requests:      1000<br />
Failed requests:        0<br />
Write errors:           0<br />
Total transferred:      5319000 bytes<br />
HTML transferred:       5081000 bytes<br />
Requests per second:    11.61 [#/sec] (mean)<br />
Time per request:       430.658 [ms] (mean)<br />
Time per request:       86.132 [ms] (mean, across all concurrent requests)<br />
Transfer rate:          60.31 [Kbytes/sec] received</p>
<p style="padding-left: 30px;">Connection Times (ms)<br />
min  mean[+/-sd] median   max<br />
Connect:        0    0   3.5      0      67<br />
Processing:   194  430  69.2    432     688<br />
Waiting:      181  418  69.3    419     688<br />
Total:        194  430  69.5    432     689</p>
<p style="padding-left: 30px;">Percentage of the requests served within a certain time (ms)<br />
50%    432<br />
66%    459<br />
75%    477<br />
80%    490<br />
90%    517<br />
95%    543<br />
98%    569<br />
99%    586<br />
100%    689 (longest request)</p>
<p>Those results are.. kinda slow! With this new WordPress you can have (on my notebook hardware) just 11 requests per second. If you have a site that has 11 requests per second you have a populair site and your probably on your own dedi/colo server but if you are on a shared host this can be to heavy to run! In the old days when i had lame shared hosting a simple topsite script an a forum (Invision Power board) where banned to use because it took to much resources&#8230; this wordpress is surely heavier then those 2 scripts about 6 or 7 years ago!</p>
<p>I also looked at the CPU usage when running the benchmark. it was at 100% !!</p>
<p>WordPress is a nice user friendly script but they need to do something about there resource usage and for the next version get rid of the php 4 support.</p>
<p>I might run some more benchmarks later this month along with some profiling and how the WP-Super-Cache module can change things.</p>
<p>For now the conclusion is that WordPress 2.7 is resource hungry and probably not a good idea to run on a shared host I must admit that i&#8217;m running it on a shared host on mageprojects (where you read this now) and i haven&#8217;t got an angry mail <strong>yet</strong> from my host.. but then again.. i get just a few visits in here.</p>
<p>That&#8217;s it for now,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/12/12/wordpress-27-tiny-benchmark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.7 &#8220;auto&#8221; update feature</title>
		<link>http://blog.mageprojects.com/2008/12/12/wordpress-27-auto-update-feature/</link>
		<comments>http://blog.mageprojects.com/2008/12/12/wordpress-27-auto-update-feature/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 00:47:23 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=24</guid>
		<description><![CDATA[Hey, WordPress 2.7 has a nice new feature to update plugins or even the core (wordpress) itself to a new/updated version. I was always wondering how i could make a feature that can update a script without having the user go to the ftp and go through all steps. WordPress 2.7 found a nice way [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>WordPress 2.7 has a nice new feature to update plugins or even the core (wordpress) itself to a new/updated version.<br />
I was always wondering how i could make a feature that can update a script without having the user go to the ftp and go through all steps. WordPress 2.7 found a nice way to do this. They simply ask for the FTP host, username and password and can then simply update it all with one click.</p>
<p>I&#8217;m definitely going to use that feature in the next php script that i&#8217;m gonna make. perhaps MageDB (again) along with the following interesting features of wordpress:</p>
<ul>
<li>Version checking</li>
<li>Sortable admin modules (heavy javascript work) (also the &#8220;Screen Options&#8221;)</li>
<li>Plugins (perhaps even there structure)</li>
</ul>
<p>And i could go on with more nice features.<br />
Those are just some ideas for new, yet to make, scripts.</p>
<p>Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/12/12/wordpress-27-auto-update-feature/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Playing ASF streams under Linux (Fedora 10) with mplayer</title>
		<link>http://blog.mageprojects.com/2008/11/27/playing-asf-streams-under-linux-fedora-10-with-mplayer/</link>
		<comments>http://blog.mageprojects.com/2008/11/27/playing-asf-streams-under-linux-fedora-10-with-mplayer/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 23:28:05 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=12</guid>
		<description><![CDATA[Hey, I recently tried to play a ASF stream under linux. I first tried it the most obvious way for fedora users with a default installation is to install the livna repository (now merged in rpmfusion) and install the gstreamer bad and ugly plugins. The Fedora version i used was: Fedora 10 x64 fully updated. [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I recently tried to play a ASF stream under linux.<br />
I first tried it the most obvious way for fedora users with a default installation is to install the livna repository (now merged in rpmfusion) and install the gstreamer bad and ugly plugins.</p>
<p>The Fedora version i used was: Fedora 10 x64 fully updated.<br />
<strong><br />
The Totem way (<span style="color: #ff0000;">total failure</span>)</strong><br />
So after the installation i tried to play the stream. At first everything seems to be fine&#8230; till after a few seconds. Totem starts buffering, plays a bit, freezes the image and buffers a bit, plays a bit, freezes the image and buffers a bit and so on. It plays about 2 seconds then freezes and buffers before playing for another 2 seconds&#8230;. you get the point.</p>
<p>Totem&#8217;s buffering is absolutely horrible! i tried changing various buffer settings in gconf and changed the connection setting in the totem options. Totem simply seems to ignore any changes. I just can&#8217;t get it working in Totem.</p>
<p>Because totem is so useless in buffering (kinda important for a video player!) i say that that player is just a complete waste of time for the gnome developers and a shame they can&#8217;t even properly fix buffering while they do add in useless features like youtube support. Without proper buffering that feature is as useless as totem is right now. To totem devs: get totem&#8217;s buffering fixed or remove it completely</p>
<p><strong>The Xine way (<span style="color: #ff0000;">total failure</span>)<br />
</strong>I haven&#8217;t tried a lot in xine to get this working but installing it on fedora and trying to play a asf stream with it is simply not working. Perhaps i missed somehing obvious. Just not working here.</p>
<p><strong>The VLC way (<span style="color: #ff6600;">failure</span>)<br />
</strong>VLC is starting the same as Totem. It shows some video. After exactly 10 seconds it keeps playing (or that&#8217;s what the time counter says) it does not play any sound or video. Kinda sad.. I would&#8217;ve expected VLC to just work. I didn&#8217;t investigate this problem further but i&#8217;m sure it can be fixed.</p>
<p><strong>The mplayer way (<span style="color: #339966;">working</span>)<br />
</strong>Finally a player that works. Or not really. At first it didn&#8217;t work at all. it throw 5 lines on the console about a million times and i couldn&#8217;t figure out why it was happening. After i asked for some help on the #mplayer channel (on irc in freenode.net) it turned out that the stream i was trying to play demands a player that sends a &#8220;valid&#8221; user-agent string. It got fixed (in my case) by adding this line to the mplayer config file:</p>
<p>echo user-agent=WMPlayer/10.0.0.4058 &gt;&gt; ~/.mplayer/config</p>
<p>The only bad thing is that it took me about 2 hours to find that out. Mplayer wasn&#8217;t exactly throwing any errors that indicated anything of a missing or wrong user agent.</p>
<p>So that&#8217;s how i got a asf stream working under linux. It took me a few hours but it&#8217;s working just fine now under mplayer.</p>
<p>I hope this helped anyone with a simulair issue.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/11/27/playing-asf-streams-under-linux-fedora-10-with-mplayer/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Take this, spammers!</title>
		<link>http://blog.mageprojects.com/2008/11/20/take-this-spammers/</link>
		<comments>http://blog.mageprojects.com/2008/11/20/take-this-spammers/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 19:44:28 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=9</guid>
		<description><![CDATA[Hey, I was getting tons of spam on this blog lately. Now i absolutely hate spam so i updated my blog to the latest wordpress version along with askimet protection. This blog should be about as spam proof as it can get without making it harder to make a comment. Good luck, Mark]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>I was getting tons of spam on this blog lately.<br />
Now i absolutely hate spam so i updated my blog to the latest wordpress version along with askimet protection. This blog should be about as spam proof as it can get without making it harder to make a comment.</p>
<p>Good luck,<br />
Mark</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/11/20/take-this-spammers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s it gonna be?</title>
		<link>http://blog.mageprojects.com/2008/06/20/whats-it-gonna-be/</link>
		<comments>http://blog.mageprojects.com/2008/06/20/whats-it-gonna-be/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 15:22:58 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Personal projects]]></category>
		<category><![CDATA[PHP Based]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=7</guid>
		<description><![CDATA[You probably won&#8217;t guess what&#8217;s it gonna be right? Stay tuned because it will come online later today! And it&#8217;s all gonna be FREE!]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.mageprojects.com/wp-content/uploads/2008/06/otodo_teaser2.png"><img class="alignnone size-full wp-image-8" title="otodo_teaser2" src="http://blog.mageprojects.com/wp-content/uploads/2008/06/otodo_teaser2.png" alt="" width="400" height="451" border="0" /></a></p>
<p>You probably won&#8217;t guess what&#8217;s it gonna be right?<br />
Stay tuned because it will come online later today!</p>
<p><strong>And it&#8217;s all gonna be FREE!</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/06/20/whats-it-gonna-be/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The future about the linux package containers and managers</title>
		<link>http://blog.mageprojects.com/2008/04/15/the-future-about-the-linux-package-containers-and-managers/</link>
		<comments>http://blog.mageprojects.com/2008/04/15/the-future-about-the-linux-package-containers-and-managers/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 22:37:41 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=6</guid>
		<description><![CDATA[This is the current way of package management with distributions: - RPM - DEB - ebuild and then some parts of deb&#8217;s or rpm&#8217;s are even sub devided in other distributions: RPM - PClinuxOS - Mandriva - Fedora - And a ton others DEB - Ubuntu - Sabyaon (Sorry, not a deb using system. Thanx, [...]]]></description>
			<content:encoded><![CDATA[<p>This is the current way of package management with distributions:<br />
- RPM<br />
- DEB<br />
- ebuild</p>
<p>and then some parts of deb&#8217;s or rpm&#8217;s are even sub devided in other distributions:<br />
RPM<br />
- PClinuxOS<br />
- Mandriva<br />
- Fedora<br />
- And a ton others</p>
<p>DEB<br />
- Ubuntu<br />
- Sabyaon (Sorry, not a deb using system. Thanx, Patrick)<br />
- Debian<br />
- Again a ton others</p>
<p>This on it&#8217;s own isn&#8217;t a problem. The problem is that nearly each distribution is so much different that<br />
the same package type (rpm) form fedora won&#8217;t work on mandriva or the opposite. And it&#8217;s the same case with the deb<br />
based distributions. What you can conclude from that is that there is a huge ammount of people making packages<br />
for distributions but that work das to be done a dozen times to get it working on atleast all the big<br />
distributions (try to install the KDE4 packages from fedora on Ubuntu) which is just so extremely time<br />
consuming and not effectively done at all! So that all has to change and that idea is comming now.</p>
<p>In order to change this all there needs to be one single big package database that works on all the<br />
linux distributions. One compiling cluster and one management system for them. Now imagine that there<br />
would be one place to do all that! that would solve the issue of not having a generic package type.</p>
<p>Now lets dig in this a little deeper. Imagine that you only would have to supply the following information<br />
when submitting a new package for a certain distribution:<br />
- Where files need to be saved<br />
- What patched need to be applied<br />
- Does there need to be an icon anywhere (desktop/menu)<br />
- And some generic package information</p>
<p>Then let the cluster compile it and search for files it provides/requires and which ones need to go in the %files<br />
directive (in rpm atleast) then you don&#8217;t have to worry about it anymore and making new packages would go a lot<br />
faster if the compile cluster could determine those things. For that it also needs to be ble to determine the code<br />
it&#8217;s written in, what includes are being used and a ton of other things to check but that&#8217;s all possible. Extremely<br />
hard but possible to make and would probably require years before it&#8217;s complete. Now the best thing would be that<br />
if a package has been added to the database that any other participating distribution in that database can also use<br />
that same package without making any modifications. Oke.. it (should have) the ability to include it&#8217;s own patches<br />
or things like that.. Example: If you would make a K3B package for a EU based distribution you can just include the<br />
mp3 support (and some other things) but if you make it for an USA based dist those things will likely need to be<br />
turned off because of possible patent lawsuits. But in general the idea is that you have one place for all of it<br />
and any dist can use it once it has been made once!</p>
<p>Now for this to happen a few other things need to happen first.<br />
- All distribution (that participate) need to agree on the locations where they place files (libraries, images etc.)<br />
- They all need to make deals on the standards they want and don&#8217;t want to use<br />
- NO bypasses to fix something that another dist doesn&#8217;t have yet.. if it means it could break packages<br />
- And i&#8217;m sure there is a LOT more</p>
<p>This will also have a few downsides for dists that participate.. they will all have to make the same changes in order<br />
to stay compatible with each other so that all those packages can still be used on all dists but i&#8217;m sure that<br />
it&#8217;s something that the dist people can work out. There will also be dists that will likely refuse to join because<br />
they simply disagree with some of the choises or whatever reason.. but i expect that to be just a handfull of<br />
dists (mostly the paid ones i guess).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/04/15/the-future-about-the-linux-package-containers-and-managers/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Disabling Gnome 2.22 auto brightness adjusting</title>
		<link>http://blog.mageprojects.com/2008/04/08/disabling-gnome-222-auto-brightness-adjusting/</link>
		<comments>http://blog.mageprojects.com/2008/04/08/disabling-gnome-222-auto-brightness-adjusting/#comments</comments>
		<pubDate>Tue, 08 Apr 2008 20:06:01 +0000</pubDate>
		<dc:creator>markg85</dc:creator>
				<category><![CDATA[Howto related]]></category>
		<category><![CDATA[Linux - Gnome based]]></category>
		<category><![CDATA[Linux in general]]></category>

		<guid isPermaLink="false">http://blog.mageprojects.com/?p=4</guid>
		<description><![CDATA[Hey, Gnome 2.22 introduced quite a few new features and not all of them are working nicely. The automatic adjusting of the brightness in Gnome 2.22 is a good example of a horrible feature. The idea is good but it simply isn&#8217;t working out, at least on my notebook, so therefore it&#8217;s best to just [...]]]></description>
			<content:encoded><![CDATA[<p>Hey,</p>
<p>Gnome 2.22 introduced quite a few new features and not all of them are working nicely.<br />
The automatic adjusting of the brightness in Gnome 2.22 is a good example of a horrible feature. The idea is good but it simply isn&#8217;t working out, at least on my notebook, so therefore it&#8217;s best to just turn it off.</p>
<p>In the &#8220;Power Management Settings&#8221; is a option to turn it off, or that&#8217;s what you would think judging the name. The setting is: &#8220;Dim display when idle&#8221;. Turning that off won&#8217;t help a bit. might be a bug, might be intentional, but it&#8217;s not working.</p>
<p>The real trick to turn this setting off is in the gconf settings. In your distribution install the package: &#8220;gconf-editor&#8221; (in fedora it&#8217;s with &#8220;yum -y install gconf-editor&#8221;).</p>
<p>Now press ALT+F2 and type: gconf-editor. The editor will popup. Now go to this location: <strong>/apps/gnome-power-manager/backlight/enable</strong> and you should see something like this:<br />
<a href="http://blog.mageprojects.com/wp-content/uploads/2008/04/screenshot-configuration-editor-backlight.png"><img class="alignnone size-thumbnail wp-image-5" title="screenshot-configuration-editor-backlight" src="http://blog.mageprojects.com/wp-content/uploads/2008/04/screenshot-configuration-editor-backlight-150x150.png" alt="" width="150" height="150" /></a></p>
<p>Uncheck the &#8220;<strong>enable</strong>&#8221; and your done. No more irritating backlight changes.</p>
<p>Hope that helped for you,<br />
Mark.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mageprojects.com/2008/04/08/disabling-gnome-222-auto-brightness-adjusting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

