<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>pcrawfor.com</title>
    <link>http://www.pcrawfor.com/</link>
    <description>pcrawfor.com - Bring passion to the table</description>
    <language>en-us</language>
    <item>
      <title>Links</title>
      <description>&lt;p&gt;&lt;a type="amzn" asin="0321445619"&gt;Rails Way&lt;/a&gt;
&lt;a type="amzn" asin="1590598385"&gt;Smart&lt;/a&gt;&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Sat, 15 Mar 2008 18:05:58 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/6-links</link>
      <guid>http://www.pcrawfor.com/entries/6-links</guid>
    </item>
    <item>
      <title>The blog has moved...</title>
      <description>&lt;p&gt;I&amp;#8217;ve decided to move my blog over to a new domain so here it is:&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://www.paulthenerd.com"&gt;www.paulthenerd.com&lt;/a&gt;&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Mon, 08 Jun 2009 00:27:01 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/9-the-blog-has-moved</link>
      <guid>http://www.pcrawfor.com/entries/9-the-blog-has-moved</guid>
    </item>
    <item>
      <title>Exporting images from amCharts</title>
      <description>&lt;p&gt;AmCharts is a flash based graphing library which I have been working with for a client recently, and I ran into the problem of needing to export the graph image from flash into a standard image format, in this case jpg.&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Fri, 02 Jan 2009 18:45:47 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/8-exporting-images-from-amcharts</link>
      <guid>http://www.pcrawfor.com/entries/8-exporting-images-from-amcharts</guid>
    </item>
    <item>
      <title>RailsConf 2008 is over :(</title>
      <description>&lt;p&gt;Wow, another railsconf has come and gone and I&amp;#8217;m back home in Victoria.&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ll be posting some detailed info on some of the most interesting stuff I saw while I was there but I wanted to do a quick summary post of my overall impressions.&lt;/p&gt;


	&lt;p&gt;First things first, the keynotes where great I think that for me they were worth the effort of coming down for the conference alone.&lt;/p&gt;


&lt;h3&gt;Joel Spolsky&lt;/h3&gt;
I had been really looking forward to this keynote, being a big fan of JoelOnSoftware and was very curious what Joel would have to say to the rails community.  Joel hasn&amp;#8217;t been a big advocate of rails although he has a couple of times admitted that he considers rails itself to be a great &amp;#8220;hack&amp;#8221; (in the good sense of the word).  
Joel&amp;#8217;s talk was entertaining and funny although it did have a bit of a strange message to it in the end.  His main points were to focus on making people happy, having great aesthetics and being aware of the culture code in regards to creating software.  
Overall he gave some useful and often hilarious examples for each :)

	&lt;p&gt;His last slide left me and a couple of the other VicRuby guys wondering if he had made a subtle reference to the over-hype that has seemed to have exploded around rails over the last couple of years.&lt;/p&gt;


&lt;h3&gt;Kent Beck&lt;/h3&gt;
Kent Beck&amp;#8217;s keynote started off a bit slow for me but ended really well, he went over some stories from his time working on and creating Extreme Programming, Test driven development and Design Patterns and where each of them started and evolved.  The best part of his talk to my mind was his thoughts for the rails community and the questions and answers after the talk which they let run for quite a long time.  He had some great insights to consider.

	&lt;p&gt;&lt;br /&gt;
&lt;h3&gt;&lt;span class="caps"&gt;DHH&lt;/span&gt;&lt;/h3&gt;
The best keynote for me personally was &lt;span class="caps"&gt;DHH&lt;/span&gt;&amp;#8217;s because it had really nothing to do with ruby or rails and for the first time I saw him speak at a railsconf where he wasn&amp;#8217;t just updating on features or plans but rather dug into a deeper topic.&lt;/p&gt;


	&lt;p&gt;David addressed the need for all of us as developers and professionals to both work on our own personal development and also to not worry so much about what technology we are using.  Even more importantly he emphasized the importance of &lt;strong&gt;not coding&lt;/strong&gt; and having other interests, other passions and expanding our horizons.&lt;/p&gt;


	&lt;p&gt;&lt;span class="caps"&gt;I 100&lt;/span&gt;% agree with him, and it left me feeling energized in a new way.  The most telling thing for me was that he intentionally said not to worry about whether rails is or will be the best thing to use, but to focus on developing great general skills.&lt;/p&gt;


	&lt;p&gt;Ok I&amp;#8217;m done for now, but more to come on some interesting topics that came out the conference.&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Tue, 03 Jun 2008 00:38:29 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/7-railsconf-2008-is-over-%3A%28</link>
      <guid>http://www.pcrawfor.com/entries/7-railsconf-2008-is-over-%3A%28</guid>
    </item>
    <item>
      <title>Rake tasks are fun!</title>
      <description>&lt;p&gt;Ok so of course the second I posted my rake task I found an excellent blog article talking about rake tasks that has a better implementation of my own task :)
