<?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>Adam Becker &#187; Development</title>
	<atom:link href="http://adambecker.info/blog/category/development/feed" rel="self" type="application/rss+xml" />
	<link>http://adambecker.info</link>
	<description>I R guy</description>
	<lastBuildDate>Fri, 27 Aug 2010 04:50:50 +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>Sweet Menu, a new jQuery plugin</title>
		<link>http://adambecker.info/blog/development/sweet-menu-a-new-jquery-plugin</link>
		<comments>http://adambecker.info/blog/development/sweet-menu-a-new-jquery-plugin#comments</comments>
		<pubDate>Fri, 27 Aug 2010 04:50:50 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://adambecker.info/?p=241</guid>
		<description><![CDATA[I&#8217;ve made my first jQuery plugin, it is called Sweet Menu. What does it do? Sweet Menu takes an ordinary unordered list of links and makes it a sweet looking menu. It does this by utilizing jQuery and it’s plugin system. Simply include the jQuery library, the Sweet Menu plugin, and make a simple jQuery]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made my first jQuery plugin, it is called Sweet Menu.</p>
<p>What does it do? Sweet Menu takes an ordinary unordered list of links and makes it a sweet looking menu. It does this by utilizing jQuery and it’s plugin system. Simply include the jQuery library, the Sweet Menu plugin, and make a simple jQuery call and you are on your way to a sweet looking menu!</p>
<p>Go ahead and check out it&#8217;s project page for more information, and please leave comments or contact me if you have any sort of feedback!</p>
<p><a href="http://adambecker.info/playground/sweet-menu"><img class="aligncenter size-full wp-image-137" title="sweet-menu" src="http://adambecker.info/wp-content/uploads/2010/08/sweet-menu.jpg" alt="" width="600" height="260" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://adambecker.info/blog/development/sweet-menu-a-new-jquery-plugin/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Awesome web developer apps</title>
		<link>http://adambecker.info/blog/development/awesome-web-developer-apps</link>
		<comments>http://adambecker.info/blog/development/awesome-web-developer-apps#comments</comments>
		<pubDate>Tue, 13 Apr 2010 02:30:38 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://adambecker.info/?p=19</guid>
		<description><![CDATA[Finding the right tool to do web development is key to being successful. Technically, you can do the majority of the job by just using a simple text editor, but it seems silly to not take advantage of the great apps out there today.  Since there are many apps that aid in this category, I]]></description>
			<content:encoded><![CDATA[<p>Finding the right tool to do web development is key to being successful. Technically, you can do the majority of the job by just using a simple text editor, but it seems silly to not take advantage of the great apps out there today.  Since there are many apps that aid in this category, I thought I might pick a few favorites and give some insight into why they are awesome web apps.</p>
<h2>The all mighty web browser</h2>
<p>Although I have enjoyed the some-what recent release of Google&#8217;s Chrome browser for Mac OS X, it isn&#8217;t the right browser for the web developer. Perhaps in the future it might have a chance, but until the plugins start running on Mac OS X, and some other minor glitches are worked out (like refreshing the cache when I tell you to Chrome), you have to use Firefox.</p>
<p>Even though Firefox isn&#8217;t the fastest browser out there, it does a very good job with web standards and it has web developer specific plugins:</p>
<ul>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/60" target="_blank">Web Developer</a>: this plugin has some great options for debugging and testing</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/1843" target="_blank">Firebug</a>: this plugin is great when you need to debug JavaScript and AJAX.</li>
<li><a href="https://addons.mozilla.org/en-US/firefox/addon/539" target="_blank">MeasureIt</a>: this simple plugin lets you measure distance in pixels, not super important but nice for figuring out layout problems</li>
</ul>
<p>Although I wish I could develop exclusively on Mac OS X, I do a lot of development on Windows as well and because of that I am going to pick out options for both of those operating systems for the next sections.</p>
<h2>Graphics</h2>
<p>I feel like any web developer out there already knows this, but the answer here is Adobe Photoshop. It is an industry standard and is used so much that there are many resources available for it online. It is pricey, but worth it if you are a web developer. Plus, CS5 just came out, so cheers for new features such as <a href="http://www.youtube.com/watch?v=4nAklIkMy4g" target="_blank">Puppet Warp</a>.</p>
<h2>Text editors</h2>
<p>There are times you want to just open a file really quick and don&#8217;t need the overhead of an IDE. To make a quick edit. If I am working in Windows I prefer <a href="http://notepad-plus.sourceforge.net" target="_blank">Notepad++</a> because it has some powerful features and is super lightweight. It also has some plugins for extending it&#8217;s regular functionality.</p>
<p>For Mac OS X, I like <a href="http://smultron.sourceforge.net/" target="_blank">Smultron</a>, for your basic text editor. However, the developer has decided to discontinue development on it. I plan on looking into more options in the near future.</p>
<h2>Transferring your files</h2>
<p>I do the majority of my file transferring on Mac OS X, so I will start there. I use <a href="http://www.panic.com/TRANSMIT/" target="_blank">Transmit</a>. It is inexpensive, works really well and integrates really well with the OS X environment. If you do not want to pay for something, or you are using Windows your next best option is <a href="http://filezilla-project.org/" target="_blank">FileZilla</a>. Although the interface isn&#8217;t as clean it is very powerful and will do everything you need it to do.</p>
<h2>IDEs</h2>
<p>I know many web developers who do not use a true IDE, and one of the applications I am about to recommend isn&#8217;t really an IDE, but it has a lot of the same features. An IDE to the average web developer is a glorified text editor because most of the time we aren&#8217;t dealing with compiled code, so an IDE isn&#8217;t something we need. However, many IDEs have great features like project management, function and variable auto-complete based on your code, and offer better documentation methods to name a few features.</p>
<p>At the top of my list, is <a href="http://www.zend.com/en/products/studio/" target="_blank">Zend Studio</a>. This IDE is the most complete, least buggy, cross platform compatible and most extensible IDE I&#8217;ve used. It is slower when it is starting up than your average text editor, but once it gets going it&#8217;s features greatly speed up the development process. This IDE does carry with it a large price tag, so be warned if that is an issue.</p>
<p>Next on the list is the sudo-IDE, <a href="http://www.panic.com/coda/" target="_blank">Coda</a>. Coda is made by the same people that make <a href="http://www.panic.com/TRANSMIT/" target="_blank">Transmit</a>. It is priced really well and has a great editor with a project-based perspective and even has some nicer features than Zend Studio does. Even better it utilizes the smart and beautiful Mac OS X interface and has all the great features that <a href="http://www.panic.com/TRANSMIT/" target="_blank">Transmit</a> does as well.</p>
<p>If free is your only option here there are some good options such as <a href="http://netbeans.org/" target="_blank">Netbeans</a>, <a href="http://www.aptana.com/" target="_blank">Aptana</a> and more. There is a great article over at <a href="http://www.smashingmagazine.com/2009/02/11/the-big-php-ides-test-why-use-oneand-which-to-choose/" target="_blank">Smashing Magazine about picking between IDEs</a>.</p>
<h2>Database tools</h2>
<p>For the purposes of this article I am going to talk about MySQL tools as that is the most common need out there. There are three things that you need here, and they are all free and cross platform:</p>
<ul>
<li><a href="http://www.phpmyadmin.net" target="_blank">phpMyAdmin</a> &#8212; this is a great PHP application that is practically an industry standard tool, it&#8217;s free and easy to use</li>
<li>Command line access &#8212; having command line access is an important safe guard and is sometimes just necisary</li>
<li><a href="http://dev.mysql.com/downloads/gui-tools/5.0.html" target="_blank">MySQL GUI tools</a> &#8212; this comes straight from the MySQL folks and although it is a little clunky, it is a nice desktop application and supports stored procedures, it is really nice when you are writing a bunch of queries and want to have multiple queries open</li>
</ul>
<p>I hope you enjoyed the article and I look forward to hearing your comments and feedback.</p>
]]></content:encoded>
			<wfw:commentRss>http://adambecker.info/blog/development/awesome-web-developer-apps/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New front page</title>
		<link>http://adambecker.info/blog/blog/new-frontpage</link>
		<comments>http://adambecker.info/blog/blog/new-frontpage#comments</comments>
		<pubDate>Sat, 27 Feb 2010 09:55:52 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[front]]></category>
		<category><![CDATA[no-sleep]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://adambecker.info/?p=59</guid>
		<description><![CDATA[I&#8217;ve updated the front page to help prepare for some great stuff that I am working on. Enjoy the new looks and also start checking out a brand new sub website: Web Dev Tools. Sorry for the short post, but much more to come in the near future (plus is is almost 2 am and]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated the front page to help prepare for some great stuff that I am working on. Enjoy the new looks and also start checking out a brand new sub website: <a href="http://webdevtools.adambecker.info" target="_blank">Web Dev Tools</a>.</p>
<p>Sorry for the short post, but much more to come in the near future (plus is is almost 2 am and I need to get some sleep).</p>
<p>Peace out!</p>
]]></content:encoded>
			<wfw:commentRss>http://adambecker.info/blog/blog/new-frontpage/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to serve files with mod rewrite</title>
		<link>http://adambecker.info/blog/development/how-to-serve-files-with-mod-rewrite</link>
		<comments>http://adambecker.info/blog/development/how-to-serve-files-with-mod-rewrite#comments</comments>
		<pubDate>Wed, 09 Dec 2009 18:23:03 +0000</pubDate>
		<dc:creator>adam</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[mod rewrite]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://adambecker.info/?p=23</guid>
		<description><![CDATA[Have you ever wondered how some websites seem to serve files in a way that looks like folders instead of actual file names? For instance this website. To see this blog post you are linked to the URL http://adambecker.info/development/how-to-serve-files-with-mod-rewrite/ but in actuality the web server is running a PHP file and serving it as if]]></description>
			<content:encoded><![CDATA[<p>Have you ever wondered how some websites seem to serve files in a way that looks like folders instead of actual file names? For instance this website. To see this blog post you are linked to the URL <span id="sample-permalink">http://adambecker.info/development/</span>how-to-serve-files-with-mod-rewrite/ but in actuality the web server is running a PHP file and serving it as if it is being run from the location I just pasted.</p>
<p>Why do this? There are some good reasons for doing this:</p>
<ul>
<li>You can make your URLs friendlier to the people who are visiting your website</li>
<li>Having friendlier URLs means easier to understand URLs for search engines, which is good for search engine optimization</li>
<li>Better security. With the way I&#8217;ve setup this model all of the server files are outside of the browse-able web directory, which means they can only be accessed through the index.php file.</li>
</ul>
<p>Besides your normal code, you basically need two additional files: an <strong>.htaccess</strong> file and a redirection file which I&#8217;ve named <strong>index.php</strong>.</p>
<p>The .htaccess file lives in your root directory and should look something like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>IfModule mod_rewrite.<span style="color: #202020;">c</span><span style="color: #339933;">&gt;</span>
RewriteEngine On
RewriteBase <span style="color: #339933;">/</span>
RewriteCond <span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span>REQUEST_FILENAME<span style="color: #009900;">&#125;</span> <span style="color: #339933;">!-</span>f
RewriteCond <span style="color: #339933;">%</span><span style="color: #009900;">&#123;</span>REQUEST_FILENAME<span style="color: #009900;">&#125;</span> <span style="color: #339933;">!-</span>d
RewriteRule . <span style="color: #339933;">/</span>index.<span style="color: #202020;">php</span> <span style="color: #009900;">&#91;</span>L<span style="color: #009900;">&#93;</span>
<span style="color: #339933;">&lt;/</span>IfModule<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p>If you aren&#8217;t familiar with htaccess files, Google it and you will find some great information about them.</p>
<p>The index.php file also lives in the root directory and should look something like this:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
&nbsp;
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">substr</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REQUEST_URI'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">0</span><span style="color: #339933;">,</span> <span style="color: #cc66cc;">10</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">'/index.php'</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
	<span style="color: #990000;">header</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Location:/'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">else</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">// due to mod_rewrite every path comes to this file</span>
	<span style="color: #000088;">$args</span> <span style="color: #339933;">=</span> <span style="color: #990000;">explode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$_SERVER</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'REDIRECT_URL'</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$pages</span> <span style="color: #339933;">=</span> <span style="color: #990000;">array</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// we're going to remove all of the empty arguments</span>
	<span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$args</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$arg</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">strlen</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$arg</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">&gt;</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
		<span style="color: #009900;">&#123;</span>
			<span style="color: #000088;">$pages</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$arg</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// if we don't get any arguments we want to give it our main page</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pages</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">0</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$pages</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'main'</span><span style="color: #339933;">;</span>	
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// in this model the area's main page is named after the area</span>
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">count</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$pages</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">==</span> <span style="color: #cc66cc;">1</span><span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000088;">$pages</span><span style="color: #009900;">&#91;</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$pages</span><span style="color: #009900;">&#91;</span><span style="color: #cc66cc;">0</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">// in this model we can accept as many nested areas</span>
	<span style="color: #000088;">$includePath</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'../lib/pages/'</span> <span style="color: #339933;">.</span> <span style="color: #990000;">implode</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'/'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$pages</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'.php'</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #b1b100;">include</span> <span style="color: #000088;">$includePath</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">@</span><span style="color: #b1b100;">include</span> <span style="color: #0000ff;">'../lib/pages/error/404.php'</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">!=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'There was a serious error, and we\'re sorry for the inconvenence. Please try again soon.'</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">?&gt;</span></pre></td></tr></table></div>

<div id="attachment_35" class="wp-caption alignleft" style="width: 272px"><img class="size-full wp-image-35" title="Sample File Structure" src="http://adambecker.info/wp-content/uploads/2009/12/files.png" alt="Sample File Structure" width="262" height="292" /><p class="wp-caption-text">Sample File Structure</p></div>
<p>The file is pretty self explanatory, but it is important to know that this isn&#8217;t the only way to do it. I&#8217;ve added some functionality for error 404 pages, and an even bigger fatal error. Last, I wanted to include a picture of a sample file structure that this particular example works for. Keep in mind that the <strong>htdocs</strong> directory is the only publicly browsable folder via a web browser in this sample.</p>
]]></content:encoded>
			<wfw:commentRss>http://adambecker.info/blog/development/how-to-serve-files-with-mod-rewrite/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
