<?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; Rambling</title>
	<atom:link href="http://www.leonardteo.com/category/rambling/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.leonardteo.com</link>
	<description></description>
	<lastBuildDate>Sat, 28 Jan 2012 02:47:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Steak on Mushrooms with Red Wine Sauce and Caesar Salad</title>
		<link>http://www.leonardteo.com/2012/01/steak-on-mushrooms-and-caesar-salad/</link>
		<comments>http://www.leonardteo.com/2012/01/steak-on-mushrooms-and-caesar-salad/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 01:32:05 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Rambling]]></category>
		<category><![CDATA[Reminders to myself]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=680</guid>
		<description><![CDATA[One of my new year resolutions in 2012 is to try a new recipe every weekend. I decided this weekend to try a steak on mushrooms with red wine sauce. I found this recipe on Epicurious and adapted it to stuff I could easily buy at the local grocery store. I also made a caesar salad [...]]]></description>
			<content:encoded><![CDATA[<p>One of my new year resolutions in 2012 is to try a new recipe every weekend. I decided this weekend to try a steak on mushrooms with red wine sauce. I found this recipe on <a href="http://www.epicurious.com/recipes/food/views/Hanger-Steak-with-Mushrooms-and-Red-Wine-Sauce-367758">Epicurious</a> and adapted it to stuff I could easily buy at the local grocery store. I also made a caesar salad from scratch. This serves as a reminder to myself so that I can cook the same thing again.</p>
<p><a href="http://www.leonardteo.com/wp-content/uploads/2012/01/hangarsteak.jpg"><img class="aligncenter size-medium wp-image-682 colorbox-680" title="hangarsteak" src="http://www.leonardteo.com/wp-content/uploads/2012/01/hangarsteak-500x375.jpg" alt="" width="500" height="375" /></a></p>
<h2>Steak on Mushrooms with Red Wine Sauce</h2>
<ul>
<li>3 tablespoons extra-virgin olive oil</li>
<li>12 ounces mixed mushrooms, cut up</li>
<li>Table salt</li>
<li>Ground black pepper</li>
<li>4 tablespoons butter</li>
<li>1.5 pounds steak</li>
<li>3 garlic cloves diced</li>
<li>1x 6&#8243; sprig rosemary</li>
<li>1 cup red wine</li>
<li>3/4 cup chicken stock</li>
</ul>
<div>Heat 2 tablespoons of olive oil in skillet on medium heat. Sautee mushrooms, put on some salt and pepper. Put aside.</div>
<div></div>
<div>Melt about 1 tablespoon of butter in the same skillet. Put in steak, garlic and rosemary. Cook roughly 3 mins per side, until medium rare. Transfer steak, garlic and rosemary to cutting board.</div>
<div></div>
<div>In the same skillet, put in wine. Boil for 3 mins. Pour in chicken stock. Bring to boil for about 5 mins, boiling it down. Mix in 3 tablespoons of butter. Put in mushrooms. Season with salt and ground black pepper.</div>
<div></div>
<div>Put mushrooms and some sauce onto serving plates. Slice meat. Put on top of mushrooms.</div>
<div></div>
<div>Eat with a good, hearty red wine. We had a cabernet savignon.</div>
<div>&nbsp;</div>
<div>&nbsp;</div>
<h2>Caesar Salad from Scratch</h2>
<div>This recipe is adapted from <a href="http://www.grouprecipes.com/46082/real-caesar-dressing.html">this one</a>.</div>
<div>
<ul>
<li>2 egg yolks</li>
<li>2 tablespoons dijon mustard</li>
<li>bacon bits (buy a packet)</li>
<li>4 cloves chopped garlic</li>
<li>4 tablespoons balsamic vinegar</li>
<li>3 tablespoons lemon juice</li>
<li>dash of worcestershire sauce</li>
<li>1 cup olive oil</li>
<li>2-3 tablespoons of parmesan cheese</li>
<li>Romain lettuce</li>
<li>Croutons</li>
</ul>
<div>Mix egg yolk, mustard, bacon, garlic, balsamic vinegar, lemon juice and worcestershire sauce in bowl. Slowly add olive oil while mixing. Add parmesan cheese.</div>
</div>
<div></div>
<div>Wash and chop romain lettuce. Spin in salad spinner.</div>
<div></div>
<div>Serve as a bed of lettuce and croutons. Let guests put on the dressing themselves.</div>
<div></div>
<div>The above is awesome. Very tasty caesar salad and much much better than store bought caesar dressing.</div>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2012/01/steak-on-mushrooms-and-caesar-salad/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2012 Resolution: Retire Internet Explorer 8</title>
		<link>http://www.leonardteo.com/2011/12/2012-resolution-retire-internet-explorer-8/</link>
		<comments>http://www.leonardteo.com/2011/12/2012-resolution-retire-internet-explorer-8/#comments</comments>
		<pubDate>Sat, 31 Dec 2011 14:45:51 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=670</guid>
		<description><![CDATA[One of the biggest frustrations that I have as a professional web developer is Internet Explorer &#8211; more specifically IE8, which is currently refusing to die because it is &#8220;good enough but not quite&#8221;. Here we are, trying to move forward with new technology on HTML5 standards that work across most modern browsers, except things [...]]]></description>
			<content:encoded><![CDATA[<p>One of the biggest frustrations that I have as a professional web developer is Internet Explorer &#8211; more specifically IE8, which is currently refusing to die because it is &#8220;good enough but not quite&#8221;. Here we are, trying to move forward with new technology on HTML5 standards that work across most modern browsers, except things don&#8217;t look or work quite right in IE8. Corporations still give out computers to employees with IE8 pre-installed. Enough is enough. Let&#8217;s make 2012 the year that we, as a body of web professionals, begin to retire IE8.</p>
<h2>How?</h2>
<p>From now on, every site that I deliver for clients will have, by default, an <a href="http://www.ie8nomore.com">IE8nomore</a> header (or variant), which will only show up when a user with IE8 or less browses to the site. If a client specifically wants me to support IE8, they will need to pay extra for it. It&#8217;s that simple. Clients need to be educated that IE8 is just bad software. If they have the chance to tell you that a site you created doesn&#8217;t work in IE8, you&#8217;re too late. You need to put the header in <em>by default</em> so that when they, or their colleagues browse to your site, they immediately see that their browser is outdated. It&#8217;s psychological. <em>They</em> need to upgrade. <em>You</em> don&#8217;t need to lower your standards.</p>
<p><a href="http://www.leonardteo.com/wp-content/uploads/2011/12/ie8nomore.jpg"><img class="aligncenter size-full wp-image-671 colorbox-670" title="ie8nomore" src="http://www.leonardteo.com/wp-content/uploads/2011/12/ie8nomore.jpg" alt="" width="604" height="82" /></a></p>
<p>If you&#8217;re a professional web developer, make it your resolution. Let&#8217;s rid the world of standard-less browsers. Let&#8217;s nail IE8 and please be done with it.</p>
<h2>Links</h2>
<p><a href="http://ie8nomore.com/">IE8nomore header</a><br />
<a href="http://www.ie6nomore.com/">IE6nomore header</a> (the original)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2011/12/2012-resolution-retire-internet-explorer-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My rant about storing crucial web app settings in a database</title>
		<link>http://www.leonardteo.com/2011/11/my-rant-about-storing-crucial-web-app-settings-in-a-database/</link>
		<comments>http://www.leonardteo.com/2011/11/my-rant-about-storing-crucial-web-app-settings-in-a-database/#comments</comments>
		<pubDate>Tue, 01 Nov 2011 12:51:37 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>
		<category><![CDATA[Web Development]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=591</guid>
		<description><![CDATA[I&#8217;ve been coding PHP for a long time. Since 1999 actually. That means that for most of my adult life, I&#8217;ve been working with this programming language in the web-o-sphere in general. I&#8217;ve gotten to work on many applications and continue to do so. I&#8217;ve also gotten to use many off-the-shelf apps including WordPress, Expression [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been coding PHP for a long time. Since 1999 actually. That means that for most of my adult life, I&#8217;ve been working with this programming language in the web-o-sphere in general. I&#8217;ve gotten to work on many applications and continue to do so. I&#8217;ve also gotten to use many off-the-shelf apps including WordPress, Expression Engine and VBulletin. Today, I&#8217;d like to rant about two conventions that these all have in common, and why we need to be rid of them.</p>
<h2>1. Storing paths and URLs in the database</h2>
<p>This happens in WordPress, Expression Engine and VBulletin. Basically, the idea is that all settings must be stored in a database table because&#8230;well&#8230;it&#8217;s supposed to be easier. The user updates a setting in the admin control panel, and it stores those settings in a database. The problem with storing paths in a database like this is that it makes the app less portable. For example, say you want to move an installation of any of the above-said apps to a different domain, it&#8217;s not as simple as tarballing the entire application, running mysqldump and restoring on the other side. You&#8217;d think that changing the config file would get it to work but this is only half the battle. WordPress and Vbulletin, for example, stores the actual URL of the application in the database, so when it does any redirect (e.g. when you login to the admin control panel), it will redirect to your OLD site.</p>
<p>WordPress does something else that I consider evil. When you upload images, it stores the full web path in the meta data. This is also a problem when you move to another domain because all your images are now pointing to the old domain. I&#8217;ve had to write scripts that change all metadata values and wordpress settings when porting from one domain to another. It&#8217;s annoying.</p>
<p><strong>Why is this an issue though?</strong></p>
<p>Development. For most people, the above shouldn&#8217;t matter because you have a blog that you installed on a webserver; you update it and all&#8217;s well. You never run a local copy of the site for development. As a developer though, I have to usually get local and staging copies of the website running. This means that I&#8217;m constantly having to do all kinds of shenanigans to get these instances running on different servers.</p>
<p>I used to think that this was simply a bad design limited to a couple of web apps but it seems like a whole plethora of web apps suffer from this. While working for Gnomon, we bought into Expression Engine, thinking that this would be the silver bullet that kills WordPress. Nada. EE is just as BADLY designed! (not just for the reasons above, but many others)</p>
<h2>2. Serializing Critical Settings</h2>
<p>PHP has a neat function called serialize(). It takes data and turns it into a string. The data can be read back in easily. This is great for many things. For example, if you have user accounts and each user has their own settings, it&#8217;s probably useful to just serialize their settings data and save it as a single string in the database.</p>
<p>Crucial site settings though, should NEVER be serialized in a database. I would go as far to say that as a rule of thumb, if the setting is crucial enough to make or break an installation of an app, it should be in a config file. This relates to my first rant as well. Many settings can be put in the database, but some settings (like paths), should just be in flat config files that can be quickly changed when moving the app.</p>
<p>I was absolutely shocked when using Expression Engine that crucial app-breaking settings like upload paths were not only stored in the database but SERIALIZED. I ended up writing a script that can move an entire installation of EE from one server to another in a single command line, and it&#8217;s really long because it had to connect to the database, unserialize the data, make modifications, re-serialize the data, write back to database.</p>
<p>It shouldn&#8217;t be this hard.</p>
<h2>My recommendation</h2>
<p>My recommendation is to follow this rule of thumb: if the setting is crucial enough to make or break an installation of an app, it should be in a config file.</p>
<p>Absolute paths like upload paths, etc. should be stored in a config file.</p>
<p>If the application needs a site-wide URL, this should be in a config file.</p>
<p>Individual asset links in the database should link to the relative location (i.e. minus the hostname.) e.g. not http://leonardteo.com/image1.jpg, but /image1.jpg instead. Even better, just store &#8216;image1.jpg&#8217; and use a configuration setting to determine what the path to that image is.</p>
<p>The litmus test should be: Tarball an application, dump the database. Copy everything to a different computer/hostname. Restore everything. If you can&#8217;t get the site up and running again without accessing and changing values in the database, fail.</p>
<h2>A practical benefit &#8211; fast deployment</h2>
<p>On a closing note, one of the benefits of running critical site settings in config files, is that you can switch configurations based on the hostname.</p>
<p>E.g. in your config file:</p>
<pre>switch ($_SERVER['SERVER_NAME']){
    case 'cgacontest.local':
        define('SITE_MODE', "LOCAL");
        break;
    case 'cgacontest.test':
        define('SITE_MODE', "TEST");
        break;
    case '3dsmaxdesign.cgarchitect.com':
        define('SITE_MODE', "LIVE");
        break;
}</pre>
<p>With the above code, we can switch between site modes and run different configurations automatically based on the hostname. This means that when it comes to deployment, I simply push any changes to the server without having to change configuration.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2011/11/my-rant-about-storing-crucial-web-app-settings-in-a-database/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launched Ballistiq Website</title>
		<link>http://www.leonardteo.com/2011/09/launched-ballistiq-website/</link>
		<comments>http://www.leonardteo.com/2011/09/launched-ballistiq-website/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 22:53:47 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=586</guid>
		<description><![CDATA[Very happy to say that we finally launched our Ballistiq website! &#160; &#160;]]></description>
			<content:encoded><![CDATA[<p>Very happy to say that we finally launched our <a href="http://www.ballistiq.com">Ballistiq website</a>!</p>
<p style="text-align: center;"><a href="http://www.ballistiq.com"><img class="aligncenter size-medium wp-image-587 colorbox-586" title="ballistiq" src="http://www.leonardteo.com/wp-content/uploads/2011/09/ballistiq-400x384.jpg" alt="" width="400" height="384" /></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2011/09/launched-ballistiq-website/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Going Ballistiq</title>
		<link>http://www.leonardteo.com/2011/04/going-ballistiq/</link>
		<comments>http://www.leonardteo.com/2011/04/going-ballistiq/#comments</comments>
		<pubDate>Tue, 12 Apr 2011 20:37:48 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=493</guid>
		<description><![CDATA[I&#8217;m happy to announce that I&#8217;ve started up a new company, Ballistiq. We are currently building web and mobile applications as consultants, while working on products that we&#8217;ll announce later this year (hopefully!). Those of you who know me will find the choice of name funny. The previous company I ran while in Australia was [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m happy to announce that I&#8217;ve started up a new company, <a href="http://www.ballistiq.com">Ballistiq</a>. We are currently building web and mobile applications as consultants, while working on products that we&#8217;ll announce later this year (hopefully!).</p>
<p>Those of you who know me will find the choice of name funny. The previous company I ran while in Australia was called &#8220;<a href="http://www.ballisticpublishing.com">Ballistic Publishing</a>&#8221; (actually it was Ballistic Media Pty Ltd). The choice of name came after weeks of searching for a short, catchy name that people could remember and where we could own the .com domain name without any suffixes (e.g. If the company name was Acme Technologies Inc. we wanted to own Acme.com). I randomly searched for Ballistiq and found the domain was available and that was it. We also did some testing and Ballistiq seemed to stick.</p>
<p>My wife Susanne was not happy with the choice of company name, &#8220;That&#8217;s like calling your dog Mollie then calling your next dog Molly.&#8221; Why yes&#8230;exactly. <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-493' />   I will mention something&#8230;of all the company names that I had come up with, &#8220;Ballistic&#8221; was the only one that my father could say properly. Thank goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2011/04/going-ballistiq/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Undercover Boss Episode with David Kim</title>
		<link>http://www.leonardteo.com/2011/04/undercover-boss-episode-with-david-kim/</link>
		<comments>http://www.leonardteo.com/2011/04/undercover-boss-episode-with-david-kim/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 16:26:04 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[God Stuff]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=489</guid>
		<description><![CDATA[Man&#8230;last night&#8217;s episode of Undercover Boss was amazing! The boss in that episode was David Kim, CEO of Baja Fresh. What was totally unexpected was that David is a Christian, and that his faith is integral to him. CBS didn&#8217;t shy away at all from showing David praying with his family, and then with an [...]]]></description>
			<content:encoded><![CDATA[<p>Man&#8230;last night&#8217;s episode of <a href="http://www.cbs.com/primetime/undercover_boss/">Undercover Boss</a> was amazing! The boss in that episode was <a href="http://www.davidkimignite.com/">David Kim</a>, CEO of Baja Fresh. What was totally unexpected was that David is a Christian, and that his faith is integral to him. CBS didn&#8217;t shy away at all from showing David praying with his family, and then with an employee (also a Christian) who was going through some hardships, then in a small Baptist church when he breaks down and humbles himself before God. The episode was an emotional roller coaster as it talked about David&#8217;s own struggles at home with his ailing father, and experiencing first-hand the struggles of his staff at Baja Fresh. Not a single negative comment on the <a href="http://www.facebook.com/UndercoverBossCBS">Undercover Boss Facebook page</a>.</p>
<p><a href="http://www.leonardteo.com/2011/04/undercover-boss-episode-with-david-kim/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2011/04/undercover-boss-episode-with-david-kim/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dilbert on Industry Experience</title>
		<link>http://www.leonardteo.com/2010/12/dilbert-on-industry-experience/</link>
		<comments>http://www.leonardteo.com/2010/12/dilbert-on-industry-experience/#comments</comments>
		<pubDate>Mon, 27 Dec 2010 13:39:51 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Nerdicious]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=450</guid>
		<description><![CDATA[I love Dilbert.]]></description>
			<content:encoded><![CDATA[<p>I love Dilbert. <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-450' /> </p>
<p><img class="alignnone size-full wp-image-451 colorbox-450" title="108771.strip.print" src="http://www.leonardteo.com/wp-content/uploads/2010/12/108771.strip_.print_.gif" alt="" width="560" height="174" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/12/dilbert-on-industry-experience/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Montreal International Game Summit video</title>
		<link>http://www.leonardteo.com/2010/12/random_appearances/</link>
		<comments>http://www.leonardteo.com/2010/12/random_appearances/#comments</comments>
		<pubDate>Fri, 24 Dec 2010 16:30:19 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=418</guid>
		<description><![CDATA[Rather random, but when I was visiting the Montreal International Game Summit, I was asked for an interview with the folks at Autodesk for their student challenge. The student challenge itself was pretty cool. Basically, put a bunch of students together, give them a really tight deadline for a project and watch them work like [...]]]></description>
			<content:encoded><![CDATA[<p>Rather random, but when I was visiting the Montreal International Game Summit, I was asked for an interview with the folks at Autodesk for their student challenge. The student challenge itself was pretty cool. Basically, put a bunch of students together, give them a really tight deadline for a project and watch them work like crazy. The results were pretty good. Anyway&#8230;here&#8217;s the video&#8230;</p>
<p><a href="http://www.leonardteo.com/2010/12/random_appearances/"><em>Click here to view the embedded video.</em></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/12/random_appearances/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://area.autodesk.com/userdata/static/3dec10/Migs_final_405.flv" length="54499593" type="video/x-flv" />
		</item>
		<item>
		<title>OpenGL texturing</title>
		<link>http://www.leonardteo.com/2010/10/opengl-texturing/</link>
		<comments>http://www.leonardteo.com/2010/10/opengl-texturing/#comments</comments>
		<pubDate>Mon, 04 Oct 2010 15:29:59 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Computer Graphics]]></category>
		<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=341</guid>
		<description><![CDATA[I continued working on my OBJ viewer application on the weekend and made a lot of improvements including texturing. Here are some pictures of models from various 3D World magazine discs. To my chagrin, all the good quality &#8220;free&#8221; 3D models I could readily find were of military vehicles. Pretty much all the models had [...]]]></description>
			<content:encoded><![CDATA[<p>I continued working on my OBJ viewer application on the weekend and made a lot of improvements including texturing. Here are some pictures of models from various 3D World magazine discs. To my chagrin, all the good quality &#8220;free&#8221; 3D models I could readily find were of military vehicles.</p>
<p>Pretty much all the models had to be &#8220;normalized&#8221; in some way by importing the original 3ds into 3ds Max, then exporting it as an FBX. Opening the FBX in Maya, fixing the size and orientation, making sure that the UV&#8217;s were correct by applying the materials (my program currently only supports bitmaps, so the texture needed to be re-exported as a bitmap file). Finally, the model was triangulated (if needed) and exported as an OBJ.</p>
<div id="attachment_344" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/texturing.jpg"><img class="size-medium wp-image-344 colorbox-341" title="texturing" src="http://www.leonardteo.com/wp-content/uploads/2010/10/texturing-400x225.jpg" alt="" width="400" height="225" /></a><p class="wp-caption-text">First test - M1 Abrams tank OBJ</p></div>
<p style="text-align: center;"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/m1abrams.jpg"></a></p>
<div id="attachment_343" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/m1abrams.jpg"><img class="size-medium wp-image-343 colorbox-341" title="m1abrams" src="http://www.leonardteo.com/wp-content/uploads/2010/10/m1abrams-400x225.jpg" alt="" width="400" height="225" /></a><p class="wp-caption-text">M1 Abrams tank model from 3DM3</p></div>
<div id="attachment_345" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/uhtiger.jpg"><img class="size-medium wp-image-345 colorbox-341" title="uhtiger" src="http://www.leonardteo.com/wp-content/uploads/2010/10/uhtiger-400x225.jpg" alt="" width="400" height="225" /></a><p class="wp-caption-text">UH Tiger model from Falling Pixel</p></div>
<div id="attachment_342" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/humvee.jpg"><img class="size-medium wp-image-342 colorbox-341" title="humvee" src="http://www.leonardteo.com/wp-content/uploads/2010/10/humvee-400x225.jpg" alt="" width="400" height="225" /></a><p class="wp-caption-text">Humvee model from Blue Brain 3D</p></div>
<div id="attachment_346" class="wp-caption aligncenter" style="width: 410px"><a href="http://www.leonardteo.com/wp-content/uploads/2010/10/ussoldier.jpg"><img class="size-medium wp-image-346 colorbox-341" title="ussoldier" src="http://www.leonardteo.com/wp-content/uploads/2010/10/ussoldier-400x225.jpg" alt="" width="400" height="225" /></a><p class="wp-caption-text">US Soldier model from Blue Brain 3D</p></div>
<p style="text-align: center;">
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/10/opengl-texturing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dilbert on Marketing</title>
		<link>http://www.leonardteo.com/2010/10/dilbert-on-marketing/</link>
		<comments>http://www.leonardteo.com/2010/10/dilbert-on-marketing/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 16:54:44 +0000</pubDate>
		<dc:creator>Leo</dc:creator>
				<category><![CDATA[Rambling]]></category>

		<guid isPermaLink="false">http://www.leonardteo.com/?p=338</guid>
		<description><![CDATA[After working for a couple of larg&#8217;ish publicly listed companies, I&#8217;ve grown to love Dilbert. Today&#8217;s hit the spot.]]></description>
			<content:encoded><![CDATA[<p>After working for a couple of larg&#8217;ish publicly listed companies, I&#8217;ve grown to love Dilbert. Today&#8217;s hit the spot. <img src='http://www.leonardteo.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley colorbox-338' /> </p>
<p><img class="aligncenter size-full wp-image-339 colorbox-338" title="dilbert_marketing" src="http://www.leonardteo.com/wp-content/uploads/2010/10/dilbert_marketing.gif" alt="" width="560" height="174" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.leonardteo.com/2010/10/dilbert-on-marketing/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