Err the blog has an excellent article on rake and his own creation sake (used to access rake tasks at a system level so that they need not be copied into each rails project independently) &lt;a href="http://errtheblog.com/posts/60-sake-bomb" target="blank"&gt;here&lt;/a&gt;.&lt;/p&gt;


(for anyone wanting the quick answer here is the much more elegant impl. of the db version task which is now in rails trunk and has been since about June of last summer)
&lt;code&gt;
desc "Returns the current schema version" 
  task :version =&amp;gt; :environment do
    puts "Current version: " + 
      ActiveRecord::Migrator.current_version.to_s
  end
&lt;/code&gt;

	&lt;p&gt;&lt;br /&gt;
Not to be out done I have a new rake task for you that I am finding useful, along with the annotate_models plugin this one allows a quick view of a table structure without firing up your mysql client.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
desc &amp;#8211; Describe the table listing column name and type&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


&lt;code&gt;
desc "Describe database table structure" 
  task :describe =&amp;gt; :environment do
    unless ENV.include?('table') &amp;#38;&amp;#38; !ENV['table'].blank?
      raise "usage: rake db:desc table=table_name" 
    end

    table = ENV['table']
    ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)     
    result = ActiveRecord::Base.connection.execute("describe #{table}") 

    puts "table #{table}" 
    result.each do |row|
      puts "#{row[0]}  -  #{row[1]}"  
    end
  end
&lt;/code&gt;

	&lt;p&gt;&lt;br /&gt;
&lt;span style='color: red'&gt;Usage: rake db:desc table=table_name&lt;/span&gt;&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;&lt;/p&gt;


	&lt;p&gt;One other useful tidbit contained in this task is the parameter passed into the task, I picked this up from a Jay Field&amp;#8217;s article &lt;a href="http://blog.jayfields.com/2006/10/rake-tasks-with-parameters.html" target="blank"&gt;here&lt;/a&gt;.&lt;/p&gt;


	&lt;p&gt;The key is that the parameters to the rake task are passed in the &lt;span class="caps"&gt;ENV&lt;/span&gt; hash and have to be accessed accordingly.  I&amp;#8217;ve also taken Jay&amp;#8217;s approach of verifying the parameter and raising an exception if it is not provided to give the user usage info.&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Tue, 08 Jan 2008 03:13:13 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/5-rake-tasks-are-fun%21</link>
      <guid>http://www.pcrawfor.com/entries/5-rake-tasks-are-fun%21</guid>
    </item>
    <item>
      <title>Useful rake tasks</title>
      <description>&lt;p&gt;Some useful rake tasks&amp;#8230;&lt;/p&gt;


	&lt;p&gt;I wrote a couple handy rake tasks the other day and thought I&amp;#8217;d post them for anyone else who might be interested.&lt;/p&gt;


	&lt;p&gt;DB Version &amp;#8211; this one is handy when you are trying to get into sync with some new migrations, especially if any of the migrations have errors (I know&amp;#8230;that should never happen :) )&lt;/p&gt;


&lt;code&gt;
desc "Get the current schema version" 
  task :version =&amp;gt; :environment do
    ActiveRecord::Base.establish_connection(RAILS_ENV.to_sym)
    result = ActiveRecord::Base.connection.execute("select * from schema_info")    
    version = result.fetch_hash['version']
    puts "Current Database Schema Version: #{version}" 
  end
