<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Adventures In Development</title>
	
	<link>http://www.adventuresindevelopment.com</link>
	<description>Web Development Tools, Ideas, Techniques and Resources</description>
	<lastBuildDate>Mon, 14 May 2012 21:14:19 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/AdventuresInDevelopment" /><feedburner:info uri="adventuresindevelopment" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>AdventuresInDevelopment</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Online Shopping Cart Options</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/Mqkv1ZBdWhM/</link>
		<comments>http://www.adventuresindevelopment.com/2012/05/10/online-shopping-cart-options/#comments</comments>
		<pubDate>Thu, 10 May 2012 13:06:07 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[hosting]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[Social Media]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=283</guid>
		<description><![CDATA[With the Olympics right around the corner many businesses in London are bolstering themselves for the influx of tourist that will be visiting our shores. Events as grand as this usually lead to a major boost for local companies, with record profits being recorded from the sheer volume of new customers that visit the shops. [...]]]></description>
			<content:encoded><![CDATA[<p>With the Olympics right around the corner many businesses in London are bolstering themselves for the influx of tourist that will be visiting our shores. Events as grand as this usually lead to a major boost for local companies, with record profits being recorded from the sheer volume of new customers that visit the shops. The problem (if it can be called that) with these events is that they usually only come around once or twice every decade and this means entrepreneurs have to look at them as a bonus, as no reliance can be put on them!</p>
<p>Business owners will be pleased to know that they no longer have to wait on such events to garner increased sales from customers around the world! No longer will you be praying for great events such as the Olympics to occur, as you can now advertise your products on the world market without the budget of a major corporation. If done correctly you will have people from all parts of the world knowing your products and business without ever having step foot in one of your shops.</p>
<p>This may seem to be a dream come through to most of you and I bet you can’t imagine that this tool is already a big part of your lives. In fact, if you are reading this post then you’re already utilising it, the ‘it’ of course being the internet! Most business owners and entrepreneurs have yet to grasp the true power of the web, and they are hesitant to setup shop on the internet, for varying reasons. It is time that these worries are put to the side as setting up an online store to <span style="text-decoration: underline;"><a href="http://www.shopify.com/tour/sell-online">sell products online</a></span> has never been easier! By utilising a service such as the one offered by Shopify, you can have your business online and trading by following a few simple steps.</p>
<p>Shopify offers you an <a href="http://www.shopify.com/tour/ecommerce-website">ecommerce website builder</a> that will enable you to design your very own professional website by utilising template technology. Your new website even includes a secure shopping cart which will allow you to take payments as soon as you have listed your products and finished with your design.</p>
<p>&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/F3OebHnKmUaSAYPzkBKA8s_kAAU/0/da"><img src="http://feedads.g.doubleclick.net/~a/F3OebHnKmUaSAYPzkBKA8s_kAAU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/F3OebHnKmUaSAYPzkBKA8s_kAAU/1/da"><img src="http://feedads.g.doubleclick.net/~a/F3OebHnKmUaSAYPzkBKA8s_kAAU/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2012/05/10/online-shopping-cart-options/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2012/05/10/online-shopping-cart-options/</feedburner:origLink></item>
		<item>
		<title>How to Select a Solid Webhost</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/D9plBIOMWPM/</link>
		<comments>http://www.adventuresindevelopment.com/2012/04/09/how-to-select-a-solid-webhost/#comments</comments>
		<pubDate>Tue, 10 Apr 2012 04:56:25 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=280</guid>
		<description><![CDATA[If you’re looking for a new hosting account, you should know that not all hosting accounts are created equally. Depending on the company that you select and what package you opt for, the quality and feature-set of your hosting account can vary dramatically. Read the tips below to make sure that the hosting package that [...]]]></description>
			<content:encoded><![CDATA[<p>If you’re looking for a new hosting account, you should know that not all hosting accounts are created equally. Depending on the company that you select and what package you opt for, the quality and feature-set of your hosting account can vary dramatically. Read the tips below to make sure that the hosting package that you select will meet your needs and won’t go down on you on a regular basis. So, if you’re looking for the <a href="http://www.webhostingclue.com/best-wordpress-hosting">Best WordPress Hosting</a>, or any hosting for that matter, take heed of the advice below:</p>
<p><strong>Read Hosting Reviews </strong>– There are all sorts of websites, such as <a href="http://www.webhostingclue.com/web-hosting-review/bluehost">BlueHost Reviews</a>, that allow customers to review web hosting accounts. Look around on these sites and find hosting companies that have a lot of positive reviews and very few negative reviews. Be skeptical about a company that has no negative reviews at all though. That may mean they’re a new company or have scrubbed negative reviews from the web.</p>
<p><strong>Do a Sanity Check </strong>– Look at the hosting packages a company is offering and make sure that they can reasonably offer what they say they’re offering for the price they’re offering it at. If a company says that they can provide you with unlimited bandwidth, storage and CPU usage for $10.00 a month, they’re kidding themselves. As soon as you get any reasonable amount of traffic, you’ll probably find your account disabled for “abuse.” Make sure that the company isn’t writing checks it can’t deliver.</p>
<p><strong>Pre-Test the Customer Service – </strong>Send an email to the company’s customer service email or call their customer service line to see how long it takes to get a response. If the company takes forever to get back to you, don’t host with them. You need someone that can resolve your issues ASAP, especially if you’re getting the hosting account for your business.<strong></strong></p>
<p><strong>Get the Right Package – </strong>Make sure that the web hosting package you’re picking lines up with the technology that the software you want  to use makes use of. If you’re going to use WordPress, Drupal or Joomla, you’ll need a Linux hosting package that offers PHP and a MySQL database. If you’re using any ASP or ASP.Net based solutions, you’ll want a Windows package that comes with a Microsoft SQL database.</p>
<p>These are only a few of many suggestions that you could follow to get a great hosting package. Feel free to leave any suggestions you might have about picking a good hosting company in the comments below.</p>
<p>&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/sq-atb9K4rlw0WYOPjGQVPOpnww/0/da"><img src="http://feedads.g.doubleclick.net/~a/sq-atb9K4rlw0WYOPjGQVPOpnww/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sq-atb9K4rlw0WYOPjGQVPOpnww/1/da"><img src="http://feedads.g.doubleclick.net/~a/sq-atb9K4rlw0WYOPjGQVPOpnww/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2012/04/09/how-to-select-a-solid-webhost/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2012/04/09/how-to-select-a-solid-webhost/</feedburner:origLink></item>
		<item>
		<title>How to Optimize Your WordPress Blog for Performance</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/PQax9uhhGxE/</link>
		<comments>http://www.adventuresindevelopment.com/2012/01/25/how-to-optimize-your-wordpress-blog-for-performance/#comments</comments>
		<pubDate>Wed, 25 Jan 2012 19:04:47 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=197</guid>
		<description><![CDATA[WordPress is an excellent blogging/news website platform as a whole, but has been criticized for being a bit of a performance dog. One of my websites which is powered by WordPress receives between 100,000 and 200,000 unique visitors a month. I’ve gotten a few nasty emails from the two hosts that I’ve had the site [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.adventuresindevelopment.com/wp-content/uploads/2010/03/wp-logo.jpg"><img class="alignright size-thumbnail wp-image-199" title="wp logo" src="http://www.adventuresindevelopment.com/wp-content/uploads/2010/03/wp-logo-150x150.jpg" alt="" width="150" height="150" /></a><a href="http://www.wordpress.org/">WordPress</a> is an excellent blogging/news website platform as a whole, but <a href="http://www.codinghorror.com/blog/2008/04/behold-wordpress-destroyer-of-cpus.html">has been criticized for being a bit of a performance dog</a>. One of my websites which is powered by WordPress receives between 100,000 and 200,000 unique visitors a month. I’ve gotten a few nasty emails from the two hosts that I’ve had the site on during the last year for taking up too much of the shared server’s CPU usage. Fortunately the poor performance of the base WordPress installation can be mitigated with a few different performance optimization plug-ins and techniques.</p>
<p><strong><span style="text-decoration: underline;">Here are a few things that I’ve done to get my WordPress installations’ performance in check:</span></strong></p>
<p><strong>Minimize Plug-In Usage </strong>- Many WordPress users, including myself, have the bad habit of running 20 to 30 different WordPress plug-ins at once. Each plug-in that you have installed adds to the amount of work that the server needs to do to load pages on your website. Keep the number of WordPress plug-ins that you have installed to a minimum.</p>
<p>One of the Plug-Ins that has been considered a “worst offender” is the popular <a href="http://wordpress.org/extend/plugins/all-in-one-seo-pack/">All-In-One SEO Plug-in</a>, so much so that <a href="http://www.google.com/#hl=en&amp;source=hp&amp;q=dreamhost+all+in+one+seo&amp;aq=f&amp;aqi=g8&amp;aql=&amp;oq=&amp;gs_rfai=&amp;fp=bcdf8cbbf06dc4f">DreamHost has banned its users from using the plug-in</a>. Some would dispute the claim that it’s a performance nightmare, however you are probably better off to build your SEO optimizations into the template itself rather than using a third-party plug-in.</p>
<p><strong>Word Press Super Cache </strong>– <a href="http://wordpress.org/extend/plugins/wp-super-cache/">Super Cache</a> is a plug-in that creates static HTML files which will load for your users instead of dynamically generating post HTML on each page load. Almost all <a href="http://localizeitnow.com/local-web-design.htm">Columbus Ohio web designers</a> use this. This plug-in is a great help for sites that get featured on social bookmarking sites or have a few popular articles that get hammered.</p>
<p>Super Cache also supports a more traditional caching method (the one that came with the “WP Cache” plugin) for servers which do not support Super Cache. The downside to the “cache” method is that it does require loading a PHP script, whereas the “super cache” method requires nothing in terms of executing server-side scripts on a cached page load.</p>
<p><strong>Word Press Object Cache – </strong>WordPress has a built in object cache which was added in version 2.5. The “Object Cache” will cache the results of different database queries that WordPress makes. For example, when any of the pages on your site loads, it will need to populate the site’s blog-roll and any widgets from the database. By enabling the object cache, you can cache the results from queries, minimizing the amount of database queries that WordPress needs to make.</p>
<p>To enable the WordPress object cache on yours site, edit your WP.Config file and add “define(ENABLE_CACHE, true);” to your list of “defines”. This may be added by default to later versions of WordPress.</p>
<p>To read more about the Object Cache, <a href="http://neosmart.net/blog/2008/wordpress-25-and-the-object-cache/">read this article on NeoSmart.NET</a>.</p>
<p><strong>Optimize Your PHP.INI File </strong>– Optimizing your PHP configuration file can improve the performance of your site. <a href="http://elliottback.com/wp/why-my-wordpress-site-is-so-much-faster-than-yours/">ElliotBack.com has some suggestions</a> about what changes you might want to make to your configuration file, which will disable some modules which may not be needed for your website. He also offers a link to this <a href="http://phplens.com/lens/php-book/optimizing-debugging-php.php">more complete guide to optimizing your PHP.INI File</a>.</p>
<p><strong>Use a PHP Compiler Cache </strong>– You can make use of a PHP Compiler cache which will save scripts in a compiled format so they are not being recompiled each time they’re called from a page load on WordPress. The compiler cache will save your PHP scripts, including your WordPress files in a compiled state, eliminating the overhead caused by the compilation of your PHP files. Two popular PHP compilers are  <a title="APC" href="http://pecl.php.net/package/APC" target="_blank">APC</a> &amp; <a href="http://eaccelerator.net/">eAccelerator</a> that you may want to investigate, but it’s probably not worth it to go through the process of using these tools unless you have an extremely high traffic website.</p>
<p><strong>Choose a Good Web Host – </strong>This won&#8217;t make your WordPress install run any faster, but choosing the right host from the get-go can minimize the need to spend a lot of time tweaking your site&#8217;s performance. Not all host are the same. Most hosts will shove you on a shared server with dozens of other websites, which isn’t a bad thing, because shared hosting allows you to get web hosting for much less than you would have had to if you bought your own web-server. The difference lies in how many websites a host will try to shove onto a single server.</p>
<p>Before choosing a web-host, search for the name of the host followed by “WordPress issues” or “Wordpress Problems” to see if current customers of the host are having performance issues with their WordPress sites.</p>
<p><strong>Hardcode Values in Your Template &#8211; </strong>By default WordPress values use PHP functions on each page load to calculate the server path of where your template files are. <a href="http://digwp.com/2009/07/optimize-wordpress-performance-with-the-wp-config-php-file/">Digging into WordPress suggests that you should replace these with hard-coded values</a> to improve performance. We’re not sure how much of a benefit using hard-coded values will provide and probably isn’t necessary for smaller sites, but will probably provide some sort of assistance for sites with substantial traffic levels.</p>
<p><strong>MySQL Database Optimization with PHPMyAdmin </strong>- Your web host probably provides you PHPMyAdmin access, which will allow you to run a built in optimization function on your tables. <a href="http://weblogtoolscollection.com/archives/2005/04/06/optimize-your-database/">Weblog Tools suggests that going through the process will  provide a nice performance boost</a>. <a href="http://www.earnersblog.com/digproof-your-wordpress/">EarnersBlog.com agrees that it’s also worth doing</a>. It’s probably worth trying, but make sure to back up your database first.</p>
<p><strong><span style="text-decoration: underline;">Conclusion</span></strong></p>
<p>More often than not, installing Super Cache and getting rid of un-necessary plug-ins will be more than enough to make 95% of sites run at more than acceptable performance levels. If you’ve got a large site, as in that you are receiving hundreds of thousands of unique visitors each month, then it probably makes sense to start looking at some of the other optimizations suggested in this article.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/mg_atkUB1-hJgpet4aKaYVByhhM/0/da"><img src="http://feedads.g.doubleclick.net/~a/mg_atkUB1-hJgpet4aKaYVByhhM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/mg_atkUB1-hJgpet4aKaYVByhhM/1/da"><img src="http://feedads.g.doubleclick.net/~a/mg_atkUB1-hJgpet4aKaYVByhhM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2012/01/25/how-to-optimize-your-wordpress-blog-for-performance/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2012/01/25/how-to-optimize-your-wordpress-blog-for-performance/</feedburner:origLink></item>
		<item>
		<title>How to Save Money on Car Insurance</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/qcUupiN61xw/</link>
		<comments>http://www.adventuresindevelopment.com/2012/01/14/how-to-save-money-on-car-insurance/#comments</comments>
		<pubDate>Sun, 15 Jan 2012 03:29:38 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=275</guid>
		<description><![CDATA[Everyone is searching around for ways to save more money. Statistics show that drivers pick a car insurance company and remain loyal to them for years. However, remaining loyal doesn’t mean that the car insurance policy will become more affordable over time. When people become more passionate about trimming monthly expenses, they may start by [...]]]></description>
			<content:encoded><![CDATA[<p>Everyone is searching around for ways to save more money. Statistics show that drivers pick a car insurance company and remain loyal to them for years. However, remaining loyal doesn’t mean that the car insurance policy will become more affordable over time.</p>
<p>When people become more passionate about trimming monthly expenses, they may start by looking into <a href="http://www.cheapestautoquote.info/">cheap auto insurance quotes</a> from competing companies. This is certainly a great first step in saving money on car insurance. A more affordable policy is certainly a step in the right direction. Even drivers who are deemed <a href="http://www.cheapestautoquote.info/high-risk-driver/">high risk auto insurance</a> policy holders will find that there are dozens of companies out there willing to cater to their needs and offer them a more affordable policy than they already have.</p>
<p>Whether a customer is willing to switch insurance companies to save money or not, there are additional ways to save on car insurance. Each car insurance company offers multiple discounts. Most agents will go ahead and add a few of these discounts to your premium automatically, but it is always a good idea to ask what discounts the company offers so you can be certain you are getting all the discounts you qualify for. Here is a list of possible discounts an auto insurance company would offer and how to quality for the discount.</p>
<p>Combined Coverage – Combining together your different auto insurance policies is the best way to save money on your coverage. Not only is there a multiple car discount for insurance more than one car with the same company, but car insurance companies want their customers to purchase more than one type of policy. So, if a driver also needs home insurance, life insurance, liability insurance or even renter’s insurance, they can expect to receive a decent discount on their car insurance policy.</p>
<p>Renewal – Any decent car insurance company is going to want to offer incentives to customers who have a history of clean driving and continue to stay on as loyal clients. If a driver is not already receiving a renewal discount, they should contact their insurance agent and ask about one right away. The insurance company should be smart enough to realize that they don’t want to lose a loyal, responsible policy holder and give you a discount for it.</p>
<p>Clean Driving Record – Drivers pay insurance each month to cover the damages incurred in a potential accident at some point in the future. This means that drivers who rarely, or even never, get into an accident or receive a traffic violation are big money makers for a car insurance company. This directly translates back to the customers as a discount for being a great driver.</p>
<p>Safety Features – Most insurance companies will offer a discount to drivers that have certain safety features installed in their vehicles. These safety features actually save the company money in the long run so they can afford to give you a discount for using them. Antilock brakes, airbags and even car theft deterrent equipment tend to quality for a discount so be sure to speak up and ask your agent if your safety equipment counts.</p>
<p>Low Risk Jobs – Depending on your occupation, you might be eligible for a discount. Statistics have shown that certain fields of work, like engineering, tend to employ drivers who have fewer accidents. If you work in public service, for the government, or as a teacher – there might be a discount for that too.</p>
<p>Assume Additional Risk &#8211; Since drivers tend to go for the best possible auto quotes, that means they are probably only getting the minimum coverage required by local insurance laws. Car insurance companies want their customers to assume more risk by purchasing additional coverage. Not only does this bring in more income for the company, but it also means that customers are better prepared to cover any potential damages. Therefore, many companies offer a discount to customers willing to pay for more coverage.</p>
<p>There are dozens of other discounts available. The best way to save money on insurance is to 1) find out exactly how much car insurance you are going to need, 2) shop around for the best price, and 3) go into detail over the discounts to get each and every one you actually qualify for.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/RGYSVt9LpGmrlFjg31BsWBje9-o/0/da"><img src="http://feedads.g.doubleclick.net/~a/RGYSVt9LpGmrlFjg31BsWBje9-o/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RGYSVt9LpGmrlFjg31BsWBje9-o/1/da"><img src="http://feedads.g.doubleclick.net/~a/RGYSVt9LpGmrlFjg31BsWBje9-o/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2012/01/14/how-to-save-money-on-car-insurance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2012/01/14/how-to-save-money-on-car-insurance/</feedburner:origLink></item>
		<item>
		<title>How to Ensure You Will Actually Get Paid as a Freelancer</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/5sWtJp1xW9E/</link>
		<comments>http://www.adventuresindevelopment.com/2011/12/19/how-to-ensure-you-will-actually-get-paid-as-a-freelancer/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 14:00:57 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Freelancing]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=243</guid>
		<description><![CDATA[As unemployment rates remain elevated in most developed countries, people with specific marketable skill sets, such as website development, graphic design and copy writing, have been applying those talents in the marketplace in the form of freelance work to supplement their income streams. As a person that has done a lot of freelancing work in [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright size-thumbnail wp-image-247" title="PAID" src="http://www.adventuresindevelopment.com/wp-content/uploads/2010/08/PAID-150x150.jpg" alt="" width="150" height="150" hspace="10" vspace="10" />As unemployment rates remain elevated in most developed countries, people with specific marketable skill sets, such as website development, graphic design and copy writing, have been applying those talents in the marketplace in the form of freelance work to supplement their income streams.</p>
<p>As a person that has done a lot of freelancing work in the past, I quickly that there is much more to being a one-man web development shop than actually creating websites. When you work as a freelancer, you are starting a small business and hiring yourself as an employee. This means that you need to get all appropriate licenses (such as a business license and a sales tax license) if your locality requires them and you may even want to incorporate your business down the line. You also need to keep a good track of your income and expenses using Quickbooks, Outright or Excel for tax purposes.</p>
<p>Because you are essentially starting a small business when you opt to become a freelancer, you want to make sure that your business actually makes money. Financial author Dave Ramsey is quoted as saying that a business that doesn’t make any money is a hobby. Almost everyone that does freelance work does so because they want the extra money from the projects that they complete, thus, it makes sense to engage in behavior that will cause your business to maximize the amount of money that you’ll make.</p>
<p>One of the major pitfalls that freelancers run into is that they fail to adequately manage the business aspect of their work. They focus on actually doing the work and ignore many of the business aspects that revolve around the work that they do, often resulting deals which leave the freelancer making much less than they were expecting to or even not getting paid at all.</p>
<p>As a freelancer, one of your top priorities should be getting paid by your clients. If you have ever read the “Clients From Hell” blog, you would quickly realize there are a lot of crazy people that want to hire you—people that will either try to short change you, pay you with some worthless goods or service that you don’t want, or won’t even pay you at all.</p>
<p>In order to make sure that you actually get paid, the first thing that you need to do is prequalify your clients. If a person comes to you and asks you to do work for them, but you don’t feel like they have their act together and don’t believe they can or will actually pay you, it’s okay to tell them that you can’t take their project. If it’s the first time that you’ve worked with the client, it’s not out of line to ask for business references.</p>
<p>You should also have a document signed by both you and your client that clearly outlines what work you will do, what work you will not do, when you will have the work done and how much you will be paid and when you will be paid. You should also have a clause in your work agreement about change requests and additions and how that will affect the price. I typically refer to this as a “scope statement” in the agreements that I make.</p>
<p><strong>Here’s the text that I have use in my scope statements:</strong></p>
<blockquote><p>The website developed will be as described in the initial description and the “section specifics” section of this proposal. Additional minor features will likely be completed at no-charge. If any of the “upgrade” options are chosen, they will be completed at the price listed above. Additional major features/usability changes which are requested during system development will be billed at a cost of $XX per hour. Matthew Paulson has sole discretion as to what would constitute a ‘major’ and a ‘minor’ change. An estimate will be provided for any additional worked that is deemed ‘billable’ before it is performed.</p></blockquote>
<p>If it’s the first time that you’re working with a particular client and don’t know them terribly well, you should definitely ask for a percentage of the payment up-front. Depending on the size of the project and how you feel about the customer, either 25% or 50% is an appropriate up-front price. If the client appears to be really sketchy, insist on full payment up-front or simply say no to the project.</p>
<p>You also need to make sure that you do a good job of invoicing. Once you have completed your project, send an invoice to your customer with the remaining balance. You can do this with a simple word document of which there are hundreds of templates online for, or using a more advanced online invoicing system.</p>
<p>When I email an invoice, I typically say something like, “Let me know when you send the check so that I know to look for it in the mail.” Using a phrase like this will help you know when your money should be arriving and give you a reference point in the event that the client is slow to pay. In most cases, you’ll be paid quickly, in cases that you don’t, call or email the client on a weekly basis asking them when you will receive payment. Consumer advocate Clark Howard suggests that freelancers visit the client in person if the client is slow to pay. He believes that in-person visits are more effective for collections.</p>
<p>In the event that you don’t get paid, you probably didn’t do the best job of pre-screening your client. You have the option of taking the client to a small claims court and will likely win a judgment against them, but collecting on that judgment only gives you a “license to hunt” and doesn’t necessarily mean that you will get your money right away or ever. If you do get vehicles or equipment from a judgment, you might consider selling them at an <a href="http://www.rockanddirt.com/perl/events.pl?ord=date">equipment auction</a>.</p>
<p>The three keys to making sure that you get paid for the work that you do as a freelancer are to <strong>pre-screen your clients, clearly communicate terms and stay on top of billing</strong>. If you are up-front about how much you are charging, when you should receive the money and what work you will do and will not do, make sure that you only work for good clients and stay on top invoicing and billing your clients, you will avoid the majority of the issues that would result in you not getting the money that you have rightfully earned.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/kDezUcF5Wyvorrwnsiga0h5WMn0/0/da"><img src="http://feedads.g.doubleclick.net/~a/kDezUcF5Wyvorrwnsiga0h5WMn0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/kDezUcF5Wyvorrwnsiga0h5WMn0/1/da"><img src="http://feedads.g.doubleclick.net/~a/kDezUcF5Wyvorrwnsiga0h5WMn0/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2011/12/19/how-to-ensure-you-will-actually-get-paid-as-a-freelancer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2011/12/19/how-to-ensure-you-will-actually-get-paid-as-a-freelancer/</feedburner:origLink></item>
		<item>
		<title>The Importance Of Spending Time On Your Car</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/bpWb1-827Iw/</link>
		<comments>http://www.adventuresindevelopment.com/2011/11/02/the-importance-of-spending-time-on-your-car/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 18:11:55 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=269</guid>
		<description><![CDATA[To some people, a car is simply a vessel for daily transportation of both people and objects. However, while this is part of what comes with car ownership, if the owner does not spend any time maintaining their car, they will run into problems. What are the benefits of spending time working on a car? [...]]]></description>
			<content:encoded><![CDATA[<p>To some people, a car is simply a vessel for daily transportation of both people and objects. However, while this is part of what comes with car ownership, if the owner does not spend any time maintaining their car, they will run into problems. What are the benefits of spending time working on a car?</p>
<p>1. The Car Can Be Sold At a Later Time</p>
<p>Although some car owners do not like to think about it, they will need to sell their car to somebody else at some point. Depending on the state of the car, they could get a lot of money or only a little; potential buyers are not going to want something that is filthy and does not run well. If the car owner has been taking care of their ride, however, they are more likely to come across success. They will not have to worry that something will go wrong.</p>
<p>2. It Will Run Well</p>
<p>Especially during the colder months of the year, a car that runs well is always something to strive for. Nobody wants to be driving down the road late at night only to find that the car is out of gas or has a flat tire. When a person chooses to pay attention to their car &#8211; for longer than it takes to drive it to work &#8211; they can hope to avoid problems. They can use their car with the confidence that they will not come across any surprise problems. <a href="http://www.comparethemarket.com/car-insurance/">Car insurance cover</a> can help if they receive issues that come with accidents.</p>
<p>3. Problems Can Be Caught Early</p>
<p>When a person chooses to look at their car or take it to an auto repair shop, they can catch problems before they become too serious. An auto shop will be able to fix any minor issues before they lead to bigger and more expensive bills for the owner; for people on a tight or otherwise limited budget, this is especially crucial. The owner can also ask questions and find personal solutions for making sure that they get the most that they can out of their car.</p>
<p>Cars, to some people, work as status symbols of their family and everything they have worked for. To other people, cars are simply something to get them from home to work, or to any other desired destination. No matter what a car is to a person, however, they need to take good care of it. An owner that spends time on their car can hope to get good money for it when they sell it in the future. They can have peace of mind that their car will not break down or require expensive fixes. By taking responsibility and using common sense, anybody can help their car last for a long time.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/f8NQUo4d2G1ZZl3_uJwdUlCbKlE/0/da"><img src="http://feedads.g.doubleclick.net/~a/f8NQUo4d2G1ZZl3_uJwdUlCbKlE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/f8NQUo4d2G1ZZl3_uJwdUlCbKlE/1/da"><img src="http://feedads.g.doubleclick.net/~a/f8NQUo4d2G1ZZl3_uJwdUlCbKlE/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2011/11/02/the-importance-of-spending-time-on-your-car/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2011/11/02/the-importance-of-spending-time-on-your-car/</feedburner:origLink></item>
		<item>
		<title>How to Make Use of Namespaces in C# and Visual Basic .NET</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/NDqjPz3TmxA/</link>
		<comments>http://www.adventuresindevelopment.com/2010/03/23/how-to-make-use-of-namespaces-in-c-and-visual-basic-net/#comments</comments>
		<pubDate>Tue, 23 Mar 2010 16:19:16 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Visual Basic]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=194</guid>
		<description><![CDATA[If you&#8217;ve written any sort of software application of decent size, you&#8217;ll know that you need to structure your code, most often using object oriented design techniques, to keep your code-base manageable. Some languages such as Java and C# enable developers to write object-oriented applications relatively well out of the box without much extra work. [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve written any sort of software application of decent size, you&#8217;ll know that you need to structure your code, most often using object oriented design techniques, to keep your code-base manageable. Some languages such as Java and C# enable developers to write object-oriented applications relatively well out of the box without much extra work. Others, such as JavaScript, Classic ASP and PHP (without any frameworks attached), make users do a lot more work to keep their code base manageable.</p>
<p>One of the features that was included with C#/VB.NET is the idea of name-spaces, which are not necessarily a requirement to write object-oriented code, however do a a great job of creating a hierarchical class structure and generally keeping your classes, methods, enumerations, etc in non-spaghetti-code state.</p>
<p><span style="text-decoration: underline;"><strong>What is a namespace?</strong></span></p>
<p>A namespace can best be described as a collection of classes and enumerations.</p>
<p><span style="text-decoration: underline;"><strong>An Example</strong></span></p>
<p>Typically, you would want to put classes and enums together in a namespace that are related. For example, if you were considering making some C# code to represent the organization structure of a library, you might have a namespace for the library as a whole, then have sub-namespaces for different aspects of the library, such as the materials that can be rented out in a library, the library&#8217;s staff members, and its facilities.</p>
<p>Here&#8217;s what a hierarchical structure of namespaces might look like in a Library in C#</p>
<p><a href="http://www.adventuresindevelopment.com/wp-content/uploads/2010/03/namespaces.jpg"><img class="alignnone size-full wp-image-195" title="namespaces" src="http://www.adventuresindevelopment.com/wp-content/uploads/2010/03/namespaces.jpg" alt="" width="383" height="519" /></a></p>
<p>You&#8217;ll notice that name spaces can be hierarchically organized and that name spaces can contain both classes and enumerations. They can also hold delegates, interfaces and structs. They cannot directly include methods, which must be contained within a class.</p>
<p><span style="text-decoration: underline;"><strong>Referencing a Class in a Namespace</strong></span></p>
<p>If you were to create the class that we just made above and put it into a C# application (most likely in the app_code folder), this is how you would create some of the classes above:</p>
<p><strong>AdministrationBuilding</strong> -  Library.Facilities.AdministrationBuilding thisBuilding = new Library.Facilities.AdministrationBuilding();</p>
<p><strong>Journal</strong> &#8211; Library.Materials.Periodicals.Journal thisJournal = new Library.Materials.Periodicals.Journal();</p>
<p><strong>BookType </strong>- Library.Materials.BookType thisType = new Library.Materials.BookType();</p>
<p><span style="text-decoration: underline;"><strong>Making Good use of the Using Declaration</strong></span></p>
<p>If you plan to make use of a namespace a lot on a particular form, web-form, or any other C#/VB file, you can import the namespace directly on the page much in the way that you might import one of the inherited namespaces under the &#8220;System&#8221; class.</p>
<p>When doing development, if you wanted to create a DataTable object, you would probably want to add &#8220;using System.Data;&#8221; to the top of your page so that you can reference the variable type by just using &#8220;DataTable ThisTable&#8221; rather than &#8220;System.Data.DataTable ThisTable&#8221;.</p>
<p>You can also do this with your own namespaces.</p>
<p><strong>Here&#8217;s how you would import the &#8220;periodicals&#8221; namespace in C#</strong> &#8211;   using Library.Materials.Periodicals;</p>
<p><strong>Here&#8217;s how you would import the &#8220;periodicals&#8221; namespace in VB.NET</strong> &#8212; Imports Library.Materials.Periodicals</p>
<p>Now, instead of creating a journal like we did above, we could simply write &#8220;Journal thisJournal = new Journal();&#8221; to create a new object of type Journal.</p>
<p><span style="text-decoration: underline;"><strong>Here are a few other good resources on Namespaces:</strong></span></p>
<ul>
<li><a href="http://www.vbdotnetheaven.com/UploadFile/ssivkumar/NamespacesInVBdotNETCsharp04072005054728AM/NamespacesInVBdotNETCsharp.aspx">Creating and using Namespaces in VB.NET and C#</a> (VB.NET Heaven)</li>
<li><a href="http://msdn.microsoft.com/en-us/library/dfb3cx8s.aspx">Using Namespaces</a> (MSDN)</li>
<li><a href="http://www.csharphelp.com/2006/02/namespaces-in-c/">Namespaces in C#</a> (C Sharp Help)</li>
</ul>

<p><a href="http://feedads.g.doubleclick.net/~a/Ja7jsfnhN1QOpyFtj1970lfhUrM/0/da"><img src="http://feedads.g.doubleclick.net/~a/Ja7jsfnhN1QOpyFtj1970lfhUrM/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Ja7jsfnhN1QOpyFtj1970lfhUrM/1/da"><img src="http://feedads.g.doubleclick.net/~a/Ja7jsfnhN1QOpyFtj1970lfhUrM/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2010/03/23/how-to-make-use-of-namespaces-in-c-and-visual-basic-net/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2010/03/23/how-to-make-use-of-namespaces-in-c-and-visual-basic-net/</feedburner:origLink></item>
		<item>
		<title>Arvixe’s Customer Service Has Won Me Over</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/Fd7fAnqWb3U/</link>
		<comments>http://www.adventuresindevelopment.com/2010/03/14/arvixe%e2%80%99s-customer-service-has-won-me-over/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 23:11:09 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=189</guid>
		<description><![CDATA[For years, I had been a DreamHost customer. I had their standard shared reseller hosting account that costs peanuts. Every few weeks my sites would crash hard when they had any remote amount of significant traffic. Eventually it got to the point where I was losing out on ad-revenue because of DreamHost’s inability to keep [...]]]></description>
			<content:encoded><![CDATA[<p>For years, I had been a DreamHost customer. I had their standard shared <a href="http://www.midphase.com/reseller-hosting">reseller hosting</a> account that costs peanuts. Every few weeks my sites would crash hard when they had any remote amount of significant traffic. Eventually it got to the point where I was losing out on ad-revenue because of DreamHost’s inability to keep their servers in good shape. I decided that I’d had it with DreamHost’s constant down-time issues and started researching hosting companies.</p>
<p>Picking out a web-host is probably one of the most difficult tasks that a web-developer has, mostly because it’s difficult to determine what level of customer service they will provide after you are a customer. Eventually I settled upon <a href="http://www.arvixe.com/2885.html">Arvixe</a>, because the <a href="http://www.besthostratings.com/web-hosting/reviews/ArvixeWeb_Web_hosting-Reviews.html">reviews that I read online</a> were much more positive than what other companies had. Most companies have pretty mixed reviews; even <a href="http://www.yelp.com/topic/redwood-city-bad-review-and-complaint-about-arvixe-com-web-hosting-company-and-godaddy-com">Arvixe has a few bad reviews floating online</a>.</p>
<p>The best way to scope out a host ahead of time is to type “CompanyName Sucks” on Google. You can also read reviews and see if the host bothered to respond and offer to help customers that had bad experiences. You definitely want a high ratio of good reviews to bad reviews, but you’re still taking a bit of a guess as to whether or not the host will be any good.</p>
<p>I’ve been using Arvixe to power my two high traffic sites, <a href="http://www.americanconsumernews.com/">AmericanConsumerNews.com</a> and <a href="http://www.americanbankingnews.com/">AmericanBankingNews.com</a> for about 5 months now. The two sites together easily get 150,000 unique visitors per month and Arvixe’s servers handle the load just fine, even on the cheap shared hosting plan that they offer.</p>
<p>I’ve ran into two situations where’s I’ve needed customer support from Arvixe. The first time, AmericanBankingNews.com had 19,000 unique visitors in a day. The WordPress-based site had a couple of plug-ins that were misbehaving and sucked up the entirety of the server’s CPU. As a result, <a href="http://www.arvixe.com/2885.html">Arvixe</a> shut the site down, sent me an email and told me why they did what they did and what plug-ins I needed to remove to prevent the problem. After taking the action that they suggested, they were more than happy to re-enable the site and the problem disappeared.</p>
<p>The second time I dealt with Arvixe’s customer service team was last week when the server that powers my ASP.NET websites went down. Apparently there was a hardware malfunction and the server had to be taken off-line. Arvixe had full-backup and replaced the server within a few hours. The company also had to take the server down early on a Sunday morning to do a file system check.  As the file system check took place, Arvixe provided hour by hour updates to let me know when my sites would be back up. The company even provided a 2-month credit because of the down-time that really wasn’t their fault to begin with.</p>
<p>I’ve been really impressed with <a href="http://www.arvixe.com/2885.html">Arvixe</a>’s customer support so far, so, keep up the good work guys!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/Hpqkt9E6HlWNGyZELPVt-7sTLT8/0/da"><img src="http://feedads.g.doubleclick.net/~a/Hpqkt9E6HlWNGyZELPVt-7sTLT8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Hpqkt9E6HlWNGyZELPVt-7sTLT8/1/da"><img src="http://feedads.g.doubleclick.net/~a/Hpqkt9E6HlWNGyZELPVt-7sTLT8/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2010/03/14/arvixe%e2%80%99s-customer-service-has-won-me-over/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2010/03/14/arvixe%e2%80%99s-customer-service-has-won-me-over/</feedburner:origLink></item>
		<item>
		<title>Facebook Goes Live with Bookmark Prompt</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/mHPNFTzV43A/</link>
		<comments>http://www.adventuresindevelopment.com/2009/11/18/facebook-goes-live-with-bookmark-prompt/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 22:40:34 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=183</guid>
		<description><![CDATA[A couple of months ago, Facebook announced some ambitious changes to their API. We&#8217;re now starting to see some of the first of the newly announced features be released into the wild. A couple of weeks ago, Facebook added the ability for developers to ask prompt to bookmark their application. Previously, users were only able [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, Facebook announced some ambitious changes to their API. We&#8217;re now starting to see some of the first of the newly announced features be released into the wild. A couple of weeks ago, Facebook added the ability for developers to ask prompt to bookmark their application. Previously, users were only able to add bookmarks using the &#8220;Add Bookmark&#8221; in Facebook&#8217;s taskbar.</p>
<p>Facebook&#8217;s Developer Wiki says that applications should only launch the prompt after a user clicks on a link, but it&#8217;s likely that those guidelines will be abused.</p>
<p><strong>Here&#8217;s what the prompt looks like for the &#8220;Spay Day Online Pet Photo Contest&#8221; application that Factor 360 developed for the Humane Society of the United States:<br />
</strong></p>
<p><a href="http://www.adventuresindevelopment.com/wp-content/uploads/2009/11/bookmark.jpg"><img class="alignnone size-full wp-image-184" title="bookmark" src="http://www.adventuresindevelopment.com/wp-content/uploads/2009/11/bookmark.jpg" alt="bookmark" width="470" height="192" />:</a></p>
<p><em><strong>Here&#8217;s how to load the prompt on an Facebook Application (Iframe) using XFBML:</strong></em></p>
<p>First, you&#8217;ll want to make sure that you <a href="http://wiki.developers.facebook.com/index.php/XFBML">have the prerequisites ready so that you can use XFBML</a>.</p>
<p><strong>Then, make a hyperlink that calls an &#8220;AddBookmark&#8221; function that we&#8217;ll write. You could also do a submit button or anything else that would call a JavaScript function.</strong></p>
<p>Remember to &lt;a href=&#8221;#&#8221; onclick=&#8221;AddBookmark(); return false;&#8221;&gt;Bookmark this Application!&lt;/a&gt;</p>
<p><strong>Then, use the following JavaScript to define the AddBookmark function.</strong></p>
<p>&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
function AddBookmark() {<br />
FB_RequireFeatures(["Connect"], function() {<br />
FB.Facebook.init(&#8216;APIKEY&#8217;, &#8216;xd_receiver.htm&#8217;);<br />
FB.ensureInit(function() {<br />
FB.Connect.showBookmarkDialog(callback);<br />
});<br />
});<br />
}<br />
function callback(post_id, exception) {<br />
alert(&#8216;bookmarked&#8217;);<br />
}<br />
&lt;/script&gt;</p>
<p>Make sure to replace &#8220;API Key&#8221; with your application&#8217;s API Key. The &#8220;FB.ensureinit&#8221; function makes sure that the library has fully loaded before trying to execute it. The reference to &#8220;FB.Connect.showBookmarkDialog(callback);&#8221; is where the magic happens. the callback function occurs after the user has closed the dialog box. You could put just about anything you want in here. For this demonstration, I&#8217;ve just included a basic JavaScript alert.</p>
<p>In the next couple of months, Facebook will be launching a number of additional API changes, including the removal of classic application invites and the addition of sending messages Facebook&#8217;s Inbox from within Applications. Developers will also soon be able to get access to their user&#8217;s email address if they give permission. You can see other changes coming on <a href="http://wiki.developers.facebook.com/index.php/Developer_Roadmap">Facebook&#8217;s Developer Roadmap</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/KJNcyPBItOHrotb1fBm7DyIlY_U/0/da"><img src="http://feedads.g.doubleclick.net/~a/KJNcyPBItOHrotb1fBm7DyIlY_U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/KJNcyPBItOHrotb1fBm7DyIlY_U/1/da"><img src="http://feedads.g.doubleclick.net/~a/KJNcyPBItOHrotb1fBm7DyIlY_U/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2009/11/18/facebook-goes-live-with-bookmark-prompt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2009/11/18/facebook-goes-live-with-bookmark-prompt/</feedburner:origLink></item>
		<item>
		<title>How to Build a Code Igniter Development and Testing Environment on Windows</title>
		<link>http://feedproxy.google.com/~r/AdventuresInDevelopment/~3/w3xQN6du4Zo/</link>
		<comments>http://www.adventuresindevelopment.com/2009/11/09/how-to-build-a-code-igniter-development-and-testing-environment-on-windows/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 18:52:16 +0000</pubDate>
		<dc:creator>Matthew Paulson</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.adventuresindevelopment.com/?p=169</guid>
		<description><![CDATA[I&#8217;ve been playing around with the Code Igniter Framework for PHP over the last couple of weeks, primarily because Net Tuts has a series of 6 high-quality screencasts showing off some basic functionality of the framework. Essentially, Code Igniter provides some additional functionality and provides a standardized means of creating pages and methods using the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been playing around with the Code Igniter Framework for PHP over the last couple of weeks, primarily because <a href="http://net.tutsplus.com/videos/screencasts/codeigniter-from-scratch-day-1/">Net Tuts has a series of 6 high-quality screencasts</a> showing off some basic functionality of the framework. Essentially, Code Igniter provides some additional functionality and provides a standardized means of creating pages and methods using the MVC framework. If you&#8217;re not used to MVC, it&#8217;s a bit of an adjustment, but it can have some benefits on the testing side of things.</p>
<p>If you plan on doing any Code Igniter work, you&#8217;re going to need some form of development environment for it. On the Net Tuts tutorial, the author uses Text Mate, which works pretty well as a Mac product, but I&#8217;ve found that PHP Eclipse is a bit better of a solution as a development environment on the windows side. You&#8217;ll also need to get a copy of WAMP setup, get the CodeIgniter files and configure CodeIgniter to look at the right path on your web-server as well as the correct database.</p>
<p>Here&#8217;s how to setup the ultimate development and test environment for Code Igniter in Windows</p>
<p><span style="text-decoration: underline;"><strong>Step 1: Installing Wamp</strong></span></p>
<p>The first thing you’ll need to do is get a copy of WAMP. This stands for “Windows Apache MySQL and PHP”. It essentially provides a set of web-development framework that combines all of the tools that you need for creating a PHP test-bed in a Windows environment. Since Joomla is based on PHP, WAMP is a perfect solution to run Joomla on top of. You can download the installation files from <a href="http://www.wampserver.com/en/download.php">WampServer.com</a></p>
<p>You will also be asked about SMTP information. Unless you have a specific need to do anything that involves sending emails from your web-server, it’s safe to leave those blank. If you are developing contact forms or somethign that would require credentials, you can get those from your internet service provider.</p>
<p><span style="text-decoration: underline;"><strong>Step 2: Testing WAMP<br />
</strong></span></p>
<p>After getting WAMP installed, you&#8217;ll be given the option of letting it start up automatically or you can simply launch WAMP from the start menu. Once you have the WAMP client running, you can enable the web-server and database by right clicking on the icon and clicking &#8220;Start All Services&#8221;. To make sure that the environment is working properly, right click the icon and select &#8220;Local Host.&#8221;  If all is well, you’ll see a page that says “WAMPServer” that has a white-background.</p>
<p><a href="/wp-content/uploads/2009/05/wamp-first-steps.jpg"><img title="wamp-first-steps" src="../wp-content/uploads/2009/05/wamp-first-steps.jpg" alt="wamp-first-steps" width="233" height="293" /></a></p>
<p><span style="text-decoration: underline;"><strong>Step 3: Getting Code Igniter</strong></span></p>
<p>Once you have WAMP running, you&#8217;ll want to grab a copy of the <a href="http://codeigniter.com/download.php">Code Ingiter files</a> from the <a href="http://codeigniter.com/">Code Igniter Website</a>. They typically come in the form of a ZIP file. Take the files in the Zip File and extract them to a sub directory of your WAMP installation&#8217;s WWW directory. Typically WAMP&#8217;s WWW directory is located at &#8220;c:\wamp\www\&#8221;, so a good directory to put your files in might be c:\wamp\www\ci\&#8221;.</p>
<p><span style="text-decoration: underline;"><strong>Step 4: Testing Code Igniter</strong></span></p>
<p>The next thing that you want to do is to test out your copy of Code Igniter on WAMP and make sure that it&#8217;s running properly. You can do this by opening up your web-browser and navigating to &#8220;http://localhost/ci/&#8221; (assuming that you named your Code Igniter file &#8220;ci&#8221;). If it&#8217;s working, it should look like this:</p>
<p><a href="http://www.adventuresindevelopment.com/wp-content/uploads/2009/11/code-igniter-welcome.jpg"><img class="aligncenter size-medium wp-image-171" title="code igniter welcome" src="http://www.adventuresindevelopment.com/wp-content/uploads/2009/11/code-igniter-welcome-300x145.jpg" alt="code igniter welcome" width="300" height="145" /></a></p>
<p><span style="text-decoration: underline;"><strong>Step 5: Configuring Code Igniter</strong></span></p>
<p>Once you have code igniter working, you&#8217;ll want to make a few modifications to Code Igniter&#8217;s config file so that Code Igniter is properly configured and can access your database.</p>
<p>The first file  you want to modify is &#8220;config.php&#8221;, this is located in &#8220;/system/application/config/&#8221; relative to your root directory of code igniter, for us, that would be &#8220;C:\wamp\www\ci\system\application\config.&#8221;</p>
<p><strong>On line 14, you&#8217;ll notice: </strong></p>
<p>$config['base_url']    = &#8220;http://example.com/&#8221;;</p>
<p><strong>We&#8217;ll want to change that URL to the URL of our code igniter install, so it should be:</strong></p>
<p>$config['base_url']    = &#8220;http://localhost/ci&#8221;;</p>
<p><span style="text-decoration: underline;"><strong>Step 6: Database Configuration</strong></span></p>
<p>Finally, we&#8217;ll want to point Code Igniter at a database if we want to use one. Code Igniter by it self does not require a database, but if you want to do a project that requires database access, WAMP comes with MySQL Server, which will work just fine for a development environment.</p>
<p>To connect Code Igniter to a database, you&#8217;ll want to look at lines 40-43 of &#8220;database.php&#8221;, which is also located in Code Igniter&#8217;s config directory. We need to setup a username and password and choose which database we want to make use of. WAMP&#8217;s default MySQL username and password is &#8220;root&#8221; and nothing, so enter those in for your local environment. You&#8217;ll also want to make sure that your host name is set to localhost and that your database name is set to the database that you create.</p>
<p>$db['default']['hostname'] = &#8220;localhost&#8221;;<br />
$db['default']['username'] = &#8220;root&#8221;;<br />
$db['default']['password'] = &#8220;&#8221;;<br />
$db['default']['database'] = &#8220;DATABASENAMEHERE&#8221;;</p>
<p><span style="text-decoration: underline;"><strong>Step 7: Choosing an Editor</strong></span></p>
<p>Right now, you have everything you need to start developing in Code Igniter, but you&#8217;re probably going to want some form of editor that will make your life a lot easier. The one I like to use is PHP Eclipse, which can be download from <a href="http://www.eclipse.org/pdt/">eclipse.org</a>. Other editors you might want to try include TextPad, and TextMate.</p>
<p><span style="text-decoration: underline;"><strong>Step 8: Making Your First Program</strong></span></p>
<p>Now that your development and hosting environment is ready to go, you can start writing some code. To write your first &#8220;Hello World&#8221; program, head on over to Net Tuts and watch &#8220;<a href="http://net.tutsplus.com/videos/screencasts/codeigniter-from-scratch-day-1/">CodeIgniter From Scratch: Day 1</a>&#8220;.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/pR4rbvVm10sBjlI4renp34VMBwc/0/da"><img src="http://feedads.g.doubleclick.net/~a/pR4rbvVm10sBjlI4renp34VMBwc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/pR4rbvVm10sBjlI4renp34VMBwc/1/da"><img src="http://feedads.g.doubleclick.net/~a/pR4rbvVm10sBjlI4renp34VMBwc/1/di" border="0" ismap="true"></img></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.adventuresindevelopment.com/2009/11/09/how-to-build-a-code-igniter-development-and-testing-environment-on-windows/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.adventuresindevelopment.com/2009/11/09/how-to-build-a-code-igniter-development-and-testing-environment-on-windows/</feedburner:origLink></item>
	</channel>
</rss><!-- WP Super Cache is installed but broken. The path to wp-cache-phase1.php in wp-content/advanced-cache.php must be fixed! -->

