<?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>Leonard Teo &#187; Leo</title>
	<atom:link href="http://www.leonardteo.com/author/admin/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leonardteo.com</link>
	<description></description>
	<lastBuildDate>Thu, 26 Aug 2010 17:51:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Getting PHP XDebug, CodeIgniter and Netbeans to all work nicely together</title>
		<link>http://www.leonardteo.com/2010/08/getting-php-xdebug-codeigniter-and-netbeans-to-all-work-nicely-together/</link>
		<comments>http://www.leonardteo.com/2010/08/getting-php-xdebug-codeigniter-and-netbeans-to-all-work-nicely-together/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 13:58:26 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Tip]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=322</guid>
		<description><![CDATA[After coding with CodeIgniter for the last 8 months, I&#8217;ve reached a point where a serious debugger is actually going to come in handy (it&#8217;s hard to believe I lasted [...]]]></description>
			<content:encoded><![CDATA[<p>After coding with <a href="http://www.codeigniter.com">CodeIgniter</a> for the last 8 months, I&#8217;ve reached a point where a serious debugger is actually going to come in handy (it&#8217;s hard to believe I lasted that long using print_r and echo statements!). A real debugger gives you stack traces, function traces, parameter/variable display, break points, watch variables and all that goodness. The problem is that I&#8217;ve never been able to get a debugger actually operational <em>and </em>usable with my dev environment and CodeIgniter&#8217;s URL rewrites&#8230; until this morning.</p>
<p>My dev setup is like this: I use <a href="http://www.netbeans.org">Netbeans</a> IDE on my Windows Workstation. I always push and test on a cloud server at <a href="http://www.rackspacecloud.com">Rackspace Cloud</a> running Ubuntu, so that my clients can see and test whatever I&#8217;m doing for them. I use CodeIgniter and PHP. I usually use Chrome as my browser. In this case, we&#8217;re going to install and run <a href="http://www.xdebug.org/">XDebug</a>.</p>
<h2>Getting and Installing XDebug</h2>
<p>Thankfully, Ubuntu has an amazing utility called &#8216;apt-get&#8217;, which lets you simply type in &#8216;apt-get install php5-xdebug&#8217; to install the xdebug package. If you&#8217;re using a different OS, you&#8217;ll need to figure out how to install XDebug. On Mac OS X, you can just use MAMP and uncomment the XDebug line in the php.ini file, and follow the instructions below to add remote debugging.</p>
<p>Back to my Ubuntu setup. The Ubuntu &#8220;apt-get&#8221; installer will put the xdebug config file in: /etc/php5/apache2/conf.d/xdebug.ini</p>
<p>If you&#8217;re compiling xdebug or using some other way of installing it, you just need to find out where the install is calling the xdebug PHP extension. It&#8217;s usually in php.ini.</p>
<p>Open the config file and add the following after this line:</p>
<pre>zend_extension=/usr/lib/php5/20090626/xdebug.so    //This should already be in...</pre>
<pre>/** Add these lines **/
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_host= {YOUR HOSTNAME OR IP ADDRESS ** SEE NOTE BELOW}
xdebug.remote_port=9000</pre>
<p>If you are running your test server on your local workstation using MAMP/XAMPP or whatever, just put in &#8216;localhost&#8217; into the remote_host. If you&#8217;re like me and running it on the internet on network, you need to get the IP address of your computer.</p>
<p>Test that it&#8217;s working: restart apache, make a script called phpinfo.php and add in:</p>
<pre>&lt;?php
phpinfo();
?&gt;</pre>
<p>Run that in your browser. You should see a whole section on XDebug, with the settings you included above, that verifies that XDebug is working.</p>
<p><strong>Tricky/optional bit for people wanting to run this remotely&#8230;</strong></p>
<p>If you&#8217;re running on a network with a router and subnet, you&#8217;ll need to find your public internet address and be able to forward packets on port 9000 to your workstation.</p>
<p>What I did, was logged into my Netgear router to get my public internet address. Because my workstation is on a subnet, you need to do port forwarding of packets coming in on port 9000.There should be a &#8220;Port Forwarding&#8221; section where you can add port 9000 and have all communication forwarded to an IP address (the address of your workstation).</p>
<p>Because I&#8217;m running a debugging session remotely, there is a likelihood that my ISP will give me a different IP address later. That simply means that I have to change the xdebug.ini (or php.ini) setting again to point to my new IP address.</p>
<h2>Netbeans</h2>
<p>In your project properties (right click on the project -&gt; properties), click on Run Configuration, look for the &#8220;Advanced&#8230;&#8221; button and set &#8220;<strong>Do Not Open Web Browser</strong>&#8220;. Click OK.</p>
<h2>Chrome or Firefox</h2>
<p>You need the &#8220;Xdebug helper&#8221; extension/add-on. Install that from within your browser.</p>
<p>If you&#8217;re using the <a href="https://chrome.google.com/extensions/detail/eadndfjplgieldjbigjakmdgkmoaaaoc">Xdebug helper in Chrome</a>, you may need to go into its options and add the domain that you want to debug, so that it will show you the debugger and profiler button. <a href="https://chrome.google.com/extensions/detail/eadndfjplgieldjbigjakmdgkmoaaaoc">See this</a>.</p>
<h2>Debugging</h2>
<p>In Netbeans, open a file like a Codeigniter controller or something. Add a breakpoint somewhere interesting. Press CTRL+F5 to start debugging. Switch to Chrome, go to the URL of the controller that you&#8217;re debugging. It should automatically switch back to Netbeans with index.php open and the program paused at the first line of code to say &#8220;I&#8217;m ready to debug!&#8221; Click on Continue (or press F5) and it should bring you to your breakpoint, where you can observe all your variables, call stack, etc.</p>
<p>And developing in CodeIgniter suddenly became even more awesome&#8230;.</p>
<p><strong>Notes and Erratta</strong></p>
<p><a href="http://www.expressionengine.com">Expression Engine</a> and XDebug don&#8217;t like each other! Turns out that there is a piece of code in EE that <a href="http://expressionengine.com/archived_forums/viewthread/157933/">causes a segmentation fault</a>. Apparently newer builds of XDebug have resolved this bug but on my latest apt-get of XDebug, I&#8217;m still having issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/08/getting-php-xdebug-codeigniter-and-netbeans-to-all-work-nicely-together/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Site updates &#8211; portfolios and publications</title>
		<link>http://www.leonardteo.com/2010/08/site-updates-portfolios-and-publications/</link>
		<comments>http://www.leonardteo.com/2010/08/site-updates-portfolios-and-publications/#comments</comments>
		<pubDate>Sun, 22 Aug 2010 04:38:21 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=309</guid>
		<description><![CDATA[I finally had some time tonight to update the website and add all the stuff that I had been meaning to. First of all, a big thanks to the guys [...]]]></description>
			<content:encoded><![CDATA[<p>I finally had some time tonight to update the website and add all the stuff that I had been meaning to. First of all, a big thanks to the guys at <a href="http://gk.site5.com/t/244">Site5</a> for a wonderful free WordPress 3 theme which I was able to work on top of.</p>
<p>So basically, three new pages to the website:</p>
<ul>
<li><a href="http://www.leonardteo.com/portfolio/">Marketing and Management Portfolio</a> &#8211; stuff which I&#8217;ve done related to marketing, management and business development.</li>
<li><a href="http://www.leonardteo.com/web-development-portfolio/">Web Development Portfolio</a> &#8211; mostly technical stuff that I&#8217;ve worked on.</li>
<li><a href="http://www.leonardteo.com/publications/">Publications</a> &#8211; books and articles that I worked on.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/08/site-updates-portfolios-and-publications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A company that admits its mistakes? That&#8217;s why we love Google</title>
		<link>http://www.leonardteo.com/2010/08/a-company-that-admits-its-mistakes-thats-why-we-love-google/</link>
		<comments>http://www.leonardteo.com/2010/08/a-company-that-admits-its-mistakes-thats-why-we-love-google/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 13:09:30 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=229</guid>
		<description><![CDATA[When someone screws up, we tend to always feel better when that person says, &#8220;Mea culpa&#8221;. A simple, &#8220;Yup my bad.&#8221; is good enough to diffuse most situations. I&#8217;ve worked [...]]]></description>
			<content:encoded><![CDATA[<p>When someone screws up, we tend to always feel better when that person says, &#8220;Mea culpa&#8221;. A simple, &#8220;Yup my bad.&#8221; is good enough to diffuse most situations. I&#8217;ve worked in a number of companies now where I&#8217;ve seen major major screw ups happen. Products get released that are overpriced. Products don&#8217;t perform well in the market. Companies get acquired and the products are put on the backburner. I&#8217;ve seen a lot of stuff which has angered customers and driven employees to resign out of frustration.</p>
<p>In every single one of those cases, the company has always put <em>face value </em>over <em>customer value</em>. Rather than saying, &#8220;Yup&#8230;we screwed up. Sorry.&#8221; the company tries to cover everything up. Products that are failures aren&#8217;t fixed or end-of-life&#8217;d. Products that are priced incorrectly aren&#8217;t corrected. Products that are no longer a core part of strategy (due to acquisitions, or other circumstances) aren&#8217;t end-of-life&#8217;d or planned to merge with other product lines.  In almost all these cases, I&#8217;ve seen the wayward product(s) continued for years on a shoestring with almost no resources, still booking sales, angering customers and de-motivating staff.</p>
<p>Google is a fine example of a company that admits its mistakes and sorts them out. Today, Google announced that <a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">Google Wave has been </a><em><a href="http://googleblog.blogspot.com/2010/08/update-on-google-wave.html">end of life&#8217;d</a></em>.</p>
<blockquote><p>&#8220;&#8230; despite these wins, and numerous loyal fans, Wave has not seen the user adoption we would have liked. We don’t plan to continue developing Wave as a standalone product, but we will maintain the site at least through the end of the year and extend the technology for use in other Google projects.&#8221; Urs Hölzle, Senior Vice President, Operations &amp; Google Fellow</p></blockquote>
<p>This is not unlike the also obitted <a href="http://www.lively.com/goodbye.html">Google Lively</a> project, which was Google&#8217;s alternative to Second Life.</p>
<blockquote><p>&#8220;Lively was a network of avatars and virtual rooms created and decorated by its users. Google launched Lively on July 8, 2008 as an experiment in providing people with more ways to express themselves on the Web.</p>
<p>Lively&#8217;s users created thousands of cafes, bars, discos, tropical islands, treehouses, space stations, galleries, bedrooms and more. Lively&#8217;s users shared their rooms with people from all over the real world, meeting and chatting with each other via their customized avatars.</p>
<p>The experiment ended December 31, 2008.&#8221;</p></blockquote>
<p>It&#8217;s actually very cool that Google actually admits mistakes and moves on. It&#8217;s healthy for its employees, and its customers. Employees who worked on the project can move on to the next thing, rather than get told lies by management that their project is important (when it&#8217;s dead), and asked to continue working on a project that few people care about. Customers can also move on, rather than get told lies by the company that they are still developing and developing and supporting the product &#8212; with shoestring staff who aren&#8217;t motivated at all about the product.</p>
<p>Companies (in fact, all of us) can learn a lesson or two from Google on this. If you screw up, say so, and move on.</p>
<p> <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/08/a-company-that-admits-its-mistakes-thats-why-we-love-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gmail Tip &#8211; archiving old emails</title>
		<link>http://www.leonardteo.com/2010/08/gmail-tip-archiving-old-emails/</link>
		<comments>http://www.leonardteo.com/2010/08/gmail-tip-archiving-old-emails/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 14:38:19 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Tip]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=221</guid>
		<description><![CDATA[If you&#8217;re like me, you probably used Gmail for a while and let the inbox grow and grow until you have tens of thousands of emails over the last few [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re like me, you probably used Gmail for a while and let the inbox grow and grow until you have tens of thousands of emails over the last few years. Truth is&#8230;you&#8217;re supposed to archive old emails. Archiving old emails makes it easier for you to set up Imap-based applications like Apple Mail &#8212; it will attempt to download everything in your inbox. If your inbox is too full, it takes ages to download all your old mail. The best way is to archive old mail.</p>
<p>So&#8230;</p>
<p><strong>How to Archive Old Mail in GMail</strong></p>
<p>Load up GMail (or Google Apps GMail).</p>
<p>Click on &#8220;Settings&#8221;</p>
<p>Click on &#8220;Filters&#8221;</p>
<p>Create a new Filter</p>
<p>In the &#8220;Has the words:&#8221; field, add &#8220;before:2010/05/01&#8243;  (change the date to whatever date you want. Format: YYYY/MM/DD).</p>
<p>Click on &#8220;Next Step&#8221;</p>
<p>Check the box &#8220;Skip the Inbox (Archive it).</p>
<p>Check the box &#8220;Also apply to {number} conversations below.&#8221;</p>
<p>Create or Update the filter.</p>
<p>And voila, your inbox is now clean. <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/08/gmail-tip-archiving-old-emails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to set up a local web server on your computer with Apache, PHP and MySQL</title>
		<link>http://www.leonardteo.com/2010/07/how-to-set-up-a-local-web-server-on-your-computer-with-apache-php-and-mysql/</link>
		<comments>http://www.leonardteo.com/2010/07/how-to-set-up-a-local-web-server-on-your-computer-with-apache-php-and-mysql/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 22:07:52 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=210</guid>
		<description><![CDATA[In this tutorial, I&#8217;m going to explain how to set up a web server on your computer (Windows) with Apache, PHP and MySQL. I&#8217;m also going to show you how [...]]]></description>
			<content:encoded><![CDATA[<p>In this tutorial, I&#8217;m going to explain how to set up a web server on  your computer (Windows) with Apache, PHP and MySQL. I&#8217;m also going to  show you how to configure name-based virtual hosting so that you can run  multiple sites off the web server. I&#8217;m then going to validate the set  up by installing WordPress.</p>
<p><strong>Why would you want to do this?</strong></p>
<p>The main reason for setting up a local web server is so that you can  develop and test your website(s) very quickly, without having to  constantly upload to another server. It&#8217;s a good way to &#8220;stage&#8221; your  content in an environment which somewhat mimics what the live server  environment would be. Whether you&#8217;re developing themes or plug-ins for  wordpress, or creating a site from scratch using PHP/MySQL, this is a  great way to develop and test stuff.</p>
<p><strong>Explanation</strong></p>
<p>This is basically a three step process (and it would be the same on a  Mac, though I&#8217;m doing this on a PC):</p>
<ol>
<li>Install <a href="http://www.apachefriends.org/">XAMPP</a> (or MAMPP)</li>
<li>Configure Apache virtual hosts file</li>
<li>Configure host file</li>
</ol>
<p><strong>Install XAMPP</strong></p>
<p>Installing XAMPP is dead easy. <a href="http://www.apachefriends.org/">Download it</a> and install it.</p>
<p>The one thing that I would recommend to do before jumping into configuring virtual hosting is that you fire up XAMPP to make sure that the installation works. You can start XAMPP either by using the GUI which is conveniently installed to your Start Menu. Look for &#8220;XAMPP Control Panel&#8221;. Or you can start using the command line by clicking Start-&gt;Run and typing &#8220;cmd&#8221;. Type &#8220;cd c:\xampp&#8221;. Then &#8220;xampp_start&#8221;.</p>
<p>Make sure you have other network-listening apps such as Skype turned off as they may prevent Apache from starting.</p>
<p>You should now be able to fire up a web browser and visit http://localhost, which will load up the default XAMPP page.</p>
<p><strong>Configuring Virtual Hosting<br />
</strong></p>
<p>Virtual hosting is basically a way of hosting multiple websites  through the same server. It&#8217;s as if it&#8217;s running several servers but  it&#8217;s all running off one server and IP address. So&#8230;for example&#8230; if  you have a server and it has the IP address of 127.0.0.1, you can run  10, 20, 100 different websites on that server. You&#8217;d also be able to  call the individual websites by their name. For example in this case I  have &#8220;upvector.local&#8221;.</p>
<p>Once you&#8217;ve validated that the installation of XAMPP works, you&#8217;ll  need to set up the Apache virtual hosts file. This is typically in:</p>
<pre>XAMPP installation directory\apache\conf\extra\httpd-vhosts.conf</pre>
<p>Look for this line:</p>
<pre>#NameVirtualHost *:80</pre>
<p>Un-comment it so that it reads without the pound sign before it:</p>
<pre>NameVirtualHost *:80</pre>
<p>Each &#8220;virtual host&#8221; has its own set up. You&#8217;ll need one for the  default &#8220;localhost&#8221; name, so that when you type &#8220;localhost&#8221;, you get all  the XAMPP utilities.</p>
<pre>&lt;VirtualHost *:80&gt;
    DocumentRoot "C:\xampp\htdocs"
    ServerName localhost
    &lt;Directory "C:\xampp\htdocs"&gt;
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    &lt;/Directory&gt;
&lt;/VirtualHost&gt;
</pre>
<p>To create any arbitrary virtual host, you basically create a new  definition using &lt;VirtualHost *:80&gt;. E.g. to create one for  &#8220;upvector.local&#8221;, you&#8217;d use this code:</p>
<pre name="code">&lt;VirtualHost *:80&gt;
    DocumentRoot "C:\webprojects\upvector"
    ServerName upvector.local
    &lt;Directory "C:\webprojects\upvector"&gt;
        Options Indexes FollowSymLinks
        AllowOverride All
        Order allow,deny
        Allow from all
    &lt;/Directory&gt;
&lt;/VirtualHost&gt;
</pre>
<p><strong>Configuring the Hosts file</strong></p>
<p>Once you&#8217;ve configured Apache, you&#8217;ll need to configure your  operating system&#8217;s &#8220;hosts&#8221; file. This will let your OS know that when  you call a particular network host name, it will route it back to your  computer.</p>
<p>To find your hosts file, go to this <a href="http://en.wikipedia.org/wiki/Hosts_file">page</a> on Wikipedia  where they have documented the hosts file on almost every operating  system.</p>
<p>On Windows, it is typically here:</p>
<pre><code>C:\Windows\system32\drivers\etc\hosts</code></pre>
<p>I recommend that you use <a href="http://notepad-plus-plus.org/">Notepad ++</a> to edit text files. Make sure  that when you run Notepad++ (or whatever text editing app), that you  RIGHT-CLICK and RUN AS ADMINISTRATOR. If you don&#8217;t run the program as an  administrator, you&#8217;ll be unable to write to the hosts file.</p>
<p>For each of the virtual hosts that you want to run, add:</p>
<pre>127.0.0.1        host_name</pre>
<p>E.g.</p>
<pre>127.0.0.1        upvector.local
</pre>
<p>Restart Apache. If you did everything correctly, it should start back  up and you&#8217;ll be able to type the host name into your browser and it&#8217;ll  serve the correct website.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/07/how-to-set-up-a-local-web-server-on-your-computer-with-apache-php-and-mysql/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Star Wars Subway Car</title>
		<link>http://www.leonardteo.com/2010/07/star-wars-subway-car/</link>
		<comments>http://www.leonardteo.com/2010/07/star-wars-subway-car/#comments</comments>
		<pubDate>Thu, 15 Jul 2010 20:11:16 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Nerdicious]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=207</guid>
		<description><![CDATA[Because&#8230;you know&#8230;we&#8217;re nerds&#8230;]]></description>
			<content:encoded><![CDATA[<p>Because&#8230;you know&#8230;we&#8217;re nerds&#8230; <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://www.leonardteo.com/2010/07/star-wars-subway-car/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/07/star-wars-subway-car/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Materials</title>
		<link>http://www.leonardteo.com/2010/04/fun-with-materials/</link>
		<comments>http://www.leonardteo.com/2010/04/fun-with-materials/#comments</comments>
		<pubDate>Sat, 10 Apr 2010 11:07:24 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Eye Candy]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=190</guid>
		<description><![CDATA[One of the most enjoyable parts of my work with Gnomon School of Visual Effects is that I get to do 3D again. I&#8217;m taking a texturing class with Eric [...]]]></description>
			<content:encoded><![CDATA[<p>One of the most enjoyable parts of my work with <a href="http://www.gnomonschool.com">Gnomon School of Visual Effects</a> is that I get to do 3D again. I&#8217;m taking a texturing class with Eric Miller this term. Here&#8217;s my first assignment, produced in Maya 2010 and Mental Ray. Basically just trying to simulate some real life materials.</p>
<p><a href="http://www.leonardteo.com/wp-content/uploads/2010/04/material_eggs_3.jpg"><img class="aligncenter size-medium wp-image-192" title="material_eggs_3" src="http://www.leonardteo.com/wp-content/uploads/2010/04/material_eggs_3-400x225.jpg" alt="" width="400" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/04/fun-with-materials/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really nice ad by Pedigree</title>
		<link>http://www.leonardteo.com/2010/03/really-nice-ad-by-pedigree/</link>
		<comments>http://www.leonardteo.com/2010/03/really-nice-ad-by-pedigree/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 21:26:17 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=184</guid>
		<description><![CDATA[Here&#8217;s a great new ad by Pedigree for its line of dog food. I want to point out that from a marketing angle, the ad is very very good. The [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a great new ad by Pedigree for its line of dog food. I want to point out that from a marketing angle, the ad is very very good.</p>
<p>The marketing message that is communicated through the video is that &#8220;dogs love Pedigree&#8221;. It is wonderfully communicated through the commercial without a word ever being said or spelled out. Dogs flying in the air slow motion, catching their treat and smacking their lips? Just about perfect in my books!</p>
<p><a href="http://www.leonardteo.com/2010/03/really-nice-ad-by-pedigree/"><em>Click here to view the embedded video.</em></a></p>
<p>According to the YouTube comments, it may be a knock off of a film by <a href="http://www.pleix.net/films.html">Pleix</a> called &#8216;Birds&#8217;. Nevertheless&#8230;.very effective.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/03/really-nice-ad-by-pedigree/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CG Channel goes video-based</title>
		<link>http://www.leonardteo.com/2010/02/cg-channel-goes-video-based/</link>
		<comments>http://www.leonardteo.com/2010/02/cg-channel-goes-video-based/#comments</comments>
		<pubDate>Sun, 21 Feb 2010 17:54:01 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=180</guid>
		<description><![CDATA[One of the cool things about working on CG Channel again but under the auspices of Gnomon is that we can innovate and do it really quickly. This week, we [...]]]></description>
			<content:encoded><![CDATA[<p>One of the cool things about working on CG Channel again but under the auspices of Gnomon is that we can innovate and do it really quickly. This week, we announced the new content direction for CG Channel, going video-based. Watch the announcement <a href="http://www.cgchannel.com/2010/02/new-cg-channel-content-direction/">here</a>.</p>
<p>We&#8217;ve already posted a few really good interviews on the site:</p>
<ul>
<li><a href="http://www.cgchannel.com/2010/02/digital-domain-on-transformers-2-dan-taylor/">Digital Domain on Transformers 2</a></li>
<li><a href="http://www.cgchannel.com/2010/02/interview-with-concept-artist-paul-richards/">Interview with Darksiders artist Paul Richards</a></li>
<li><a href="http://www.cgchannel.com/2010/02/andy-park-on-god-of-war-3/">Andy Park on God of War 3</a></li>
<li><a href="http://www.cgchannel.com/2010/01/interview-with-terryl-whitlatch/">Interview with Terryl Whitlach</a></li>
<li><a href="http://www.cgchannel.com/2009/11/2012-behind-the-scenes-with-digital-domain-2/">2012: Behind the Scenes with Digital Domain</a></li>
<li><a href="http://www.cgchannel.com/2009/11/the-making-of-2012-interview-with-volker-engel-marc-weigert/">The Making of 2012: Interview with Volker Engel &amp; Marc Weigert</a></li>
<li><a href="http://www.cgchannel.com/2009/10/behind-the-scenes-with-digital-domain-for-gi-joe-rise-of-cobra-2/">GI Joe: Rise of the Cobra</a></li>
</ul>
<p>More to come&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/02/cg-channel-goes-video-based/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New CG Channel website</title>
		<link>http://www.leonardteo.com/2010/02/new-cg-channel-website/</link>
		<comments>http://www.leonardteo.com/2010/02/new-cg-channel-website/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 14:12:46 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=172</guid>
		<description><![CDATA[This is awesome. Yesterday, we launched the brand new CG Channel website. CG Channel is an online destination for entertainment artists. Our mission is to inform, inspire and empower our [...]]]></description>
			<content:encoded><![CDATA[<p>This is awesome. Yesterday, we launched the brand new <a href="http://www.cgchannel.com">CG Channel</a> website.</p>
<p><a href="http://www.leonardteo.com/wp-content/uploads/2010/02/cgchannelfinal.jpg"><img class="aligncenter size-medium wp-image-173" title="cgchannelfinal" src="http://www.leonardteo.com/wp-content/uploads/2010/02/cgchannelfinal-399x289.jpg" alt="" width="399" height="289" /></a></p>
<p>CG Channel is an online destination for entertainment artists. Our mission is to <em>inform</em>, <em>inspire </em>and <em>empower </em>our viewers. For over a decade, CG Channel has served the entertainment production industry with news, features and community services.</p>
<p>What makes CG Channel different from other sites?</p>
<p><strong>High quality video content</strong> – CG Channel features impactful interviews and insights from professional production artists.</p>
<p><strong>Broadcasting worldwide from Hollywood</strong> – With access to hundreds of studios and artists, CG Channel has access to some of the best artists and studios for unique, insightful content.</p>
<p><strong>Focus on education and training</strong> – CG Channel is part of the Gnomon group of companies, which is focused on inspiring and empowering entertainment production artists. The Gnomon group of companies includes:</p>
<ul style="list-style-type: disc; list-style-image: none; list-style-position: outside; margin-left: 20px; margin-bottom: 0px; padding-bottom: 0px;">
<li><a href="http://www.gnomonschool.com/">Gnomon School of Visual Effects</a> – The premiere school for digital entertainment artists, based in Hollywood, CA.</li>
<li><a href="http://www.thegnomonworkshop.com/">The Gnomon Workshop</a> – Video training products for digital entertainment artists.</li>
</ul>
<p><strong>Competitions hosted by top-level professionals</strong> – CG Channel runs monthly digital art contests hosted by top-level industry professionals, giving an opportunity for developing artists to learn from the pros.</p>
<p>So check it out. Head on over to <a href="http://www.cgchannel.com">www.cgchannel.com</a>.</p>
<div id="_mcePaste" style="overflow: hidden; position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px;">
<p><strong>High quality video content</strong> – CG Channel features impactful interviews and insights from professional production artists.</p>
<p><strong>Broadcasting worldwide from Hollywood</strong> – With access to hundreds of studios and artists, CG Channel has access to some of the best artists and studios for unique, insightful content.</p>
<p><strong>Focus on education and training</strong> – CG Channel is part of the Gnomon group of companies, which is focused on inspiring and empowering entertainment production artists. The Gnomon group of companies includes:</p>
<ul style="list-style-type: disc; list-style-image: none; list-style-position: outside; margin-left: 20px; margin-bottom: 0px; padding-bottom: 0px;">
<li><a href="http://www.gnomonschool.com/">Gnomon School of Visual Effects</a> – The premiere school for digital entertainment artists, based in Hollywood, CA.</li>
<li><a href="http://www.thegnomonworkshop.com/">The Gnomon Workshop</a> – Video training products for digital entertainment artists.</li>
</ul>
<p><strong>Competitions hosted by top-level professionals</strong> – CG Channel runs monthly digital art contests hosted by top-level industry professionals, giving an opportunity for developing artists to learn from the pros.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/02/new-cg-channel-website/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