&lt;/code&gt;

	&lt;p&gt;Just add that code to your databases.rake and then you can rake db:version away.&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Mon, 31 Dec 2007 16:11:26 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/4-useful-rake-tasks</link>
      <guid>http://www.pcrawfor.com/entries/4-useful-rake-tasks</guid>
    </item>
    <item>
      <title>Learning Rails knowing where to look</title>
      <description>&lt;p&gt;Last post I was talking about my thoughts on the Rails learning curve, but I didn&#8217;t give you much help on where to go to actually help yourself along that curve.&lt;/p&gt;


	&lt;p&gt;One great thing about rails and ruby is that there are lots of great resources out there to help you learn.  I&#8217;d like to go over a few of the best resources I&#8217;ve seen and used and to point you in the right direction.&lt;/p&gt;


&lt;hr /&gt;
&lt;h3&gt;Books&lt;/h3&gt;

	&lt;p&gt;The two most well known books are &lt;a type="amzn" asin="0977616630"&gt;Agile Web Development for Rails&lt;/a&gt; and the pickaxe (&lt;a target="_blank" href="http://www.pragprog.com/titles/ruby3"&gt;Programming Ruby&lt;/a&gt;) which provide great reference and grounding in rails and ruby respectively.&lt;/p&gt;


	&lt;p&gt;There is one book I came across that gives I think the most complete overview of ruby in the context of using it for rails development.  
&lt;a type="amzn" asin="1932394699"&gt;Ruby for Rails&lt;/a&gt; by David Black provides a great introduction to ruby and gives an amazing amount of great information.  Including a chapter on meta-programming ruby that is worth the book alone in my view.  The most important part about this book is that it makes an effort to frame ruby in the context of rails which is very useful for people just getting started with rails.&lt;/p&gt;


	&lt;p&gt;As a general reference book the &lt;a target="_blank" href="http://www.pragprog.com/"&gt;Pragmatic Programmers&lt;/a&gt; are an amazing resource and have a wide selection of development books and pdf&#8217;s covering not only ruby and rails but other languages and development practices in general.&lt;/p&gt;


	&lt;p&gt;There are of course a lot of other books out there that can be great for ruby development and I have named only what I consider to be the must have&#8217;s, to that list I&#8217;d add &lt;a type="amzn" asin="0672328844"&gt;The Ruby Way&lt;/a&gt; &#8211; this is a reference book on almost every topic I could think of related to ruby with examples and sample code for just about everything.  A good one to have on the shelf for problem solving when working in ruby.&lt;/p&gt;


&lt;hr /&gt;
&lt;h3&gt;Blogs&lt;/h3&gt;

There are a lot of rails and ruby related blogs out there but some of the best one&#8217;s I&#8217;ve come across are:
	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://nubyonrails.com"&gt;Nuby on Rails&lt;/a&gt; &#8211; Geoffrey Grosenbach provides useful tools and tutorials, and is the man behind the wonderful peepcode screencasts&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://therailsway.com"&gt;The Rails Way&lt;/a&gt; &#8211; Jamis Buck and Michael Koziarski provide refactoring and style guidance for development in rails&amp;#8230;the rails way, this can be a good way to pick up on best practices and see how other people are solving common problems.  Not to mention some great insight into how to approach solving problems with rails.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://weblog.jamisbuck.org/"&gt;The Buck Blogs here&lt;/a&gt; &#8211; Jamis Buck has lots of great articles going way back on all sorts of topics&amp;#8230;check it out.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://www.loudthinking.com/"&gt;LoudThinking&lt;/a&gt; &#8211; &lt;span class="caps"&gt;DHH&lt;/span&gt; himself, a good one to keep an eye on.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://brainspl.at/"&gt;Brainspl.at&lt;/a&gt; &#8211; Ezra Zygmuntowicz blog on rails and ruby related work, Ezra is known as a deployment expert.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://blog.jayfields.com/"&gt;Jay Fields Thoughts&lt;/a&gt; &#8211; Jay Field&#8217;s consistently provides great information especially ruby oriented stuff (not necessarily just rails) and is a great resource for picking up on advanced ruby.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://blog.jayfields.com/"&gt;Err the Blog&lt;/a&gt; &#8211; this blog provides some very useful tutorials and in a style that can be very entertaining, this is a must read and be sure to dig through the archives.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://ryandaigle.com/"&gt;Ryan&#8217;s Scraps&lt;/a&gt; &#8211; Ryan provides great peeks at what is coming down the pipe in rails edge along with some useful rails tutorials/tips&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://pragdave.pragprog.com/"&gt;PragDave&lt;/a&gt; &#8211; Dave Thomas one of the men behind the Pragmatic Programmers provides insights on many different subjects often related to rails.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;There are also a couple of good aggregated sites on my feed reader&lt;/p&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://www.rubyinside.com/"&gt;Ruby Inside&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://www.planetrubyonrails.com"&gt;Planet Ruby on Rails&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;


	&lt;p&gt;If you have questions about a specific problem you can use the almighty google and often you&#8217;ll find someone else has already written a tutorial on how to figure it out.&lt;/p&gt;


