<?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>Lisa Homstad &#187; PHP</title>
	<atom:link href="http://www.lisahomstad.com/category/php/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.lisahomstad.com</link>
	<description>Web Developer</description>
	<lastBuildDate>Mon, 16 Aug 2010 04:03:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Not A GoDaddy Girl</title>
		<link>http://www.lisahomstad.com/2010/08/not-a-godaddy-girl/</link>
		<comments>http://www.lisahomstad.com/2010/08/not-a-godaddy-girl/#comments</comments>
		<pubDate>Mon, 16 Aug 2010 03:58:29 +0000</pubDate>
		<dc:creator>Lisa</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.lisahomstad.com/?p=129</guid>
		<description><![CDATA[GoDaddy.com seems to be pretty popular these days. Unfortunately, I can&#8217;t say I&#8217;m a fan. I find their assorted control panel interfaces chaotic and hard to navigate. I don&#8217;t like the spam they sent me all the time until I dug around 3-4 levels deep in navigation to find where to turn it off. And [...]]]></description>
			<content:encoded><![CDATA[<p>GoDaddy.com seems to be pretty popular these days.  Unfortunately, I can&#8217;t say I&#8217;m a fan.  I find their assorted control panel interfaces chaotic and hard to navigate.  I don&#8217;t like the spam they sent me all the time until I dug around 3-4 levels deep in navigation to find where to turn it off.  And I <strong>really</strong> don&#8217;t like CEO Bob Parsons &#8220;How to be successful in business&#8230;plus a smoking HOT blonde!&#8221; video series.</p>
<p>In spite of all this, I explored the option of moving my friends&#8217; sites to GoDaddy after some disappointing downtime with my current hosting company (Bluehost), because hey, if it&#8217;s better, go with it, right?  Alas, their shared hosting environment was&#8230;icky.</p>
<ul>
<li>My applications were using the $_SERVER['DOCUMENT_ROOT'] variable.  Apparently if you set up a site as a subdomain, GoDaddy puts that variable&#8217;s value into a $_SERVER['SUBDOMAIN_DOCUMENT_ROOT'] variable (which I don&#8217;t think is particularly standard) and leaves the document root blank.</li>
<li>They also only gave me a public_html folder, whereas Bluehost gives me a level above that, allowing me to store my application code in a non-web folder making it slightly less exploitable.</li>
<li>They also only gave me two options for the database: accessible remotely with a user with full permissions or not, and no permissions to create my own users.  Bluehost allows me to create my own users and restrict remote access by IP address, which is way more secure.</li>
</ul>
<p>Anyway, I decided to give up, because that was just too much compromise for me&#8230;even if their pages do load 2-3 times faster.  :(  Sorry GoDaddy, I&#8217;m sticking with Bluehost&#8230;you&#8217;re not worth it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lisahomstad.com/2010/08/not-a-godaddy-girl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with CodeIgniter</title>
		<link>http://www.lisahomstad.com/2010/02/fun-with-codeigniter/</link>
		<comments>http://www.lisahomstad.com/2010/02/fun-with-codeigniter/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 04:20:59 +0000</pubDate>
		<dc:creator>Lisa</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.lisahomstad.com/?p=37</guid>
		<description><![CDATA[I&#8217;ve been working lately on setting up an admin with CodeIgniter, which I picked because a) it&#8217;s fast, b) it&#8217;s not huge and c) it&#8217;s popular enough to have good documentation and forums, etc.  I was really pleased with how easy it was to just drop the files in place, change a few settings and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been working lately on setting up an admin with CodeIgniter, which I picked because a) it&#8217;s fast, b) it&#8217;s not huge and c) it&#8217;s popular enough to have good documentation and forums, etc.  I was really pleased with how easy it was to just drop the files in place, change a few settings and it was working.  Figuring out the &#8220;right&#8221; way to do things once it&#8217;s set up, however, is proving to be more challenging&#8230;but only because it&#8217;s unfamiliar.  Once I learn the &#8220;right&#8221; way, I&#8217;m like &#8220;oh, yeah that makes sense.&#8221; I haven&#8217;t had to really learn a new framework since I spent a month figuring out the intricacies of Fusebox 4.0 (and learning MVC at the same time), but I guess once you&#8217;ve built stuff as MVC it&#8217;s all pretty much just syntax differences and learning where stuff is and what&#8217;s available. :)</p>
<p>I really like how CodeIgniter makes session management easy&#8230;you don&#8217;t have to worry about all the session_start()s and such, and setting up a basic authentication system took about 15 minutes with some help from a tutorial.  Although I&#8217;d like to modify it to make it so the session expires if the browser window is closed&#8230; /makes note on TODO list. :D</p>
<p>Also, database stuff seems pretty easy too, and I like how simple it is to run a query with parameters&#8230;you basically just write your SQL with some ?&#8217;s, and pass that string with an array of values to the db object.  No funkiness with escaping quotes, stripping stuff out for SQL injection, binding or anything&#8230;very clean and simple.</p>
<p>I like clean and simple. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lisahomstad.com/2010/02/fun-with-codeigniter/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Magic of similar_text()</title>
		<link>http://www.lisahomstad.com/2010/02/the-magic-of-similar_text/</link>
		<comments>http://www.lisahomstad.com/2010/02/the-magic-of-similar_text/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 21:13:06 +0000</pubDate>
		<dc:creator>Lisa</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.lisahomstad.com/?p=26</guid>
		<description><![CDATA[So I had this dilemma the other day when I had a report that was displaying &#8220;event type&#8221;, &#8220;event name&#8221; and &#8220;event location.&#8221;  Due to some wonky old data, the event name would frequently be the same as event type or event location (e.g. &#8220;Dentist Appt&#8221; as type, &#8220;Dentist Appointment&#8221; as name, and &#8220;Dentist&#8217;s Office&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>So I had this dilemma the other day when I had a report that was displaying &#8220;event type&#8221;, &#8220;event name&#8221; and &#8220;event location.&#8221;  Due to some wonky old data, the event name would frequently be the same as event type or event location (e.g. &#8220;Dentist Appt&#8221; as type, &#8220;Dentist Appointment&#8221; as name, and &#8220;Dentist&#8217;s Office&#8221; as location).  It made sense to not show the event name if it only contained redundant information.</p>
<p>Unfortunately, as in the example above, &#8220;Dentist Appt&#8221; and &#8220;Dentist Appointment&#8221; are not exactly the same value, even though they have the same human meaning.</p>
<p>Luckily I discovered a handy little php function called similar_text(), which will compare two strings and either return the number of shared characters, or what percentage of the string is the same.  So instead of saying &#8220;if event name is equal to event type, don&#8217;t show event name,&#8221; I now have something like &#8220;if event name is 85% similar to event type, don&#8217;t show it.&#8221;  This seems to work pretty well, so yay! :)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.lisahomstad.com/2010/02/the-magic-of-similar_text/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
