<?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>This Life of Brian &#187; Web Design</title>
	<atom:link href="http://life-of-brian.com/category/nerds-at-work/web-design/feed/" rel="self" type="application/rss+xml" />
	<link>http://life-of-brian.com</link>
	<description>My name is Brian.  Welcome to my life.</description>
	<lastBuildDate>Tue, 03 Jan 2012 03:09:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Can&#8217;t Create Thumbnails in Nextgen Gallery WordPress Plugin</title>
		<link>http://life-of-brian.com/2010/08/cant-create-thumbnails-in-nextgen-gallery-wordpress-plugin/</link>
		<comments>http://life-of-brian.com/2010/08/cant-create-thumbnails-in-nextgen-gallery-wordpress-plugin/#comments</comments>
		<pubDate>Sun, 15 Aug 2010 14:57:19 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[CMS Tricks]]></category>
		<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Nextgen Gallery]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1610</guid>
		<description><![CDATA[Ran into some weird trouble with the Nextgen Gallery WordPress plugin. Couldn&#8217;t find a lot of information to help solve the problem, so I thought I&#8217;d write up the experience for anyone else having a similar problem. In the admin area, you can create custom thumbnails for your images. An image is supposed to pop [...]]]></description>
			<content:encoded><![CDATA[<p>Ran into some weird trouble with the Nextgen Gallery WordPress plugin. Couldn&#8217;t find a lot of information to help solve the problem, so I thought I&#8217;d write up the experience for anyone else having a similar problem.</p>
<p>In the admin area, you can create custom thumbnails for your images. An image is supposed to pop up that you can drag a thumbnail over. But for some reason, when I opened up the window to create a thumbnail, the image didn&#8217;t appear. The image was coming up blank, like if you link to an image that isn&#8217;t there.</p>
<p>The actual image was there on the server, so that wasn&#8217;t a problem. I followed the trail a bit and figured out that the image for the thumbnail creation process was created by a script, nggshow.php (part of the Nextgen plugin). The script itself was working. It fetched all the information, put it in an object, and then it was supposed to spit out an image.</p>
<p>The problem was that the final output is supposed to be a jpeg. But, some white space was added at the top of the file, so the output was corrupted. The jpeg was there, but the browser couldn&#8217;t render it because of the added white space at the top of the file. I don&#8217;t know where exactly that was coming from, but it was added in somewhere in the Nextgen Gallery plugin files.</p>
<p>I tried to go through, eliminate any extra lines outside the php tags, and get rid of the white space. I eliminated one of the two newline characters that was in the output, but I couldn&#8217;t find the second. After pulling my hair for a while, I realized that I was working with an older version of Nextgen Gallery (1.5.3). I updated to the most recent (1.5.5), and it worked fine. Doh.</p>
<p>So&#8230; simple solution. Upgrade to the latest version of the plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2010/08/cant-create-thumbnails-in-nextgen-gallery-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Backup Your WordPress Database: Updraft Plugin</title>
		<link>http://life-of-brian.com/2010/07/backup-your-wordpress-database-updraft-plugin/</link>
		<comments>http://life-of-brian.com/2010/07/backup-your-wordpress-database-updraft-plugin/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 15:09:39 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Online Publishing]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1602</guid>
		<description><![CDATA[I love WordPress. Just about every site I&#8217;ve ever designed has used WordPress as a CMS. I did create a site in CMS Made Simple once, and I&#8217;m not sure it was so &#8220;simple.&#8221; Then again, it wasn&#8217;t a simple site&#8230; it was designed to track stats for a Blood Bowl league (think fumbbl). It [...]]]></description>
			<content:encoded><![CDATA[<p>I love WordPress. Just about every site I&#8217;ve ever designed has used WordPress as a CMS. I did create a site in <a href="http://www.cmsmadesimple.org/">CMS Made Simple</a> once, and I&#8217;m not sure it was so &#8220;simple.&#8221; Then again, it wasn&#8217;t a simple site&#8230; it was designed to track stats for a Blood Bowl league (think <a href="http://fumbbl.com/">fumbbl</a>). It worked, but it wasn&#8217;t elegant.</p>
<p>But I digress. WordPress is awesome. You can have a blog, like this. You can set it up more like a static site (see this portfolio site, <a href="http://olinda-gibbons.com">Olinda Gibbons Photography</a>). You can do&#8230; just about whatever you want if you get a little creative with the template.</p>
<p>What&#8217;s more, there are <strong>tons</strong> of useful plug-ins waiting for you, so you don&#8217;t have to spend as much time custom coding stuff. One simple task I needed a solution for was backuping up my WordPress database and files. I used to use <a href="http://life-of-brian.com/2008/12/backup-your-wordpress-database-often/">WordPress Database Backup</a>, but I don&#8217;t think it&#8217;s compatible with WordPress 3.0 and it didn&#8217;t actually fulfill all my needs.</p>
<p>After some searching, I finally found a suitable replacement this morning: <a href="http://wordpress.org/extend/plugins/updraft/">Updraft</a>.</p>
<h3>How I Use It</h3>
<p>The cool thing about Updraft is that it doesn&#8217;t just backup your database. What good is the database if all your uploads are gone? You&#8217;re gonna have a lot of wholes in your posts where there used to be pictures!</p>
<p>Updraft takes this into account and backs up four things &#8211; your database (pretty important), your plugins (which you might not have locally if you installed them all automatically), your uploads, and your themes (well, you should have this saved locally for development purposes anyway).</p>
<p>You can schedule the back-ups. You can select a custom folder to save it in (anywhere on the server; not just in the wp-content folder). If you have a cloud file storage service, you can send the files there. And you can specify how many backups it should retain, so you don&#8217;t end up with a hundred backups floating around your server by the end of the year.</p>
<p>This solution is perfect for me.  I set Updraft up on all of my WordPress sites so that it automatically backs everything up. It dumps it into a folder above the public_html folder (something like /home/backups). From there, I can set up <a href="http://www.2brightsparks.com/syncback/sbpro.html">SyncBackPro</a> with a scheduled backup to download the backups from the server and store them locally on my external hard drive.</p>
<p>So what are you waiting for? If you don&#8217;t have a backup plug-in installed already, go get Updraft. Hopefully you&#8217;ll never need it&#8230; but it could be a life saver.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2010/07/backup-your-wordpress-database-updraft-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Project: Digital Photography How To</title>
		<link>http://life-of-brian.com/2010/07/new-project-digital-photography-how-to/</link>
		<comments>http://life-of-brian.com/2010/07/new-project-digital-photography-how-to/#comments</comments>
		<pubDate>Fri, 16 Jul 2010 17:26:07 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1582</guid>
		<description><![CDATA[It&#8217;s summer time, which means it&#8217;s time to start working on a new project. We&#8217;ll see how long this one lasts&#8230; I just launched Digital Photography How To. It&#8217;s a blog aimed at beginning to intermediate digital photographers. More about my reasons for writing it here, but the idea is to help me organize my [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s summer time, which means it&#8217;s time to start working on a new project. We&#8217;ll see how long this one lasts&#8230;</p>
<p>I just launched <a href="http://digital-photography-howto.com">Digital Photography How To</a>.</p>
<p>It&#8217;s a blog aimed at beginning to intermediate digital photographers. More about <a href="http://digital-photography-howto.com/about/">my reasons for writing it here</a>, but the idea is to help me organize my thoughts about photography and hopefully provide a resource for other beginners that are looking to get into photography.</p>
<p>Aside from articles about photography, another of my goals is to maintain the <a href="http://digital-photography-howto.com/category/picture-of-the-day/">Picture of the Day</a> section. Although I&#8217;ve toyed with 365&#8242;s and 52&#8242;s (taking a picture every day or every week), they&#8217;re a lot of work and commitment. Instead, my goal here is to look through flickr for at least a few minutes every day, pick out a nifty photo, and explain what I like about it. You can&#8217;t become a better photographer without looking at other people&#8217;s work, can you&#8230;?</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2010/07/new-project-digital-photography-how-to/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using a jQuery Gallery in a Photography Website</title>
		<link>http://life-of-brian.com/2010/04/using-a-jquery-gallery-in-a-photography-website/</link>
		<comments>http://life-of-brian.com/2010/04/using-a-jquery-gallery-in-a-photography-website/#comments</comments>
		<pubDate>Sun, 11 Apr 2010 00:17:32 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[Photography]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1579</guid>
		<description><![CDATA[Recently, I&#8217;ve made a foray into the world of professional photography with one of my students. Olinda wants to pursue photography as a career, so she&#8217;s simultaneously pursuing a bachelor&#8217;s degree in photography and working on setting up a portfolio and client base. To get things started, I took a stab at developing a website [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve made a foray into the world of professional photography with one of my students. Olinda wants to pursue photography as a career, so she&#8217;s simultaneously pursuing a bachelor&#8217;s degree in photography and working on setting up a portfolio and client base.</p>
<p>To get things started, I took a stab at developing a website for her: <a href="http://olinda-gibbons.com">olinda-gibbons.com</a>.</p>
<p>I&#8217;m not 100% happy with the theme, but we kind of had to launch it under short notice so that we could post/sell images from a few events that she worked. I&#8217;ll probably re-vamp the theme over the summer when I have free time, but at the moment there are some really cool things in there that I want to show off.</p>
<h3>Auto Portfolio with a jQuery Gallery</h3>
<p>One feature I definitely wanted to have was a portfolio page with some kind of nifty jQuery functionality. I looked through some options on this list of <a href="http://vandelaydesign.com/blog/web-development/jquery-image-galleries/">jquery gallery plug-ins</a>, and I liked the <a href="http://devkick.com/lab/galleria/">galleria</a> plug-in. Although I think it might now be out of development, I was able to get it working to my satisfaction with a static html demo.</p>
<p>Of course, I wanted to be able to easily and automatically create and change portfolios with WordPress, and the <a href="http://nextgen-gallery.com/">NextGEN Gallery plug-in for WordPress</a> made that possible. I created a custom template file to display a gallery with the mark-up necessary for the Galleria plug-in to work. Now all I have to do is upload the pictures to a gallery, insert a piece of short code, and instant portfolio page. Nice.</p>
<p>There are two samples on the site now: Olinda&#8217;s <a href="http://olinda-gibbons.com/portfolios/portraits-portfolio/">portrait portfolio</a> and her <a href="http://olinda-gibbons.com/portfolios/events-portfolio/">events portfolio</a>.</p>
<h3>Integrating PayPal Web Payment</h3>
<p>The second thing I needed to do was integrate PayPal&#8217;s web payment system so that we could accept payments and then print/ship pictures after events. Portrait sessions can be handled through invoicing and other payment methods, but PayPal makes it really convenient to handle larger groups of people more efficiently.</p>
<p>Again, this was made possible by the NextGen gallery plug-in. I marked up a custom template to include the html mark-up for the PayPal payment buttons. Now, I just upload the proof images to a gallery and with one piece of short-code I have an instant ordering page.</p>
<p>This is a place where I definitely want to work on a better design, but I was working under short notice and just wanted something functional&#8230;</p>
<p>Example: <a href="http://olinda-gibbons.com/proofs/william-paterson-fashion-show-03-25-2010/">William Paterson Fashion Show proof album</a>.</p>
<h3>How Did I Do It?</h3>
<p>I plan to write up some detailed guides to how I designed those pages. I&#8217;m not sure if I&#8217;ll post them here or start up a blog section on <a href="http://olinda-gibbons.com">olinda-gibbons.com</a> and post it there. Either way, I&#8217;ll post about the guides here because I think they&#8217;ll be valuable for anyone looking to develop a site for a photographer. The more I work with it, I&#8217;m really impressed with the combination of WordPress and the NextGen gallery plugin.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2010/04/using-a-jquery-gallery-in-a-photography-website/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Site Still Clean.  Although Not Worked On.</title>
		<link>http://life-of-brian.com/2010/02/site-still-clean-although-not-worked-on/</link>
		<comments>http://life-of-brian.com/2010/02/site-still-clean-although-not-worked-on/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 03:25:50 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Life of Brian]]></category>
		<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1577</guid>
		<description><![CDATA[Damn. I&#8217;ve been busy. Hard to believe that I moved this site to a new host almost two months ago, and I haven&#8217;t touched it. But the good news? There&#8217;s no new infection. No script hijacking. No iframe injection. See my previous post for more details. Fuck you ixwebhosting. That&#8217;s all I&#8217;ve got to say. [...]]]></description>
			<content:encoded><![CDATA[<p>Damn.  I&#8217;ve been busy.  Hard to believe that I moved this site to a new host almost two months ago, and I haven&#8217;t touched it.</p>
<p>But the good news? There&#8217;s no new infection. No script hijacking. No iframe injection. See my <a href="http://life-of-brian.com/2009/12/moved-to-a-new-host-hostgator/">previous post for more details</a>.</p>
<p>Fuck you ixwebhosting. That&#8217;s all I&#8217;ve got to say.</p>
<p>I don&#8217;t see any other explanation except that IXwebhosting&#8217;s servers are compromised, and their weak security was in turn compromising my site. I&#8217;ve had no problems with HostGator, and I love it.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2010/02/site-still-clean-although-not-worked-on/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moved to a New Host &#8211; HostGator</title>
		<link>http://life-of-brian.com/2009/12/moved-to-a-new-host-hostgator/</link>
		<comments>http://life-of-brian.com/2009/12/moved-to-a-new-host-hostgator/#comments</comments>
		<pubDate>Sun, 27 Dec 2009 23:59:54 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Life of Brian]]></category>
		<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1564</guid>
		<description><![CDATA[A couple years ago, I started dabbling in web design and web programming.  I started with PHP-enabled free host (FriHost), and I eventually decided to take the plunge and buy some real hosting. I ultimately chose ixwebhosting.  Two years later, I&#8217;m not sure why.  I&#8217;m pretty sure I read reviews and determined that they would [...]]]></description>
			<content:encoded><![CDATA[<p>A couple years ago, I started dabbling in web design and web programming.  I started with PHP-enabled free host (<a href="http://www.frihost.com">FriHost</a>), and I eventually decided to take the plunge and buy some real hosting.</p>
<p>I ultimately chose ixwebhosting.  Two years later, I&#8217;m not sure why.  I&#8217;m pretty sure I read reviews and determined that they would be a reliable host.  That estimate turned out to be&#8230; dead wrong.</p>
<p>In the first year, I experienced a lot of issues with ixwebhosting.  Despite a &#8220;99.9%&#8221; uptime guarantee, there were times when a problem with the sql server rendered my sites (all database driven) completely inaccessible.  In my second year, these issues seem to have been worked out, but that first year left a real sour taste in my mouth.</p>
<p>Then, over the past year, I&#8217;ve been battling various infections to my website.  At first, they were <a href="&quot;http://life-of-brian.com/2009/10/grr-i-hate-iframe-injections/">iframe injections</a> that would periodically crop up.  For a time, I wasn&#8217;t maintaining any of these sites (although they were still getting a trickle of traffic), and the iframe injection got me blacklisted from Google.  Eugh.</p>
<p>After I sorted that out, I got hit with something like a <a href="http://life-of-brian.com/2009/12/finally-killed-the-virus/">gumblar infection</a>.  The research I did suggested that this was a local issue &#8211; that my computer was compromised and that some kind of trojan was sending my ftp information to a remote server, which then injected script elements into my website.  I cleaned everything up, cleared my ftp information out of filezilla, and then used the web-based control panel with ixwebhosting to change my ftp password.  Still, these script elements kept coming up.  I also put a fresh install of Windows 7 (which I love, btw) onto my desktop.  If there was some kind of local infection, this would have wiped it out &#8211; and it didn&#8217;t stop the problem.</p>
<p>By this time, I was convinced that something was wrong at ixwebhosting.  They told me that my computer was compromised and that this led to the injections, but it just doesn&#8217;t add up.  I tried several different virus/malware scans, and nothing was found.  I changed my ftp password (and never used it in my ftp client).  I even put a fresh install of Windows on the machine.  There&#8217;s no way it&#8217;s a problem on my side.</p>
<p>This month, my hosting account with ixwebhosting ran out, and I dumped &#8216;em.  I switched to HostGator and paid for 6-months up front.  So far, I&#8217;ve got no complaints.  But it&#8217;s only been a week, so I&#8217;m not quite ready to pass judgement on them just yet.</p>
<p>As for IXwebhosting?  I&#8217;m ready to pass judgement on them.  They suck.  Stay away.  I signed up for two years when I bought my hosting from them, and within a few months I regretted it.  If I hadn&#8217;t been locked in for two years, I would have dumped them long ago and switched to a new host.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2009/12/moved-to-a-new-host-hostgator/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Finally Killed the Virus?</title>
		<link>http://life-of-brian.com/2009/12/finally-killed-the-virus/</link>
		<comments>http://life-of-brian.com/2009/12/finally-killed-the-virus/#comments</comments>
		<pubDate>Sat, 05 Dec 2009 04:14:55 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Life of Brian]]></category>
		<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Site News]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1548</guid>
		<description><![CDATA[For a while now, I&#8217;ve been battling with a virus that has infected the sites I host (Web Cash and Life of Brian). I wrote about the iframe injections before, and I hoped that I&#8217;d fixed the problem. But it kept. Coming. Back. Initially, I had problems with iframes popping up on my pages. I [...]]]></description>
			<content:encoded><![CDATA[<p>For a while now, I&#8217;ve been battling with a virus that has infected the sites I host (<a href="http://www.earn-web-cash.com">Web Cash</a> and <a href="http://www.life-of-brian.com">Life of Brian</a>). I wrote about the <a href="http://life-of-brian.com/2009/10/grr-i-hate-iframe-injections/">iframe injections</a> before, and I hoped that I&#8217;d fixed the problem. But it kept. Coming. Back.</p>
<p>Initially, I had problems with iframes popping up on my pages. I cleared the themes and deleted the iframes, and periodically they would re-appear. This was annoying, and it was also damaging to my sites (although not a huge concern, since I didn&#8217;t update them regularly anymore and I wasn&#8217;t really expecting to earn much profit/traffic from them). Then, I noticed that script tags were appearing in the pages, and the whole situation got even more aggravating.</p>
<p>I would remove all of the script tags and clean up the entire server (replacing three wordpress installations and cleaning up three wordpress templates). A few days later, the script tags would be back.</p>
<p>What the heck? I eventually found some reading on the topic &#8211; start with this <a href="http://blog.unmaskparasites.com/2009/05/07/gumblar-cn-exploit-12-facts-about-this-injected-script/">post about Gumblar and then look around Unmasked Parasites</a>. I repeatedly scanned my computer with different virus programs, but I was unable to find any kind of parasite that would transmit my ftp information to a remote server.</p>
<p>Nonetheless, I decided that something like this had to be the problem. I again cleaned up the server, replacing all three wordpress installations and cleaning up the templates. I then cleared all of the passwords out of my FTP client (Filezilla). Finally, I went to my hosting account through my web browser and changed my FTP password to something new and never used it in Filezilla.</p>
<p>So far, so good. It&#8217;s been a week or so, and the virus hasn&#8217;t cropped back up. Oh, I hope it stays away&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2009/12/finally-killed-the-virus/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Where to Host Photo Slideshows for Your WordPress Blog</title>
		<link>http://life-of-brian.com/2009/11/where-to-host-photo-slideshows-for-your-wordpress-blog/</link>
		<comments>http://life-of-brian.com/2009/11/where-to-host-photo-slideshows-for-your-wordpress-blog/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 04:03:52 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Online Publishing]]></category>
		<category><![CDATA[Online Resources]]></category>
		<category><![CDATA[Teach Them Well]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1537</guid>
		<description><![CDATA[At school, I&#8217;m the yearbook adviser. I realized this year that we have thousands and thousands of pictures &#8211; and most of them never see the light of day. Why not use them for something? I wanted to make a website for the yearbook club and post some of these photos in galleries. It&#8217;s a [...]]]></description>
			<content:encoded><![CDATA[<p>At school, I&#8217;m the yearbook adviser. I realized this year that we have thousands and thousands of pictures &#8211; and most of them never see the light of day. Why not use them for something?</p>
<p>I wanted to make a website for the yearbook club and post some of these photos in galleries. It&#8217;s a great way to promote the yearbook and the kids like seeing themselves online. There were some legal issues that I&#8217;m working out with the administration, but there were also some technical issues.</p>
<p>Although I obviously can create and host my own website, I don&#8217;t have access to web space with php hosting for the yearbook club. I didn&#8217;t want to mix school stuff with my own stuff, so I didn&#8217;t want to host it here. The simplest solution for me (which I also use for class blogs) was a free blog hosted on WordPress.com.</p>
<p>That is, until I realized that I couldn&#8217;t easily embed slideshows from other websites (i.e. Picasa). Doh! The embed and iframe tags that are usually used to include slide shows gets wiped out by WordPress&#8217; security.</p>
<p>I figured out a work around, though. <a href="http://www.slideshare.net/">http://www.slideshare.net/</a> allows you to create and host <strong>unlimited</strong> slideshows for free. They also offer an option to embed the slideshow into a WordPress blog, and its compatible with a free WordPress.com blog. This solved my technical problems and I don&#8217;t have to worry about storage space.</p>
<p>Shortly, I&#8217;m going to write up an article about this for Associated Content. I&#8217;ll link to it when it&#8217;s published. In the meantime, here&#8217;s a sample gallery. The pictures are just of my backyard. I&#8217;m still working on the legal issues, so I haven&#8217;t actually hosted any slideshows of students yet.</p>
<div style="width:425px;text-align:left" id="__ss_2562132"><object style="margin:0px" width="450" height="375"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=backyard-091122215925-phpapp01&#038;rel=0&#038;stripped_title=backyard" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=backyard-091122215925-phpapp01&#038;rel=0&#038;stripped_title=backyard" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="450" height="375"></embed></object></div>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2009/11/where-to-host-photo-slideshows-for-your-wordpress-blog/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Grr&#8230; I Hate iFrame Injections.</title>
		<link>http://life-of-brian.com/2009/10/grr-i-hate-iframe-injections/</link>
		<comments>http://life-of-brian.com/2009/10/grr-i-hate-iframe-injections/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 01:58:28 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1519</guid>
		<description><![CDATA[Eugh.  I hate iframe injections. Quite some time ago, I gave up on maintaining my various sites &#8211; notably this one and Web Cash. I simply didn&#8217;t have the time to add new content, and I&#8217;d had trouble with the theme files getting infected with iframe injections. Last month, I decided to clean up the [...]]]></description>
			<content:encoded><![CDATA[<p>Eugh.  I <strong>hate</strong> iframe injections.</p>
<p>Quite some time ago, I gave up on maintaining my various sites &#8211; notably this one and <a href="http://earn-web-cash.com">Web Cash</a>. I simply didn&#8217;t have the time to add new content, and I&#8217;d had trouble with the theme files getting infected with iframe injections.</p>
<p>Last month, I decided to clean up the files and, if nothing else, keep the sites alive as they were. They bring in a small bit of revenue from ad sales, and I don&#8217;t see any reason to pass up money that could be coming in if the sites were functioning properly. So, I cleaned up all the template files, changed all the passwords associated with my hosting account and FTP accounts, and thought all would be well.</p>
<p>But it isn&#8217;t!</p>
<p>For whatever reason, I can&#8217;t seem to shake this damn problem. And every time I notice it&#8217;s back, it raises my level of anger another notch.</p>
<p>The infections routinely affect three files in my template: index.php, header.php, and footer.php. Each file has a new line that creates an iframe, which inevitably loads some invisible links or malware. This iframe can also get your site blacklisted from Google (after cleaning up the files, my site was re-listed on Google and I&#8217;m getting some more search traffic).</p>
<p>I really can&#8217;t figure out how or why the files keep getting re-infected. I&#8217;ve repeatedly changed all the passwords associated with my web host and with WordPress. I&#8217;ve updated WordPress to the latest version. I&#8217;ve checked the file permissions, and they seem correct. Arg&#8230;!</p>
<p>Tonight, I found one potential problem that <strong>might</strong> have been the culprit. I installed the Antivirus plugin for WordPress, and it found a random script tag in my header file. I&#8217;m not entirely sure that a script tag could lead to these files being edited permanently, so I don&#8217;t know that it&#8217;s the culprit. But let&#8217;s hope&#8230; because I&#8217;m tired of checking on things and finding that the files have been tampered with yet again.</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2009/10/grr-i-hate-iframe-injections/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Use Pre-Cached Javascript Libraries: Google&#8217;s AJAX API</title>
		<link>http://life-of-brian.com/2009/01/how-to-use-pre-cached-javascript-libraries-googles-ajax-api/</link>
		<comments>http://life-of-brian.com/2009/01/how-to-use-pre-cached-javascript-libraries-googles-ajax-api/#comments</comments>
		<pubDate>Wed, 14 Jan 2009 02:15:02 +0000</pubDate>
		<dc:creator>Brian</dc:creator>
				<category><![CDATA[Nerds at Work]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://life-of-brian.com/?p=1296</guid>
		<description><![CDATA[Recently, I stumbled on Google&#8217;s AJAX API project. There are a number of things I like, but there is one thing that everyone can use: Google&#8217;s hosted Javascript libraries. Last year, Google launched a project to host a handful of popular Javascript libraries. Among the initial offerings is jQuery &#8211; the Javascript library that I [...]]]></description>
			<content:encoded><![CDATA[<p>Recently, I stumbled on Google&#8217;s AJAX API project.</p>
<p>There are a number of things I like, but there is one thing that everyone can use: <a href="http://googleajaxsearchapi.blogspot.com/2008/05/speed-up-access-to-your-favorite.html">Google&#8217;s hosted Javascript libraries</a>.</p>
<p>Last year, Google launched a project to host a handful of popular Javascript libraries. Among the initial offerings is jQuery &#8211; the Javascript library that I use on this site. They also have some other widely used options &#8211; like prototype and MooTools.</p>
<p>Basically, Google hosts the most recent (and some legacy versions) of the library on its server. You can then link the remote copy of the JS library to your site instead of hosting it yourself.</p>
<h3>Why Should I Use Google Hosted Javascript Libraries?</h3>
<p>Because it could be faster.</p>
<p>If two sites use the same Javascript library but host it locally, the user has to reload and recache the library for each site. jQuery.js on life-of-brian.com is different from jQuery.js on css-tricks.com &#8211; even if the file is exactly the same.</p>
<p>By pointing the user&#8217;s browser to the Google server, it will recognize that .js file in the cache and not download it a second time. So if life-of-brian.com and css-tricks.com both used the jQuery library on Google&#8217;s servers, the user would have to cache it once &#8211; and it would be preloaded when he or she visited the second site.</p>
<p>A secondary benefit (of concern only to large sites) is that it doesn&#8217;t put a strain on your bandwidth. This shouldn&#8217;t be a big deal for most people, but some high volume sites may find this comforting.</p>
<h3>How Do I Load Google&#8217;s Hosted Javascript Libraries?</h3>
<p>You could use the fancy load() function of Google&#8217;s AJAX API, or you could simply add a &lt;script&gt; element using the remote address on Google&#8217;s server.</p>
<p>I chose to go the second route with this site. I wanted to load both the jquery library and the jquery ui library (mainly for the tabs in the sidebar), so I included the following two lines in my header:</p>

<div class="wp_syntax"><div class="code"><pre class="html4strict" style="font-family:monospace;"><span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #000000; font-weight: bold;">script</span> <span style="color: #000066;">src</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.3/jquery-ui.min.js&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/javascript&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><span style="color: #000000; font-weight: bold;">script</span>&gt;</span></pre></div></div>

<p>You can find a list of all the URLs on the <a href="http://code.google.com/apis/ajaxlibs/documentation/#AjaxLibraries">AJAX API documentation page</a>.</p>
<h3>Why Not Do This?</h3>
<p>I don&#8217;t see a lot of potential for harm, but there could be some drawbacks.</p>
<p><strong>No version control.</strong> Presumably Google is going to keep hosting important legacy versions of each library, but this takes version control somewhat out of your hands. It also means you can&#8217;t use the development releases &#8211; only the stable releases are hosted on Google&#8217;s server.</p>
<p><strong>No hacking the library.</strong> You won&#8217;t be able to introduce custom hacks into the library if its hosted on Google&#8217;s server. I don&#8217;t know how many people do that anyway. I&#8217;ve never jumped into to hack a compressed library file &#8211; I just use it as is and add any custom code to another .js file.</p>
<p><strong>Google could sabotage your site.</strong> Unlikely, but I suppose it&#8217;s possible. If you&#8217;re paranoid, steer clear.</p>
<h3>Check It Out</h3>
<p>I&#8217;ve been using it for a week or so, and I haven&#8217;t noticed any problems. In theory, it&#8217;s a great idea, but it&#8217;ll only work if a large number of sites (especially highly trafficked sites in a variety of niches) opt to use it.</p>
<p>I&#8217;m going to do my part and point my users to Google&#8217;s servers. Why don&#8217;t you?</p>
]]></content:encoded>
			<wfw:commentRss>http://life-of-brian.com/2009/01/how-to-use-pre-cached-javascript-libraries-googles-ajax-api/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

