<?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>Dave Nelson</title>
	<atom:link href="http://davenelson.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://davenelson.com</link>
	<description>Photography and Book Reviews</description>
	<lastBuildDate>Tue, 21 May 2013 05:00:52 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Adobe Fireworks CS6 Classroom in a Book: The official training workbook from Adobe Systems</title>
		<link>http://davenelson.com/adobe-fireworks-cs6-classroom-in-a-book/</link>
		<comments>http://davenelson.com/adobe-fireworks-cs6-classroom-in-a-book/#comments</comments>
		<pubDate>Tue, 21 May 2013 05:00:52 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Non-Fiction]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1273</guid>
		<description><![CDATA[I read this book on O’Reilley’s Safari Books Online using personal and work laptops along with the Safari Books app on an iPad. I really like the Adobe Classroom in a Book series and have read many of them. They are great because they are based on real-world use and come with all of the &#8230; <a href="http://davenelson.com/adobe-fireworks-cs6-classroom-in-a-book/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://my.safaribooksonline.com/static/201303-7140-my/images/9780133005509/9780133005509_s.jpg" style="margin:0 0 15px 15px;float:right;">I read this book on O’Reilley’s Safari Books Online using personal and work laptops along with the Safari Books app on an iPad.</p>
<p>I really like the Adobe Classroom in a Book series and have read many of them. They are great because they are based on real-world use and come with all of the files needed to build the projects used in them.</p>
<p>Back in the day I did the Photoshop Classroom in a Book and completed all of the tutorials, followed every step, and wrote out the answers to the quizzes at the end of each chapter. Since then I pretty much just read through the book and absorb as much as I can, returning to the book when I get stuck in the project I am working on.</p>
<p>I am working with a designer that uses Fireworks to build his web site designs and was completely befuddled by Fireworks. Getting the images I needed to build a demo web site seemed incredibly hard and inefficient. So I grabbed this book and spent a couple of days reading it.</p>
<p>This book did not disappoint, it has already helped me figure out how to get the content out of Fireworks more efficiently. It still doesn’t make a lot of sense to me just how hard it is, but most of that is just how Fireworks functions and I am still not a fan of it. Fireworks is a through-back to the Macromedia days and I don’t feel like it has been updated the way it should be for modern web design. It may be a good tool for designers to build prototypes and designs to show clients, but for the people trying to implement those designs it kinda sucks.</p>
<p>One of the cool features of Fireworks I learned form the book is the creation of CSS3 properties that closely mimic the Live Filters such as drop-shadows, with some tweaking this has worked great for us and really saved a lot of time.</p>
<p>I only have one real complaint about this book, the design used in the tutorials feels very Y2K to me, it is very dated. It is not Web 2.0, responsive, or anything that I would consider &quot;modern.&quot;</p>
<p>From the publisher:</p>
<blockquote><p>Those creative professionals seeking the fastest, easiest, most comprehensive way to learn Adobe Fireworks choose Adobe Fireworks CS6 Classroom in a Book from the Adobe Creative Team. The 14 project-based lessons in this book show readers step-by-step the key techniques for working in Fireworks.</p>
<p>Readers will learn what they need to know to design and mock up Web pages or interfaces for rich Internet applications or tablet apps. In addition readers will learn how to demo a design for a client in real time, export the design as an interactive PDF, and export vector design elements as CSS3-only markup for use in websites. This edition, fully revised for CS6, covers CSS extraction using the CSS Properties panel, jQuery Mobile skinning, and sprite creation. It also includes instruction on working with the Styles panel and several new enhancements to the Properties panel, including the new color selection and gradient editing features. The companion DVD  includes lesson files so readers can work along with the book.</p></blockquote>
<p>I rate this book an 8 out of 10, anyone who needs to or wants to learn Adobe Fireworks can learn a lot from it in a short time.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/adobe-fireworks-cs6-classroom-in-a-book/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fotorama Slide Show and phpSmug</title>
		<link>http://davenelson.com/fotorama-slide-show-and-phpsmug/</link>
		<comments>http://davenelson.com/fotorama-slide-show-and-phpsmug/#comments</comments>
		<pubDate>Fri, 17 May 2013 04:00:58 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Website]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1424</guid>
		<description><![CDATA[As a part of my web site moving and redesign I wanted to include a slideshow at the top of the home page. After researching and thinking about writing one of my own I found Fotorama which is a jQuery based slideshow framework that allows for many different types of slideshows with a ton of &#8230; <a href="http://davenelson.com/fotorama-slide-show-and-phpsmug/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><div id="attachment_1440" class="wp-caption alignright" style="width: 223px"><a href="http://fotoramajs.com/"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-05-at-2.06.40-PM-213x300.png" alt="Fotorama Web Site Home Page" width="213" height="300" class="size-medium wp-image-1440" target="_blank" /></a><p class="wp-caption-text">Fotorama</p></div>As a part of my web site moving and redesign I wanted to include a slideshow at the top of the home page.</p>
<p>After researching and thinking about writing one of my own I found <a href="http://fotoramajs.com/" target="_blank">Fotorama</a> which is a jQuery based slideshow framework that allows for many different types of slideshows with a ton of options. Take a look at the website and the examples, they are amazing.</p>
<p>So I broke the process down into a handful of steps and iterated up to the dynamic slideshow that it is now.</p>
<p>The first step was getting a version running on a test page with static content hard-coded into the page. There was a bit of tweaking here and there along with coming up with the idea to have a design that resembles a new window &quot;Window&quot; with <b>Hide</b> and <b>Fullscreen</b> buttons.</p>
<p>The next step was figuring out how to dynamically get the picture URLs and Captions directly from SmugMug so that anytime I update SmugMug the slidesow on my website would also be updated. For that I chose to use phpSmug which is a wrapper class for the <a href="https://smugmug.atlassian.net/wiki/display/API/Home" target="_blank">SmugMug API</a> written and maintained by <a href="http://colinseymour.co.uk/" target="_blank">Colin Seymour</a>.</p>
<p>I ran into 2 issues with implementing phpSmug, the biggest of which was that it would randomly error out with a &quot;CURL Error 7&quot; which was causing my website to load very slowly and breaking the slideshow. I have addressed this issue by using the caching built into phpSmug combined with writing the parsed data necessary for the slideshow into a MySQL table. Anytime the SmugMug API is not available and the phpSmug cache has expired the data for the slideshow will be pulled from the database.</p>
<p>Here is the code:</p>
<pre><code>
<span style="color: #369;">&lt;?php</span><span style="color: #B29D85;">
</span><span style="color: #906;">$user</span><span style="color: #B29D85;">=</span><span style="color: #F39;">"username"</span><span style="color: #B29D85;">;
</span><span style="color: #906;">$password</span><span style="color: #B29D85;">=</span><span style="color: #F39;">"password"</span><span style="color: #B29D85;">;
</span><span style="color: #906;">$database</span><span style="color: #B29D85;">=</span><span style="color: #F39;">"database_name"</span><span style="color: #B29D85;">;
</span><span style="color: #906;">$tablename</span><span style="color: #B29D85;">=</span><span style="color: #F39;">"table_name"</span><span style="color: #B29D85;">;
</span><span style="color: #1181B7;">mysql_connect</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">localhost</span><span style="color: #B29D85;">,</span><span style="color: #906;">$user</span><span style="color: #B29D85;">,</span><span style="color: #906;">$password</span><span style="color: #B29D85;">);
@</span><span style="color: #1181B7;">mysql_select_db</span><span style="color: #B29D85;">(</span><span style="color: #906;">$database</span><span style="color: #B29D85;">)&nbsp;</span><span style="color: #00C;">or</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #00C;">die</span><span style="color: #B29D85;">(&nbsp;</span><span style="color: #F39;">"Unable&nbsp;to&nbsp;select&nbsp;database"</span><span style="color: #B29D85;">);
</span><span style="color: #555;">/*&nbsp;Last&nbsp;updated&nbsp;with&nbsp;phpSmug&nbsp;3.0&nbsp;*/</span><span style="color: #B29D85;">
</span><span style="color: #00C;">require_once</span><span style="color: #B29D85;">(&nbsp;</span><span style="color: #F39;">"/path/to/phpSmug.php"</span><span style="color: #B29D85;">&nbsp;);
</span><span style="color: #00C;">try</span><span style="color: #B29D85;">&nbsp;{
&nbsp;&nbsp;</span><span style="color: #906;">$code</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #F39;">"SmugMug&nbsp;API"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;My&nbsp;API&nbsp;Key&nbsp;and&nbsp;App&nbsp;Name&nbsp;from&nbsp;SmugMug&nbsp;Admin&nbsp;Panel
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #00C;">new</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">phpSmug</span><span style="color: #B29D85;">(&nbsp;</span><span style="color: #F39;">"APIKey=api_key"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"AppName=app_name_and_version"</span><span style="color: #B29D85;">&nbsp;);
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Enable&nbsp;disk&nbsp;based&nbsp;caching&nbsp;with&nbsp;expires&nbsp;in&nbsp;1&nbsp;hour
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">enableCache</span><span style="color: #B29D85;">(</span><span style="color: #F39;">"type=fs"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"cache_dir=/path/to/phpsmugcache"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"cache_expire=3600"</span><span style="color: #B29D85;">&nbsp;);
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Set&nbsp;timeout
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">req</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">setConfig</span><span style="color: #B29D85;">(</span><span style="color: #00C;">array</span><span style="color: #B29D85;">(&nbsp;</span><span style="color: #F39;">'timeout'</span><span style="color: #B29D85;">&nbsp;=&gt;&nbsp;</span><span style="color: #369;">2</span><span style="color: #B29D85;">));
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Login&nbsp;Anonymously
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">login</span><span style="color: #B29D85;">();
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Get&nbsp;images&nbsp;from&nbsp;Portfolio
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$images</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">images_get</span><span style="color: #B29D85;">(&nbsp;</span><span style="color: #F39;">"AlbumID=album_id"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"AlbumKey=album_key"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"Heavy=1"</span><span style="color: #B29D85;">&nbsp;);
&nbsp;&nbsp;</span><span style="color: #906;">$images</span><span style="color: #B29D85;">&nbsp;=&nbsp;(&nbsp;</span><span style="color: #906;">$f</span><span style="color: #B29D85;">-&gt;</span><span style="color: #B29D85;">APIVer</span><span style="color: #B29D85;">&nbsp;==&nbsp;</span><span style="color: #F39;">"1.2.2"</span><span style="color: #B29D85;">&nbsp;)&nbsp;?&nbsp;</span><span style="color: #906;">$images</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'Images'</span><span style="color: #B29D85;">]&nbsp;:&nbsp;</span><span style="color: #906;">$images</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #906;">$i</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #369;">0</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #00C;">foreach</span><span style="color: #B29D85;">&nbsp;(&nbsp;</span><span style="color: #906;">$images</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #00C;">as</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #906;">$image</span><span style="color: #B29D85;">&nbsp;)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #906;">$i</span><span style="color: #B29D85;">&nbsp;!=&nbsp;</span><span style="color: #369;">0</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$query</span><span style="color: #B29D85;">&nbsp;.=&nbsp;&nbsp;</span><span style="color: #F39;">",\n"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$output</span><span style="color: #B29D85;">&nbsp;.=&nbsp;&nbsp;</span><span style="color: #F39;">",\n"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$i</span><span style="color: #B29D85;">++;
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Create&nbsp;SQL&nbsp;String
</span><span style="color: #B29D85;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$query</span><span style="color: #B29D85;">&nbsp;.=&nbsp;</span><span style="color: #F39;">"('','"</span><span style="color: #B29D85;">.</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'X2LargeURL'</span><span style="color: #B29D85;">].</span><span style="color: #F39;">"','"</span><span style="color: #B29D85;">.</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'TinyURL'</span><span style="color: #B29D85;">].</span><span style="color: #F39;">"','"</span><span style="color: #B29D85;">.</span><span style="color: #1181B7;">htmlentities</span><span style="color: #B29D85;">(</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'Caption'</span><span style="color: #B29D85;">],</span><span style="color: #1181B7;">ENT_QUOTES</span><span style="color: #B29D85;">).</span><span style="color: #F39;">"')"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$output</span><span style="color: #B29D85;">&nbsp;.=&nbsp;</span><span style="color: #F39;">"{img:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'X2LargeURL'</span><span style="color: #B29D85;">].</span><span style="color: #F39;">"\",&nbsp;thumb:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'TinyURL'</span><span style="color: #B29D85;">].</span><span style="color: #F39;">"\",&nbsp;caption:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #1181B7;">htmlentities</span><span style="color: #B29D85;">(</span><span style="color: #906;">$image</span><span style="color: #B29D85;">[</span><span style="color: #F39;">'Caption'</span><span style="color: #B29D85;">]).</span><span style="color: #F39;">"\"}"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;}
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Empty&nbsp;Out&nbsp;Table
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #1181B7;">mysql_query</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'TRUNCATE&nbsp;TABLE&nbsp;'</span><span style="color: #B29D85;">.</span><span style="color: #906;">$tablename</span><span style="color: #B29D85;">)&nbsp;</span><span style="color: #00C;">or</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #00C;">die</span><span style="color: #B29D85;">(</span><span style="color: #1181B7;">mysql_error</span><span style="color: #B29D85;">());
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Populate&nbsp;Table
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #1181B7;">mysql_query</span><span style="color: #B29D85;">(</span><span style="color: #F39;">"INSERT&nbsp;INTO&nbsp;cache&nbsp;(`id`,&nbsp;`x2largeurl`,&nbsp;`tinyurl`,&nbsp;`caption`)&nbsp;VALUES&nbsp;"</span><span style="color: #B29D85;">.</span><span style="color: #906;">$query</span><span style="color: #B29D85;">);
}&nbsp;</span><span style="color: #00C;">catch</span><span style="color: #B29D85;">&nbsp;(&nbsp;</span><span style="color: #1181B7;">Exception</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #906;">$e</span><span style="color: #B29D85;">&nbsp;)&nbsp;{
&nbsp;&nbsp;</span><span style="color: #906;">$code</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #F39;">"{$e-&gt;getMessage()}&nbsp;(Error&nbsp;Code:&nbsp;{$e-&gt;getCode()})"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #555;">//Read&nbsp;from&nbsp;Database
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #906;">$query</span><span style="color: #B29D85;">=</span><span style="color: #F39;">"SELECT&nbsp;*&nbsp;FROM&nbsp;"</span><span style="color: #B29D85;">.</span><span style="color: #906;">$tablename</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #906;">$result</span><span style="color: #B29D85;">=</span><span style="color: #1181B7;">mysql_query</span><span style="color: #B29D85;">(</span><span style="color: #906;">$query</span><span style="color: #B29D85;">);
&nbsp;&nbsp;</span><span style="color: #906;">$num</span><span style="color: #B29D85;">=</span><span style="color: #1181B7;">mysql_numrows</span><span style="color: #B29D85;">(</span><span style="color: #906;">$result</span><span style="color: #B29D85;">);
&nbsp;&nbsp;</span><span style="color: #906;">$i</span><span style="color: #B29D85;">=</span><span style="color: #369;">0</span><span style="color: #B29D85;">;
&nbsp;&nbsp;</span><span style="color: #00C;">while</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #906;">$i</span><span style="color: #B29D85;">&nbsp;&lt;&nbsp;</span><span style="color: #906;">$num</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$X2LargeURL</span><span style="color: #B29D85;">=</span><span style="color: #1181B7;">mysql_result</span><span style="color: #B29D85;">(</span><span style="color: #906;">$result</span><span style="color: #B29D85;">,</span><span style="color: #906;">$i</span><span style="color: #B29D85;">,</span><span style="color: #F39;">"x2largeurl"</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$TinyURL</span><span style="color: #B29D85;">=</span><span style="color: #1181B7;">mysql_result</span><span style="color: #B29D85;">(</span><span style="color: #906;">$result</span><span style="color: #B29D85;">,</span><span style="color: #906;">$i</span><span style="color: #B29D85;">,</span><span style="color: #F39;">"tinyurl"</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$Caption</span><span style="color: #B29D85;">=</span><span style="color: #1181B7;">mysql_result</span><span style="color: #B29D85;">(</span><span style="color: #906;">$result</span><span style="color: #B29D85;">,</span><span style="color: #906;">$i</span><span style="color: #B29D85;">,</span><span style="color: #F39;">"caption"</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #906;">$i</span><span style="color: #B29D85;">&nbsp;!=&nbsp;</span><span style="color: #369;">0</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$output</span><span style="color: #B29D85;">&nbsp;.=&nbsp;&nbsp;</span><span style="color: #F39;">",\n"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$i</span><span style="color: #B29D85;">++;
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Create&nbsp;SQL&nbsp;String
</span><span style="color: #B29D85;">&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #906;">$output</span><span style="color: #B29D85;">&nbsp;.=&nbsp;</span><span style="color: #F39;">"{img:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #906;">$X2LargeURL</span><span style="color: #B29D85;">.</span><span style="color: #F39;">"\",&nbsp;thumb:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #906;">$TinyURL</span><span style="color: #B29D85;">.</span><span style="color: #F39;">"\",&nbsp;caption:&nbsp;\""</span><span style="color: #B29D85;">.</span><span style="color: #906;">$Caption</span><span style="color: #B29D85;">.</span><span style="color: #F39;">"\"}"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;}
}
</span><span style="color: #1181B7;">mysql_close</span><span style="color: #B29D85;">();
</span><span style="color: #369;">?&gt;</span><span style="color: #B29D85;">
</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">document</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">ready</span><span style="color: #B29D85;">(</span><span style="color: #00C;">function</span><span style="color: #B29D85;">(){
&nbsp;&nbsp;</span><span style="color: #00C;">try</span><span style="color: #B29D85;">&nbsp;{&nbsp;</span><span style="color: #B29D85;">console</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">log</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'code:&nbsp;&lt;?php&nbsp;echo&nbsp;$code&nbsp;?&gt;'</span><span style="color: #B29D85;">);&nbsp;}&nbsp;</span><span style="color: #00C;">catch</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">err</span><span style="color: #B29D85;">)&nbsp;{&nbsp;}
&nbsp;&nbsp;</span><span style="color: #555;">//&nbsp;Load&nbsp;Fotorama.js&nbsp;script
</span><span style="color: #B29D85;">&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">getScript</span><span style="color: #B29D85;">(</span><span style="color: #F39;">"/scripts/fotorama.js"</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">(){
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">var</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioBuildFlag</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#main'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">prepend</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'&lt;article&nbsp;class="fotoramaWrapper"&gt;&lt;div&nbsp;class="portfolioHeader&nbsp;gradient"&gt;Dave&nbsp;Nelson&apos;s&nbsp;Portfolio&nbsp;&lt;div&gt;&lt;span&nbsp;id="portfolioHide"&gt;[&nbsp;Hide&nbsp;]&lt;/span&gt;&nbsp;&lt;span&nbsp;id="portfolioFullScreen"&gt;[&nbsp;Fullscreen&nbsp;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&nbsp;id="myPortfolio"&gt;&lt;/div&gt;&lt;/article&gt;'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#portfolioHide'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">on</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'click'</span><span style="color: #B29D85;">,</span><span style="color: #B29D85;">portfolioToggle</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#portfolioFullScreen'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">on</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'click'</span><span style="color: #B29D85;">,</span><span style="color: #00C;">function</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">"#myPortfolio"</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">is</span><span style="color: #B29D85;">(</span><span style="color: #F39;">":hidden"</span><span style="color: #B29D85;">)&nbsp;||&nbsp;</span><span style="color: #B29D85;">portfolioBuildFlag</span><span style="color: #B29D85;">&nbsp;===&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioShow</span><span style="color: #B29D85;">();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">trigger</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'fullscreenopen'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;});
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioBuild</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">fotorama</span><span style="color: #B29D85;">({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">data</span><span style="color: #B29D85;">:&nbsp;[
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span style="color: #369;">&lt;?php</span><span style="color: #B29D85;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">echo</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #906;">$output</span><span style="color: #B29D85;">.</span><span style="color: #F39;">"\n"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #369;">?&gt;</span><span style="color: #B29D85;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;],
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">width</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #F39;">'100%'</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">height</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #F39;">'auto'</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">aspectRatio</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #369;">1.5</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">minHeight</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #369;">500</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">fitToWindowHeight</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">margin</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #369;">0</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">shadows</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">cropToFit</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">caption</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #F39;">'overlay'</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">autoplay</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #369;">3000</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">thumbBorderColor</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #F39;">'#FCB03E'</span><span style="color: #B29D85;">,
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">fullscreenIcon</span><span style="color: #B29D85;">:&nbsp;</span><span style="color: #00C;">true</span><span style="color: #B29D85;">
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;});
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioBuildFlag</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #00C;">true</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioCookie</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">state</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #B29D85;">state</span><span style="color: #B29D85;">&nbsp;===&nbsp;</span><span style="color: #F39;">"hidden"</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">document</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">cookie</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #F39;">"portfolioHide=true"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #00C;">else</span><span style="color: #B29D85;">&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">document</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">cookie</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #F39;">"portfolioHide=false"</span><span style="color: #B29D85;">;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioToggle</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">(</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">"#myPortfolio"</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">is</span><span style="color: #B29D85;">(</span><span style="color: #F39;">":hidden"</span><span style="color: #B29D85;">)&nbsp;||&nbsp;</span><span style="color: #B29D85;">portfolioBuildFlag</span><span style="color: #B29D85;">&nbsp;===&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioShow</span><span style="color: #B29D85;">();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #00C;">else</span><span style="color: #B29D85;">&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioHide</span><span style="color: #B29D85;">();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioShow</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #B29D85;">portfolioBuildFlag</span><span style="color: #B29D85;">&nbsp;===&nbsp;</span><span style="color: #00C;">false</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioBuild</span><span style="color: #B29D85;">();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">slideDown</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'fast'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#portfolioHide'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">text</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'[&nbsp;Hide&nbsp;]'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">trigger</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'play'</span><span style="color: #B29D85;">)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioCookie</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'shown'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioHide</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">slideUp</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'fast'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#portfolioHide'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">text</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'[&nbsp;Show&nbsp;]'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#myPortfolio'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">trigger</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'pause'</span><span style="color: #B29D85;">)
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioCookie</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'hidden'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">function</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioInit</span><span style="color: #B29D85;">()&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">var</span><span style="color: #B29D85;">&nbsp;</span><span style="color: #B29D85;">portfolioHide</span><span style="color: #B29D85;">&nbsp;=&nbsp;</span><span style="color: #B29D85;">document</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">cookie</span><span style="color: #B29D85;">.</span><span style="color: #B29D85;">replace</span><span style="color: #B29D85;">(</span><span style="color: #930;">/(?:(?:^|.*;\s*)portfolioHide\s*\=\s*((?:[^;](?!;))*[^;]?).*)|.*/</span><span style="color: #B29D85;">,&nbsp;</span><span style="color: #F39;">"$1"</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #00C;">if</span><span style="color: #B29D85;">&nbsp;(</span><span style="color: #B29D85;">portfolioHide</span><span style="color: #B29D85;">&nbsp;!=&nbsp;</span><span style="color: #F39;">"true"</span><span style="color: #B29D85;">)&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioBuild</span><span style="color: #B29D85;">();
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}&nbsp;</span><span style="color: #00C;">else</span><span style="color: #B29D85;">&nbsp;{
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">jQuery</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'#portfolioHide'</span><span style="color: #B29D85;">).</span><span style="color: #B29D85;">text</span><span style="color: #B29D85;">(</span><span style="color: #F39;">'[&nbsp;Show&nbsp;]'</span><span style="color: #B29D85;">);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;}
&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #B29D85;">portfolioInit</span><span style="color: #B29D85;">();
&nbsp;&nbsp;});&nbsp;</span><span style="color: #555;">//&nbsp;Load&nbsp;Fotorama.js&nbsp;script
</span><span style="color: #B29D85;">
});&nbsp;</span><span style="color: #555;">//&nbsp;document&nbsp;ready
</span></code></pre>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/fotorama-slide-show-and-phpsmug/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pro jQuery by Adam Freeman</title>
		<link>http://davenelson.com/pro-jquery-by-adam-freeman/</link>
		<comments>http://davenelson.com/pro-jquery-by-adam-freeman/#comments</comments>
		<pubDate>Tue, 14 May 2013 04:00:14 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Computers]]></category>
		<category><![CDATA[Non-Fiction]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1369</guid>
		<description><![CDATA[I read this book on Safari Books Online using Firefox. I am doing more and more with jQuery and went looking for a book that could show me the ins-and-outs of it and &#34;Pro jQuery&#34; is definitely that book. I do not agree that this is a “Pro” book as it does not cover professional &#8230; <a href="http://davenelson.com/pro-jquery-by-adam-freeman/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://www.freeebooktemple.net/wp-content/uploads/blogger/-qgM2b1O1Zlo/T1EB9zN2DEI/AAAAAAAABgo/DMknVgsx-2c/s1600/Pro%2BjQuery%2BBy%2BAdam%2BFreeman.jpeg" style="float:right;margin:0 0 15px 15px">I read this book on <a href="http://www.safaribooksonline.com" title="http://www.safaribooksonline.com" target="_blank">Safari Books Online</a> using Firefox.</p>
<p>I am doing more and more with jQuery and went looking for a book that could show me the ins-and-outs of it and &quot;Pro jQuery&quot; is definitely that book.</p>
<p>I do not agree that this is a “Pro” book as it does not cover professional techniques for programming in JavaScript using the current best practices that you would find in a production environment, but this book is a great reference for jQuery and I could find none that were better.</p>
<p>This book has taken my jQuery skills from advanced newbie to a solid understanding of what I would use jQuery for and what I would not. I expect to use it as a reference for a long time to come.</p>
<p>From the publisher:</p>
<blockquote><p>Query is one of the most popular and powerful JavaScript libraries available today. It&#8217;s widely used to create rich user experiences and to simplify website and application development. It is the tool of choice for web developers everywhere and sets the standard for simplicity, flexibility and extensibility.</p>
<p>In Pro jQuery, seasoned author Adam Freeman explains how to get the most from jQuery by focusing on the features you need for your project. He starts with the nuts and bolts and shows you everything through to advanced features, going in depth to give you the knowledge you need. Getting the most from jQuery is essential to truly mastering web development.</p>
<p>What you&#8217;ll learn</p>
<ul>
<li>Understand the capabilities of jQuery and why it is special</li>
<li>Use the core of jQuery to enrich HTML, including tables, forms and data displays</li>
<li>Use jQuery UI to create rich and fluid user experiences</li>
<li>Use rich interactions such as drag and drop, sortable data and touch sensitivity</li>
<li>Use jQuery Mobile to create touch-enabled interfaces for mobile devices and tablets</li>
<li>Extend jQuery by creating custom plugins and widgets</li>
</ul>
<p>Each topic is covered clearly and concisely, and is packed with the details you&#8217;ll need to learn to be truly effective with jQuery. The most important features are given a no-nonsense, in-depth treatment, and chapters contain examples that demonstrate both the power and the subtlety of jQuery.</p></blockquote>
<p>I rate this book an 8 out of 10 and recommend it to anyone interested in learning more about jQuery.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/pro-jquery-by-adam-freeman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Responsive Design in Practice</title>
		<link>http://davenelson.com/responsive-design-in-practice/</link>
		<comments>http://davenelson.com/responsive-design-in-practice/#comments</comments>
		<pubDate>Fri, 10 May 2013 04:00:38 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Website]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1409</guid>
		<description><![CDATA[What the heck does &#34;Repsonsive&#34; mean when it comes to a web site? For my own practical purposes it means that I have a single web site with one set of HTML, CSS, and JavaScript being served to all web browsers, but the appearance of the website changes based upon the width of the web &#8230; <a href="http://davenelson.com/responsive-design-in-practice/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p>What the heck does &quot;Repsonsive&quot; mean when it comes to a web site?</p>
<p>For my own practical purposes it means that I have a single web site with one set of HTML, CSS, and JavaScript being served to all web browsers, but the appearance of the website changes based upon the width of the web browser’s window to give a great viewing experience to everyone.</p>
<p>Haha, that is a mouthful.</p>
<p>So here it is in action:<br />
<div id="attachment_1411" class="wp-caption alignleft" style="width: 310px"><a href="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.01.13-PM.png"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.01.13-PM-300x173.png" alt="davenelson.com Desktop Web Browser Screen Shot" width="300" height="173" class="size-medium wp-image-1411" /></a><p class="wp-caption-text">Desktop Web Browser</p></div><br />
<div id="attachment_1413" class="wp-caption alignleft" style="width: 310px"><a href="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.07.02-PM.png"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.07.02-PM-300x199.png" alt="davenelson.com iPad Screen Shot" width="300" height="199" class="size-medium wp-image-1413" /></a><p class="wp-caption-text">iPad</p></div><br />
<div id="attachment_1412" class="wp-caption alignleft" style="width: 279px"><a href="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.04.14-PM.png"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/Screen-Shot-2013-05-02-at-5.04.14-PM-269x300.png" alt="iPhone" width="269" height="300" class="size-medium wp-image-1412" /></a><p class="wp-caption-text">davenelson.com iPhone Screen Shot</p></div></p>
<div style="clear:both"></div>
<p>The great thing is I did not need to build three different websites, no &quot;mobile&quot; version, just &quot;The Website.&quot; Another great thing is that I was able to start with a WordPress theme that someone else spent a lot of time an effort in building. I just tweaked it to fit my needs.</p>
<p><div id="attachment_1414" class="wp-caption alignright" style="width: 160px"><a href="http://davenelson.com/wp/wp-content/uploads/2013/05/sunspot.png"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/sunspot-150x150.png" alt="Sunspot WordPress Theme Screen Shot" width="150" height="150" class="size-thumbnail wp-image-1414" /></a><p class="wp-caption-text">Sunspot WordPress Theme Screen Shot</p></div>The theme is called Sunspot by <a href="http://wordpress.org/extend/themes/sunspot" target="_blank">Automattic</a> and I really like the way my content looks when using it.</p>
<p>From the author:</p>
<blockquote><p> A sharp theme with subtle grid lines and sun-splashed accents, Sunspot is a great all-purpose blogging canvas, especially for those who prefer a dark color scheme. Sunspot offers two arrangements for posts on the front page. Additional features include a custom header and a custom background, two optional widget areas, and a responsive layout that adapts gracefully to smaller screen sizes.</p></blockquote>
<p>Responsive design is not a fit for all web sites, content and interactions that work great in a desktop web browser are not always appropriate for the really small screens of smartphones and conversely content made for smartphones does not always scale well for big screens. But for a blog or any site that is primarily text-based I think responsive design is a great way to reach a broader audience.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/responsive-design-in-practice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Canon 5D Mark III: From Snapshots to Great Shots by Ibarionex Perello</title>
		<link>http://davenelson.com/canon-5d-mark-iii-from-snapshots-to-great-shots-by-ibarionex-perello/</link>
		<comments>http://davenelson.com/canon-5d-mark-iii-from-snapshots-to-great-shots-by-ibarionex-perello/#comments</comments>
		<pubDate>Tue, 07 May 2013 05:00:42 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Non-Fiction]]></category>
		<category><![CDATA[Photography]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1239</guid>
		<description><![CDATA[I read this book on Safari Books Online using a web browser and an iPad. I have read the &#34;From Snapshots to Great Shots&#34; for the 7D and the G12 and they were pretty good. So I decided to give the one for the 5D Mark III a try and it did not disappoint. Unlike &#8230; <a href="http://davenelson.com/canon-5d-mark-iii-from-snapshots-to-great-shots-by-ibarionex-perello/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://my.safaribooksonline.com/static/201302-7094-my/images/9780133086836/9780133086836_s.jpg" style="float:right;margin:0 0 15px 15px;">I read this book on Safari Books Online using a web browser and an iPad.</p>
<p>I have read the &quot;From Snapshots to Great Shots&quot; for the 7D and the G12 and they were pretty good. So I decided to give the one for the 5D Mark III a try and it did not disappoint.</p>
<p>Unlike the books &quot;Canon EOS 5D Mark III by James Johnson&quot; and &quot;Canon EOS 5D Mark III Digital Field Guide by Charlotte K. Lowrie&quot; this book tells you not only about the features and functions of the Canon 5D Mark III but also tells you why you may choose one setting over another.</p>
<p>This book, and the series in general, did not blow me away or provide any mind-blowing insights. But it does contain a lot of information to get you starting working with your camera.</p>
<p>I really like the idea of the assignments at the end of each chapter, anyone who works through each of them will have a very solid understanding of their camera.</p>
<p>From the publisher:</p>
<blockquote><p>Now that you&#8217;ve bought the amazing Canon 5D Mark III, you need a book that goes beyond a tour of the camera&#8217;s features to show you exactly how to use the 5D Mark III to take great pictures. With Canon 5D Mark III: From Snapshots to Great Shots, you get the perfect blend of photography instruction and camera reference that will take your images to the next level! Beautifully illustrated with large, vibrant photos, this book teaches you how to take control of your photography to get the image you want every time you pick up the camera.</p>
<p>With Canon 5D Mark III: From Snapshots to Great Shots, you&#8217;ll learn not only what makes a great shot work–you&#8217;ll learn how to get that shot using your 5D Mark III.</p></blockquote>
<p>I rate this book a 7 out of 10 and recommend it to anyone interested in reading about the Canon 5D Mk III, especially beginning photographers who want to get the most out of their camera.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/canon-5d-mark-iii-from-snapshots-to-great-shots-by-ibarionex-perello/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I Changed Web Site Hosts</title>
		<link>http://davenelson.com/i-changed-web-site-hosts/</link>
		<comments>http://davenelson.com/i-changed-web-site-hosts/#comments</comments>
		<pubDate>Fri, 03 May 2013 04:00:14 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Website]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1395</guid>
		<description><![CDATA[After 4 years at my previous host I had become pretty unhappy with them. I was running a WordPress blog and a PHP/MySQL based app to track an office football pool along with a handful of pictures for clients to download and prototype websites for conducting usability tests. But I was regularly having issues, mostly &#8230; <a href="http://davenelson.com/i-changed-web-site-hosts/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><div id="attachment_1397" class="wp-caption alignright" style="width: 207px"><a href="http://dreamhost.com"><img src="http://davenelson.com/wp/wp-content/uploads/2013/05/dreamhost-small-197x300.png" alt="web site screen shot" width="197" height="300" class="size-medium wp-image-1397" /></a><p class="wp-caption-text">Dreamhost&#8217;s Web Site</p></div>After 4 years at my previous host I had become pretty unhappy with them. </p>
<p>I was running a <a href="http://wordpress.org/" target="_blank">WordPress</a> blog and a PHP/MySQL based app to track an office football pool along with a handful of pictures for clients to download and prototype websites for conducting usability tests. But I was regularly having issues, mostly based around the web site being really slow.</p>
<p>So after reading a post in <a href="http://lifehacker.com/5546722/best-personal-web-host-dreamhost" target="_blank">Lifehacker about the best personal web host</a> which highlighted Dreamhost as the best option, I decided to make the jump.</p>
<p>The <a href="http://dreamhost.com/" target="_blank">Dreamhost</a> discount from the article was no longer valid, but I was able to find a $50 off coupon when signing up for a year or more. It made my first year cost less than $70. And after that the cost will be within $20 of what I was paying my previous host.</p>
<p>It took about 2 days for the DNS entries to be updated, to make my tweaks, and to get WordPress up and running with my imported content.</p>
<p>A big shout-out to the folks that make WordPress happen, exporting the content from my old provider then importing it into the new one worked like a charm. I had to tweak some settings and add some information in widgets and plug-ins, but overall it was amazingly easy.</p>
<p>I’ve spent some time over the last 2 weeks picking a Responsive theme, <a href="http://wordpress.org/extend/themes/sunspot" target="_blank">Sunspot by Automattic</a>, that works great on a desktop at any width, smartphone, and tablet. It took some tweaking based on the heading and navigation, but it is clean and easy to modify.</p>
<p>Then I started with the basic plugins, <a href="http://wordpress.org/extend/plugins/akismet/" target="_blank">Akismet</a> and <a href="http://wordpress.org/extend/plugins/jetpack/" target="_blank">Jetpack</a> by <a href="http://wordpress.com" target="_blank">WordPress.com</a> which are great and easy to install and setup.</p>
<p>Then I tried a bunch of different plugins that were all awful. For any WordPress install I highly recommend you go to a site like <a href="http://tools.pingdom.com/fpt/" target="_blank">Pingdom Website Speed Test</a> and check your speed with no plugins installed and then run it again after you add each plug-in. Also check it again anytime you make big changes to any plugins. Using Pingdom I was able to see that the “SmugMug for WordPress” plugin was absolutely killing the speed of my website, even when it was not displaying content on my website, so I am not using that anymore.</p>
<p>In the end I am using <a href="www.pmkelly.com/smugmug-widget" target="_blank">SmugMug Widget</a> to display some of my most recent photos uploaded to my photography website. With some tweaking to the CSS I have the widget working great in the Sunspot theme and is now a part of the responsive design. Best of all the SmugMug Widget did not negatively affect the speed of my website.</p>
<p>Then I tried <a href="http://wordpress.org/extend/plugins/w3-total-cache/" target="_blank">W3 Total Cache</a> and after a day of fiddling with it decided it was not for me. If you are not running some type of minification and caching system on your WordPress website I do suggest giving it a try, but I chose to go a simpler route.</p>
<p>I am using <a href="http://omninoggin.com/wordpress-plugins/wp-minify-wordpress-plugin/" target="_blank">WP Minify</a> to remove all of the extra white space and combine separate files for JavaScript, CSS, and HTML. Running <a href="https://addons.mozilla.org/en-us/firefox/addon/yslow/" target="_blank">YSlow</a> using minification made a difference, but not a big one.</p>
<p>The big performance improvement for my website comes from <a href="http://ocaoimh.ie/wp-super-cache/" target="_blank">WordPress Super Cache</a> which makes dynamic pages static. On my server the pages are still served by PHP, but they are so much faster!</p>
<p>Now my website includes the content I want, has a responsive design that looks great on desktop web browsers, iPads, and iPhones, and is faster than I could have ever hoped for.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/i-changed-web-site-hosts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two books about the Canon 5D Mark III</title>
		<link>http://davenelson.com/two-books-about-the-canon-5d-mark-iii/</link>
		<comments>http://davenelson.com/two-books-about-the-canon-5d-mark-iii/#comments</comments>
		<pubDate>Tue, 30 Apr 2013 05:00:06 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Non-Fiction]]></category>
		<category><![CDATA[Photography]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1212</guid>
		<description><![CDATA[I read both of these books using Safari Books Online by O’Reilly Media. They are very similar books and both of them are very similar to the owners manual that comes with the Canon 5D Mk III. But they do present the information in a way that is much easier to understand and retain than &#8230; <a href="http://davenelson.com/two-books-about-the-canon-5d-mark-iii/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p>I read both of these books using Safari Books Online by O’Reilly Media.</p>
<p>They are very similar books and both of them are very similar to the owners manual that comes with the Canon 5D Mk III. But they do present the information in a way that is much easier to understand and retain than the manual.</p>
<p>What is missing here is an answer to the question, “Why would I use that setting instead of the other?” You will have to find some other book or better yet books to explain that. Even better, get out there and experiment like crazy. Buy a cheap mannequin off eBay to use as a practice subject and take pictures until your camera stops working.</p>
<p><img src="http://my.safaribooksonline.com/static/201302-7094-my/images/9781457179402/9781457179402_s.jpg" style="float:right;margin:0 0 15px 15px;"><strong>Canon EOS 5D Mark III by James Johnson</strong><br />
From the publisher:</p>
<blockquote><p>The Canon EOS 5D Mark III is the latest in Canon&#8217;s line of full-frame DSLR cameras. Its impressive array of capabilities and advanced controls allow the photographer ever more influence over the final image. With this comes more menus, buttons, and dials that the photographer must learn how to use to take full advantage of the camera.</p>
<p>This book explores the features and capabilities of the 5D Mark III in a way that far surpasses the user&#8217;s manual. It guides readers through the camera features with step-by-step setting adjustments; color illustrations; and detailed how, when, and why explanations for each option. Every button, dial, switch, and menu configuration setting is explored in a user-friendly manner, with suggestions for setup. The informative text is illustrated with screenshots and example images throughout, making it easy to follow along.</p>
<p>Author James Johnson covers everything from the basic features of the camera to the numerous advanced photographic options as he discusses topics such as focus and exposure, lenses, lighting, custom settings, and more. With this book as your guide, you&#8217;ll learn how to get the most out of this powerful camera.</p></blockquote>
<p><img src="http://my.safaribooksonline.com/static/201302-7094-my/images/9781118239759/9781118239759_s.jpg" style="float:right;margin:0 0 15px 15px;"><strong>Canon EOS 5D Mark III Digital Field Guide by Charlotte K. Lowrie</strong><br />
From the publisher:</p>
<blockquote><p>Guides readers step-by-step through the functions on their new Canon EOS 5D Mark III</p>
<p>The Canon EOS 5D Mark III features an impressive 22.3 megapixels, a 3.2-inch LCD screen, 6 fps continuous shooting, Live View, an ISO range of 50 to 102,400 and full HD 1080 resolution movie shooting. Here to help you get the most out of these remarkable features?</p>
<p>Offering you more in-depth coverage than the standard manual, this full-color Canon 5D Mark III Digital Field Guide provides you with a better understanding of your camera. Delivering information in an easy-to-understand format, this portable guide features more than 200 inspirational photos by acclaimed photographer and veteran author Charlotte Lowrie. The handy trim size allows this guide to go where you go, allowing you easy access to information quickly so you can get the exact shot you want when you want it.</p>
<p>Helps you make the most of your Canon 5D Mark III and get the shots you want</p>
<p>Offers inspiration with more than 200 lavish photos from the author&#8217;s own portfolio</p>
<p>Provides step-by-step explanations on techniques and tips, all aimed at getting you comfortable and confident with your new Canon 5D Mark III</p>
<p>Ideal reading for both amateur and professional photographers alike, you&#8217;ll reference Canon 5D Mark III Digital Field Guide again and again.</p></blockquote>
<p>I rate both of these books a 7 out of 10 and recommend  either one of them, no need for both, to anyone who finds the owners manual of the 5D Mk III hard to read.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/two-books-about-the-canon-5d-mark-iii/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple Pop-Up Museum and Vintage Computer Festival</title>
		<link>http://davenelson.com/apple-pop-up-museum-and-vintage-computer-festival/</link>
		<comments>http://davenelson.com/apple-pop-up-museum-and-vintage-computer-festival/#comments</comments>
		<pubDate>Thu, 25 Apr 2013 20:52:28 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Happy]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1374</guid>
		<description><![CDATA[Last weekend I attended the Vintage Computer Festival and Apple Pop-Up Museum at the empty CompUSA store off of Holcomb Bridge Road. It was nice to see someone doing something with one of these abandoned storefronts. It was great fun seeing all of the old Apple, Commodore, Atari, and other computers and gaming consoles. It &#8230; <a href="http://davenelson.com/apple-pop-up-museum-and-vintage-computer-festival/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://photo.davenelson.com/Events/2013-Apple-Pop-Up-Museum/29080622_ZnCzzN" target="_blank"><img src="http://photo.davenelson.com/Events/2013-Apple-Pop-Up-Museum/i-3qTqzQ8/0/S/dave-nelson-20130420-113954-0004-S.jpg" style="float:right;margin:0 0 15px 15px;padding:1px;border:2px solid"></a>Last weekend I attended the Vintage Computer Festival and Apple Pop-Up Museum at the empty CompUSA store off of Holcomb Bridge Road. It was nice to see someone doing something with one of these abandoned storefronts.</p>
<p>It was great fun seeing all of the old Apple, Commodore, Atari, and other computers and gaming consoles. It all made me very nostalgic, but not so much as I would trade in any of my current computers for any of them. It was really amazing what we were able to produce using those old machines.</p>
<p>And good news, the Apple Pop-Up Museum is going to be open 2 additional Saturdays, May 18 and June 8.</p>
<p>About the <a href="http://www.vintage.org/" title="http://www.vintage.org/" target="_blank">Vintage Computer Festival</a>:</p>
<blockquote><p>The Vintage Computer Festival is an international event that celebrates the history of computing.</p>
<p>The mission of the Vintage Computer Festival is to promote the preservation of &quot;obsolete&quot; computers by offering folks a chance to experience the technologies, people and stories that embody the remarkable tale of the computer revolution.</p>
<p>Through our event and the Vintage Computer Festival Archives—our publicly accessible archive of computer hardware, software, literature and ephemera—we promote interest in researching and documenting the history of the computer.  Above all, we promote the fun of playing with old computers.</p></blockquote>
<p>About the <a href="http://applepopupmuseum.com/" title="http://applepopupmuseum.com/" target="_blank">Apple Pop-Up Museum</a>:</p>
<blockquote><p>The exhibit displays an exclusive collection of game-changing Apple personal computers and consumer electronics products while presenting the history of the company since its founding in 1976 to the present.  An Apple I, the first disk II and controller card, an original Apple II, an original Lisa and a Xerox Alto are among the rare artifacts to be displayed.</p></blockquote>
<p>Check out more pictures from the Museum and Festival: <a href="http://photo.davenelson.com/Events/2013-Apple-Pop-Up-Museum/29080622_ZnCzzN" title="http://photo.davenelson.com/Events/2013-Apple-Pop-Up-Museum/29080622_ZnCzzN">http://photo.davenelson.com/Events/2013-Apple-Pop-Up-Museum/29080622_ZnCzzN</a></p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/apple-pop-up-museum-and-vintage-computer-festival/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secrets of Great Portrait Photography: Photographs of the Famous and Infamous by Brian Smith</title>
		<link>http://davenelson.com/secrets-of-great-portrait-photography-by-brian-smith/</link>
		<comments>http://davenelson.com/secrets-of-great-portrait-photography-by-brian-smith/#comments</comments>
		<pubDate>Tue, 23 Apr 2013 05:00:52 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Non-Fiction]]></category>
		<category><![CDATA[Photography]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1205</guid>
		<description><![CDATA[I read this book using Safari Books Online from O&#8217;Reilly Media. Brian Smith is an amazing photographer and has a personality to match. He is able to quickly make a personal connection with people from all walks of life and create photographs that highlight their personality and emotion. &#34;Secrets of Great Portrait Photography&#34; gives us &#8230; <a href="http://davenelson.com/secrets-of-great-portrait-photography-by-brian-smith/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://my.safaribooksonline.com/static/201302-7094-my/images/9780132867733/9780132867733_s.jpg" style="float:right;margin:0 0 15px 15px;">I read this book using Safari Books Online from O&#8217;Reilly Media.</p>
<p>Brian Smith is an amazing photographer and has a personality to match. He is able to quickly make a personal connection with people from all walks of life and create photographs that highlight their personality and emotion.</p>
<p>&quot;Secrets of Great Portrait Photography&quot; gives us insight to the methods Brian uses to get close to his subjects and capture images that make the client, usually magazine creative directors, and the subject happy with the results.</p>
<p>This is not a book about how to use your camera, how to pose a subject, or how to make them feel comfortable. It is a book about many of Brian’s favorite pictures and what he did or did not do to achieve them. It does not go very deep into anything, instead choosing to keep things light and easy. The only thing that bugged me was the amount of repetition, definitions and ideas are often repeated.</p>
<p>This photography in the book is fantastic and the writing is very conversational. I read the entire book in a few hours and spent much of that time dissecting the pictures.</p>
<p>I plan on taking his challenge of taking 50 portraits of total strangers seriously and maybe some time in spring or fall setting myself up somewhere very public and making myself ask strangers to let me take their portrait. Interacting with people like that is very hard for me; maybe doing that will give me some sort of insight to myself and make it easier for me in the future.</p>
<p>From the publisher:</p>
<blockquote><p>In this sexy, bold book, Pulitzer-Prize winning photographer Brian Smith tells the stories behind the photos and lessons learned in 30 years of photographing celebrities and people from all walks of life. Smith’s long list of famous and infamous subjects includes pro basketball players Dwayne Wade and Shaquille O&#8217;Neal; billionaires Bill Gates, Richard Branson, and Donald Trump; tennis stars Serena and Venus Williams; actors Anne Hathaway, Antonio Banderas, Christopher Walken, Taye Diggs, Jane Krakowski, and William H. Macy; and many more.</p>
<p>You’ll get the inside scoop on what goes on at a celebrity photo shoot in this gorgeous guide to making professional portraits. Smith has mastered how to make a meaningful portrait on a magazine’s budget and on a celebrity’s schedule, which can sometimes be 15 minutes or less. Smith reveals his tips on connecting with people, finding the perfect location, telling a great story through portraiture, getting the ideal pose, capturing emotion and gestures, arranging unique group shots, and lighting the scene just right. You might not be photographing the rich and famous, but after reading Smith’s tell-all guide, you’ll know how to give everyone who makes their way in front of your camera the star treatment.</p></blockquote>
<p>I rate this book an 8 out of 10 and recommend it to anyone with an interest in taking photographs of people.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/secrets-of-great-portrait-photography-by-brian-smith/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Human Division, Episode 1: The B-Team by John Scalzi</title>
		<link>http://davenelson.com/the-human-division-ep-1-the-b-team-by-john-scalzi/</link>
		<comments>http://davenelson.com/the-human-division-ep-1-the-b-team-by-john-scalzi/#comments</comments>
		<pubDate>Tue, 16 Apr 2013 05:00:44 +0000</pubDate>
		<dc:creator>Dave Nelson</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Fiction]]></category>
		<guid isPermaLink="false">http://davenelson.com/?p=1187</guid>
		<description><![CDATA[I bought this book from Audible and listened to it using the Audible app on my iPhone. This is a short story that is part of a series of Old Man’s War stories. William Dufris does a great job with these stories, but his performance was the highlight of this one. I am feeling bored &#8230; <a href="http://davenelson.com/the-human-division-ep-1-the-b-team-by-john-scalzi/" class="more-link">Continue reading <span class="meta-nav">&#187;</span></a>]]></description>
				<content:encoded><![CDATA[<p><img src="http://ecx.images-amazon.com/images/I/51EPfqfXXCL._SL250_.jpg" style="float:right;margin:0 0 15px 15px;">I bought this book from Audible and listened to it using the Audible app on my iPhone.</p>
<p>This is a short story that is part of a series of Old Man’s War stories. </p>
<p>William Dufris does a great job with these stories, but his performance was the highlight of this one.</p>
<p>I am feeling bored of the Old Man’s War universe and this story will be the last one I listen to for awhile, in fact I may never revisit it. All of the characters have become stereotypes to me and it feels like there is nothing new here. Nothing suprising, nothing deep and thoughtful, none of what drew me into John Scalzi’s worlds and stories to begin with. That was also my problem with Last Colony.</p>
<p>From the publisher:</p>
<blockquote><p>Colonial Union Ambassador Ode Abumwe and her team are used to life on the lower end of the diplomatic ladder. But when a high-profile diplomat goes missing, Abumwe and her team are last-minute replacements on a mission critical to the Colonial Union’s future. As the team works to pull off their task, CDF Lieutenant Harry Wilson discovers there’s more to the story of the missing diplomats than anyone expected&#8230; a secret that could spell war for humanity.</p>
<p>The B-Team is a tale from John Scalzi&#8217;s The Human Division, a series of self-contained but interrelated short stories set in the Old Man&#8217;s War universe.</p>
<p>To download Episodes 2-13 in The Human Division, click here.</p>
<p>&copy;2012 John Scalzi (P)2013 Audible, Inc.</p></blockquote>
<p>I rate this story a 5 out of 10 and only recommend it to fans of the Old Man’s War series who can’t get enough.</p>
]]></content:encoded>
			<wfw:commentRss>http://davenelson.com/the-human-division-ep-1-the-b-team-by-john-scalzi/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 1.148 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2013-05-21 16:15:53 -->
