<?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>Web Development by Joe Sak</title>
	<atom:link href="http://www.joesak.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.joesak.com</link>
	<description>Rails, HTML5, CSS3, jQuery - Thoughts, Advice &#38; Work</description>
	<lastBuildDate>Tue, 27 Jul 2010 14:10:14 +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>What do you want to know about?</title>
		<link>http://www.joesak.com/2010/07/27/what-do-you-want-to-know-about/</link>
		<comments>http://www.joesak.com/2010/07/27/what-do-you-want-to-know-about/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 14:10:14 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=348</guid>
		<description><![CDATA[Do I actually have readers? And if so, do you have topics you&#8217;d like me to post about? Add to the comments and suggest ideas. When this post is a month old with zero comments I think I&#8217;ll do something else with this site!]]></description>
			<content:encoded><![CDATA[<p>Do I actually have readers? And if so, do you have topics you&#8217;d like me to post about? Add to the comments and suggest ideas.</p>
<p>When this post is a month old with zero comments I think I&#8217;ll do something else with this site!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/07/27/what-do-you-want-to-know-about/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RailsConf 2010 &#8211; The Ruby on Rails Community</title>
		<link>http://www.joesak.com/2010/06/12/railsconf-2010-the-ruby-on-rails-community/</link>
		<comments>http://www.joesak.com/2010/06/12/railsconf-2010-the-ruby-on-rails-community/#comments</comments>
		<pubDate>Sat, 12 Jun 2010 20:52:58 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[railsconf]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[thoughts and notes]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=319</guid>
		<description><![CDATA[I just returned from Baltimore, home of RailsConf 2010. It was my first ever conference (Rails or otherwise), and it was an incredible experience thanks to the amazing community and the many takeaways. The RoR community The Ruby on Rails community has a wealth of friendly, generous and hospitable people from all over the world: [...]]]></description>
			<content:encoded><![CDATA[<p><img class="size-full wp-image-320  alignleft" style="margin:0 5px 5px 0;" title="11 - rails conf--upstairs" src="http://www.joesak.com/wp-content/uploads/2010/06/11-rails-conf-upstairs.jpg" alt="" width="185" height="276" />I just returned from Baltimore, home of <a href="http://www.railsconf.com">RailsConf 2010</a>. It was my first ever conference (Rails or otherwise), and it was an incredible experience thanks to the amazing community and the many takeaways.</p>
<h2>The RoR community</h2>
<p>The Ruby on Rails community has a wealth of friendly, generous and hospitable people from all over the world: San Francisco, Portland, Seattle, Vancouver, Winnipeg, Chicago, South Bend, Philadelphia, New York, Baltimore, Richmond, North Carolina, Florida, the UK, Denmark, Kenya, Australia, and Uruguay. The Ruby community in Baltimore is filled with the friendliest guys, and they showed all of us a great time at the local pubs.</p>
<p>I had a lot of opportunities to mingle with other Rail developers over the 4-day conference. I met people from <a href="http://www.github.com">Github</a>, <a href="http://www.heroku.com">Heroku</a>, <a href="http://www.engineyard.com">Engine Yard</a>, <a href="http://www.newrelic.com">New Relic</a>, sort of talked to <a href="http://www.loudthinking.com">DHH</a> for second, had a great short conversation with <a href="http://www.sivers.org">Derek Sivers</a>, and met <a href="http://www.railscasts.com">Ryan Bates</a>, <a href="http://railstips.org/">John Nunemaker</a> and <a href="http://chriswanstrath.com/">Chris Wanstrath</a>. I can tell you they were modest, real, genuine people with tremendous spirit for the community.</p>
<h2>What I learned</h2>
<p>Along with the regular sessions, I attended the <a href="http://en.oreilly.com/rails2010/public/schedule/detail/14137">Rails 3 Ropes Course</a> and <a href="http://en.oreilly.com/rails2010/public/schedule/detail/14136">Mobile App Development with iPhone/iPad and Rails</a> tutorials, and I learned some <a href="http://en.oreilly.com/rails2010/public/schedule/detail/14415">interesting ideas for continuous production integration with Cucumber</a> that are centered around <a href="http://www.jedi.be/blog/2010/02/12/what-is-this-devops-thing-anyway/">DevOps</a>. There are some exciting things coming from Rails these days. <a href="http://weblog.rubyonrails.org/2010/6/8/rails-3-0-beta-4-now-rc-in-days">Rails3 is in beta4</a>, very close to RC1, and it has so many excellent updates. I will go over my notes on those in an upcoming post.</p>
<p><img class="alignright size-medium wp-image-321" title="04 - this--is railsconf" src="http://www.joesak.com/wp-content/uploads/2010/06/04-this-is-railsconf-200x300.jpg" alt="" width="200" height="300" />Alongside RailsConf was <a href="http://www.bohconf.com/">BohConf</a>: a local un-conference in one of the rooms at RailsConf. Everyone at RailsConf had access to BohConf. It was a hacking room, with regular paired programming exercises and general “anything-goes” tables where people could work together or alone on any project or idea. I sat in on one of the exercises alongside my new friend Robert, and we learned faster testing and development practices when thinking about how to fulfill business rules. I also spent a little bit of time starting my first real iPhone app, and I’ll be posting updates as I push forward on that work.</p>
<h2>The big lesson</h2>
<p>One of the most important things I learned at RailsConf is that no one is particularly special or gifted. The people who contribute heavily to the community are those who work hard and deserve the status they earned among the rest of us. But there is no reason for the rest of us not to contribute back, not to work just as hard; and there’s no reason we couldn’t. These guys weren’t looking for attention, they had real problems to solve and then shared the fruits with us.</p>
<p><strong>Hard work, kindness, fun, friendliness, generosity, hospitality, common sense, contribution, value, ideas, knowledge, helpfulness—these traits are commonplace among the developers in the Ruby on Rails community. </strong>It&#8217;s now my goal to facilitate the influence of the RailsConf goers everywhere I go because while I traveled to the conference alone, I stayed among friends.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/06/12/railsconf-2010-the-ruby-on-rails-community/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My first iPhone App</title>
		<link>http://www.joesak.com/2010/06/04/my-first-iphone-app/</link>
		<comments>http://www.joesak.com/2010/06/04/my-first-iphone-app/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 19:27:10 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[objective-c]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=312</guid>
		<description><![CDATA[Hello, World.]]></description>
			<content:encoded><![CDATA[<p>Hello, World.</p>
<div id="attachment_313" class="wp-caption alignnone" style="width: 396px"><img class="size-full wp-image-313" title="My First iPhone App" src="http://www.joesak.com/wp-content/uploads/2010/06/Screen-shot-2010-06-04-at-2.17.58-PM.png" alt="" width="386" height="742" /><p class="wp-caption-text">My First iPhone App</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/06/04/my-first-iphone-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unobtrusive jQuery in Rails 3</title>
		<link>http://www.joesak.com/2010/05/25/unobtrusive-jquery-in-rails-3/</link>
		<comments>http://www.joesak.com/2010/05/25/unobtrusive-jquery-in-rails-3/#comments</comments>
		<pubDate>Tue, 25 May 2010 14:57:20 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rails 3]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[unobtrusive javascript]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=309</guid>
		<description><![CDATA[Here&#8217;s an article showing how mind-blowingly simple it will be to use jQuery and unobtrusive javascript in Rails 3. I&#8217;m seriously a fan of Rails&#8217; dedication to HTML5 advocacy. I&#8217;m excited about all that&#8217;s coming in web development this year.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an article showing how mind-blowingly simple it will be to <a href="http://www.railsinside.com/tips/451-howto-unobtrusive-javascript-with-rails-3.html?utm_source=feedburner&amp;utm_medium=feed&amp;utm_campaign=Feed:+RailsInside+(Rails+Inside)&amp;utm_content=Google+Reader">use jQuery and unobtrusive javascript in Rails 3</a>.</p>
<p>I&#8217;m seriously a fan of Rails&#8217; dedication to HTML5 advocacy. I&#8217;m excited about all that&#8217;s coming in web development this year.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/05/25/unobtrusive-jquery-in-rails-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Resources for iPhone Developer Beginners</title>
		<link>http://www.joesak.com/2010/05/23/resources-for-iphone-developer-beginners/</link>
		<comments>http://www.joesak.com/2010/05/23/resources-for-iphone-developer-beginners/#comments</comments>
		<pubDate>Sun, 23 May 2010 18:01:10 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[beginner]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[iphone apps]]></category>
		<category><![CDATA[iphone sdk]]></category>
		<category><![CDATA[mobile development]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Resources]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=306</guid>
		<description><![CDATA[Hey, I&#8217;m starting to learn how to develop applications for the iPhone, so I thought I&#8217;d start sharing what I find along the way. First, I picked up two books: iPhone SDK Development &#38; Beginning iPhone Development Turns out, I&#8217;m not quite ready for those books. But a peek at the first few pages in [...]]]></description>
			<content:encoded><![CDATA[<p>Hey, I&#8217;m starting to learn how to develop applications for the iPhone, so I thought I&#8217;d start sharing what I find along the way.</p>
<p>First, I picked up two books:</p>
<ul>
<li><a href="http://pragprog.com/titles/amiphd/iphone-sdk-development">iPhone SDK Development</a> &amp;</li>
<li><a href="http://apress.com/book/view/1430216263">Beginning iPhone Development</a></li>
</ul>
<p>Turns out,<strong><span style="font-weight: normal;"> I&#8217;m </span>not quite ready for those books</strong>. But a peek at the first few pages in each told me that  my Ruby background would help me learn the basics of C, Objective-C, and my Rails and RubyGem API experience should guide me through the iPhone SDK. If you&#8217;re like me, feel free to buy them now. The tutorials for C and Objective-C aren&#8217;t long, and the books promise this will be enough knowledge to learn with.</p>
<p>So the next thing I did (which <strong>should have been the first thing I did</strong>) was find C and Objective-C tutorials:</p>
<ul>
<li><a href="http://cocoadevcentral.com/articles/000081.php">Learn C for Cocoa</a><br />
&#8211; This is enough C knowledge to learn Objective-C</li>
<li><a href="http://cocoadevcentral.com/d/learn_objectivec/">Learn Objective-C</a></li>
</ul>
<p>I&#8217;m only up to &#8220;chapter&#8221; 6 on Objective-C, but so far the concepts are pretty simple. Some things I don&#8217;t like and other things I do like.</p>
<p><strong>In C, variable types must be declared.</strong> In Ruby, that&#8217;s not the case. And you have to use type conversion (casting) to get different results. If you&#8217;re confused about what this means, the <a href="http://cocoadevcentral.com/articles/000081.php">C for Cocoa tutorial</a> should help. I prefer Ruby&#8217;s duck typing. It&#8217;s less to write and worry about. Functions have to be typed, too. Yech.</p>
<p>In C, you can define a function and implement it later or in a separate file. I think that&#8217;s kind of nice. You can quickly scan what type the functions return, their names, their arguments and what types they should be; all without the code in between.</p>
<p>In C, you can declare your own types! That&#8217;s pretty cool. It&#8217;s kind of similar to creating a class in Ruby.</p>
<p>In Objective-C, so far I&#8217;ve created a class and I had to declare the getters, the setters and the methods. And the methods just return the getters that are set by the setters. It&#8217;s weird. But it&#8217;s probably just a ridiculously simplified model to teach me how those things interact.</p>
<p>That&#8217;s all for now. I&#8217;m going to keep sharing as I go.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/05/23/resources-for-iphone-developer-beginners/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Build a slick portfolio w/ jQuery &amp; the Cycle slider plugin</title>
		<link>http://www.joesak.com/2010/04/09/build-a-slick-portfolio-w-jquery-the-cycle-slider-plugin/</link>
		<comments>http://www.joesak.com/2010/04/09/build-a-slick-portfolio-w-jquery-the-cycle-slider-plugin/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 21:55:29 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[web dev]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=273</guid>
		<description><![CDATA[I posted a tutorial for using jQuery with Cycle at the Neoteric Design blog. I really love working there, and I may have some thoughts on that later. Please check it out: http://www.neotericdesign.com/blog/2010/04/build-a-slick-portfolio-w-jque.php]]></description>
			<content:encoded><![CDATA[<p>I posted <a href="http://www.neotericdesign.com/blog/2010/04/build-a-slick-portfolio-w-jque.php">a tutorial for using jQuery with Cycle</a> at the <a href="http://www.neotericdesign.com">Neoteric Design</a> blog. I really love working there, and I may have some thoughts on that later.</p>
<p>Please check it out:</p>
<p><a href="http://www.neotericdesign.com/blog/2010/04/build-a-slick-portfolio-w-jque.php">http://www.neotericdesign.com/blog/2010/04/build-a-slick-portfolio-w-jque.php</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2010/04/09/build-a-slick-portfolio-w-jquery-the-cycle-slider-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Online Photo Gallery, Payment &amp; Order Fulfillment: Ruby on Rails Tutorial</title>
		<link>http://www.joesak.com/2009/09/18/online-photo-gallery-payment-order-fulfillment-ruby-on-rails-tutorial/</link>
		<comments>http://www.joesak.com/2009/09/18/online-photo-gallery-payment-order-fulfillment-ruby-on-rails-tutorial/#comments</comments>
		<pubDate>Fri, 18 Sep 2009 16:51:04 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Custom Development]]></category>
		<category><![CDATA[Improving Code]]></category>
		<category><![CDATA[Photography]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Projects]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Websites]]></category>
		<category><![CDATA[ecommerce]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=255</guid>
		<description><![CDATA[This post is a follow-up to the post on my personal blog, titled &#8220;Ruby on Rails Photo Gallery &#38; Shopping Cart with RESTful Authentication&#8221; In that article, I merely showed off what I&#8217;d done with Ruby on Rails, but I didn&#8217;t show anyone how. Well, I&#8217;ve gotten some comments from people asking me to show [...]]]></description>
			<content:encoded><![CDATA[<p>This post is a follow-up to the post on <a title="Joe Sak's Web Development Blog" href="http://www.joesak.com">my personal blog</a>, titled &#8220;<a title="Ruby on Rails Photo Gallery &amp; Shopping Cart with RESTful Authentication" href="http://www.joesak.com/2009/05/31/ruby-on-rails-photo-gallery-shopping-cart-restful-authentication/">Ruby on Rails Photo Gallery &amp; Shopping Cart with RESTful Authentication</a>&#8221; In that article, I merely showed off what I&#8217;d done with Ruby on Rails, but I didn&#8217;t show anyone how. Well, I&#8217;ve gotten some comments from people asking me to show them how to build it.</p>
<p>That&#8217;s what this post is for.</p>
<p>So on to the nitty gritty details.</p>
<p>Start with the RESTful Authentication Tutorial:</p>
<p><script src="http://gist.github.com/189148.js"></script> <a></a> Follow the README to install, but <a title="Fix #1 to RESTful Authentication Install" href="http://railsforum.com/viewtopic.php?pid=96632#p96632">READ THIS FIRST</a> to fix the ExceptionLogger error  Then <a href="http://railsforum.com/viewtopic.php?pid=99223#p99223">follow these instructions</a> to fix the OpenID plugin error  Make sure you get your <a href="http://recaptcha.net/whyrecaptcha.html">recaptcha keys</a> for the config.yml, otherwise failed login attempts will bust your application.  Fill out the config &amp; database.yml files accordingly, run your database create &amp; migrate rakes, fire up the server and make sure it looks good. Cool? Let&#8217;s move on:  <strong>Define the objects</strong> Let&#8217;s begin by pointing out what, exactly, we&#8217;ll be building this application around: <strong>Galleries </strong>of <strong>Photos </strong>that <strong>Customers</strong> can order with a private <strong>Account</strong> provided to them by an <strong>Admin</strong> who can manage the galleries and review the <strong>Orders</strong>, which are also available to their respective customers.  I will go through how to set up the following models like so:</p>
<ul>
<li>Galleries
<ul>
<li>has_many :photos</li>
<li>belongs_to :customer</li>
<li>title</li>
<li>acts_as_urlnameable (pretty URLs)</li>
</ul>
</li>
<li>Photos
<ul>
<li>belongs_to :gallery</li>
<li>paperclip attachment: image</li>
</ul>
</li>
<li>Customers
<ul>
<li>username, password, full name</li>
</ul>
</li>
<li>Orders
<ul>
<li>has_many :line_items</li>
<li>belongs_to :customer</li>
</ul>
</li>
<li>Line Items
<ul>
<li>belongs_to <img src='http://www.joesak.com/wp-includes/images/smilies/icon_surprised.gif' alt=':o' class='wp-smiley' /> rder</li>
<li>quantity, size, price</li>
</ul>
</li>
</ul>
<p>So let&#8217;s build the Galleries first:  <script src="http://gist.github.com/189161.js"></script></p>
<p>Then edit the Gallery model:</p>
<p><script src="http://gist.github.com/189149.js"></script> That&#8217;ll be fine for now. Let&#8217;s add the Photos model with paperclip image attached:  <script src="http://gist.github.com/189151.js"></script></p>
<p>Now edit the Photo model as such:</p>
<p><script src="http://gist.github.com/189152.js"></script> You should read all about <a href="http://thoughtbot.com/projects/paperclip">the paperclip gem</a> if you need more info on this model. Basically, we&#8217;re telling it to allow image attachments to the Photo model.  Customers can be the RESTful Authentication Tutorial User model, just need to add a couple things here:  <script src="http://gist.github.com/189153.js"></script></p>
<p>Let&#8217;s worry about Orders and Line Items later. We&#8217;ll have to add a cart, too. I&#8217;ll cover it, but it is all derived from <a href="http://www.pragprog.com/titles/rails3/agile-web-development-with-rails">Agile Web Development with Ruby on Rails Third Edition</a></p>
<p>Run your rake db:migrate and confirm all is well. Delete the Galleries layout file so it uses the application layout.</p>
<p>Let&#8217;s go see http://localhost:3000/galleries and play around. Add a gallery and then go to edit it. This is where we&#8217;ll add SWFUpload. <a href="http://jimneath.org/2008/05/15/swfupload-paperclip-and-ruby-on-rails/">Follow Jim Neath&#8217;s advice for this</a>.</p>
<p>You&#8217;ll want a photos controller:</p>
<p><script src="http://gist.github.com/189155.js"></script> The create method I use is:  <script src="http://gist.github.com/189156.js"></script></p>
<p>I had no luck getting Jim Neath&#8217;s session fix working, so I put skip_before_filter :verify_authenticity_token in the Photos Controller. Bad? Yea, probably. I haven&#8217;t found a better way yet.</p>
<p>Add this code to app/views/galleries/edit.html.erb:</p>
<p><script src="http://gist.github.com/189157.js"></script> Which leads you to add the following partial: app/views/photos/_image.html.erb  <script src="http://gist.github.com/189159.js"></script></p>
<p>We&#8217;ll worry about the destroy link later, let&#8217;s integrate swfupload. <a href="http://code.google.com/p/swfupload/">Download the latest copy of SWFUpload</a>. Copy flash/swfupload.swf to public/flash (make directory first). Copy swfupload.js &amp; upload.js (in Jim Neath&#8217;s demo app) to public/javascripts. Copy Jim Neath&#8217;s swfupload.css file to public/stylesheets. Copy Jim Neath&#8217;s images/icons folder to public/images.</p>
<p>Add this code to app/views/galleries/edit.html.erb:</p>
<p><script src="http://gist.github.com/189160.js"></script></p>
<p>Yep, a lot is going on there. Reload your galleries/edit page and see if it&#8217;s still working <img src='http://www.joesak.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Ok, so this gets you to a functioning online photo gallery. Up next will be adding user accounts, a shopping cart, ordering options, customers &amp; paypal integration. Stay tuned!</p>
<p>For now, please find the <a href="http://github.com/joemsak/proofs_package">source</a> here: <a href="http://github.com/joemsak/proofs_package">http://github.com/joemsak/proofs_package</a></p>
<p>And for help on your project, visit us at <a href="http://www.simplifyadvance.com">http://www.simplifyadvance.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2009/09/18/online-photo-gallery-payment-order-fulfillment-ruby-on-rails-tutorial/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails Photo Gallery &amp; Shopping Cart with RESTful Authentication</title>
		<link>http://www.joesak.com/2009/05/31/ruby-on-rails-photo-gallery-shopping-cart-restful-authentication/</link>
		<comments>http://www.joesak.com/2009/05/31/ruby-on-rails-photo-gallery-shopping-cart-restful-authentication/#comments</comments>
		<pubDate>Mon, 01 Jun 2009 02:49:54 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=229</guid>
		<description><![CDATA[Tonight I launched another web application for Michael Youngblood Photography which allows him to build online photo galleries that his customers can privately view and order online with qty, size and framing options. The customer must use paypal to complete the transaction (because I&#8217;m still a rails n00b, guys. no serious SSL stuff for me [...]]]></description>
			<content:encoded><![CDATA[<p>Tonight I launched another web application for <a href="http://www.michaelyoungblood.com">Michael Youngblood Photography</a> which allows him to <strong>build online photo galleries</strong> that his customers can privately view and order online with qty, size and framing options. The customer must use paypal to complete the transaction (because I&#8217;m still a rails n00b, guys. no serious SSL stuff for me yet).</p>
<p>So I grabbed the <a href="http://railsforum.com/viewtopic.php?id=14216">RESTful Authentication Tutorial</a> as my base framework for the application, so I automatically had user accounts, roles, logging in and session stores to work with right off the bat.</p>
<p>I&#8217;m very proud of this application from a knowledge/skill expanding aspect, a UI aspect, project complexity, and the fact that I was careful to write this in &#8220;The Rails Way&#8221; as strictly as possible. Remember guys I&#8217;m still a n00b but I&#8217;m coming along. Enjoy!</p>
<p><strong>Demonstration of the User Interface process and application</strong></p>
<p>What I had to add on to it was the ability for Michael to create galleries which belong to the user accounts he creates in the process.</p>
<p>So he begins by creating a customer:</p>
<div id="attachment_231" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/05/picture-1.png"><img class="size-thumbnail wp-image-231" title="Create Customer" src="http://www.joesak.com/wp-content/uploads/2009/05/picture-1-150x150.png" alt="Michael begins by creating his customer" width="150" height="150" /></a><p class="wp-caption-text">Michael begins by creating his customer</p></div>
<p>Then he names the gallery:</p>
<div id="attachment_232" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/05/picture-2.png"><img class="size-thumbnail wp-image-232" title="Name the Gallery" src="http://www.joesak.com/wp-content/uploads/2009/05/picture-2-150x150.png" alt="Michael names the gallery" width="150" height="150" /></a><p class="wp-caption-text">Michael names the gallery</p></div>
<p>Then he populates the gallery with photos:</p>
<div id="attachment_233" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/05/picture-3.png"><img class="size-thumbnail wp-image-233" title="Editing the Gallery" src="http://www.joesak.com/wp-content/uploads/2009/05/picture-3-150x150.png" alt="Michael uploads photos to the gallery" width="150" height="150" /></a><p class="wp-caption-text">Michael uploads photos to the gallery</p></div>
<p>This is what the customer sees when they log in (minus the edit gallery link, only admins see that)</p>
<div id="attachment_234" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/05/picture-4.png"><img class="size-thumbnail wp-image-234" title="Customer View" src="http://www.joesak.com/wp-content/uploads/2009/05/picture-4-150x150.png" alt="The customer interacts with their gallery" width="150" height="150" /></a><p class="wp-caption-text">The customer interacts with their gallery</p></div>
<p>*note, the &#8220;Add to Cart&#8221; gray bar is triggered by mouse hover.</p>
<p>They can add to cart:</p>
<div id="attachment_235" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/05/picture-5.png"><img class="size-thumbnail wp-image-235" title="Add to Cart" src="http://www.joesak.com/wp-content/uploads/2009/05/picture-5-150x150.png" alt="The customer adds an item to their cart" width="150" height="150" /></a><p class="wp-caption-text">The customer adds an item to their cart</p></div>
<p>After completing the checkout process in paypal, the user can see their order list, and Michael can access their order list directly off their private user page.</p>
<p><strong>To see the full demonstration, check out my Jing! Screencast here:</strong></p>
<p><a href="http://screencast.com/t/qKqJGmSwvvl">View the 5 minute Screencast Demonstration</a></p>
<p>*note -&gt; the photo uploads actually work much better and without wonkiness on the production server!</p>
<p>If you&#8217;d like to get your hands on <strong>the source</strong>, or would like to work with me, please <a href="http://www.joesak.com/contact/">contact me</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2009/05/31/ruby-on-rails-photo-gallery-shopping-cart-restful-authentication/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Lansing Sports given Outstanding Web Site award by NASC</title>
		<link>http://www.joesak.com/2009/04/29/lansing-sports-given-outstanding-web-site-award-by-nasc/</link>
		<comments>http://www.joesak.com/2009/04/29/lansing-sports-given-outstanding-web-site-award-by-nasc/#comments</comments>
		<pubDate>Thu, 30 Apr 2009 00:03:01 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=223</guid>
		<description><![CDATA[Lansingsports.org, one of my favorite projects as a web developer for Artemis Solutions, was given the award for Outstanding Web Site by the NASC. I don&#8217;t have proof because no one is blogging or writing about it, but @greaterlansing says so, and they&#8217;re the ones who got the award, so I&#8217;ll trust them. Especially since [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lansingsports.org">Lansingsports.org</a>, one of my favorite projects as a <a href="http://www.artemis-solutions.com">web developer for Artemis Solutions</a>, was given the award for Outstanding Web Site by the <a href="http://www.sportscommissions.org/Home">NASC</a>. I don&#8217;t have proof because no one is blogging or writing about it, but <a href="http://www.twitter.com/greaterlansing">@greaterlansing</a> says so, and they&#8217;re the ones who got the award, so I&#8217;ll trust them. Especially since they seem to <a href="http://www.joesak.com/2007/04/25/joe-sak-receives-praise-from-client/">like working with me</a>.</p>
<div id="attachment_224" class="wp-caption alignnone" style="width: 160px"><a href="http://www.joesak.com/wp-content/uploads/2009/04/lansingsports_big.jpg"><img class="size-thumbnail wp-image-224" title="Lansing Sports screenshot" src="http://www.joesak.com/wp-content/uploads/2009/04/lansingsports_big-150x150.jpg" alt="LansingSports.org" width="150" height="150" /></a><p class="wp-caption-text">LansingSports.org</p></div>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2009/04/29/lansing-sports-given-outstanding-web-site-award-by-nasc/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Stop those damn AIM coho, trout &amp; salmon bots!</title>
		<link>http://www.joesak.com/2009/04/10/stop-those-damn-aim-coho-trout-salmon-bots/</link>
		<comments>http://www.joesak.com/2009/04/10/stop-those-damn-aim-coho-trout-salmon-bots/#comments</comments>
		<pubDate>Fri, 10 Apr 2009 15:59:30 +0000</pubDate>
		<dc:creator>Joe Sak</dc:creator>
				<category><![CDATA[Design]]></category>

		<guid isPermaLink="false">http://www.joesak.com/?p=219</guid>
		<description><![CDATA[AOL Instant Messenger. Y&#8217;all are using it. You randomly get an IM from &#60;adjective&#62;coho or trout or salmon. It&#8217;s nonsensical but you reply to it out of curiosity. Then you find out the person on the other end is some random AIM user. It&#8217;s annoying as all hell. Your block list is probably long, and [...]]]></description>
			<content:encoded><![CDATA[<p>AOL Instant Messenger. Y&#8217;all are using it.</p>
<p>You randomly get an IM from &lt;adjective&gt;coho or trout or salmon. It&#8217;s nonsensical but you reply to it out of curiosity. Then you find out the person on the other end is some random AIM user. It&#8217;s annoying as all hell. Your block list is probably long, and it doesn&#8217;t even matter because it changes its name every time!</p>
<p><strong>HOW DO YOU STOP THE DAMN AIM COHO BOTS?</strong></p>
<p><a href="http://morouxshi.com/2008/10/27/aim-the-trout-salmon-coho-screenname-and-how-to-stop-it/">Thanks to some info from Morouxshi</a>, it&#8217;s actually really easy to stop the bots:</p>
<p>When that stupid thing IMs you respond to it with</p>
<pre>$optout</pre>
<p>It will ask you to respond with something like &#8216;$optout blah&#8217; and once you do that it will stop sending you IMs.</p>
<p>Some known AIM bot names (to help with people searching this problem):</p>
<ul>
<li>clingycoho</li>
<li>sinistercoho</li>
<li>surefootedcoho</li>
<li>toroidalcoho</li>
<li>passedoutcoho</li>
<li>racingcoho</li>
<li>bipolarcoho</li>
<li>ingeniouscoho</li>
<li>analyzedcoho</li>
<li>merrycoho</li>
<li>bisexualcoho (haha what?)</li>
<li>nieceofacoho</li>
<li>witchycoho</li>
<li>welltimedcoho</li>
<li>infuriatedcoho</li>
<li>puritanicalcoho</li>
<li>fiercetrout</li>
<li>dramaticcoho</li>
<li>swabbedcoho</li>
<li>brunchingcoho</li>
<li>xenophobiccoho</li>
<li>stupendouscoho</li>
<li>alchemicalcoho</li>
<li>lopsidedcoho</li>
<li>varyingcoho</li>
<li>roudingcoho</li>
<li>immoveablecoho</li>
<li>cateredcoho</li>
<li>lilliputiancoho</li>
<li>falsifiedcoho</li>
<li>affectionatecoho</li>
<li>liberalcoho</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.joesak.com/2009/04/10/stop-those-damn-aim-coho-trout-salmon-bots/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Database Caching 10/15 queries in 0.007 seconds using disk

Served from: www.joesak.com @ 2010-09-02 20:27:11 -->