<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0"> <channel><title>selfcontained</title> <link>http://www.selfcontained.us</link> <description>web-development</description> <lastBuildDate>Sat, 09 Jul 2011 03:47:04 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/selfcontained" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="selfcontained" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item><title>markdown.me</title><link>http://www.selfcontained.us/2011/07/08/markdown-me/</link> <comments>http://www.selfcontained.us/2011/07/08/markdown-me/#comments</comments> <pubDate>Sat, 09 Jul 2011 03:47:04 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[markdown]]></category> <category><![CDATA[mongodb]]></category> <category><![CDATA[php]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=285</guid> <description><![CDATA[Markdown, a great shorthand syntax for creating HTML, and subsequently, for taking notes. I often take notes for different situations and use the Markdown syntax to help give them structure and organization. One thing I found I often wanted was a way to enter that Markdown somewhere, and have it generate an HTML page from [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://daringfireball.net/projects/markdown/">Markdown</a>, a great shorthand syntax for creating HTML, and subsequently, for taking notes.  I often take notes for different situations and use the Markdown syntax to help give them structure and organization.  One thing I found I often wanted was a way to enter that Markdown somewhere, and have it generate an HTML page from it, with a permalink so I could share it or access it later.  The <a
href="http://daringfireball.net/projects/markdown/dingus">Markdown dingus</a> provides a great UI for testing out HTML conversion, but doesn&#8217;t provide any persistence, so I threw together a pretty quick site that fit my needs.</p><p><a
href="http://markdown.me">markdown.me</a></p><p>It&#8217;s pretty basic, but you can throw in your Markdown and you end up with a unique url you can share with the generated HTML.   I was too lazy to add a full-blown account registration layer to organize and manage your documents, but did add Facebook login so you can do that if desired.  Perhaps I&#8217;ll add other forms of login if anyone else ends up using it.  Anything you put on there is public as well, for now. Here&#8217;s the permalink to some notes I took at this year&#8217;s Velocity Conference &#8211; <a
href="http://markdown.me/4dfcfc5ec4fee0367a000000">http://markdown.me/4dfcfc5ec4fee0367a000000</a></p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/07/08/markdown-me/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>PHPUnit, Mocks and Closures</title><link>http://www.selfcontained.us/2011/05/28/phpunit-mocks-and-closures/</link> <comments>http://www.selfcontained.us/2011/05/28/phpunit-mocks-and-closures/#comments</comments> <pubDate>Sun, 29 May 2011 01:41:09 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[closures]]></category> <category><![CDATA[mocks]]></category> <category><![CDATA[php]]></category> <category><![CDATA[testing]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=276</guid> <description><![CDATA[I like PHPUnit, and I like closures, but haven&#8217;t found many useful cases for them (closures) in PHP yet. Just recently I came across a situation where I needed a closure when working with PHPUnit Mock objects. For those not familiar with Mock Objects in regards to testing, here&#8217;s a link. It&#8217;s fairly common when [...]]]></description> <content:encoded><![CDATA[<p>I like <a
href="http://www.phpunit.de/manual/3.6/en/index.html">PHPUnit</a>, and I like <a
href="http://us3.php.net/manual/en/functions.anonymous.php">closures</a>, but haven&#8217;t found many useful cases for them (closures) in PHP yet.  Just recently I came across a situation where I needed a closure when working with PHPUnit Mock objects.  For those not familiar with Mock Objects in regards to testing, <a
href="http://www.phpunit.de/manual/3.6/en/test-doubles.html#test-doubles.mock-objects">here&#8217;s a link</a>.  It&#8217;s fairly common when creating a mock object for testing to specify what a function is expected to be called with, and what it will return in that case.  Below I&#8217;m creating a mock &#8216;User&#8217; object that will return 18 for the age however many times it is called.</p><pre class="brush: php; title: ; notranslate">
class UserTest extends PHPUnit_Framework_TestCase{
	public function testGetAge() {
		$user = $this-&gt;getMock('User', array('getAge'))
			-&gt;expects($this-&gt;any())
			-&gt;method('getAge')
			-&gt;will($this-&gt;returnValue(18));
		$this-&gt;assertTrue($user-&gt;getAge(), 18);
	}
}
</pre><p>This is a pretty straight forward example of Mocks, but what happens when the value you want to return is dependent on the value it is called with, and there is some logic required to process this?  This is where closures come in handy.  Let&#8217;s say you have a dynamic array you&#8217;ve built up, and you want to return true if a particular function, <strong>hasValue</strong> is called with a value that exists in that array.  Here&#8217;s how you can do it with <strong>Mocks</strong> and <strong>closures</strong>, using the <strong>returnCallback</strong> functionality of PHPUnit:</p><pre class="brush: php; title: ; notranslate">
&lt;?php
class UserTest extends PHPUnit_Framework_TestCase{
	public function testInArray() {
		$values = array(1,10,78,30);
		$user = $this-&gt;getMock('User', array('hasValue'))
			-&gt;expects($this-&gt;any())
			-&gt;method('hasValue')
			-&gt;with($this-&gt;anything())
			-&gt;will($this-&gt;returnCallback(function($value) use ($values){
				return in_array($value, $values);
			}));
		$this-&gt;assertTrue($user-&gt;hasValue(10));
		$this-&gt;assertTrue($user-&gt;hasValue(99) == false);
	}
}
</pre><p>When I call <strong>hasValue</strong>, passing in 10, we&#8217;ll get true, and with 99 it&#8217;s false.  This is checked at runtime when the closure is executed, checking against the <strong>$values</strong> array.  Also, stay away from <a
href="http://canvasrider.com/tracks/featured">Canvas Ride</a>, it&#8217;s dangerously addictive.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/05/28/phpunit-mocks-and-closures/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PHP and an abstract Singleton</title><link>http://www.selfcontained.us/2011/04/20/php-and-an-abstract-singleton/</link> <comments>http://www.selfcontained.us/2011/04/20/php-and-an-abstract-singleton/#comments</comments> <pubDate>Thu, 21 Apr 2011 02:00:55 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[php]]></category> <category><![CDATA[singleton]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=268</guid> <description><![CDATA[PHP is quirky. I&#8217;ve heard it called other things, but I&#8217;ll leave it at that. I had a great learning experience while writing an abstract singleton class. Static binding in PHP behaves uniquely, and is often a hurdle when you try and develop an kind of an API using inheritance and static properties. If you [...]]]></description> <content:encoded><![CDATA[<p>PHP is quirky.  I&#8217;ve heard it called other things, but I&#8217;ll leave it at that.  I had a great learning experience while writing an abstract singleton class.  Static binding in PHP behaves uniquely, and is often a hurdle when you try and develop an kind of an API using inheritance and static properties.  If you aren&#8217;t familiar with static binding in PHP, <a
href="http://us3.php.net/lsb">read the doc on late static binding</a> and it will give you a good overview.  This issue came up while creating an abstract singleton class.</p><p>Let me explain by example.  Here&#8217;s my first pass at a simple abstract singleton class that I could theoretically extend from other classes, and just pick up &#8220;singleton&#8221; behavior.  Disclaimer!!! Don&#8217;t use this class, it doesn&#8217;t work!</p><pre class="brush: php; title: ; notranslate">
abstract class Singleton {
	private static $instance = null;
	final public static function getInstance() {
		if(static::$instance === null) {
			static::$instance = new static();
		}
		return static::$instance;
	}
	protected function __construct() { }
}
</pre><p>This worked, initially, until I created two classes that extended <em>Singleton</em> and found the second one I called behaved remarkably like the first one.</p><pre class="brush: php; title: ; notranslate">
class FirstSingleton extends Singleton {
...
}
class SecondSingleton extends Singleton {
...
}
</pre><p>Any calls to <em>SecondSingleton::getInstace()</em> were really just returning the <em>FirstSingleton</em> instance.  Since the <em>private static $instance</em> property is delcared on the abstract <em>Singleton</em> class, there was really just one <em>$instance</em> being stored across calls to <em>getInstance()</em> from various subclasses.  PHP doesn&#8217;t bind the <em>$instance</em> property to the called class, it is bound to the class where it is declared, <em>Singleton</em> in this case.  You <em>could</em> declare the <em>$instance</em> property on all classes that extend <em>Singleton</em>, but that is defeating the point of the abstract class.  Here&#8217;s round two, which does work, but I have mixed feelings about:</p><pre class="brush: php; title: ; notranslate">
abstract class Singleton {
	private static $instances;
	final public static function getInstance() {
		$className = get_called_class();
		if(isset(self::$instances[$className]) == false) {
			self::$instances[$className] = new static();
		}
		return self::$instances[$className];
	}
	protected function  __construct() { }
}
</pre><p>The change here is that instead of storing a single <em>$instance</em> property on the abstract <em>Singleton</em> class, we&#8217;re storing an array of instances, indexed by the class name of the called class.  It behaves as expected, but the code isn&#8217;t as clear or clean as I would have hoped it would be.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/04/20/php-and-an-abstract-singleton/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Review: Yahoo! User Interface Library 2.x Cookbook</title><link>http://www.selfcontained.us/2011/04/20/review-yahoo-user-interface-library-2-x-cookbook/</link> <comments>http://www.selfcontained.us/2011/04/20/review-yahoo-user-interface-library-2-x-cookbook/#comments</comments> <pubDate>Wed, 20 Apr 2011 20:12:15 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[yui]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=264</guid> <description><![CDATA[I&#8217;ve had some time to really dig in to Matt Snider&#8217;s latest book, Yahoo! User Interface Library 2.x Cookbook, and have some great things to say about it. I wanted to take a different approach to reading and reviewing this book, and hopefully it proves helpful to readers. I&#8217;ve been working on whoopdwhoop.com in my [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve had some time to really dig in to Matt Snider&#8217;s latest book, Yahoo! User Interface Library 2.x Cookbook, and have some great things to say about it.  I wanted to take a different approach to reading and reviewing this book, and hopefully it proves helpful to readers.  I&#8217;ve been working on whoopdwhoop.com in my free time a lot lately, and normally as I&#8217;m developing front-end code using YUI, I reference their online documentation (which is pretty good IMO) when I have questions.  I decided to just rely on this book for the past few weeks to really see how useful it was as a reference while developing.  In short, it has been a great development companion.  Let me explain&#8230;<br
/> I was working on adding some DataTable functionality for a client&#8217;s site, and found the chapter in Matt&#8217;s book to provide great examples and explanations for getting it going relatively quickly.  He lays out multiple use cases for the DataTable, as he does so with just about all of the chapters, and that wide coverage provides great reference as I found each example provided additional insight into how to use the particular component of the YUI library.  I think this approach will be a great way for beginners to ramp up to using the library, as they start fairly vanilla and basic, but as you progress the more advanced use cases and features are discussed.  For a developer that is more familiar with the basics, they will quickly learn to jump a few sections in to each chapter to get to the meat of what they want to learn.</p><p>That&#8217;s one example of how I found the book to be helpful in practice.  If you want a solid picture of how you will work with YUI, this book is great.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/04/20/review-yahoo-user-interface-library-2-x-cookbook/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Awaiting Yahoo! User Interface Library 2.x Cookbook</title><link>http://www.selfcontained.us/2011/02/28/awaiting-yahoo-user-interface-library-2-x-cookbook/</link> <comments>http://www.selfcontained.us/2011/02/28/awaiting-yahoo-user-interface-library-2-x-cookbook/#comments</comments> <pubDate>Tue, 01 Mar 2011 02:00:31 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[yui]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=256</guid> <description><![CDATA[It&#8217;s been out for awhile now, but I&#8217;ve got a copy of &#8220;Yahoo! User Interface Library 2.x Cookbook&#8221; by Matt Snider on it&#8217;s way. I&#8217;m excited to give it a read, Matt definitely knows the YUI Library from his work on Mint.]]></description> <content:encoded><![CDATA[<p><a
href="http://www.selfcontained.us/wp-content/uploads/2011/02/1629OS_MockupCover_Cookbook_2.jpg"><img
src="http://www.selfcontained.us/wp-content/uploads/2011/02/1629OS_MockupCover_Cookbook_2-243x300.jpg" alt="" title="1629OS_MockupCover_Cookbook_2" width="243" height="300" class="alignnone size-medium wp-image-257" /></a></p><p>It&#8217;s been out for awhile now, but I&#8217;ve got a copy of &#8220;<a
href="https://www.packtpub.com/yahoo-user-interface-library-2-x-cookbook/book">Yahoo! User Interface Library 2.x Cookbook</a>&#8221; by <a
href="http://mattsnider.com/">Matt Snider</a> on it&#8217;s way. I&#8217;m excited to give it a read, Matt definitely knows the YUI Library from his work on <a
href="http://www.mint.com/">Mint</a>.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/02/28/awaiting-yahoo-user-interface-library-2-x-cookbook/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Latest Endeavor: whoopdwhoop.com</title><link>http://www.selfcontained.us/2011/01/23/latest-endeavor-whoopdwhoop-com/</link> <comments>http://www.selfcontained.us/2011/01/23/latest-endeavor-whoopdwhoop-com/#comments</comments> <pubDate>Mon, 24 Jan 2011 05:53:16 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[doctrine]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[minify]]></category> <category><![CDATA[php]]></category> <category><![CDATA[yui]]></category> <category><![CDATA[zend]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=249</guid> <description><![CDATA[My wife and I have been chugging away on a new endeavor for awhile, and we finally got to a point where we could launch it live. In short, it&#8217;s a currency free, creative marketplace, and it&#8217;s called whoopdwhoop.com It gives &#8220;artisans&#8221;, or crafty people, a place to list their creations, and hopefully, a community [...]]]></description> <content:encoded><![CDATA[<p><a
href="http://whoopdwhoop.com"><img
src="http://www.selfcontained.us/wp-content/uploads/2011/01/whoopdwhoop-logo-300x53.png" alt="" title="whoopdwhoop-logo" width="300" height="53" class="alignnone size-medium wp-image-251" /></a><br
/> My wife and I have been chugging away on a new endeavor for awhile, and we finally got to a point where we could launch it live.  In short, it&#8217;s a currency free, creative marketplace, and it&#8217;s called <a
href="http://whoopdwhoop.com">whoopdwhoop.com</a> It gives &#8220;artisans&#8221;, or crafty people, a place to list their creations, and hopefully, a community where they can swap their creations with others all without exchanging any currency.  This is facilitated through a pretty simple &#8220;whoop&#8221; (read point) based system.  As people request a creation from someone, they pay them in &#8220;whoops&#8221;, and then that person can use those &#8220;whoops&#8221; to request other creations.  We haven&#8217;t pushed much of a marketing campaign at it yet, in hopes to gauge initial feedback before doing so, and fix or improve whatever came up.  We&#8217;ve done a fair amount of that so far, and are pretty happy with it&#8217;s current state.  Needless to say, we can&#8217;t speak to if it will catch on and be the start of a thriving community, we&#8217;ll have to wait and see.</p><p>While I don&#8217;t think the majority of my blog&#8217;s reader-base would be interested in using the site itself, I wanted to make a quick post to point out how the development of it has gone, which will hopefully be of more interest to those reading.</p><p>I built the site in about 4 or 5 months of actual heads-down, after-hours work.  I have a day job, so this is just something I&#8217;ve spent nights and weekends putting time into.  It&#8217;s built on <a
href="http://zendframework.com/">Zend Framework</a> MVC, which I absolutely love.  The UI is enhanced through YUI, which is another favorite library of mine.  The database is MySQL, and I&#8217;m also using <a
href="http://www.doctrine-project.org/">Doctrine ORM</a>.</p><p>Zend Framework and Doctrine, in my mind, are a great marriage of libraries.  Zend handles everything I&#8217;ve needed from an MVC, with the additional benefits of providing out-of-the-box API&#8217;s for things like ACL, Auth, Caching, Emails and Logging.  Doctrine does a great job at providing a stable and solid ORM, and a great means of managing updates through a simple migration strategy.  The best part about finding a solid framework you enjoy working with, is you eventually end up with a great set of features you&#8217;ve built that can be dropped in to any project, giving you quite the head-start.  When I started ( which was actually over a year ago, my motivation comes in spurts), Doctrine 2 was in development, but wasn&#8217;t where it is now.  I like the concept they&#8217;ve taken with the new version, but currently I&#8217;m using their 1.x version.</p><p>YUI is being used pretty sparingly right now.  I think the only modules being used currently are containers for the dialogs, buttons, and menu.  I need to give a shout out to the <a
href="http://code.google.com/p/minify/">Minify</a> library as well, which is handling the JS/CSS minification quite nicely.</p><p>I have some follow-up posts I plan on writing to go into more detail on some of the items and techniques I used in regards to things like Caching, but until I&#8217;ve had more of a chance to put the site through a ringer, I&#8217;ll hold off.  Anyways, if you&#8217;re building a new site, looking for frameworks, I highly recommend everything I mentioned above.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2011/01/23/latest-endeavor-whoopdwhoop-com/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>?: PHP Coalesce</title><link>http://www.selfcontained.us/2010/11/30/php-coalesce/</link> <comments>http://www.selfcontained.us/2010/11/30/php-coalesce/#comments</comments> <pubDate>Wed, 01 Dec 2010 01:30:00 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[php]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=229</guid> <description><![CDATA[I&#8217;ve often been a fan of Javascript&#8217;s way of using the logical OR operator as a coalescing operator, or way to default values. It&#8217;s a very handy operator for shortening ternary expressions. I just found out in PHP 5.3 they added an operator to do just that. ?: That&#8217;s all, carry on. http://www.php.net/ChangeLog-5.php#5.3.0]]></description> <content:encoded><![CDATA[<p>I&#8217;ve often been a fan of Javascript&#8217;s way of using the logical OR operator as a coalescing operator, or way to default values.  It&#8217;s a very handy operator for shortening ternary expressions.</p><pre class="brush: jscript; title: ; notranslate">var myValue = someOtherValue || true;</pre><p>I just found out in PHP 5.3 they added an operator to do just that. <strong>?:</strong></p><pre class="brush: php; title: ; notranslate">$myValue = $someOtherValue ?: true;</pre><p>That&#8217;s all, carry on.</p><p><a
href="http://www.php.net/ChangeLog-5.php#5.3.0">http://www.php.net/ChangeLog-5.php#5.3.0</a></p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2010/11/30/php-coalesce/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>YUI =&gt; jQuery?</title><link>http://www.selfcontained.us/2010/11/19/yui-jquery/</link> <comments>http://www.selfcontained.us/2010/11/19/yui-jquery/#comments</comments> <pubDate>Fri, 19 Nov 2010 21:17:26 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[jquery]]></category> <category><![CDATA[yui]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=223</guid> <description><![CDATA[Recently a question was posted on Quora, &#8220;How could YUI3 improve its image compared to jQuery, MooTools, etc.?&#8220;. John Resig, of jQuery fame, gave a great answer on his thoughts to the question. Nicholas Zakas responds with another great explanation of why he doesn&#8217;t think the comparison is needed. Both have great points, and are [...]]]></description> <content:encoded><![CDATA[<p>Recently a question was posted on Quora, &#8220;<a
href="http://www.quora.com/How-could-YUI3-improve-its-image-compared-to-jQuery-MooTools-etc/">How could YUI3 improve its image compared to jQuery, MooTools, etc.?</a>&#8220;.  John Resig, of jQuery fame, gave a great answer on his thoughts to the question. <a
href="http://www.nczonline.net/blog/2010/11/03/response-to-john-resigs-comments-about-yui/">Nicholas Zakas responds</a> with another great explanation of why he doesn&#8217;t think the comparison is needed.  Both have great points, and are worth a read if you&#8217;re actively involved with frontend engineering.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2010/11/19/yui-jquery/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Yahoo!  A New Adventure</title><link>http://www.selfcontained.us/2010/10/22/yahoo-new-adventure/</link> <comments>http://www.selfcontained.us/2010/10/22/yahoo-new-adventure/#comments</comments> <pubDate>Fri, 22 Oct 2010 16:57:11 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[associated content]]></category> <category><![CDATA[php]]></category> <category><![CDATA[yahoo]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=218</guid> <description><![CDATA[My family and I are getting ready for a new adventure in our lives. We&#8217;ll be moving to Denver where I&#8217;m super excited to go work for Yahoo! and the Associated Content team. Getting a chance to work for Yahoo, and live and work in the Denver area is the perfect culmination of opportunity and [...]]]></description> <content:encoded><![CDATA[<p>My family and I are getting ready for a new adventure in our lives.  We&#8217;ll be moving to Denver where I&#8217;m super excited to go work for <a
href="http://yahoo.com">Yahoo!</a> and the <a
href="http://associatedcontent.com">Associated Content</a> team.  Getting a chance to work for Yahoo, and live and work in the Denver area is the perfect culmination of opportunity and lifestyle that my family and I have been waiting for.  The work and product that the Associated Content team has created, and is developing is something I&#8217;m looking forward to being a part of.  With every career move come new experiences and opportunities to learn and contribute, and I&#8217;m sure this will prove the same.  On a technical note, I&#8217;ll get a chance to continue using the technologies I love, PHP, MySQL, and some HTML/CSS/Javascript goodness.  On a non-technical note, if anyone is looking for a house to buy in Rio Rancho New Mexico, I know a great one for sale!</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2010/10/22/yahoo-new-adventure/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>YUI 2.8 Learning the Library book review</title><link>http://www.selfcontained.us/2010/09/04/yui-2-8-learning-the-library-book-review/</link> <comments>http://www.selfcontained.us/2010/09/04/yui-2-8-learning-the-library-book-review/#comments</comments> <pubDate>Sat, 04 Sep 2010 22:23:40 +0000</pubDate> <dc:creator>brad</dc:creator> <category><![CDATA[Uncategorized]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[yui]]></category> <guid isPermaLink="false">http://www.selfcontained.us/?p=213</guid> <description><![CDATA[I&#8217;ve had a chance to read through the latest book on YUI, titled YUI 2.8 Learning the Library. The book was written by Daniel Barreiro and Dan Wellman, and was published by Packt Publishing. For the impatient that don&#8217;t want to read the whole review, and want to get right to the goods, here they [...]]]></description> <content:encoded><![CDATA[<p>I&#8217;ve had a chance to read through the latest book on YUI, titled <strong><a
href="https://www.packtpub.com/yahoo-user-interface-yui-2-8-learning-library/book">YUI 2.8 Learning the Library</a></strong>.  The book was written by Daniel Barreiro and Dan Wellman, and was published by Packt Publishing.  For the impatient that don&#8217;t want to read the whole review, and want to get right to the goods, here they are.  The book has great coverage of the YUI library, including all of the popular widget like Calendar, Container, Autocomplete, DataSource, DataTable and more.  If you&#8217;ren new to YUI and looking for an overage and how-to for the library, this book would serve you well.  If you&#8217;re an experienced YUI developer, you probably won&#8217;t get a whole lot out of this book that you don&#8217;t already know, or couldn&#8217;t gain through reading <a
href="http://developer.yahoo.com/yui/2/">YUI&#8217;s online examples and API</a>.</p><p>If you read through this book in it&#8217;s entirety, you&#8217;ll come to understand the main reason I love YUI, that it&#8217;s not just a collection of widgets and utilities.  This book explains the full feature set of the YUI library, and you&#8217;ll realize that it&#8217;s the perfect foundation to build on top of.  The author&#8217;s do a really great job of showing in depth examples that teach you how the components work.  I particularly liked reading the chapter on DataSource and DataTable.</p><p>If the online examples provided by YAHOO! leave you wondering how things are working, this book fills in those gaps.  Most of the book is targeted to beginners and intermediate developers.</p> ]]></content:encoded> <wfw:commentRss>http://www.selfcontained.us/2010/09/04/yui-2-8-learning-the-library-book-review/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>

