<?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>NGPixel</title>
	<atom:link href="http://www.ngpixel.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ngpixel.com</link>
	<description>The Development Blog</description>
	<lastBuildDate>Thu, 26 Aug 2010 17:31:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Sharepoint Designer &#8211; &#8220;The server could not complete your request&#8221; error message</title>
		<link>http://www.ngpixel.com/2010/08/26/sharepoint-designer-the-server-could-not-complete-your-request-error-message/</link>
		<comments>http://www.ngpixel.com/2010/08/26/sharepoint-designer-the-server-could-not-complete-your-request-error-message/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 17:31:08 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[application pool]]></category>
		<category><![CDATA[designer]]></category>
		<category><![CDATA[sharepoint]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/08/26/sharepoint-designer-the-server-could-not-complete-your-request-error-message/</guid>
		<description><![CDATA[I started getting this error message yesterday while working in Sharepoint Designer. I would get the message whenever I would open a Sharepoint website. The solution to this problem is quite simple: 1) Open Internet Information Services (IIS) Manager. 2) Expand your computer list on the left then click on Application Pools. 3) Locate the [...]]]></description>
			<content:encoded><![CDATA[<p>I started getting this error message yesterday while working in <strong>Sharepoint Designer</strong>. I would get the message whenever I would open a Sharepoint website. The solution to this problem is quite simple:</p>
<p>1) Open <strong>Internet Information Services (IIS) Manager</strong>.</p>
<p>2) Expand your computer list on the left then click on <strong>Application Pools</strong>.</p>
<p>3) <strong>Locate</strong> the application pool used by your Sharepoint website.</p>
<p>4) Right-click on the application pool and select <strong>Recycle</strong>.</p>
<p>You should now be able to connect to your Sharepoint website using Sharepoint Designer as usual.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/08/26/sharepoint-designer-the-server-could-not-complete-your-request-error-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS: How to remove the dotted outline on links</title>
		<link>http://www.ngpixel.com/2010/07/15/css-how-to-remove-the-dotted-outline-on-links/</link>
		<comments>http://www.ngpixel.com/2010/07/15/css-how-to-remove-the-dotted-outline-on-links/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 17:34:30 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[dotted]]></category>
		<category><![CDATA[outline]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/07/15/css-how-to-remove-the-dotted-outline-on-links/</guid>
		<description><![CDATA[When you click on a link element, it becomes focused and displays a dotted border around it. In some case, you might want to remove that outline for aesthetics, especially on menu links that are displayed as block elements. To remove that outline, simply place this CSS line of code: a:focus { outline:none; } In [...]]]></description>
			<content:encoded><![CDATA[<p>When you click on a link element, it becomes focused and displays a dotted border around it. In some case, you might want to remove that outline for aesthetics, especially on menu links that are displayed as block elements. To remove that outline, simply place this CSS line of code:</p>
<pre class="brush:css">a:focus {
	outline:none;
}</pre>
<p>In the above example, all links that become focused won’t display the outline.</p>
<p>Keep in mind that hiding that outline will prevent people use keyboard navigation to see which element is selected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/07/15/css-how-to-remove-the-dotted-outline-on-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP: Converting titles to permalinks</title>
		<link>http://www.ngpixel.com/2010/04/22/converting-titles-to-permalinks-php/</link>
		<comments>http://www.ngpixel.com/2010/04/22/converting-titles-to-permalinks-php/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 14:02:29 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[permalink]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/04/22/converting-titles-to-permalinks-php/</guid>
		<description><![CDATA[Having the item title in the URL is a good way to improve SEO for your website. For example, /shop/adobe_photoshop_cs5/ is much more meaningful to users and search engines than /shop.php?i=83s9f8haj8dj. Unfortunately, not all characters are valid in URLs, which is where a permalink function comes handy to convert titles into a nice URL format. [...]]]></description>
			<content:encoded><![CDATA[<p>Having the item title in the URL is a good way to improve SEO for your website. For example, <strong>/shop/adobe_photoshop_cs5/</strong> is much more meaningful to users and search engines than <strong>/shop.php?i=83s9f8haj8dj</strong>. Unfortunately, not all characters are valid in URLs, which is where a permalink function comes handy to convert titles into a nice URL format. Permalinks usually remove all non-alphanumerical characters and replace spaces with underscores. “<strong>Adobe Photoshop CS5</strong>” is then converted to “<strong>adobe_photoshop_cs5</strong>”.</p>
<pre class="brush:php">function permalize($input) {
	return str_replace(' ','_',strtolower(trim(preg_replace(&quot;/[^a-zA-Z0-9 ]/&quot;, '', $input))));
}</pre>
<p>Note that you can use some special characters in URLs (like + and -), I usually like to remove them completely, but it is totally fine to leave them should you choose to.</p>
<p>If you don’t want to rely on a permalink to retrieve database data about your item, you can still insert the ID in the URL (e.g. <strong>/shop/34655/adobe_photoshop_cs5/</strong> ). The permalink could then be discarded in the code while still providing better readability and SEO.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/04/22/converting-titles-to-permalinks-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe CS5 is out&#8230; and so is Fireworks</title>
		<link>http://www.ngpixel.com/2010/04/12/adobe-cs5-is-out-and-so-is-fireworks/</link>
		<comments>http://www.ngpixel.com/2010/04/12/adobe-cs5-is-out-and-so-is-fireworks/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 02:04:27 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[cs5]]></category>
		<category><![CDATA[fireworks]]></category>
		<category><![CDATA[release]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/04/12/adobe-cs5-is-out-and-so-is-fireworks/</guid>
		<description><![CDATA[Today, Adobe launched the new Creative Suite 5. There’s is tons of great new features especially in Photoshop and After Effects. Speaking of Photoshop, the new Content Aware fill is simply incredible. You can mark an area to fill and the software will analyse the surrounding patterns and colors to fill in and remove the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ngpixel.com/wp-content/uploads/2010/04/fwcs5_banner.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="fwcs5_banner" border="0" alt="fwcs5_banner" src="http://www.ngpixel.com/wp-content/uploads/2010/04/fwcs5_banner_thumb.jpg" width="651" height="141" /></a> </p>
<p>Today, Adobe launched the new Creative Suite 5. There’s is tons of great new features especially in Photoshop and After Effects. Speaking of Photoshop, the new Content Aware fill is simply incredible. You can mark an area to fill and the software will analyse the surrounding patterns and colors to fill in and remove the area you selected.</p>
<p>But of course, my main tool is Fireworks and while the CS4 version was full of bugs and crashing frequently, I’ve seen it mature in the development stages and I can now say it’s really stable and these problems are things of the past. I’ve not had a single crash or the classic “An unknown error occurred&quot; message using the last milestone build. Fireworks also boot in just a few seconds (as fast as 3-4 seconds) compared to the slow 15 seconds of CS4.</p>
<p>There is also the new Compound feature which is similar to the vector path tools but let you preserve the shapes you used to build that vector and edit them in real-time. Another great new feature is the “Snap to pixel” function which relocate the shape borders to the nearest pixel in the canvas. Blurry borders when resizing vectors are thing of the past.</p>
<p>Another new feature is the possibility to save projects as templates so you can easily use them as base projects later.</p>
<p>While there is some great new features in Fireworks CS5, the main goal in this release was to fix bugs and achieve better performance and stability, which the development team did. It’s really a good thing they decided to stop working on new features as the base platform was getting more and more buggy. The application is now back on track as a powerful and stable design and prototyping tool.</p>
<p>I hope you will enjoy this new release of Fireworks because I certainly do!</p>
<p><a href="http://www.adobe.com/products/fireworks/" target="_blank">http://www.adobe.com/products/fireworks/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/04/12/adobe-cs5-is-out-and-so-is-fireworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The iPad, just a big iPod Touch&#8230;</title>
		<link>http://www.ngpixel.com/2010/01/28/the-ipad-just-a-big-ipod-touch/</link>
		<comments>http://www.ngpixel.com/2010/01/28/the-ipad-just-a-big-ipod-touch/#comments</comments>
		<pubDate>Thu, 28 Jan 2010 19:39:22 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/01/28/the-ipad-just-a-big-ipod-touch/</guid>
		<description><![CDATA[Big deception. I was expecting some kind of new UI and more hardware features. I guess we’ll have to wait for V2 and see…]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ngpixel.com/wp-content/uploads/2010/01/ipad_isityousteve.jpg"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="ipad_isityousteve" border="0" alt="ipad_isityousteve" src="http://www.ngpixel.com/wp-content/uploads/2010/01/ipad_isityousteve_thumb.jpg" width="337" height="442" /></a>     <br />Big deception. I was expecting some kind of new UI and more hardware features.    <br />I guess we’ll have to wait for V2 and see…</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/01/28/the-ipad-just-a-big-ipod-touch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress and Password-Protected Directories</title>
		<link>http://www.ngpixel.com/2010/01/16/wordpress-and-password-protected-directories/</link>
		<comments>http://www.ngpixel.com/2010/01/16/wordpress-and-password-protected-directories/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 18:11:45 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2010/01/16/wordpress-and-password-protected-directories/</guid>
		<description><![CDATA[WordPress adds a little code to your root .htaccess in order to catch all URLs on your website and process them. It works fine if you only have WordPress on your websites and normal files/folders. But should you have a password-protected directory, WordPress might catch the 401 page as well which results in never showing [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress adds a little code to your root .htaccess in order to catch all URLs on your website and process them. It works fine if you only have WordPress on your websites and normal files/folders. But should you have a password-protected directory, WordPress might catch the 401 page as well which results in never showing the login authentication box at all.</p>
<p>I tried to add additional RewriteCond and RewriteRule to catch the password-protected directories before WordPress does but without success. The trick is in fact much more simple than that. You simply need to tell Apache to go to a custom 401 page of your choice (it can be blank or the default page, doesn’t matter). You will then be prompted with a login box and let you proceed to the password-protected directory. Should the login be wrong, the custom page will be displayed. No more annoying WordPress url rewriting!</p>
<p>Here’s the code: (notice the usual WordPress code, you simply need to add the ErrorDocument line above it)</p>
<pre class="brush:xml">ErrorDocument 401 default

# BEGIN WordPress
&lt;ifmodule mod_rewrite.c&gt;
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
&lt;/ifmodule&gt;
# END WordPress</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2010/01/16/wordpress-and-password-protected-directories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reaper &gt; Cubase 5</title>
		<link>http://www.ngpixel.com/2009/12/27/reaper-cubase/</link>
		<comments>http://www.ngpixel.com/2009/12/27/reaper-cubase/#comments</comments>
		<pubDate>Mon, 28 Dec 2009 03:36:10 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Audio]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2009/12/27/reaper-cubase/</guid>
		<description><![CDATA[DAW software are quite expensive, about 300-500$ depending on the version. I was looking to upgrade my Cubase AI 4 which is 32bit only to a 64bit-capable DAW. Cubase Studio 5 was the logical choice with it’s new 64bit version. Then I saw the price: 339$. Not quite what you call a deal, only to [...]]]></description>
			<content:encoded><![CDATA[<p>DAW software are quite expensive, about 300-500$ depending on the version. I was looking to upgrade my Cubase AI 4 which is 32bit only to a 64bit-capable DAW. Cubase Studio 5 was the logical choice with it’s new 64bit version. Then I saw the price: 339$. Not quite what you call a deal, only to get 64bit support. Considering version 5 had no useful new features (only ANOTHER beat maker among the new “features”, as if we needed YET ANOTHER one). So it was clear I wasn’t going to buy this.</p>
<p>Then I read on <a href="http://www.soundsonline.com/" target="_blank">EastWest</a> forums about <a href="http://www.reaper.fm/" target="_blank">Reaper</a>. It’s a DAW that is even more optimized than Cubase, has 64bit support, free routing of MIDI and audio. The price? 60$. But wait, prepare to be shocked, it only does everything Cubase 5 can do and more. Another surprise? It’s less than 5mb and the license is good for another major upgrade in the future. It looks even better than Cubase 5.</p>
<p>But the best thing about Reaper is the workflow. In less than 2 minutes, I was ready to go, VSTis loaded and ready to play. It appears to be much more stable than Cubase as well and an even lower latency.</p>
<p>I’m still using the 30-day evaluation version but I’m definitely getting a license in the next weeks.</p>
<p>Finally an audio product made by audio developers and not a marketing team.</p>
<p><a href="http://www.ngpixel.com/wp-content/uploads/2009/12/image.png"><img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://www.ngpixel.com/wp-content/uploads/2009/12/image_thumb.png" width="244" height="172" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2009/12/27/reaper-cubase/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Uncharted 2</title>
		<link>http://www.ngpixel.com/2009/10/18/uncharted-2/</link>
		<comments>http://www.ngpixel.com/2009/10/18/uncharted-2/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 05:02:14 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2009/10/18/uncharted-2/</guid>
		<description><![CDATA[3 simple words: BUY THIS GAME Epic gameplay, graphics, audio and multiplayer. If you own a PS3, it’s definitely a game to get.]]></description>
			<content:encoded><![CDATA[<p>3 simple words:</p>
<p><strong>BUY THIS GAME</strong></p>
<p>Epic gameplay, graphics, audio and multiplayer. If you own a PS3, it’s definitely a game to get.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2009/10/18/uncharted-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gigabyte&#8217;s DES means great problems</title>
		<link>http://www.ngpixel.com/2009/08/29/gigabytes-des-means-great-problems/</link>
		<comments>http://www.ngpixel.com/2009/08/29/gigabytes-des-means-great-problems/#comments</comments>
		<pubDate>Sat, 29 Aug 2009 21:36:23 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2009/08/29/gigabytes-des-means-great-problems/</guid>
		<description><![CDATA[Owners of Gigabyte motherboards probably noticed the phase LEDs on their motherboard. Turns out you can have them enabled while using your PC. It shows you the current CPU usage. It requires you to install and activate their Dynamic Energy Saver app. That’s exactly what I did. Sure enough, the LEDs were working just fine. [...]]]></description>
			<content:encoded><![CDATA[<p>Owners of Gigabyte motherboards probably noticed the phase LEDs on their motherboard. Turns out you can have them enabled while using your PC. It shows you the current CPU usage. It requires you to install and activate their Dynamic Energy Saver app.</p>
<p>That’s exactly what I did. Sure enough, the LEDs were working just fine. But their dynamic saving features also causes some serious audio issues. I started to hear frequent pops and clicks noises when listening to audio, and that from any audio applications. I first tried to re-install drivers, disable some apps I had recently installed, no luck. Then I had the idea to de-activate the DES functionality: no more audio issues.</p>
<p>Even more proof that you <strong>shouldn’t</strong> install any applications that comes bundled with your hardware.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2009/08/29/gigabytes-des-means-great-problems/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The best way to write PHP code</title>
		<link>http://www.ngpixel.com/2009/08/15/the-best-way-to-write-php-code/</link>
		<comments>http://www.ngpixel.com/2009/08/15/the-best-way-to-write-php-code/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 19:47:57 +0000</pubDate>
		<dc:creator>Nick</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.ngpixel.com/2009/08/15/the-best-way-to-write-php-code/</guid>
		<description><![CDATA[PHP is quite flexible in the way you write code. You can write same code in about 10 different styles and it’s still going to work. The problem is when you try to read and understand someone else script. It’s either well documented or completely unreadable. In my opinion, writing large blocks of documentation is, [...]]]></description>
			<content:encoded><![CDATA[<p>PHP is quite flexible in the way you write code. You can write same code in about 10 different styles and it’s still going to work. The problem is when you try to read and understand someone else script. It’s either well documented or completely unreadable.</p>
<p>In my opinion, writing large blocks of documentation is, most of the time, useless and time consuming. It is possible write code in a way that it can be read by anyone with very short amount of documentation. It all starts with naming your functions correctly, dividing long blocks of code in short functions that are self-explained.</p>
<p>So I decided to share some best practices I’ve read or learned over time.</p>
<p><strong><span style="text-decoration: underline">Naming</span></strong></p>
<pre class="brush:php">// INCORRECT
function Getlastmessages()
function GetLastMessages()
function getLastMessages()

// CORRECT
function get_last_messages()</pre>
<p>Sure the CamelCase version isn&#8217;t bad, but the best way to name methods is by separating words with an underscore.</p>
<p>You should name your classes the same way but by using an uppercase letter as the first letter. (ex: <strong>Get_last_message</strong>) </p>
<p>Constants also follow the same rule but all letters are in uppercase (ex: <strong>GET_LAST_MESSAGE</strong>)</p>
<p><strong><span style="text-decoration: underline">HTML Output</span></strong></p>
<p>Unless the HTML to output is relatively short, you should always close PHP, write your HTML and then open PHP back.</p>
<p>Use the short &lt;?= tag (if enabled on your server) to open PHP to output a variable.</p>
<p><strong><span style="text-decoration: underline">TRUE, FALSE and NULL</span></strong></p>
<pre class="brush:php">// INCORRECT
$var = true;
$var = True;
if($var == null) {}

// CORRECT
$var = TRUE;
$var = FALSE;
if($var == NULL) {}</pre>
<p>Always write conditional values in uppercase.</p>
<p><strong><u>PHP Files ending</u></strong></p>
<p>As strange as it sounds, you shouldn’t close PHP at the end of PHP file. You should instead include a standard comment at the end and that’s it.</p>
<pre class="brush:php">&lt;?php
// PHP CODE HERE

/* End of file index.php
/* Location: ./application/index.php */</pre>
<p>Why? Because PHP will close automatically as it reaches the end of the file but more importantly, it will prevent any whitespace or line breaks issues at the end of the file.</p>
<p><strong><u>UTF-8 File Encoding and Unix line-breaks</u></strong></p>
<p>Your code editor should always be configured to use UTF-8 encoding and Unix style line breaks. This will ensure compatibility with most languages and servers configuration.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ngpixel.com/2009/08/15/the-best-way-to-write-php-code/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