&lt;hr /&gt;
&lt;h3&gt;Screencasts&lt;/h3&gt;
Screencasts are something that I hadn&#8217;t seen a lot of before I got involved in ruby and they are one of the best resources for rails related material.

	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://www.railscasts.com"&gt;RailsCasts&lt;/a&gt; are free short screencasts by Ryan Davis that cover a wide range of topics and give short sweet examples of features and techniques in rails.&lt;/li&gt;
	&lt;/ul&gt;


	&lt;ul&gt;
	&lt;li&gt;&lt;a target="_blank" href="http://www.peepcode.com"&gt;Peepcode&lt;/a&gt; are longer in depth screencasts on topics such as Capistrano and &lt;span class="caps"&gt;RJS&lt;/span&gt; they do cost a little bit of money, but they are great value and for getting started on a new area of rails development they often provide a good way to get oriented.&lt;/li&gt;
	&lt;/ul&gt;


&lt;hr /&gt;
&lt;h3&gt;Mailing Lists&lt;/h3&gt;

	&lt;p&gt;The final resource I&#8217;ll mention today is the mailing lists, there are mailing lists/google groups for rails, ruby, and a number of sub-topics in the world of rails (&amp;#8216;Ruby on Rails meets the Business world&amp;#8217; for instance).&lt;/p&gt;


	&lt;p&gt;If you are looking to ask a question or see if someone else has already had a similar problem to one you are facing this can be a great resource.  Personally I receive abridged summaries from many of theses lists so I can keep up with what is going on out there.&lt;/p&gt;


	&lt;p&gt;These resources are a great place to start, and I highly recommend you take advantage of all of them, it&#8217;s amazing how much useful and helpful information there is on rails and on ruby.&lt;/p&gt;


	&lt;p&gt;And remember give back to the community, if you can help someone else out then do so.&lt;/p&gt;


	&lt;p&gt;Paul&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Thu, 20 Dec 2007 02:06:01 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/3-learning-rails-knowing-where-to-look</link>
      <guid>http://www.pcrawfor.com/entries/3-learning-rails-knowing-where-to-look</guid>
    </item>
    <item>
      <title>Rails Learning Curve</title>
      <description>&lt;p&gt;The Rails Learning curve.&lt;/p&gt;


	&lt;p&gt;I&#8217;ve been working with rails for about 2 years now, and by that I mean I made my first attempt at a rails application about 2 years ago.  Since that time I&#8217;ve learned a lot, a lot about rails and even more important a lot about ruby.
I know there are people out there that see rails and all the cool stuff that is being done with it and think &#8220;hey that looks cool I should give it a try&#8221;.  So they pick up a copy of the rails book, or find a tutorial online and give it a try and &#8220;wow!, this is so easy&#8221; and they see the original rails video and they see David write a blog in a matter of a few minutes &#8220;damn, this stuff is like magic, so quick and simple!!!!&#8221;.
So they dive in.&lt;/p&gt;


	&lt;p&gt;A little while later they have a simple app that does some simple things, and they suddenly come to a realization.  They don&#8217;t really know how any of the stuff that they have been doing really works.&lt;/p&gt;


	&lt;p&gt;They have hit the first hump in the rails learning curve.&lt;/p&gt;


	&lt;p&gt;See the thing about rails, is that to really know what you are doing&amp;#8230;you kinda need to learn ruby.&lt;/p&gt;


	&lt;p&gt;Lately I&#8217;ve been helping out some younger developers at my current company who are switching from Cold Fusion to work with our Rails projects.  Every time I watch someone starting to learn rails I see the same thing (this includes my own experience).&lt;/p&gt;


	&lt;p&gt;The learning curve:&lt;/p&gt;


	&lt;p&gt;&lt;img class='pull-1' src='/images/learning_rails.png'/&gt;&lt;/p&gt;


	&lt;p&gt;You start off great, you&#8217;re learning rails things are amazing you can write facebook in a half hour&amp;#8230;then you hit what I like to term &#8220;the ruby wall&#8221;.
