<?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>[as] &#187; Web &amp; Programming</title>
	<atom:link href="http://www.alexschreyer.net/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.alexschreyer.net</link>
	<description>AEC CAD/BIM, Timber Engineering, Web Design and more...</description>
	<lastBuildDate>Sun, 29 Jan 2012 10:00:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Merry Christmas and a Happy New Year 2012!</title>
		<link>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2012/</link>
		<comments>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2012/#comments</comments>
		<pubDate>Thu, 15 Dec 2011 12:00:15 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[AEC CAD]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Timber Engineering]]></category>
		<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[green design]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[photography]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[science]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=3369</guid>
		<description><![CDATA[Now that the holidays are almost here&#8230; I wish you all a joyful and peaceful time. Wherever you are and whatever you celebrate, enjoy time with your family, rest, relax, take some time off and recharge. All the best for the new year. See you in 2012!]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2011/12/ir_merry_christmas_by_alex_schreyer.jpg"  class="thickbox"><img class="alignnone size-medium wp-image-3370" title="IR Merry Christmas by Alex Schreyer" src="http://www.alexschreyer.net/blog/wp-content/uploads/2011/12/ir_merry_christmas_by_alex_schreyer-400x400.jpg" alt="" width="400" height="400" /></a></p>
<p>Now that the holidays are almost here&#8230;</p>
<p>I wish you all a joyful and peaceful time. Wherever you are and whatever you celebrate, enjoy time with your family, rest, relax, take some time off and recharge. All the best for the new year. See you in 2012!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2012/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating a KML file from MySQL data with PHP</title>
		<link>http://www.alexschreyer.net/programming/creating-a-kml-file-from-mysql-data-with-php/</link>
		<comments>http://www.alexschreyer.net/programming/creating-a-kml-file-from-mysql-data-with-php/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 10:00:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[Google Earth]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=3131</guid>
		<description><![CDATA[I recently had a need for a PHP script that queries a MySQL database for location-based point data (a LatLong coordinate and some descriptive information) and then creates a KML-file from that data on the fly. A file like this can then easily be loaded into Google Maps, Google Earth and other geospatial applications. In [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2011/08/t2.png"  class="thickbox"><img class="alignnone size-medium wp-image-3134" title="Placemarks from KML" src="http://www.alexschreyer.net/blog/wp-content/uploads/2011/08/t2-e1312576829533-440x289.png" alt="Placemarks from KML" width="440" height="289" /></a></p>
<p>I recently had a need for a <a title="PHP" href="http://www.php.net/">PHP</a> script that queries a <a title="MySQL" href="http://www.mysql.com/">MySQL</a> database for location-based point data (a LatLong coordinate and some descriptive information) and then creates a KML-file from that data on the fly. A file like this can then easily be loaded into <a title="Google Maps" href="http://maps.google.com/">Google Maps</a>, <a title="Google Earth" href="http://earth.google.com/">Google Earth</a> and other geospatial applications. In my case, I loaded it into a <a title="Google Maps API" href="http://code.google.com/apis/maps/index.html">Google Maps API</a>-based map viewer.</p>
<p>Because a KML-file is in essence a text-based XML-file, it is very easy to create it from a script. <strong>The most important part of this is that is must adhere to the correct formatting.</strong> For details on this, consult the <a href="http://code.google.com/apis/kml/documentation/kmlreference.html" target="_blank">KML standard definition</a> - especially if you want to include anything other than placemarkers.</p>
<p>If you have a need for a similar implementation, feel free to copy the code below and use it in your project. Just create a new PHP file (e.g. &#8220;kml.php&#8221;) and paste the script into it. Don&#8217;t forget that you will have to modify it for your database setup and table columns (mine were <em>id, name, description, lng, lat</em>). Other than that, it should just work.</p>
<p>You can check whether it works if you paste the file&#8217;s URL into the <a title="Google Maps" href="http://maps.google.com/">Google Maps</a> search field. The placemarks should then just show up on the map.</p>
<p><span id="more-3131"></span></p>
<pre>&lt;?php

// Define the database info
// -- Modify for your case --
define("DB_SERVER", "mysql");
define("DB_USER", "root");
define("DB_PASS", "");
define("DB_NAME", "my_database");
define("DB_TABLE", "my_db_table");

// Important so that the filetype is correct
header("Content-type: application/xml");

// Print the head of the document
printf("&lt;?xml version=\"1.0\" encoding=\"UTF-8\"?&gt;
&lt;kml xmlns=\"http://earth.google.com/kml/2.0\"&gt;
&lt;Document&gt;");

// You can include a default map view using the following lines
// -- Delete this block if you don't need it --
printf("&lt;LookAt&gt;
  &lt;latitude&gt;42.390185&lt;/latitude&gt;
  &lt;longitude&gt;-72.528412&lt;/longitude&gt;
  &lt;range&gt;1200&lt;/range&gt;
  &lt;tilt&gt;0&lt;/tilt&gt;
  &lt;heading&gt;0&lt;/heading&gt;
&lt;/LookAt&gt;");

if ($db = mysqli_connect(DB_SERVER, DB_USER, DB_PASS)) {

  mysqli_select_db($db, DB_NAME);

  $query = "SELECT * FROM " . DB_TABLE;

  // You could add some WHERE statements here to filter the data

  // DESC means newest first
  $query .= " ORDER BY id DESC";

  // Finally query the database data
  $result = mysqli_query($db, $query);

  // Now iterate over all placemarks (rows)
  while ($row = mysqli_fetch_object($result)) {

    // This writes out a placemark with some data
    // -- Modify for your case --
    printf('
      &lt;Placemark id="%d"&gt;
        &lt;name&gt;%s says:&lt;/name&gt;
        &lt;description&gt;%s&lt;/description&gt;
        &lt;Point&gt;
          &lt;coordinates&gt;%f,%f&lt;/coordinates&gt;
        &lt;/Point&gt;
      &lt;/Placemark&gt;',
    htmlspecialchars($row-&gt;id),
    htmlspecialchars($row-&gt;name),
    htmlspecialchars($row-&gt;description),
    htmlspecialchars($row-&gt;lng),
    htmlspecialchars($row-&gt;lat)
    );

  };

  // Close the database connection
  mysqli_close($db);

};

// And finish the document
printf("
&lt;/Document&gt;
&lt;/kml&gt;");

?&gt;</pre>
<p>This code is really just applicable for simple KML generators. For a more in-depth look at this, go to <a href="http://code.google.com/apis/kml/articles/phpmysqlkml.html" target="_blank">this page</a> on Google&#8217;s Help on KML. Admittedly there also could be a bit more error-handling.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/creating-a-kml-file-from-mysql-data-with-php/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>QR codes everywhere!</title>
		<link>http://www.alexschreyer.net/cad/qr-codes-everywhere/</link>
		<comments>http://www.alexschreyer.net/cad/qr-codes-everywhere/#comments</comments>
		<pubDate>Fri, 04 Mar 2011 15:58:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[AEC CAD]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[SketchUp]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2826</guid>
		<description><![CDATA[Please upgrade your browser SketchUp QR from Alexander Schreyer on Vimeo. As you may have noticed, I have been experimenting with QR codes lately. There&#8217;s just so much fun you can have with these little black-and-white icons. For your Friday enjoyment, here is a list of where I have used them so far: 3D QR [...]]]></description>
			<content:encoded><![CDATA[<div class="iframe-wrapper">
  <iframe src="http://player.vimeo.com/video/20632145?portrait=0&amp;amp;color=9dca68" frameborder="0" style="height:450px;width:450px;">Please upgrade your browser</iframe>
</div>
<p><a href="http://vimeo.com/20632145">SketchUp QR</a> from <a href="http://vimeo.com/alexschreyer">Alexander Schreyer</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>As you may have noticed, I have been experimenting with QR codes lately. There&#8217;s just so much fun you can have with these little black-and-white icons. For your Friday enjoyment, here is a list of where I have used them so far:</p>
<h3>3D QR code</h3>
<p>The example video above is simply a vectorized QR code with randomly extruded faces.</p>
<h3>T-Shirts</h3>
<p><a href="http://alexschreyer.spreadshirt.com/"><img class="alignnone size-full wp-image-2793" title="Pi" src="http://www.alexschreyer.net/blog/wp-content/uploads/2011/02/pi-qr-code-with-small-numbers-in-code.png" alt="Pi" width="190" height="190" /></a></p>
<p>A fun way to say something on a shirt without displaying it as letters. Also a great way to link to your website. It just looks a bit nerdy&#8230;</p>
<h3>Signage</h3>
<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2011/03/IMG_0348.jpg"  class="thickbox"><img class="alignnone size-medium wp-image-2829" title="ECO Sign" src="http://www.alexschreyer.net/blog/wp-content/uploads/2011/03/IMG_0348-300x400.jpg" alt="ECO Sign" width="300" height="400" /></a></p>
<p>I realized that there was no good way to link visitors in our building to our <a href="http://eco.umass.edu/">departmental website</a>. Therefore, a good-size QR code (filled with a grass pattern) got added to the signage. In the next iteration, I think I&#8217;ll make it a little smaller (and also add the URL).</p>
<p>Want to make your own? Just google &#8220;<a href="http://www.google.com/search?q=QR+code" target="_blank">QR code</a>&#8221; and use any of the free generators out there.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/cad/qr-codes-everywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Merry Christmas and a Happy New Year 2011!</title>
		<link>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2011/</link>
		<comments>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2011/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 16:21:18 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[AEC CAD]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Timber Engineering]]></category>
		<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[3D]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[SketchUp]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wood]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2763</guid>
		<description><![CDATA[Now that the year is almost over, it&#8217;s time to step back and look at what we all built over the past weeks&#8230; Wherever you are and whatever you celebrate, enjoy your holidays and some relaxing time with your families. I wish you all the best for the new year! Cheers, Alex P.S.: Yes, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2010/12/Construction-Tree-Small.jpg"  class="thickbox"><img class="alignnone size-medium wp-image-2764" title="The Construction Tree" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/12/Construction-Tree-Small-440x293.jpg" alt="The Construction Tree" width="440" height="293" /></a></p>
<p>Now that the year is almost over, it&#8217;s time to step back and look at what we all built over the past weeks&#8230;</p>
<p>Wherever you are and whatever you celebrate, enjoy your holidays and some relaxing time with your families. I wish you all the best for the new year!</p>
<p>Cheers,<br />
 <em>Alex</em></p>
<p>P.S.: Yes, it&#8217;s another SketchUp Christmas model. This time I had fun using the new solids tools.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/misc/merry-christmas-and-a-happy-new-year-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to move your old static HTML website to WordPress (or just start a new one)</title>
		<link>http://www.alexschreyer.net/programming/how-to-move-your-old-static-html-website-to-wordpress-or-just-start-a-new-one/</link>
		<comments>http://www.alexschreyer.net/programming/how-to-move-your-old-static-html-website-to-wordpress-or-just-start-a-new-one/#comments</comments>
		<pubDate>Wed, 03 Nov 2010 04:00:57 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2652</guid>
		<description><![CDATA[I frequently get asked how to set up a small-ish CMS-driven (CMS = Content Management System) website for research groups or other entities. Many of these people have learned that maintaining a static website the &#8220;old-fashioned way&#8221; (e.g. using Dreamweaver) presents a variety of problems &#8211; mainly related to inconsistent content or collaborative editing problems. These issues [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-2668" title="Wordpress" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/11/Wordpress.png" alt="Wordpress" width="150" height="150" />I frequently get asked how to set up a small-ish CMS-driven (CMS = Content Management System) website for research groups or other entities. Many of these people have learned that maintaining a static website the &#8220;old-fashioned way&#8221; (e.g. using Dreamweaver) presents a variety of problems &#8211; mainly related to inconsistent content or collaborative editing problems. These issues are often caused by changing web editors and varying levels of HTML-savvy.</p>
<p>The task of setting up a new website that is CMS-driven can be quite complex. After all, there are many different CMS software packages available (many are luckily open source and free) and a complex, corporate website can be quite extensive and could contain sub-sites (&#8220;micro-sites&#8221;) as well. What I want to propose here, however, is a tool that is &#8220;just enough&#8221; for a small- to medium-size site. Often, selecting a too complex management software can lead to extensive training needs and confusion by the users that likely will underutilize the available functionality as a result. So &#8220;just enough&#8221; would be the best approach.</p>
<p>For these reasons, my site-building tool of choice in the past has been WordPress. Although it is often considered to be a blogging platform, it is a very capable and very easy-to use software package that can easily handle a good size site with a variety of add-on functionality (provided by plugins). You can find an overview of the core features <a href="http://wordpress.org/about/features/">here</a>. Sample sites that use WordPress are shown <a href="http://wordpress.org/showcase/">here</a> &#8211; use them as inspiration. And did I mention that it is free?</p>
<p>Beyond WordPress, other CMSs are <a title="Joomla" href="http://www.joomla.org/">Joomla</a>, <a title="Drupal" href="http://drupal.org/">Drupal</a> and <a title="many more" href="http://www.opensourcecms.com/">many more</a>. Feel free to look at these, too, and make up your mind on the features you need and how the site will be implemented and managed.</p>
<p><strong>So what&#8217;s next for you? These are your steps to success:</strong></p>
<h3><span id="more-2652"></span>1 &#8211; Analyze your Current Website, Web Presence and Needs</h3>
<p>Start this process by looking at what you have right now. What you basically need at this point is a sitemap for your current site that shows its content (pages, documents, media files), how it is organized and what kinds of content it contains.</p>
<p>Generate a <a title="sitemap" href="http://en.wikipedia.org/wiki/Site_map">sitemap</a> either by exporting it from a site management software (like Dreamweaver) or by simply going through your site &#8211; page by page &#8211; and drawing out the content on a piece of paper in the shape of an organizational map. For example, if you have a hierarchy-based site structure draw the sitemap as a tree map. If you have lots of timeline-based items (&#8220;news&#8221; items), sketch those as well. This sitemap will give you an idea how you will organize the new site.</p>
<p><img class="size-medium wp-image-2674 alignnone" title="Site map" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/11/800px-Main_Page_Usability-440x238.png" alt="Site map" width="440" height="238" /></p>
<p><em>(Image: Wikipedia)</em></p>
<p>At this point, it might also be a good idea to think about your web presence in general. Will it be important for you to have your own domain (a URL like alexschreyer.net) and do you need any email accounts under that domain name? Do you want to expand your current web offerings and offer interactive tools such as a forum to your site? All of this will help you get a clearer image of what it is you will need to build.</p>
<p>It is also important to figure out who will do what on the new website. Who will be the administrator(s) that are in charge of maintaining the site&#8217;s software and can add or remove features and users? Who will be the editors that can supply or edit content? The benefit of the new WordPress-based website will be that these functions can easily be distributed among many people.</p>
<h3>2 &#8211; Set up Hosting and Secure Your Domain</h3>
<p><img class="alignright size-full wp-image-2676" title="Web hosting" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/11/web_hosting.png" alt="Web hosting" width="192" height="167" />What you need next is your own web property. This can be done in a multitude of ways. Before you start looking at the options, ask yourself how much effort you (or someone else in your organization) want to commit to maintenance and how much control you want to have over the site&#8217;s design and feature extensibility.</p>
<p>Your main hosting options are:</p>
<ul>
<li><strong>Sign up with <a href="http://wordpress.com/">WordPress.com</a>.</strong> <br />
 This allows you to start a website very quickly. You can start adding content right after signup and you benefit from a minimal maintenance load because your website is hosted and the software is maintained by the folks who run this service. For $17 per year, you can also get your own domain (e.g. www.yoursite.com) and make your site look like you hosted it yourself.<br />
 The downside of this method is that you have only limited design options (you have to pick from a number of templates) and that you have to cope with limitations such as occasional ads, limited users and limited media hosting (at least in in the free version).</li>
<li><strong>Get <a href="http://wordpress.org/hosting/">managed WordPress hosting</a>. </strong><br />
 This option is similar to the first, only that you are now registering with companies that usually sell plain webspace. This means that the packages they offer often include domain registration, email accounts and web space (to allow you to host your own videos, for example). Another benefit is that you typically have more freedom to modify your WordPress installation.<br />
 The downside of this option is that you may end up with more maintenance tasks (this is very much depending on the hosting package you choose, though). </li>
<li><strong><a href="http://www.1and1.com/?k_id=13807199">Get some web space</a> and host WordPress yourself. </strong><br />
 This option gives you the most freedom. You can install WordPress and customize it any way you like (by installing design <a href="http://wordpress.org/extend/themes/">themes</a> and modifying them or by installing <a href="http://wordpress.org/extend/plugins/">plugins</a>). You can even run multiple websites in one webspace. For example, this website is hosted with <a href="http://www.1and1.com/?k_id=13807199">1and1</a> (in their Linux Home package). These packages also come with at least one domain and multiple email accounts. Check your hosting company of choice for the features you need.<br />
 The downside of this method is that you are in charge of all the maintenance. While WordPress is very easy to maintain, you will still have to do it all yourself (apply software upgrades, maintain database and other backups etc.). </li>
<li><strong>Host WordPress on your own computer.</strong><br />
 If you decide to go this route, then you are in charge of setting up your own server (including the PHP scripting engine and the MySQL database), installing WordPress and pointing the domain at your computer. This is quite involved and carries a heavy maintenance load. On the plus side, this will be likely your cheapest option &#8211; especially if you already have a fast internet connection and maybe even a dedicated IP (as may be the case on a university computer). Because all the software is available for free, the only part you need to pay for is the domain registration, which can be under $10 per year.</li>
</ul>
<h3>3 &#8211; Set up WordPress and Configure it as a CMS</h3>
<p>Depending on the choice you made in the last step, you may automatically have WordPress installed in your webspace by now. If you picked the third or fourth option, then follow these <a href="http://codex.wordpress.org/Installing_WordPress">simple steps</a> to install WordPress yourself.</p>
<p><img class="alignright size-full wp-image-2680" title="Wordpress Settings" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/11/Wordpress_settings.png" alt="Wordpress Settings" width="165" height="161" />Once everything is up and running, start by modifying general settings and setting up plugins. Here are some tips:</p>
<ul>
<li><strong>Set up a custom welcome page.</strong> <br />
 Under<em> Settings &gt; Reading</em> pick a static page as your home page if you don&#8217;t want to have your news items be your site&#8217;s most prominent feature.</li>
<li><strong>Set up descriptive permalinks. </strong><br />
 I like using &#8220;/%category%/%postname%/&#8221; as my permalink structure. Search engines seem to like it and will give you a good ranking.</li>
<li><strong>Make sure your site is visible for search engines.</strong><br />
 Under<em> Settings &gt; Privacy</em> make sure you select the option that makes your site visible to search engines.</li>
<li><strong>Set up comments only on the pages where you actually want to have a discussion.</strong><br />
 Comments are a great feature of WordPress. You can even use them for mini-discussion forums on your pages or posts. When you set up comments, don&#8217;t forget to activate Akismet (the plugin that came with WordPress) so that you have less spam. It is a good idea to disable comments by default and just activate them where you need them.</li>
<li><strong>Add users.</strong><br />
 Based on the lineup of Administrators and Editors that you determined earlier, add people to your WordPress site. Many hands make for light work on website admin tasks, too. Just remember to give everyone a quick intro to the features so that you don&#8217;t end up with problems later. It is also a good idea to discuss formatting standards for consistency.</li>
<li><strong>Add plugins.</strong><br />
 This is where you expand the core functionality of WordPress. Depending on the plugins you choose, installing them ranges from extremely easy to a bit more involved. Because it is easy to try out different ones, go ahead and do so until you find the ones you like. A good starter list for a CMS is the following. You can add them from within WordPress under <em>Plugins &gt; Add New</em>. </p>
<ul>
<li><strong>Breadcrumb NavXT</strong> &#8211; Adds breadcrumbs to your pages so that visitors know where they are on your site.</li>
<li><strong>Dagon Design Sitemap Generator</strong> &#8211; You need a sitemap for the lost visitor somewhere.</li>
<li><strong>External Links</strong> &#8211; Opens all external links in separate windows so that visitors don&#8217;t navigate away from your site.</li>
<li><strong>Google XML Sitemaps</strong> &#8211; Simplifies integration with Google&#8217;s search.</li>
<li><strong>Related Posts</strong> &#8211; Show your visitors what else you have on your site.</li>
<li><strong>WP-DBManager</strong> &#8211; Helps you maintain the database.</li>
<li><strong>YOURLS: WordPress to Twitter </strong>- Use this or a similar plugin to integrate with social networks like Twitter.</li>
</ul>
</li>
</ul>
<h3>4 &#8211; Move Content to the New Site</h3>
<p>At this point, you could focus on the design of your site (step #5 in this list). It might, however, be easier to settle on the final design if the content is already in place (stay with step #4 in that case). Whichever process you choose, at this point, you&#8217;ll likely want to do a bit of each in parallel. It might also be a good idea to get some people moving content over while others work on finding the best visual theme for your site. Choose the approach that makes most sense for you.</p>
<p>Now you are ready to move content from your old site to the new WordPress site. For common needs, follow this template:</p>
<ul>
<li><strong>Move hierarchical pages to &#8220;Pages&#8221; in WordPress.</strong><br />
 Simply create a new &#8220;Page&#8221; in WordPress for each page on your old site and then copy the content over. When you create the new pages, put them into the correct place by selecting the appropriate &#8220;Parent Page&#8221;. For example, add a personal page under a &#8220;People&#8221; page (by selecting the &#8220;People&#8221; page as the &#8220;Parent&#8221;). Top level pages (such as the &#8220;People&#8221; page) have no parent page.<br />
 When you copy content over, remember to download and then re-upload any non-text content like images or files.</li>
<li><strong>Move timeline-based items or categorized non-hierarchical items to &#8220;Posts&#8221; in WordPress.</strong><br />
 Set up categories in the WordPress admin area for the categories that you need. These would be categories like &#8220;News&#8221; or &#8220;Projects&#8221;. Then start copying content over to those categories by pasting relevant pages from the old site into &#8220;Posts&#8221; on the new site.</li>
<li><strong>Move media items into WordPress using a relevant plugin.</strong><br />
 If you want to host video or extensive image collections in your WordPress installation, then you are best off if you install a media-manager plugin and upload your media using its interface. For example, I use <a title="Nextgen Gallery" href="http://wordpress.org/extend/plugins/nextgen-gallery/">Nextgen Gallery</a> for my photo galleries and <a title="wordTube" href="http://wordpress.org/extend/plugins/wordtube/">wordTube</a> for my videos.<br />
 If this sounds too daunting, then consider hosting your media externally (on <a title="YouTube" href="http://www.youtube.com/">YouTube</a> or <a title="Flickr" href="http://www.flickr.com/">Flickr</a>, for example) and embed it on your pages. This has the added benefit that you are not paying for the download bandwidth. </li>
</ul>
<p>WordPress has many more options to organize content. If you need a more customized solution, begin by reading about <a href="http://codex.wordpress.org/Custom_Taxonomies">custom taxonomies</a>.</p>
<h3>5 &#8211; Design the Site</h3>
<p><img class="alignright size-full wp-image-2686" title="Design template" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/11/2010-11-02_1003.png" alt="Design template" width="184" height="397" />After you moved all your content over to the new site, it is time for you to review the new site and see if everything is presented as good as possible. Look at the same content in different themes. Play around with widgets (under <em>Appearance </em>in the admin area) and settle on a design that works best in your case. If you feel up to it, go ahead and modify the CSS or any of the template files (if you have access to them).</p>
<p>Look at magazine-style themes if you want to go away from the blog-like templates (blog posts on the left and timeline on the right). There are many free, high-quality themes available. The new Twenty-Ten default theme that ships with WordPress is a great place to start in any case.</p>
<h3>6 &#8211; Set up Forwarding</h3>
<p>After you remove your old site, you&#8217;ll be left with links somewhere on the internet that point toward your old URLs. It is best if you set up some forwarding on that site. Here are some options:</p>
<ul>
<li><strong>Static error page.</strong><br />
 You can now move all of your old site&#8217;s content (the HTML pages) off that site. You could move them to an &#8220;Old&#8221; subdirectory on the old webspace, for example &#8211; then they are still there if you need them.<br />
 Afterwards, add a static HTML page to your site and put some content in it that has a link to your new site (save it as <em>notfound.html</em>). Finally, add a file in the web space that is called &#8220;.htaccess&#8221; (don&#8217;t forget the dot at the beginning). In it, add this line:<br />
 <em>ErrorDocument 404 notfound.html </em><br />
 This line will redirect any incoming visitors to the notfound.html page that tells them where to go now. </li>
<li><strong>htaccess redirecting.</strong><br />
 This is the more elegant version. Read about it on any of <a href="http://www.google.com/search?q=htaccess+redirect">these sites</a>. </li>
</ul>
<h3>7 &#8211; Deploy and Lean Back</h3>
<p>Now you can tell everybody about your new site and wait for Google to index it. You will enjoy the simpler maintenance that WordPress provides you in no time.</p>
<p>Don&#8217;t forget to make sure you do regular backups of the database as well as any uploaded files. It is also a great idea for any site to start looking at site statistics. Depending on your preferences, you can sign up with free services like <a title="Google Analytics" href="http://www.google.com/analytics/">Google Analytics</a> or <a title="Statcounter" href="http://www.statcounter.com/">Statcounter</a>.</p>
<p>If this was helpful for you, add a link to your new WordPress-driven site in the comments below.</p>
<h3>Links:</h3>
<ul>
<li><a href="http://codex.wordpress.org/New_To_WordPress_-_Where_to_Start" target="_blank">New to WordPress &#8211; Where to start</a></li>
<li><a href="http://codex.wordpress.org/User:Lastnode/Wordpress_CMS">WordPress as a CMS</a></li>
<li><a href="http://www.noupe.com/wordpress/powerful-cms-using-wordpress.html">Comprehensive Guide for WordPress as a CMS</a></li>
<li><a href="http://www.idesignstudios.com/blog/web-design/wordpress-as-cms/">And another one&#8230;</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/how-to-move-your-old-static-html-website-to-wordpress-or-just-start-a-new-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My WordPress Post Revisions Problem</title>
		<link>http://www.alexschreyer.net/programming/my-wordpress-post-revisions-problem/</link>
		<comments>http://www.alexschreyer.net/programming/my-wordpress-post-revisions-problem/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 02:59:44 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2473</guid>
		<description><![CDATA[While many functions in WordPress (the self-hosted kind) work like a charm, this one gave me the run-around a few days ago: The auto-saving post revisions that got added to WordPress a few releases back. On our departmental website (http://eco.umass.edu/) that I created in WordPress (works great for this purpose, it&#8217;s the &#8220;Just-enough CMS!&#8221;) we [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2010/09/revisions_pix.png"  class="thickbox"><img class="size-medium wp-image-2475 alignright" title="Wordpress post revisions" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/09/revisions_pix-315x400.png" alt="Wordpress post revisions" width="189" height="240" /></a></p>
<p>While many functions in WordPress (the <a title="self-hosted kind" href="http://wordpress.org/">self-hosted kind</a>) work like a charm, this one gave me the run-around a few days ago: <strong>The auto-saving post revisions</strong> that got added to WordPress a few releases back.</p>
<p>On our departmental website (<a href="http://eco.umass.edu/">http://eco.umass.edu/</a>) that I created in WordPress (works great for this purpose, it&#8217;s the &#8220;Just-enough CMS!&#8221;) we had a problem where our longer pages wouldn&#8217;t show the visual editor when we tried to edit a page. The recent problem happened especially on <a href="http://eco.umass.edu/index.php/degree-programs/undergraduate-programs/natural-resources-conservation/" target="_blank">this page</a>. If you look at the entire thing, you&#8217;ll notice that the text body consists of approx. 2700 words. It happened on other pages, too &#8211; all very long pages.</p>
<p>As it turns out, WordPress was saving an <strong>unlimited</strong> number of revisions for these pages. Unbeknownst to me, there is no limit set in WordPress on the number of revisions &#8211; which inevitably leads to a rapid increase of the size of the posts database table. This did then lead to some kind of a time-out when the WordPress admin page was rendered, which prevented the WYSIWIG editor from loading.</p>
<p>The fix for this is to add a line like any of the following two examples to the <strong>wp-config.php</strong> file in the WordPress root directory. I will make sure I set this on all of my sites from now on! Having revisions is great but there&#8217;s no reason to push it too far (especially on shared hosting).</p>
<pre>/* Limit post revisions to 20 */
define('WP_POST_REVISIONS', 20);
/* Disable post revisions altogether */
define('WP_POST_REVISIONS', 0);</pre>
<p>It is also important to realize that these settings only take effect after they are set and a page is re-saved. To do a wholesale revisions cleaning of an entire blog (which I still may do to reduce the database size), it is better to look for a <a href="http://wordpress.org/extend/plugins/search.php?q=revision&amp;sort=">plugin</a> that does that automatically.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/my-wordpress-post-revisions-problem/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A lightweight WordPress page</title>
		<link>http://www.alexschreyer.net/programming/a-lightweight-wordpress-page/</link>
		<comments>http://www.alexschreyer.net/programming/a-lightweight-wordpress-page/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 21:46:44 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[education]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2102</guid>
		<description><![CDATA[I had read about this trick before but had never had a need to try it out &#8211; until now. So here&#8217;s a nifty trick for any self-hosted WordPress installation: If you want to add a webpage outside of a WordPress installation that has its own design, yet relies on some of the functions of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2010/02/kiosk_screen-Small.png"  class="thickbox"><img class="alignnone size-medium wp-image-2105" title="kiosk_screen (Small)" src="http://www.alexschreyer.net/blog/wp-content/uploads/2010/02/kiosk_screen-Small-440x247.png" alt="" width="440" height="247" /></a></p>
<p>I had read about this trick before but had never had a need to try it out &#8211; until now. So here&#8217;s a nifty trick for any self-hosted WordPress installation:</p>
<p>If you want to add a webpage outside of a WordPress installation that has its own design, yet relies on some of the functions of the main WordPress installation (such as the loop), then you can simply create a &#8220;WordPress-enabled&#8221; page by adding the following PHP statement to the top of the page:</p>
<pre lang="php">require('../wp-blog-header.php');</pre>
<p>By doing this, WordPress will be loaded with the page while the template will not. It will also not show up anywhere in the WordPress site as it is not a post or a page. You can then go ahead and invoke any WordPress core or plugin function and use its data.</p>
<p><span id="more-2102"></span>In my case, this worked well for an LCD &#8220;news display&#8221; for our building. I guess, you could also use this approach for a mobile-enabled site (although there are nice WordPress plugins that do this well. In any case, here is a sample of a WordPress-enabled &#8220;index.php&#8221; file located outside the wordpress installation. To modify it for your needs, simply adjust the path to <em>wp-blog-header.php</em> and you are good to go.</p>
<pre lang="php">&lt;?php
  /** Loads the WordPress Environment to have access to functions */
  require('../wp-blog-header.php');
?&gt;
&lt;!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;My lightweight wordpress page&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;News&lt;/h1&gt;
    &lt;ul&gt;
      &lt;?php query_posts($query_string . '&amp;cat=3&amp;posts_per_page=5'); ?&gt;
      &lt;?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?&gt;
      &lt;li&gt;&lt;?php the_title(); ?&gt;&lt;/li&gt;
      &lt;?php endwhile; else: ?&gt;
      &lt;li&gt;No news at this time.&lt;/li&gt;
      &lt;?php endif; ?&gt;
    &lt;/ul&gt;
  &lt;/body&gt;
&lt;/html&gt;
</pre>
<p>See the image on top of this post for a sample of our installation. You can also look at the &#8220;live&#8221; version <a href="http://nrc.umass.edu/ws_nrc/kiosk/" target="_blank">here</a> (optimized for a 720p widescreen LCD TV).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/a-lightweight-wordpress-page/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Liquid Page &#8211; A bookmarklet to rearrange webpages</title>
		<link>http://www.alexschreyer.net/programming/liquid-page-a-bookmarklet-to-rearrange-webpages/</link>
		<comments>http://www.alexschreyer.net/programming/liquid-page-a-bookmarklet-to-rearrange-webpages/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 21:33:22 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=2010</guid>
		<description><![CDATA[I was once again changing the design of one of my websites when I realized that it would be great if I could just move things around on a page to preview the changes &#8211; without any coding. As it turns out, there is a solution to that problem: A bookmarklet and a few lines [...]]]></description>
			<content:encoded><![CDATA[<p>
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/5gSvm0xlkr8" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/5gSvm0xlkr8"></embed></object>
</p>
<p>I was once again changing the design of one of my websites when I realized that it would be great if I could just move things around on a page to preview the changes &#8211; without any coding. As it turns out, there is a solution to that problem: A bookmarklet and a few lines of JavaScript did the trick. Using jQuery and its UI extension, this actually turned out to be rather simple to implement.</p>
<p>Drag the link (&#8220;LIQUID PAGE&#8221;) shown below to your browser&#8217;s bookmarks toolbar. You can then use it on any web page. Simply load the page and then click the link. Be aware: You cannot try the functionality out on this page by simply clicking the link (it&#8217;s in an iframe). Please also note that there is a slight delay after clicking while some Javascript (i.e. jQuery) is being loaded &#8211; just wait for the confirmation dialog.</p>
<div class="iframe-wrapper">
  <iframe src="http://media.alexschreyer.net/lqpage/" frameborder="0" style="height:50px;width:200px;">Please upgrade your browser</iframe>
</div>
<p>So what can you do with this? Beyond the obvious tweaking of existing web page designs, it should not be forgotten that this may hold potential for playing tricks on unaware browser users. It is &#8211; of course &#8211; also fun to just reorder (read: destroy) a well-known page design&#8230;</p>
<p><strong><span id="more-2010"></span>Before:</strong></p>
<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2009/12/Screenshot-12_8_2009-09_42_38.png"  class="thickbox"><img class="alignnone size-medium wp-image-2026" title="Screenshot - 12_8_2009 , 09_42_38" src="http://www.alexschreyer.net/blog/wp-content/uploads/2009/12/Screenshot-12_8_2009-09_42_38-439x319.png" alt="Screenshot - 12_8_2009 , 09_42_38" width="439" height="319" /></a></p>
<p><strong>After:</strong></p>
<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2009/12/Screenshot-12_8_2009-09_49_05.png"  class="thickbox"><img class="alignnone size-medium wp-image-2025" title="Screenshot - 12_8_2009 , 09_49_05" src="http://www.alexschreyer.net/blog/wp-content/uploads/2009/12/Screenshot-12_8_2009-09_49_05-439x308.png" alt="Screenshot - 12_8_2009 , 09_49_05" width="439" height="308" /></a></p>
<p><br class="spacer_" /></p>
<p><strong>Updates:</strong></p>
<ul>
<li>I added a function that removes all &#8220;overflow&#8221; properties (after user confirms). Therefore everything can be moved everywhere on a page. Just be aware that you cannot test nested DIVs this way. Also, the page layout may break due to overflowing text.</li>
</ul>
<p><strong>Caveat: </strong>Works best with Firefox, Chrome, Safari &#8211; as usual.</p>
<p><strong>Thanks:</strong> The code is based on the jQuery UI ThemeRoller bookmarklet implementation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/liquid-page-a-bookmarklet-to-rearrange-webpages/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Follow me!</title>
		<link>http://www.alexschreyer.net/misc/follow-me/</link>
		<comments>http://www.alexschreyer.net/misc/follow-me/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 05:00:20 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[AEC CAD]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Miscellaneous]]></category>
		<category><![CDATA[Timber Engineering]]></category>
		<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[life]]></category>
		<category><![CDATA[SketchUp]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=1979</guid>
		<description><![CDATA[Chirp, chirp&#8230; While I was figuring out how to make best use of all things Web 2.0, I found that Twitter is a great way for me to broadcast quick news items related to my blog&#8217;s topics (AEC-CAD, timber engineering, design and web stuff). So whenever something is too short for a blog post but [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-full wp-image-1980" title="2" src="http://www.alexschreyer.net/blog/wp-content/uploads/2009/11/2.png" alt="2" width="220" height="220" />Chirp, chirp&#8230; While I was figuring out how to make best use of all things Web 2.0, I found that Twitter is a great way for me to broadcast quick news items related to my blog&#8217;s topics (AEC-CAD, timber engineering, design and web stuff). So whenever something is too short for a blog post but it does not deserve to be plowed under in my inbox, then you can be sure I&#8217;ll post it to my Twitter account.</p>
<p>To follow those posts, either click on &#8220;follow&#8221; in Twitter:</p>
<p><a href="http://twitter.com/alexschreyer" target="_blank">http://twitter.com/alexschreyer</a></p>
<p>Or subscribe to my Twitter RSS feed:</p>
<p><a href="http://twitter.com/statuses/user_timeline/21881607.rss" target="_blank">http://twitter.com/statuses/user_timeline/21881607.rss</a></p>
<p><strong>Enjoy!</strong></p>
<p><em>P.S.: </em>Of course, you can also subscribe to this site&#8217;s various RSS feeds using the buttons at the <a href="#top">top</a> of this page.</p>
<p><img class="alignnone size-medium wp-image-1981" title="11" src="http://www.alexschreyer.net/blog/wp-content/uploads/2009/11/11-440x123.png" alt="11" width="440" height="123" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/misc/follow-me/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimizing Google</title>
		<link>http://www.alexschreyer.net/programming/optimizing-google/</link>
		<comments>http://www.alexschreyer.net/programming/optimizing-google/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 06:19:29 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Web & Programming]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.alexschreyer.net/?p=1725</guid>
		<description><![CDATA[As announced in their latest blog post, Google has just released an optimization feature for their online spreadsheets (which, of course, are part of Google Docs). With this new feature, linear optimization problems can be solved easily. This is a great feature and makes online spreadsheets even more Excel-like and usable. Here are some of [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alexschreyer.net/blog/wp-content/uploads/2009/06/docs_139704c_solve_setup_en.gif"  class="thickbox"><img class="alignnone size-medium wp-image-1726" title="docs_139704c_solve_setup_en" src="http://www.alexschreyer.net/blog/wp-content/uploads/2009/06/docs_139704c_solve_setup_en-440x389.gif" alt="docs_139704c_solve_setup_en" width="440" height="389" /></a></p>
<p>As announced in their <a href="http://googledocs.blogspot.com/2009/06/solve-feature-lets-you-solve.html" target="_blank">latest blog post</a>, Google has just released an optimization feature for their online spreadsheets (which, of course, are part of <a href="http://docs.google.com/" target="_blank">Google Docs</a>). With this new feature, linear optimization problems can be solved easily. This is a great feature and makes online spreadsheets even more Excel-like and usable. Here are some of the features:</p>
<ul>
<li>Minimization or maximization of target cell, but no target value optimization. TIP: Minimize the difference to a target value if you need this.</li>
<li>Select (unlimited?) cells as design variables. Restriction to positive values is possible.</li>
<li>Add (unlimited?) constraints. These can be &#8220;&lt;=&#8221;, &#8220;=&#8221; or &#8220;&gt;=&#8221;. Since the dialog has no scroll function, the number of constraints is apparently limited by the screen height.</li>
<li>Due to the nature of the optimization algorithm, only linear problems can be computed. This means that formulas may not contain power functions or decision-based formulas (IF-THEN).</li>
</ul>
<p><span id="more-1725"></span>I haven&#8217;t tried this feature out yet on a real problem, but my main performance question would be whether the calculation uses Javascript in the local browser (likely) or uses Google&#8217;s server resources, which may speed things up  on a large problem.</p>
<p>For more help and information on this feature, look at the <a href="http://docs.google.com/support/bin/answer.py?hl=en&amp;answer=139704" target="_blank">relevant Help page</a>. And if you need an optimization solution for Excel spreadsheets that is based on Genetic Algorithms, check out <a href="http://www.alexschreyer.net/projects/xloptim/">my handy tool</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.alexschreyer.net/programming/optimizing-google/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

