<?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>Think Bohemian &#187; Web Development</title>
	<atom:link href="http://www.thinkbohemian.com/category/web-development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thinkbohemian.com</link>
	<description>Secede from Convention in Life and Code</description>
	<lastBuildDate>Mon, 26 Jul 2010 17:13:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Rails Summer of Code &#8211; Week 4</title>
		<link>http://www.thinkbohemian.com/2010/07/19/rails-summer-of-code-week-4/</link>
		<comments>http://www.thinkbohemian.com/2010/07/19/rails-summer-of-code-week-4/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 18:17:11 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[rails summer of code]]></category>
		<category><![CDATA[rails3]]></category>
		<category><![CDATA[ruby on rails agile web development with rails]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=495</guid>
		<description><![CDATA[Welcome to Rails Summer of Code.  I&#8217;m leading at University of Texas in  Austin class through the excellent Agile  Web Development with Rails (beta version for Rails 3).

Rails Summer of Code, Week 4, July 15, 2010 from Cindy Royal on Vimeo.
This week I cover error handling in ruby (begin-rescue-end) and rails (logger [...]]]></description>
			<content:encoded><![CDATA[<p>Welcome to Rails Summer of Code.  I&#8217;m leading at University of Texas in  Austin class through the excellent <a href="http://pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition">Agile  Web Development with Rails</a> (beta version for Rails 3).</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="227" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13457272&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="227" src="http://vimeo.com/moogaloop.swf?clip_id=13457272&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/13457272">Rails Summer of Code, Week 4, July 15, 2010</a> from <a href="http://vimeo.com/user1095510">Cindy Royal</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>This week I cover error handling in ruby (begin-rescue-end) and rails (logger and object.errors) I then move to talk about (Asynchronous Javascript) Ajax in general including common caveats,  I then talk about Ajax with rails 3.</p>
<div id="__ss_4778747" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="UT on Rails3 - Week 4 " href="http://www.slideshare.net/thinkbohemian/ut-on-rails3-week-4">UT on Rails3 &#8211; Week 4 </a></strong><object id="__sse4778747" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="355" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always" /><param name="src" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=week4-100717152740-phpapp01&amp;stripped_title=ut-on-rails3-week-4" /><param name="name" value="__sse4778747" /><param name="allowfullscreen" value="true" /><embed id="__sse4778747" type="application/x-shockwave-flash" width="425" height="355" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=week4-100717152740-phpapp01&amp;stripped_title=ut-on-rails3-week-4" name="__sse4778747" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/">presentations</a> from <a href="http://www.slideshare.net/thinkbohemian">thinkbohemian</a>.</div>
<div style="padding: 5px 0 12px;">For those of you interested in <a href="http://en.wikipedia.org/wiki/WebSockets">webSockets</a> which I breifly touched on:</div>
<div style="padding: 5px 0 12px;">Check out this<a href="http://code.google.com/p/jquery-websocket/"> jQuery websocket library</a> . You can also use the <a href="http://github.com/dvdplm/juggernaut-jquery">Juggernaut plugin</a> if you&#8217;re using Ruby on Rails.</div>
<div style="padding: 5px 0 12px;">In this presentation, i mention facebook chat, and observers but it does  appear that websockets are being used <a href="http://www.facebook.com/note.php?note_id=14218138919">http://www.facebook.com/note.php?note_id=14218138919</a> .</div>
<div style="padding: 5px 0 12px;"></div>
<div style="padding: 5px 0 12px;"></div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/07/19/rails-summer-of-code-week-4/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Stack Overflow Style Notifications &#8211; Using Jquery</title>
		<link>http://www.thinkbohemian.com/2010/04/22/stack-overflow-style-notifications-using-jquery/</link>
		<comments>http://www.thinkbohemian.com/2010/04/22/stack-overflow-style-notifications-using-jquery/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 15:03:58 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[announcement]]></category>
		<category><![CDATA[announcements]]></category>
		<category><![CDATA[demo]]></category>
		<category><![CDATA[dismiss]]></category>
		<category><![CDATA[dismissible]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[jquery cookie]]></category>
		<category><![CDATA[notification]]></category>
		<category><![CDATA[notify]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=401</guid>
		<description><![CDATA[Explore Stack Overflows usability in this tutorial, and delve into one way to re-create their dismissible notifications using jquery and cookies. Brought to you by ThinkBohemian and WhySpam.Me.]]></description>
			<content:encoded><![CDATA[<p>Have you seen <a href="http://stackoverflow.com">Stack Overflow</a>? Besides the great content, they have excellent user interface elements that flow seamlessly together. When you visit, an orange notification bar instantly jumps out at you, yet is easily dismissed. I thought this was a great example of notifications done right, so I wondered how I might achieve a similar effect.</p>
<p>First lets  take a look into my approach, and then I&#8217;ll talk about my implementation.</p>
<p style="text-align: center;"><a href="http://www.thinkbohemian.com/wp-content/uploads/2010/04/stack-overflow-notification-demo.png"><img class="size-full wp-image-402 aligncenter" title="stack-overflow-notification-demo" src="http://www.thinkbohemian.com/wp-content/uploads/2010/04/stack-overflow-notification-demo.png" alt="Stack overflow notification demo" width="454" height="197" /></a></p>
<p style="text-align: center;">
<p style="text-align: center;"><a class="download-button button" href="http://www.thinkbohemian.com/wp-content/uploads/2010/04/StackOverflowStyleNotification.zip"><span>Download Files</span></a><a class="demo-button button" href="http://www.thinkbohemian.com/wp-content/uploads/2010/04/stack-overflow-style-notification.html" target="_blank"><span> View Demo</span></a></p>
<p style="text-align: left;">
<p style="text-align: left;">
<h3 style="text-align: left;">The Approach</h3>
<p style="text-align: left;">The notifications use an animation to grab the users  attention. For the animation I decided to use the <a href="http://jquery.com/">jquery</a> javascript library. It is very easy to use and has several pre-built animations such as <strong>fadeIn</strong> and <strong>fadeOut</strong>.</p>
<p style="text-align: left;">Once a user dismisses a  notification they should never see it again. To remember when a user dismisses the notification, I decided to use <a href="http://en.wikipedia.org/wiki/HTTP_cookie">http cookies</a>.  These cookies allow us to save a value in the user&#8217;s browser, so when the user clicks dismiss they create a cookie on their local machine. Then the next time they visit the webpage, the page will see that they already have the cookie, and the notification will not be displayed.</p>
<p style="text-align: left;">Alternatively, if the webpage required a log-in, then I could have stored this data in a database and associated it with a user, but by utilizing cookies I can apply this technique to any web page without the need for any server side scripting (PHP, Ruby on Rails, etc.).</p>
<p style="text-align: left;">After looking into several ways to get and set cookies I decided to use the <a href="http://plugins.jquery.com/project/cookie">jquery cookies   plugin</a> which allowed me to dynamically set cookies without a page refresh.</p>
<p style="text-align: left;">Now that you know my approach to the problem lets take a look at the implementation.</p>
<h3 style="text-align: left;">The Implementation</h3>
<p style="text-align: left;">For the fade in fade out animation I used <a href="http://jquery.com/">Jquery</a>. You can use the GoogleAPI copy of the library by placing this code in your webpage:</p>
<pre id="line512"> &lt;script src="<a href="view-source:http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js</a>" type="text/javascript"&gt;&lt;/script&gt;
</pre>
<p style="text-align: left;">Next I downloaded the <a href="http://plugins.jquery.com/project/cookie">jquery cookies plugin</a> and included it in my webpage. To create a cookie named <strong>notificationBar</strong> and give it the value &#8220;<strong>closed</strong>&#8221; we can use the plugin and execute this command:</p>
<pre>$.cookie('notificationBar', 'closed');
</pre>
<p>After we have created the <strong>notificationBar</strong> cookie we can get its value by executing this command:<strong><br />
</strong></p>
<pre>$.cookie('notificationBar');
</pre>
<p style="text-align: left;">this command will now return the value &#8220;<strong>closed&#8221;.<br />
</strong></p>
<p style="text-align: left;">Next I added the html for the notification that will be displayed:</p>
<pre>&lt;div id = "topannounce" class = "announce" style = "display:none;"&gt;
   This Is a Notification from &lt;a href = "http://thinkbohemian.com" target = "_blank"&gt;ThinkBohemian&lt;/a&gt;
    &lt;a href = "#" onclick = "$.cookie('notificationBar', 'closed');
        $('#topannounce').fadeOut('slow')"&gt;X&lt;/a&gt;
 &lt;/div&gt;
</pre>
<p>By default it is hidden using:</p>
<pre>style = "display:none;"</pre>
<p>Using <a href="http://jquery.com/">jquery</a> we can <strong>fadeIn</strong> the notification unless the <strong>notificationBar</strong> cookie has been set to &#8220;<strong>closed</strong>&#8220;.  To accomplish this I added these lines of javascript to the page:</p>
<pre>&lt;script type="text/javascript"&gt;
 $(document).ready(function(){
   if ($.cookie('notificationBar') != 'closed') {
     $('#topannounce').fadeIn('slow');
   }
 });
 &lt;/script&gt;
</pre>
<p>Then I styled my HTML with a little CSS, and the effect was complete. My webpage has its very own dismissible notification bar:  <a href="http://www.thinkbohemian.com/wp-content/uploads/2010/04/stack-overflow-style-notification.html">View the demo of the notification in action</a>.</p>
<p><strong>Richard Schneeman</strong>: <a href="http://twitter.com/thinkbohemian">@ThinkBohemian</a></p>
<p>I used this effect to notify visitors to  WhySpam.Me, my <a href="http://whyspam.me">disposable email</a> service,  about the launch of <a href="http://shadyemail.com">ShadyEmail.com</a>, the fun way to hide your email and make it questionably suspicious.</p>
<p>&#8211;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/04/22/stack-overflow-style-notifications-using-jquery/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>How I got WhySpam.Me from Page Rank 0 to 4 in Four Months</title>
		<link>http://www.thinkbohemian.com/2010/04/16/how-i-got-whyspam-me-from-page-rank-0-to-4-in-four-months/</link>
		<comments>http://www.thinkbohemian.com/2010/04/16/how-i-got-whyspam-me-from-page-rank-0-to-4-in-four-months/#comments</comments>
		<pubDate>Fri, 16 Apr 2010 19:00:37 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Musings]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[systems administration]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[page rank]]></category>
		<category><![CDATA[pr]]></category>
		<category><![CDATA[press]]></category>
		<category><![CDATA[seo]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=397</guid>
		<description><![CDATA[Back in January I got serious about improving, my disposable email app, WhySpam.Me’s search engine  ranking. I started religiously checking Hacker News and paying specific  attention to search engine optimization (SEO) articles. Since then i’ve  gone from page rank (PR) zero to four in a little under four months, you can see [...]]]></description>
			<content:encoded><![CDATA[<p>Back in January I got serious about improving, my <a href="http://whyspam.me">disposable email</a> app, WhySpam.Me’s search engine  ranking. I started religiously checking Hacker News and paying specific  attention to search engine optimization (SEO) articles. Since then i’ve  gone from <a href="http://en.wikipedia.org/wiki/PageRank">page rank</a> (PR) zero to four in a little under four months, you can see for  yourself using <a href="http://prchecker.info/">prchecker</a> or <a href="http://www.rapidsitecheck.com/all-datacenters.php?domain=whyspam.me&amp;botInfo=given&amp;__ec_i=ec.1271165549.e5e3bbf23822daf6c30d14b496a120d2&amp;__ec_s=hjnt3&amp;submit=Submit">rapidSiteCheck</a>.  This is the story of how I did it:</p>
<p><a href=" http://blog.whyspam.me/index.php/2010/04/16/page-rank-0-to-4-in-under-four-months/">Page Rank 0 to 4 in Four Months</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/04/16/how-i-got-whyspam-me-from-page-rank-0-to-4-in-four-months/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Idea &#8211; Hype Feedback Tool</title>
		<link>http://www.thinkbohemian.com/2010/02/17/idea-hype-feedback-tool/</link>
		<comments>http://www.thinkbohemian.com/2010/02/17/idea-hype-feedback-tool/#comments</comments>
		<pubDate>Wed, 17 Feb 2010 21:48:02 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Ideas]]></category>
		<category><![CDATA[Musings]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[hype]]></category>
		<category><![CDATA[idea]]></category>
		<category><![CDATA[social media]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=357</guid>
		<description><![CDATA[Have you ever submitted the most awesome blog entry to ycombinator, or the coolest youtube video to digg, and no one seemed to care? There are a number of places where users submit content, and either that content gets into the spotlight and cherished for 15 minutes, or its cast into the depths of obscurity [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.thinkbohemian.com/wp-content/uploads/2010/02/hype.jpg"><img class="alignleft size-medium wp-image-359" title="hype" src="http://www.thinkbohemian.com/wp-content/uploads/2010/02/hype-300x287.jpg" alt="" width="159" height="152" /></a>Have you ever submitted the most awesome blog entry to <a href="http://news.ycombinator.com">ycombinator</a>, or the coolest youtube video to digg, and no one seemed to care? There are a number of places where users submit content, and either that content gets into the spotlight and cherished for 15 minutes, or its cast into the depths of obscurity with little to no feedback as to why.</p>
<p>Wouldn&#8217;t it be great if you could get feedback not only on the content that you submit, but on the way you submit it? Maybe your angle is all wrong, or you misspelled the title, or any number of things? It could be useful for veterans as well as noobs. Have an idea for a press release, or a submission to slashdot, but want to try a few different angles? You could experiment with posting different titles, and bodies and have users rank and give feedback, with the focus less on the content, and more on the presentation.</p>
<p>Then when content is ready they can post to social sites (reddit, buzz, fark, etc.) through our site, and we can track who gets the most diggs/upvotes/etc. So you can see from start to finish what worked and what didn&#8217;t. Think of it a s a social media sandbox, a place to pitch your ideas before you pitch to the world. What do you think?</p>
<p><strong>Known Implementations:</strong></p>
<ul>
<li>Limited feedback can already be gained from comments from the posting sites themselves, though they aren&#8217;t always helpful, and rarely focus on how to better present the submission.</li>
<li>PR professionals, and other pay for marketing consultants</li>
<li>Various forums <a href="http://groups.google.com/group/Interactive-PR?lnk=gschg&amp;pli=1">http://groups.google.com/group/Interactive-PR?lnk=gschg&amp;pli=1</a> online, though most are not very helpful, and are filled with spam and people only interested in self promotion</li>
</ul>
<p><strong>Biggest Hurdles:</strong></p>
<ul>
<li>Link spam, and self promotion would dominate the site initially, unless enough incentives are given to users, maybe users above a certain rank will get their links posted without nofollow&#8230;</li>
<li>Is the idea too specific or is it too general? Can others do achieve the same result with another service, or no service? How does one market to the marketing community?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/02/17/idea-hype-feedback-tool/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Geekternship</title>
		<link>http://www.thinkbohemian.com/2010/02/11/geekternship/</link>
		<comments>http://www.thinkbohemian.com/2010/02/11/geekternship/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 20:28:13 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Austin]]></category>
		<category><![CDATA[Tx]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[founder]]></category>
		<category><![CDATA[geekternship]]></category>
		<category><![CDATA[internship]]></category>
		<category><![CDATA[job]]></category>
		<category><![CDATA[mentor]]></category>
		<category><![CDATA[university of texas]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=349</guid>
		<description><![CDATA[When I was first getting started out in the wide world of web development, i yearned for someone to show me the way. I eventually just sucked it up, posted a bunch of questions to a bunch of forums, and bought a metric ton of books. In the end I turned out okay and my [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://geekternship.com"><img class="alignleft size-medium wp-image-351" title="geekternship" src="http://www.thinkbohemian.com/wp-content/uploads/2010/02/geekternship-300x170.jpg" alt="" width="169" height="95" /></a>When I was first getting started out in the wide world of web development, i yearned for someone to show me the way. I eventually just sucked it up, posted a bunch of questions to a bunch of forums, and bought a metric ton of books. In the end I turned out okay and my latest app, <a href="http://whyspam.me">disposable email</a> seems to have come out just fine. Even so, now I&#8217;m left with no experience working with others, and even more importantly no experience with (multi-person) project management.</p>
<p>Now, I don&#8217;t have a ton of money to hire full time developers, and I would prefer not to piecemeal out work to contractors. What I do have is plenty of real world experience in web developement and a little money. If I could go back in time and <a href="http://www.metamorphblog.com/2010/02/startup-lessons-for-the-protofounder.html">offer my college self a little bit of cash</a> and an experienced developer&#8217;s time, I would have jumped on top of the opportunity. That&#8217;s exactly what I want to do with UT in Austin students interested in web development right now.</p>
<p>I envision seasoned developers willing to devote a few hours a week to be mentors to a small group of students (I&#8217;m thinking a one to three ratio). In exchange they would get a dedicated and agile team at a cut rate price. It would be a win-win symbiotic relationship, the mentors get some extra hands on their projects as well as management experience, and the students pick up real world programming and project skills as well as a little beer money. Mentors can certainly use this opportunity to network with other developers and entrepreneurs. They say the best way to find a good fit for a co-founder is to work with them, so why not work with them on a project together without spending a fortune.</p>
<p>This is still just an Idea, for now, but i think it could go places. If you&#8217;re interested in getting some extra help on your projects, or just want to make a difference let me know by filling out this google doc spreadsheet. If you have any constructive criticism, or good ideas please leave them in the comments.  I&#8217;m calling this idea a <a href="http://geekternship.com">Geekternship</a> though that may change if someone has a better title.</p>
<h2><a href="https://spreadsheets.google.com/viewform?formkey=dEljaUM5TVp1WHl1QnFaMGlUVGQ0a2c6MA">Signup to be a mentor</a></h2>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/02/11/geekternship/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pretty Permalinks with Wordpress and Nginx</title>
		<link>http://www.thinkbohemian.com/2010/01/31/pretty-permalinks-with-wordpress-and-nginx/</link>
		<comments>http://www.thinkbohemian.com/2010/01/31/pretty-permalinks-with-wordpress-and-nginx/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 17:31:34 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[systems administration]]></category>
		<category><![CDATA[conf]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[permalink]]></category>
		<category><![CDATA[rewrite]]></category>
		<category><![CDATA[seo]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=331</guid>
		<description><![CDATA[A permalink is a permanent link to an article or blog entry. Its what you get when a user clicks on the titles of one of your wordpress entries, so if they want to give the link to someone else, the url will always be the same. By default wordpress will make the permalink to [...]]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://en.wikipedia.org/wiki/Permalink">permalink</a> is a permanent link to an article or blog entry. Its what you get when a user clicks on the titles of one of your wordpress entries, so if they want to give the link to someone else, the url will always be the same. By default wordpress will make the permalink to the article the articles ID, so it would look like example.com/?p=123, which isn&#8217;t very descriptive. Instead if you log into your admin panel and select settings and then permalinks you can change the format of your links to something a little more human readable, and much more search friendly such as <a href="http://www.thinkbohemian.com/2010/01/29/national-instruments-extreme-video/">http://www.thinkbohemian.com/2010/01/29/national-instruments-extreme-video/</a> which tells you not only the date it was published but the title too.</p>
<p>You may find after you&#8217;ve changed your permalinks that your articles now all get a 404 error. This is because your server thinks that your looking for a file in the /2010/01/29/national-instruments-extreme-video/ directory. So we need to let our server know not to do that. There are plenty of examples of how to do the re-write if you&#8217;re using <a href="http://maisonbisson.com/blog/post/11617/wordpress-permalinks-mod_rewrite-and-avoiding-404s/">apache</a>, but if you&#8217;re an nginx fanboy like I am, there wasn&#8217;t very much information. So to make this happen we need to add a few extra lines under our nginx.conf under the location / { section like this:</p>
<pre>       location / {
        if (!-e $request_filename) {
            rewrite ^.*$ /index.php last;
         }
        }</pre>
<p>Enjoy the pretty permalinks!!</p>
<p>Update:</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/01/31/pretty-permalinks-with-wordpress-and-nginx/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Test Model Changes in Script/Console Without Exiting</title>
		<link>http://www.thinkbohemian.com/2010/01/25/test-model-changes-in-scriptconsole-without-exiting/</link>
		<comments>http://www.thinkbohemian.com/2010/01/25/test-model-changes-in-scriptconsole-without-exiting/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 01:10:42 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[model quit]]></category>
		<category><![CDATA[refresh]]></category>
		<category><![CDATA[reload]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[script/console]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=319</guid>
		<description><![CDATA[So if you&#8217;ve ever tested changes to a Ruby on Rails model in the script/console, it can be a pain having to completely quit and restart the application each time you make an adjustment. Instead you can use the reload! command
So this:
reload!

Acts as if you just did this:
exit
script/console

So not only does it require one less [...]]]></description>
			<content:encoded><![CDATA[<p>So if you&#8217;ve ever tested changes to a Ruby on Rails model in the <strong>script/console</strong>, it can be a pain having to completely quit and restart the application each time you make an adjustment. Instead you can use the <strong>reload!</strong> command</p>
<p>So this:</p>
<pre>reload!
</pre>
<p>Acts as if you just did this:</p>
<pre>exit
script/console
</pre>
<p>So not only does it require one less command, but you can still use all previously defined variables. Awesome!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/01/25/test-model-changes-in-scriptconsole-without-exiting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Remove Item From Git Branch</title>
		<link>http://www.thinkbohemian.com/2010/01/22/remove-item-from-git-branch/</link>
		<comments>http://www.thinkbohemian.com/2010/01/22/remove-item-from-git-branch/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 22:47:32 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[branch]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[secure]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=309</guid>
		<description><![CDATA[If you accidentally  put your password or underwear size on your public git repository, you may want to remove that item first get it out of future repositories by modifying the .gitignore file
mate .gitignore
add the file you don&#8217;t want to show up in the public repository, such as config/environment.rb
Then you can call this command to [...]]]></description>
			<content:encoded><![CDATA[<p>If you accidentally  put your password or underwear size on your public git repository, you may want to remove that item first get it out of future repositories by modifying the .gitignore file</p>
<pre>mate .gitignore</pre>
<p>add the file you don&#8217;t want to show up in the public repository, such as config/environment.rb</p>
<p>Then you can call this command to force the branch to be filtered. Note this command will remove the actual file from your hard drive, so make sure to have a backup.</p>
<pre>git filter-branch --force --tree-filter  'rm config/environment.rb' HEAD
</pre>
<p>You can then push your newly super secure repository.</p>
<pre>git push --force origin master
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/01/22/remove-item-from-git-branch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Custom Error Pages With Rails and Authlogic</title>
		<link>http://www.thinkbohemian.com/2010/01/16/custom-error-pages-with-rails-and-authlogic/</link>
		<comments>http://www.thinkbohemian.com/2010/01/16/custom-error-pages-with-rails-and-authlogic/#comments</comments>
		<pubDate>Sat, 16 Jan 2010 18:27:36 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Ruby On Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[authlogic]]></category>
		<category><![CDATA[custom]]></category>
		<category><![CDATA[error]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=280</guid>
		<description><![CDATA[Everyone wants their site to be pretty, even when its crashing horribly. So check out these two resources:
Custom dynamic error pages in Ruby on Rails
Authlogic and rescue_from ActionController::RoutingError

Enjoy, and happy erroring!
]]></description>
			<content:encoded><![CDATA[<p>Everyone wants their site to be pretty, even when its crashing horribly. So check out these two resources:</p>
<p><a href="http://www.perfectline.co.uk/blog/custom-dynamic-error-pages-in-ruby-on-rails">Custom dynamic error pages in Ruby on Rails</a></p>
<p><a href="http://www.mrkris.com/2009/08/21/authlogic-and-rescue_from-actioncontroller-routingerror/">Authlogic and rescue_from ActionController::RoutingError<br />
</a></p>
<p>Enjoy, and happy erroring!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/01/16/custom-error-pages-with-rails-and-authlogic/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selenium and Cucumber &#8211; RC 2 beta location</title>
		<link>http://www.thinkbohemian.com/2010/01/09/selenium-and-cucumber-rc-2-beta-location/</link>
		<comments>http://www.thinkbohemian.com/2010/01/09/selenium-and-cucumber-rc-2-beta-location/#comments</comments>
		<pubDate>Sat, 09 Jan 2010 21:08:30 +0000</pubDate>
		<dc:creator>Richard Schneeman</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[beta]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[RC]]></category>
		<category><![CDATA[selenium]]></category>

		<guid isPermaLink="false">http://www.thinkbohemian.com/?p=245</guid>
		<description><![CDATA[Today I wanted to mess around with cucumber and selenium (for possibly scraping a website with javascript). Anywhoo, when i went to this page http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium to configure and set everything out i couldn&#8217;t find the RC 2 beta of selenium. After searching for it on the interwebs for a few minutes, i found a previously [...]]]></description>
			<content:encoded><![CDATA[<p><img title="images" src="../wp-content/uploads/2010/01/images.jpg" alt="images" width="124" height="93" />Today I wanted to mess around with cucumber and selenium (for possibly scraping a website with javascript). Anywhoo, when i went to this page <a href="http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium">http://wiki.github.com/aslakhellesoy/cucumber/setting-up-selenium</a> to configure and set everything out i couldn&#8217;t find the RC 2 beta of selenium. After searching for it on the interwebs for a few minutes, i found a previously downloaded copy on my hard drive. So i decided to upload it to github, hopefully this will help others!</p>
<p><a href="http://github.com/thinkbohemian/Selenium-RC-Beta-2">http://github.com/thinkbohemian/Selenium-RC-Beta-2</a></p>
<p>Btw. if you&#8217;re just getting started testing and using cucumber, i highly recommend checking out <a href="http://rspec.info/">RSpec</a>. It takes a little longer to learn, but IMHO is more intuitive to develop with once you get going.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thinkbohemian.com/2010/01/09/selenium-and-cucumber-rc-2-beta-location/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