You decide you need to do something&amp;#8230;it&#8217;s not in the book&amp;#8230;you start trying to figure it out and wham!  All this ruby code and you don&#8217;t quite know what to do.&lt;/p&gt;


	&lt;p&gt;Now you are on the second part of the graph&amp;#8230;the long slow climb.  
You see, to become really proficient with rails, to handle things like plugins, rake tasks, deployment, and more advanced rails stuff&amp;#8230;you need to know ruby.  So now you start learning ruby.&lt;/p&gt;


	&lt;p&gt;This takes a while &#8211; you are learning ruby, and other things about rails and gradually you become more comfortable with things.&lt;/p&gt;


	&lt;p&gt;Eventually you hit the third part of the learning curve &#8211; Proficiency.
You&#8217;ve been working with rails and ruby for a while, hopefully you&#8217;ve done some non-rails work and really focussed on learning ruby seriously and you are moving along fine.  From this point on you can pretty much figure out how to solve most problems, and you can choose to settle or to pursue mastery.&lt;/p&gt;


	&lt;p&gt;The last segment of the curve is what I call the &#8220;Road to Mastery&#8221; &#8211; if you want to be one of those gurus one day, then you can start along this road &#8211; it&#8217;ll be long and hard&amp;#8230;but it is rewarding.&lt;/p&gt;


	&lt;p&gt;Well there you have it, the journey.  Knowing where you are on the curve can help you figure out how to learn faster and better.&lt;/p&gt;


	&lt;p&gt;So if you are looking at getting started on rails just remember one thing&amp;#8230;rails is ruby and ruby is power.&lt;/p&gt;


	&lt;p&gt;My next entry will point you at some good resources for building up that ruby knowledge.&lt;/p&gt;


	&lt;p&gt;Good luck grasshopper,&lt;/p&gt;


	&lt;p&gt;Paul&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Sun, 16 Dec 2007 20:55:22 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/2-</link>
      <guid>http://www.pcrawfor.com/entries/2-</guid>
    </item>
    <item>
      <title>Finally.</title>
      <description>&lt;p&gt;I&amp;#8217;ve finally launched my blog, this is the place where I can rant and rave about whatever I want so watch out!&lt;/p&gt;


	&lt;p&gt;I&amp;#8217;ve been wanting to get a start on this for a long time so it is nice to finally get here (and before the end of the year no doubt).&lt;/p&gt;


	&lt;p&gt;Let me start off with a little introduction.
I&amp;#8217;m Paul, I am a &amp;#8220;software professional&amp;#8221; which means I program, manage projects, and even try to design (a little).  My focus is on development using rails and I am loving it.&lt;/p&gt;


	&lt;p&gt;My current passion is working with ruby and &lt;a href="http://www.rubyonrails.org" target="_blank"&gt;ruby on rails&lt;/a&gt;.  I am always on the lookout for cool projects or new ideas, and I hope to bring some of my own to the table here.&lt;/p&gt;


	&lt;p&gt;Now the fun part, I should really port this thing over to use Rails 2.0. which launched 
&lt;a href="http://weblog.rubyonrails.org/2007/12/7/rails-2-0-it-s-done" target="_blank"&gt;today!&lt;/a&gt; looks like I have my work cut out for me.&lt;/p&gt;


	&lt;p&gt;&lt;br /&gt;
Welcome, and let me know what you think!&lt;/p&gt;


	&lt;p&gt;Paul&lt;/p&gt;</description>
      <author>Paul Crawford</author>
      <pubDate>Sat, 08 Dec 2007 00:34:32 +0000</pubDate>
      <link>http://www.pcrawfor.com/entries/1-finally</link>
      <guid>http://www.pcrawfor.com/entries/1-finally</guid>
    </item>
  </channel>
</rss>
