<?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>Search Engine Optimization Dallas</title>
	<atom:link href="http://www.wilhelser.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.wilhelser.com</link>
	<description>Dallas Area SEO Consulting &#124; Web Developing</description>
	<lastBuildDate>Tue, 17 Jan 2012 03:54:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	
		<item>
		<title>WordPress Database Migration Bash Script</title>
		<link>http://www.wilhelser.com/my-blog/web-development-my-blog/wordpress-database-migration-bash-script/</link>
		<comments>http://www.wilhelser.com/my-blog/web-development-my-blog/wordpress-database-migration-bash-script/#comments</comments>
		<pubDate>Mon, 16 Jan 2012 00:18:58 +0000</pubDate>
		<dc:creator>Wil Helser</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Bash]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.wilhelser.com/?p=829</guid>
		<description><![CDATA[I HATE migrating WordPress databases! Not that it&#8217;s hard or takes much time&#8230; just that it&#8217;s one of those mundane daily tasks that can pull me out of my zone if I&#8217;m not careful. So&#8230; I wrote a simple Bash script that will dump a WordPress database, update the URLs ( from local to production [...]]]></description>
			<content:encoded><![CDATA[<p>I HATE migrating WordPress databases! Not that it&#8217;s hard or takes much time&#8230; just that it&#8217;s one of those mundane daily tasks that can pull me out of my zone if I&#8217;m not careful. So&#8230; I wrote a simple Bash script that will dump a WordPress database, update the URLs ( from local to production or staging, etc. ) and then push the dump to the new database. It&#8217;s not super sophisticated, but it gets the job done.</p>
<p>You can grab it on GitHub <a href="https://github.com/wilhelser/WordPress-Scripts" target="_blank">here &#8230;</a>. The link is actually to a repo for my WordPress-related Bash scripts, but I&#8217;ve only written one so far. I have a few others that I use daily, but they&#8217;re written specifically for my particular set-up. I&#8217;m working on making them more flexible so they can be used on any system. I should have a few more up there in a few days.</p>
<p>Hope it helps a little!<br />
<!-- start wp-tags-to-technorati 1.02 --></p>
<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/Bash' rel='tag,nofollow' target='_blank'>Bash</a>, <a class='technorati-link' href='http://technorati.com/tag/WordPress' rel='tag,nofollow' target='_blank'>WordPress</a></p>
<p><!-- end wp-tags-to-technorati --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wilhelser.com/my-blog/web-development-my-blog/wordpress-database-migration-bash-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Add A Dynamic Nivo Slider to A Business Catalyst Site</title>
		<link>http://www.wilhelser.com/my-blog/add-dynamic-nivo-slider-business-catalyst-site/</link>
		<comments>http://www.wilhelser.com/my-blog/add-dynamic-nivo-slider-business-catalyst-site/#comments</comments>
		<pubDate>Sun, 15 May 2011 02:26:59 +0000</pubDate>
		<dc:creator>Wil Helser</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[adobe business catalyst]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Nivo slider]]></category>

		<guid isPermaLink="false">http://www.wilhelser.com/?p=780</guid>
		<description><![CDATA[Sliders are pretty popular these days. Almost every WordPress theme comes with some kind of slider that&#8217;s easy to manage in the back-end, but how do you add a slider to an Adobe Business Catalyst site and make it simple for your clients to update? Read on&#8230; Nivo Slider For this tutorial, we&#8217;re going to [...]]]></description>
			<content:encoded><![CDATA[<p>Sliders are pretty popular these days. Almost every WordPress theme comes with some kind of slider that&#8217;s easy to manage in the back-end, but how do you add a slider to an Adobe Business Catalyst site and make it simple for your clients to update? Read on&#8230;</p>
<h4>Nivo Slider</h4>
<p>For this tutorial, we&#8217;re going to use the Nivo Slider from Dev7 Studios ( <a rel="nofollow" href="http://nivo.dev7studios.com/">http://nivo.dev7studios.com</a> ). There are tons of sliders available, but I really like this one and it&#8217;s SUPER easy to set up.</p>
<p>Since I&#8217;m a TERRIBLE designer, I&#8217;m going to use the styles from an awesome tutorial by Gilbert Pellegrom called <a href="http://dev7studios.com/blog/resources/skinning-the-nivo-slider/">Skinning the Nivo Slider</a>. The only thing I had to change was the way I&#8217;m rendering the captions, which I had to change because of limitations with BC.</p>
<p class="button_wrap"><a href="http://bctutorials.businesscatalyst.com/slider.html" class="buttonmedium darkbtn">Demo</a></p><p class="button_wrap"><a href="https://github.com/wilhelser/Business-Catalyst-Nivo-Slider/archives/master" class="buttonmedium darkbtn">Source</a></p><div class="clearfix"></div>
<h4>The Setup</h4>
<p>Ok, let&#8217;s set everything up on your page. I&#8217;m not going to get into all the details of page templates and all that&#8230; I&#8217;m assuming you&#8217;ve got that down pat, so you can go about adding jQuery, the Nivo slider javascript file and the Nivo slider CSS file however you want. Just make sure you call the nivoslider.js after jQuery and call the nivo-slider.css before your main stylesheet. I generally just drop the nivo-slider.css into my main stylesheet and save myself an http request.</p>
<p>Now let&#8217;s go into Business Catalyst and create a new web-app. I&#8217;m calling mine slider, but you can call yours whatever you want. You want to set up 3 fields: Slider Image (image, required), Slider Caption (text, optional), Slider URL (text, optional).</p>
<p>The Slider Image field will create an upload button so that your client can easily add images. You may want to set up a folder for slider images and show them how to select that folder when uploading. The Slider Caption field is self-explanatory, and the Slider URL will be the URL someone will be sent to when the slide is clicked on.</p>
<p>After you  set up the web-app, lets go to Advanced Layout Customization and edit the List View template for the Slider web-app. Delete everything in there, make sure you&#8217;re in the HTML editor and add this code:</p>
<p>&nbsp;</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;a href=&quot;{tag_slider url}&quot;&gt;&lt;img src=&quot;{tag_slider image_value}?Action=thumbnail&amp;Width=630&amp;Height=235&amp;algorithm=fill_proportional&quot; title=&quot;{tag_slider caption}&quot; /&gt;&lt;/a&gt;</div></td></tr></tbody></table></div>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The tag &#8216;slider image_value&#8217; tells BC that we just want the URL for the image. Without that we would get the entire &#8216;img&#8217; tag and that would prevent us from adding a title attribute to the image which is how we generate our captions. The &#8216;?Action=thumbnail&#038;Width=630&#038;Height=235&#8242; tells BC to resize whatever image is uploaded to that particular size. That way you don&#8217;t have to tell your clients to make images a certain size, they can just upload whatever they want. Of course, they&#8217;ll still need to be conscious of proportions, but that shouldn&#8217;t be too difficult.</p>
<p>The part that says &#8216;&#038;algorithm=fill_proportional&#8217; just tells BC to keep everything proportionate so we don&#8217;t get crazy squashed images.</p>
<p>Now go to the page template that you want to add the slider to and add this markup where you want the slider to appear:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;div id=&quot;slider-wrapper&quot;&gt;<br />
&nbsp; &nbsp;&lt;div id=&quot;slider&quot; class=&quot;nivoSlider&quot;&gt;&lt;!-- Module Code Here --&gt;&lt;/div&gt;<br />
&lt;/div&gt;</div></td></tr></tbody></table></div>
<p>Inside of Business Catalyst, go to a page ( create a blank one, or use an existing one, it doesn&#8217;t matter. All we&#8217;re doing is grabbing a tag) and insert the list view module for the Slider web-app into the page. Make sure you&#8217;re in the HTML editor, cut the generated tag out and paste it into your page template in place of the comment &#8220;Module Code Here&#8221;. Your markup should now look like this:</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;div id=&quot;slider-wrapper&quot;&gt;<br />
&lt;div id=&quot;slider&quot; class=&quot;nivoSlider&quot;&gt;{module_webapps,13073,a,,,,,10,,1}&lt;/div&gt;<br />
&lt;/div&gt;</div></td></tr></tbody></table></div>
<p>Obviously, your module number will be different&#8230;</p>
<p>So that&#8217;s it for the markup&#8230; I told you it was SUPER easy! All we have left to do now is activate the slider. To do that, place the following snippet in your template file just before the closing HEAD tag:</p>
<p>&nbsp;</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&lt;script type=&quot;text/javascript&quot;&gt;<br />
&nbsp; &nbsp; $(window).load(function() {<br />
&nbsp; &nbsp; &nbsp; &nbsp; $('#slider').nivoSlider();<br />
&nbsp; &nbsp; &nbsp;directionNav:false<br />
});<br />
&nbsp; &nbsp; });<br />
&lt;/script&gt;</div></td></tr></tbody></table></div>
<p>Now go add some items to your Slider web-app and watch the magic unfold!</p>
<p>Feel free to let me know if you&#8217;re having any trouble figuring something out and I&#8217;ll be happy to give you a hand!<br />
<!-- start wp-tags-to-technorati 1.02 --></p>
<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/adobe+business+catalyst' rel='tag,nofollow' target='_blank'>adobe business catalyst</a>, <a class='technorati-link' href='http://technorati.com/tag/jQuery' rel='tag,nofollow' target='_blank'>jQuery</a>, <a class='technorati-link' href='http://technorati.com/tag/Nivo+slider' rel='tag,nofollow' target='_blank'>Nivo slider</a></p>
<p><!-- end wp-tags-to-technorati --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wilhelser.com/my-blog/add-dynamic-nivo-slider-business-catalyst-site/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Connect to Server with Ubuntu 11.04 Natty</title>
		<link>http://www.wilhelser.com/my-blog/connect-to-server-ubuntu-natty/</link>
		<comments>http://www.wilhelser.com/my-blog/connect-to-server-ubuntu-natty/#comments</comments>
		<pubDate>Fri, 06 May 2011 09:21:20 +0000</pubDate>
		<dc:creator>Wil Helser</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Quick Tips]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[natty narwhal]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.wilhelser.com/?p=736</guid>
		<description><![CDATA[Ubuntu has a neat little feature that has come in handy for me on many occasions&#8230; the ability to connect to a remote server from within Nautilus. After upgrading to Ubuntu 11.04 Natty Narwhal, I had a little bit of difficulty finding this feature. In previous versions you just had to go to the Places [...]]]></description>
			<content:encoded><![CDATA[<p>Ubuntu has a neat little feature that has come in handy for me on many occasions&#8230; the ability to connect to a remote server from within Nautilus. After upgrading to Ubuntu 11.04 Natty Narwhal, I had a little bit of difficulty finding this feature. In previous versions you just had to go to the <strong>Places</strong> menu and there it was. Not to worry though, I found it&#8230; so for anyone that may be wondering where it went, I hope this helps you out.</p>
<p>Open up Nautilus and then check the top panel in the menu, click on <strong>File</strong> and about halfway down you&#8217;ll see <strong>&#8220;Connect to Server&#8221;</strong>.</p>
<p>Here&#8217;s a screenshot:</p>
<div class="image-wrap portfolio">
<a href="http://www.wilhelser.com/wp-content/uploads/2011/05/Screenshot.png" rel="prettyPhoto"><img src="http://www.wilhelser.com/wp-content/uploads/2011/05/Screenshot.png" alt="Connect to Server Ubuntu 11.04" title="Connect to Server Ubuntu 11.04" width="570" height="200" class="alignnone size-full wp-image-798" /></a></p>
</div>
<p><!-- start wp-tags-to-technorati 1.02 --></p>
<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/linux' rel='tag,nofollow' target='_blank'>linux</a>, <a class='technorati-link' href='http://technorati.com/tag/natty+narwhal' rel='tag,nofollow' target='_blank'>natty narwhal</a>, <a class='technorati-link' href='http://technorati.com/tag/ubuntu' rel='tag,nofollow' target='_blank'>ubuntu</a></p>
<p><!-- end wp-tags-to-technorati --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wilhelser.com/my-blog/connect-to-server-ubuntu-natty/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>How I Learned Web Development</title>
		<link>http://www.wilhelser.com/my-blog/how-i-learned-web-development/</link>
		<comments>http://www.wilhelser.com/my-blog/how-i-learned-web-development/#comments</comments>
		<pubDate>Sun, 08 Aug 2010 03:50:13 +0000</pubDate>
		<dc:creator>Wil Helser</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[web design]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.wilhelser.com/?p=329</guid>
		<description><![CDATA[Three years ago I was a TERRIBLE web developer! Check out my first site, built proudly with Microsoft Publisher!  (Yeah, that&#8217;s right&#8230; I&#8217;m not afraid to post my bad stuff! NOTE- This was done for a FRIEND. It was not a &#8216;professional&#8217; job and I wasn&#8217;t paid.) I knew some HTML because I used to [...]]]></description>
			<content:encoded><![CDATA[<p>Three years ago I was a TERRIBLE web developer! Check out my <a title="My First Site" href="http://athletesforadrugfreeamerica.org/" target="_blank">first site</a>, built proudly with Microsoft Publisher!  (Yeah, that&#8217;s right&#8230; I&#8217;m not afraid to post my bad stuff! <strong>NOTE</strong>- This was done for a <strong>FRIEND</strong>. It was not a &#8216;professional&#8217; job and I <strong>wasn&#8217;t paid</strong>.) I knew some HTML because I used to build websites for myself and for friends way back in the mid 90&#8242;s on my AOL dial-up connection, but I&#8217;d never dreamed of doing it for a living. After spending 5 years learning Visual Communication, or Graphic Design, I came to the conclusion that I didn&#8217;t care much for printing presses and process cameras. I wanted to be a web designer!</p>
<p><span id="more-329"></span></p>
<p>It didn&#8217;t take me long to realize that a) just because you could design a website didn&#8217;t mean that you could build one, and b) I SUCKED as a designer. I had a design education and a firm grasp on the principles of design, and I really had no trouble understanding how to apply those principles to the web&#8230; but, I&#8217;m not an artist. I would spend hours looking at designs on sites like <a title="CSS Mania- Web Design Inspiration" href="http://cssmania.com/" target="_blank">CSS Mania</a> and <a title="CSS Remix- WebDesign Ideas" href="http://cssremix.com/" target="_blank">CSS Remix</a> and then duplicating parts of them in Fireworks. Not to copy them and use their designs, but to learn how things like subtle gradients, or 1-pixel lines were used to enhance a website&#8217;s design. Although I learned a lot, I quickly began to see that I could never put out those kinds of designs. I knew how to now, I could look at a design and totally re-create it, but I didn&#8217;t have the artistic creativity it took to think up those designs in the first place. But I still wanted to build websites for a living! So I decided to focus on web development.</p>
<p>Now, I don&#8217;t want you to get confused on the time-line here. During the that period of time, I was also learning to code websites, so it&#8217;s not like I gave up on design and then switched to development. I was doing both, however while I struggled with design, I soaked up code like a sponge. I could go through a tutorial one or two times and get it. I had a knack for it and it seemed to come naturally. It didn&#8217;t start out that way though. Remember, the last time I had &#8216;built a website&#8217; was around 1995. It was now 2008! I had no idea what CSS was, or web-standards, or cross-browser compliance, or 1-pixel jog bugs, or the box model. In short&#8230; I knew NOTHING! But I&#8217;m not the kind of guy that lets a little thing like that stop me. I was going to build websites. I just needed to learn how. So, I went to my ALL TIME MOST VALUABLE TOOL- <a title="Google" href="http://www.google.com" target="_blank">Google</a>.</p>
<p>The following sites, blogs, podcasts are a just a few of the resources I found over the years that have helped me learn my craft. These are the sites that I visited daily, and because I&#8217;m still learning and still trying to improve and add more skills to my toolkit, I&#8217;m still visiting them regularly.</p>
<h3><strong><span style="text-decoration: underline;"><a title="Nettuts" href="http://net.tutsplus.com/" target="_blank">Nettuts</a></span></strong></h3>
<p><a title="Web Development Tutorials" href="http://net.tutsplus.com/" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/net-tuts.jpg" /></a></p>
<p>This is an EXCELLENT resource with high-quality tutorials and screen-casts about everything, for FREE! Part of the <a title="Envato" href="http://envato.com/" target="_blank">Envato</a> network. I They have a premium membership available for $9 a month, which I&#8217;d highly recommend if you can afford it, but don&#8217;t worry if you can&#8217;t. There&#8217;s more than enough information in the free sections to keep you busy. The screen-casts are awesome, and Jeffrey Way is by far my favorite &#8216;screen-cast guy&#8217;. He&#8217;s upbeat and extremely knowledgeable and really knows what he&#8217;s doing. There are screen-casts and tutorials from other developers as well, and they keep right in line with the standards I&#8217;ve come to expect from Envato.</p>
<p>If design is your thing, they&#8217;ve got <a title="PSDtuts" href="http://psd.tutsplus.com/" target="_blank">PSDtuts</a>, <a title="Graphic Tutorials" href="http://vector.tutsplus.com/" target="_blank">Vectortuts</a>, and much more.</p>
<h3><strong><span style="text-decoration: underline;"><a title="CSS Tricks" href="http://css-tricks.com" target="_blank">CSS Tricks</a></span></strong></h3>
<p><a title="CSS Tutorials" href="http://css-tricks.com/" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/css-tricks.jpg" /></a></p>
<p>I can&#8217;t believe all the sites I see and &#8216;professional web designers/developers&#8217; that are still using tables! I can understand why (CSS can be a little frustrating to learn), but a &#8216;professional&#8217;&#8230; I&#8217;ll just stop right there.</p>
<p>Chris Coyier of CSS tricks is the man! He&#8217;s extremely knowledgeable when it comes to web development, and WordPress and he breaks CSS down and makes it understandable. There are plenty of tutorials on the website, and he also puts out a <a title="CSS Tricks on iTunes" href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=273881728" target="_blank">podcast</a>. You&#8217;ll be amazed at the wealth of information available on his site!</p>
<h3><strong><span style="text-decoration: underline;"><a title="Boagworld" href="http://boagworld.com/" target="_blank">Boagworld</a></span></strong></h3>
<p><a title="Web Design Podcast" href="http://boagworld.com/" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/boagworld.jpg" /></a></p>
<p>This is where I learned about &#8216;web standards&#8217; and a lot of the other bits about the business of web design and development that people may not think about at first. They used to put out a weekly podcast (up until a month or two ago), but it&#8217;s currently not in production. There are 200+ episodes available on iTunes that are chock-full of information that will bring you up to speed with the &#8216;industry&#8217;. The also have a forum and post articles on their website.</p>
<h3><strong><span style="text-decoration: underline;"><a title="W3C Schools" href="http://www.w3schools.com/" target="_blank">W3Schools</a></span></strong></h3>
<p><a title="Web Development School On-line" href="http://www.w3schools.com" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/w3schools.jpg" /></a></p>
<p>This site is awesome! They&#8217;re slug-line says it all:</p>
<p>&#8220;THE LARGEST WEB DEVELOPER SITE ON THE NET</p>
<p>Full Web Building Tutorials</p>
<p>- ALL FREE!&#8221;</p>
<p>W3Schools offers excellent tutorials about almost everything. I&#8217;m not even going to try to list everything you can learn there, just go check it out and see for yourself!</p>
<h3><strong><span style="text-decoration: underline;"><a title="CSS Globe" href="http://cssglobe.com/" target="_blank">CSS Globe</a></span></strong></h3>
<p><a title="Web Design Development Tutorials" href="http://cssglobe.com/" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/css-globe.jpg" /></a></p>
<p>I love this site! The tag line says it&#8217;s &#8220;your daily source of css news&#8221;, which it is, but there&#8217;s also great information on other areas of front-end development and best-practices.</p>
<h3><strong><span style="text-decoration: underline;"><a title="Soh Tanaka" href="http://www.sohtanaka.com/web-design-blog" target="_blank">The Blog of Soh Tanaka</a></span></strong></h3>
<p><a title="Front-end Web Designer Blog" href="http://www.sohtanaka.com/web-design-blog" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/soh-tanaka.jpg" /></a></p>
<p>I&#8217;m not really sure how I found this blog, but I&#8217;ve found some really great tutorials here. Soh Tanaka is a designer and front-end developer based in Los Angeles. His tutorials are great and easy to understand, and I also like his design style.</p>
<h3><strong><span style="text-decoration: underline;"><a title="DOCTYPE" href="http://doctype.tv/" target="_blank">&lt;!DOCTYPE&gt;</a></span></strong></h3>
<p><a title="Web Development Design Tutorials" href="http://doctype.tv/" target="_blank"><img class="alignleft frame" src="http://www.wilhelser.com/wp-content/uploads/2010/08/doctype.jpg" /></a></p>
<p>These guys get an honorable mention because they weren&#8217;t around at the  beginning. However, they put out a great screencast and I&#8217;ve found it to  be very informational and up to date. They do a segment on design and then a segment on development, so it provides good information for both.</p>
<h3><strong><span style="text-decoration: underline;"><a title="Twitter" href="http://twitter.com" target="_blank">Twitter</a></span></strong></h3>
<h3><a title="Twitter" href="http://twitter.com" target="_blank"><img src="http://www.wilhelser.com/wp-content/uploads/2010/08/twitter.jpg" class="alignleft frame" /></a></h3>
<p>Yep, Twitter! Follow good designers and developers and you&#8217;ll learn. See Quick Tips below.</p>
<h4><span style="text-decoration: underline;"><strong>Quick Tips:</strong></span></h4>
<ul>
<li>Subscribe to RSS feeds. There are all kinds of feed readers out there. I use <a title="Google Reader" href="http://www.google.com/reader" target="_blank">Google Reader</a> and <a title="FeedDemon" href="http://www.feeddemon.com/" target="_blank">FeedDemon</a>, both free and synchronized with each other. On my iPhone I use NetNewsWire which also syncs with my Google Reader account. It&#8217;s not free, but there are several feed readers for the iPhone that are free and more than sufficient. You can download an OPML file with all of my subscriptions <a title="ZIP file with OPML file" href="http://www.wilhelser.com/wp-content/uploads/2010/08/wil-helser-feeds.zip" target="_blank">here</a> if you want it.</li>
<li>When you come across blogs that you like and are informative, take a moment to follow them on Twitter. I&#8217;ve gotten TONS of information as a result of tweets or re-tweets from developers that I follow that pointed me to articles that I might never have read otherwise. New articles mean new writers, which means new subscriptions, which means new sources of information! Your feed reader is your friend!</li>
<li>Practice! Don&#8217;t just download the source code from tutorials and copy and paste them into your projects. Take the time to read and understand the tutorial. One thing I used to do is type out everything myself. Even if I was just doing the tutorial for practice and it wasn&#8217;t something I was trying to learn for a project, I would print out the source code and type it out myself. I believe this really helped me when it came to learning clean coding practices and understanding syntax.</li>
</ul>
<p>So there you have it! I hope this has been a good source of information for budding developers. There are tons of sites and blogs and podcasts out there that can help you learn web development, this is not a complete list by far. What it <strong>IS</strong>, is a list of the sources of information that helped me the most. I hope they&#8217;ll help you as well.</p>
<p>My next post is going to give you even MORE resources&#8230; forums! Forums are a great way to plug in to your industry and I&#8217;ll give you a list of the forums I go to regularly to get great information on web development.<br />
<!-- start wp-tags-to-technorati 1.02 --></p>
<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/css' rel='tag,nofollow' target='_blank'>css</a>, <a class='technorati-link' href='http://technorati.com/tag/html' rel='tag,nofollow' target='_blank'>html</a>, <a class='technorati-link' href='http://technorati.com/tag/javascript' rel='tag,nofollow' target='_blank'>javascript</a>, <a class='technorati-link' href='http://technorati.com/tag/jQuery' rel='tag,nofollow' target='_blank'>jQuery</a>, <a class='technorati-link' href='http://technorati.com/tag/web+design' rel='tag,nofollow' target='_blank'>web design</a>, <a class='technorati-link' href='http://technorati.com/tag/web+development' rel='tag,nofollow' target='_blank'>web development</a></p>
<p><!-- end wp-tags-to-technorati --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wilhelser.com/my-blog/how-i-learned-web-development/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Build a Custom Photo Gallery in Business Catalyst with jQuery and XML</title>
		<link>http://www.wilhelser.com/my-blog/custom-photo-gallery-business-catalyst/</link>
		<comments>http://www.wilhelser.com/my-blog/custom-photo-gallery-business-catalyst/#comments</comments>
		<pubDate>Tue, 03 Aug 2010 23:27:57 +0000</pubDate>
		<dc:creator>Wil Helser</dc:creator>
				<category><![CDATA[My Blog]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[adobe business catalyst]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[photo gallery]]></category>

		<guid isPermaLink="false">http://www.wilhelser.com/?p=27</guid>
		<description><![CDATA[If you&#8217;ve had the opportunity to work with Adobe Business Catalyst, you&#8217;ve no doubt found that it&#8217;s definitely got it&#8217;s pros and cons. One of the drawbacks I&#8217;ve come across pertains to the Photo Gallery module. I haven&#8217;t seen a way within the system to style the gallery so that all of the thumbnails are [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve had the opportunity to work with <a rel="nofollow" href="http://businesscatalyst.com/">Adobe Business Catalyst</a>, you&#8217;ve no doubt found that it&#8217;s definitely got it&#8217;s pros and cons. One of the drawbacks I&#8217;ve come across pertains to the Photo Gallery module. I haven&#8217;t seen a way within the system to style the gallery so that all of the thumbnails are the same size. This may seem like a minor detail to some, but it can really throw off a design, especially if you&#8217;re working with a grid.</p>
<p>One great feature that BC has is the ability to create an XML feed from a photo gallery, and that&#8217;s what I&#8217;ll be utilizing to build my fully customizable Business Catalyst photo gallery. I&#8217;ll also be using <a rel="nofollow" href="http://jquery.com/">jQuery </a>which is hands-down my favorite JavaScript library, and Shadowbox which is a pretty cool lightbox.</p>
<p>This is my first tutorial so please bear with me. And if anyone knows of a better way of doing this, I&#8217;d love to hear it. I did a lot of Googling and couldn&#8217;t find anything, but I&#8217;m always up to learning better solutions!</p>
<p class="button_wrap"><a href="#" class="button">View the Demo</a></p><p>    </p>
<p class="button_wrap"><a href="#" class="button">Demo Source Files</a></p><p>Let&#8217;s start with the back-end stuff inside of BC. I&#8217;m going to assume that you already know how to create a photo gallery. After you&#8217;ve done so, <a rel="prettyphoto" href="http://www.wilhelser.com/wp-content/uploads/2010/08/generate-xml-feed.jpg">generate an XML feed from that gallery</a> and <a rel="prettyphoto" href="http://www.wilhelser.com/wp-content/uploads/2010/08/feed-url.jpg">copy the URL of the XML file</a>.</p>
<p>Now that we&#8217;ve gotten our feed, let&#8217;s start writing some markup. First, you&#8217;ll need to either download Shadowbox <a title="Download Shadowbox" href="http://www.shadowbox-js.com/" target="_blank">here</a> or use the version I&#8217;ve included with the source files. You can put the Shadowbox folder anywhere you want, you just have to make sure you keep all of the Shadowbox files within that folder.</p>
<p>Now let&#8217;s include jQuery and the Shadowbox files in our document head along with the JavaScript file we&#8217;ll be using for the gallery&#8230; I&#8217;ve just called it &#8216;gallery.js&#8217;.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span><br />
&nbsp;<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;shadowbox/shadowbox.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span><br />
<span style="color: #339933;">&lt;</span>script src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;js/gallery.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>And we&#8217;ll add the code to initialize Shadowbox at the bottom, just before the closing &#8216;body&#8217; tag.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp;<span style="color: #339933;">&lt;</span>script<span style="color: #339933;">&gt;</span><br />
&nbsp; &nbsp; Shadowbox.<span style="color: #660066;">init</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span><br />
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></div></td></tr></tbody></table></div>
<p>We&#8217;re going to load the photos as list-items into an unordered-list, so let&#8217;s add the unordered-list to our markup where we want the gallery to appear.</p>
<div class="codecolorer-container html4strict default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">ul</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;gallery-ul&quot;</span>&gt;</span> <span style="color: #808080; font-style: italic;">&lt;!-- The Photo Gallery will be loaded into here --&gt;</span><span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">ul</span>&gt;</span></div></td></tr></tbody></table></div>
<p>&nbsp;</p>
<p>Here&#8217;s the fun part. We&#8217;re going to use jQuery to parse the XML feed and output each photo as a list item inside of our unordered-list. I put my JavaScript code inside a separate file called &#8216;gallery.js&#8217;.</p>
<div class="codecolorer-container javascript default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br /></div></td><td><div class="javascript codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$(function () {<br />
<br />
$.ajax({<br />
type: &quot;GET&quot;,<br />
url: &quot;img/demo-gallery/PhotoGallery.xml&quot;, // location of your gallery's xml file<br />
dataType: &quot;xml&quot;,<br />
success: function(xml) {<br />
<br />
$(xml).find('img').each(function() {<br />
<br />
var location = 'img/demo-gallery/'; // relative path to the directory that holds your images<br />
var url = $(this).attr('src');<br />
var alt = $(this).attr('alt');<br />
<br />
$('<br />
<br />
').html('&lt;a class=&amp;quot;wpGallery mceItem&amp;quot; title=&quot;gallery&quot; rel=&quot;shadowbox&amp;lt;img src=&quot; href=&quot; mce_src=&quot;&gt;&lt;/a&gt;&quot;&amp;gt;&lt;img class=&quot;thumb&quot; title=&quot;'+alt+'&quot; src=&quot;'+location+''+url+'&quot; alt=&quot;'+alt+'&quot; /&gt;').appendTo('#gallery-ul');<br />
<br />
});<br />
<br />
$('<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>').html('Shadowbox.clearCache(); Shadowbox.setup();').appendTo('#photo-gallery');<br />
}<br />
});<br />
});</div></td></tr></tbody></table></div>
<p>Now let&#8217;s add some styles to make our photo gallery look good. Obviously, you can style the gallery however you want. Here&#8217;s the CSS I used for the demo.</p>
<div class="codecolorer-container css default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #cc00cc;">#photo-gallery</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#gallery-ul</span> &nbsp;<span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">list-style</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">515px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #cc66cc;">0</span> <span style="color: #993333;">auto</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#gallery-ul</span> li &nbsp;<span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">81px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">81px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">float</span><span style="color: #00AA00;">:</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">margin</span><span style="color: #00AA00;">:</span> <span style="color: #933;">10px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">border</span><span style="color: #00AA00;">:</span><span style="color: #933;">1px</span> <span style="color: #993333;">solid</span> <span style="color: #cc00cc;">#C0C0C0</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">background</span><span style="color: #00AA00;">:</span><span style="color: #cc00cc;">#F2F2F2</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">overflow</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">hidden</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
<span style="color: #cc00cc;">#gallery-ul</span> li a &nbsp;<span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">block</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">75px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">75px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">absolute</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">top</span><span style="color: #00AA00;">:</span><span style="color: #933;">3px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">left</span><span style="color: #00AA00;">:</span> <span style="color: #933;">3px</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">z-index</span><span style="color: #00AA00;">:</span><span style="color: #cc66cc;">5</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span><br />
img<span style="color: #6666ff;">.thumb</span> &nbsp;<span style="color: #00AA00;">&#123;</span> &nbsp;<span style="color: #000000; font-weight: bold;">width</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">height</span><span style="color: #00AA00;">:</span> <span style="color: #933;">100%</span><span style="color: #00AA00;">;</span> <span style="color: #000000; font-weight: bold;">position</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">relative</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div>
<p>So there you have it. A custom photo gallery in Adobe Business Catalyst!<br />
<!-- start wp-tags-to-technorati 1.02 --></p>
<p class='technorati-tags'>Technorati Tags: <a class='technorati-link' href='http://technorati.com/tag/adobe+business+catalyst' rel='tag,nofollow' target='_blank'>adobe business catalyst</a>, <a class='technorati-link' href='http://technorati.com/tag/jQuery' rel='tag,nofollow' target='_blank'>jQuery</a>, <a class='technorati-link' href='http://technorati.com/tag/photo+gallery' rel='tag,nofollow' target='_blank'>photo gallery</a></p>
<p><!-- end wp-tags-to-technorati --></p>
]]></content:encoded>
			<wfw:commentRss>http://www.wilhelser.com/my-blog/custom-photo-gallery-business-catalyst/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

