Hi all, First, this is a longer than normal read but I hope that you get through it all and can learn from my experiences. So, I wanted to talk about my experiences with my first rails project now that I''ve completed it for the beginning of the football season. First, here''s the link: http://ncaastatpages.com I used to work as a Windows System Administrator for Charles Schwab, working out of a U.S. Trust regional area before they sold the company to Bank of America. After the transition, my fiance and I moved to Plymouth, MA to be closer to her family and I figured finding work would be easy in Boston or Providence. However, with the market conditions, finding infrastructure jobs worsened for everyone, including myself. So, I had some extra time and I had two hard choices before me. I could either work on finishing up some certifications, MCSE or CCNA etc. or I could work on development, a side of life I really enjoy immensely. I chose the latter. I''ve always wanted to learn Ruby and Ruby on Rails is a great framework, in addition. My former ncaastatpages.com site was solely driven on PHP and had numerous issues. So, approx. 9 weeks ago, knowing absolutely nothing about ruby or ruby and rails, I purchased 4 books (1-ruby, 2 - rails, and 1 enterprise rails) and started to read. I took on a new project which included upgrading my site and getting familiar with all that rails had to offer. I went through a lot of hoops and hurdles but I''m happy to say that I learned a great deal from working with the project, and from this mailing group / boards. So many of you have helped me over the past 9 weeks that I feel I''m sharing a project that''s been touched by many. I really want to thank those of you who shared your wisdom, your understanding, and your patience with me. ======================My first baby steps ====================== The first thing I did really, was go out and purchase a giant dry eraser board. I nailed it right next to my computer and started to draw out diagrams for how everything in my site was currently working. I saw a lot of huge mistakes right from the start and since I was starting over, I figured I could -erase- them and begin anew. My database wasn''t normalized to 3NF (3rd normal form) and that''s where I wanted to begin. Making sure that my database was organized properly was important. I drew out my own schema which changed so many times, I used up an entire pen drawing and erasing it out. ======================Components ====================== I needed to figure out what components I wanted to use with my site. I knew I needed the following: Authentication Pagination for tables I started with just a few things - restful authentication and will paginate. I quickly realized that I needed more than this but started to get lost in the shuffle. I needed some hand holding and found that Ryan Bates'' railscasts site and the Learning Rails site from Michael Slater and Christopher Haupt helped me out immensely, showing how to create and manage my site with some baby steps. I worked like a mad man, approx. 11 - 13 hours a day every day for 9 weeks to get my site ready for the season. ======================Hey n00b, yes you.. ====================== There were times I felt like a real newbie, even a little embarrassed to have to ask some questions that might show that my skill with rails was quite dismal. However, I have a photographic memory and retain information like a sponge. I learn incredibly fast and no one here made me feel embarrassed to have asked any question. I want you to know that if you are new to rails that any question that goes unanswered for you, will only make things worse. Measuring skillsets with rails really comes down to how many questions you have left to ask. Each day I had at least 100 questions. Today I can probably count my entire list of questions on two hands. ======================Expand and Test ====================== Creating tests was probably at times more difficult than creating my site. It took me a long time to understand how to build a test criteria and once I learned it, it became easier and easier. When I first started, I thought, nope - no testing, not going to do it. It isn''t necessary because I''m thorough. The more I added to my site the easier it was to overlook something simple, even with as thorough as I had been. I couldn''t put it off and so I started to write tests for everything. Lo, and behold, what''s that? Some of your database date columns are float columns! What''s this? Some of your associations aren''t really associated.. I think you can understand the point I''m making. Testing adds the most important layer to your application, in that it won''t get tired. It will not get lazy. If you cannot write a test failure for your code, then you should find out why and fix that. Don''t be lazy. Make it work. ======================Seeing the whole picture ====================== About a week ago I started to relax a bit. I took a deep breath and started to look over the whole picture. What had I really accomplished with my project in the 9 weeks I began to work on it? Full Authentication User Authentication Mailers Subscription Mailers News Mailers Encrypted Payment Gateway with IPN CMS style in-text editing on dynamic pages Fully normalized database, indexed, optimized for speed Full collegiate statistics tables TSRS Ratings System converted from php to rails Head-2-Head Virtual Matchups (game comparisons) Team clubhouse pages Trends Analysis Support for teams Flash and non-flash support Scripting and non-scripting support Browser testing with all major browsers .. etc.. etc.. ======================Going to Production ====================== My site uses Linux, Apache2, Passenger, Capistrano + Github and my experience with all of those could be summed up with the following number (4%). I had about 4% experience with any of those pieces before I started working with Rails. In 2 months, my experience with all 4 is now around (75%). My site had some hiccups but I fully administrate it on slicehost myself. I''m the designer, the administrator, the creator of my world. It''s not that difficult when you figure out that there are IRC channels out there that can help with everything: http://webchat.freenode.net/ (hit #RoR for ruby on rails, #Github for github, #httpd for apache support, #Capistrano for Capistrano support, #Passenger for passenger support) ======================Humble Confidence ====================== I will say with a humble confidence that if you set your mind on a task, believe in yourself (even if no one else does) you can do great things. I believe that the harder road is the one that provides the path to greater wealth and wisdom. If you do things that are easy, you receive a lesser reward. Always have faith and be patient, even in the darker hours when you feel you are alone and no one is there to catch you as you fall into a dark abyss. When you get there, step back, get some rest and tomorrow is another day. I''ve learned over this tumultuous 9 weeks that Rails is a fantastic framework and Ruby is a fantastic language. I''ve learned that others out there believe the same thing and that many of you who have helped me, stand by these thoughts. ======================In Closing ====================== Don''t be afraid to learn. Don''t be afraid to help others, especially since you probably needed help at one time too. Be consistent and learn from your mistakes. Take great notes and document your application properly. If you leave your app for 1 year you should be able to come back and understand where everything is and why it''s there. I love Ruby and Rails. I put a "Riding on Rails" link on my site out of tribute to the community and to the framework. I hope you enjoy my site. A lot of positive things are coming out of it already and hopefully this season it takes off. Take care and many blessings. JD. -- Posted via http://www.ruby-forum.com/.
On Thu, Aug 20, 2009 at 7:43 PM, Alpha Blue<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > http://ncaastatpages.comhttp://ncaastatpages.com/tsrs_ratings?name=tsrs You need to add a custom route to get rid of those question marks in the urls. Something like this should work: map.connect ''tsrs-ratings/:name'', :controller => ''tsrs_ratings'', :action => ''index'', :requirements => { :name => /[\w-]+/ }, :name => nil -- Greg Donald http://destiney.com/
Alpha Blue wrote:> Hi all, > > First, this is a longer than normal read but I hope that you get through > it all and can learn from my experiences. > > So, I wanted to talk about my experiences with my first rails project > now that I''ve completed it for the beginning of the football season.[...] Hey, great post! (Although, as you know, your app will probably never be "completed" -- you''ll always be thinking of further improvements.). I''m very impressed with how fast you learned all this stuff, and I''ll have to check out your site. I''m so glad your experience thus far has been so rewarding! Best, -- Marnen Laibow-Koser http://www.marnen.org marnen-sbuyVjPbboAdnm+yROfE0A@public.gmane.org -- Posted via http://www.ruby-forum.com/.
Hi Greg, It was designed that way. I created a page management system so that many of the pages are dynamically driven, not statically driven with routes. Routing is fine with hard controllers but some of my pages have no controllers and are stored directly in the database. -- Posted via http://www.ruby-forum.com/.
Marnen Laibow-Koser wrote:> Hey, great post! (Although, as you know, your app will probably never > be "completed" -- you''ll always be thinking of further improvements.). > I''m very impressed with how fast you learned all this stuff, and I''ll > have to check out your site. I''m so glad your experience thus far has > been so rewarding! >Thanks Marnen, You''ve helped me probably the most out of everyone on the boards. I remember you telling me that I probably bit off more than I could chew. Secretly, when you said that, it drove me to push harder, hehe. So, in a way you gave me the greatest pep talk of all. Your wisdom and advice in a lot of my project creation have been greatly appreciated. -- Posted via http://www.ruby-forum.com/.
On Thu, Aug 20, 2009 at 8:20 PM, Alpha Blue<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> > Hi Greg, > > It was designed that way. I created a page management system so that > many of the pages are dynamically driven, not statically driven with > routes. Routing is fine with hard controllers but some of my pages have > no controllers and are stored directly in the database.What is a "hard controller"? Is that different from a "controller" in some way? I believe I own most every Ruby and Rails book ever published and I''ve never heard of a "hard controller" before. Do tell. I understand the pages are dynamic, the question marks in the URLs make that fairly obvious. Adding the route I posted will make your urls appear to be static while the content remains dynamic. There''s no reason to have any non-seo-friendly urls (question marks or ampersands) on your site when developing with Rails, content being dynamic or static, pages being database driven or other. -- Greg Donald http://destiney.com/
Thanks for the feedback Greg, I''ll look into cleaning up the URLs. -- Posted via http://www.ruby-forum.com/.
Greg, that''s really neat mate. Learned something new and didn''t realize you could do that with dynamic content through routes. My worry was that if I decide to change the routing in page management, I''d have to change the same routing in my routes file, making it more static than dynamic. -- Posted via http://www.ruby-forum.com/.
On Thu, Aug 20, 2009 at 10:02 PM, Alpha Blue<rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> I''d have to > change the same routing in my routes file, making it more static than > dynamic.Is it really that difficult to experiment and see? /me gives up Have a nice site. :) -- Greg Donald http://destiney.com/
Hi Blue Alpha, This is very impressive and encouraging. Just wanted to know which IDE you used? Thanks VJ On Aug 21, 5:43 am, Alpha Blue <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Hi all, > > First, this is a longer than normal read but I hope that you get through > it all and can learn from my experiences. > > So, I wanted to talk about my experiences with my first rails project > now that I''ve completed it for the beginning of the football season. > First, here''s the link: > > http://ncaastatpages.com > > I used to work as a Windows System Administrator for Charles Schwab, > working out of a U.S. Trust regional area before they sold the company > to Bank of America. After the transition, my fiance and I moved to > Plymouth, MA to be closer to her family and I figured finding work would > be easy in Boston or Providence. However, with the market conditions, > finding infrastructure jobs worsened for everyone, including myself. > > So, I had some extra time and I had two hard choices before me. I could > either work on finishing up some certifications, MCSE or CCNA etc. or I > could work on development, a side of life I really enjoy immensely. I > chose the latter. > > I''ve always wanted to learn Ruby and Ruby on Rails is a great framework, > in addition. My former ncaastatpages.com site was solely driven on PHP > and had numerous issues. > > So, approx. 9 weeks ago, knowing absolutely nothing about ruby or ruby > and rails, I purchased 4 books (1-ruby, 2 - rails, and 1 enterprise > rails) and started to read. I took on a new project which included > upgrading my site and getting familiar with all that rails had to offer. > I went through a lot of hoops and hurdles but I''m happy to say that I > learned a great deal from working with the project, and from this > mailing group / boards. > > So many of you have helped me over the past 9 weeks that I feel I''m > sharing a project that''s been touched by many. I really want to thank > those of you who shared your wisdom, your understanding, and your > patience with me. > > ======================> My first baby steps > ======================> > The first thing I did really, was go out and purchase a giant dry eraser > board. I nailed it right next to my computer and started to draw out > diagrams for how everything in my site was currently working. I saw a > lot of huge mistakes right from the start and since I was starting over, > I figured I could -erase- them and begin anew. > > My database wasn''t normalized to 3NF (3rd normal form) and that''s where > I wanted to begin. Making sure that my database was organized properly > was important. I drew out my own schema which changed so many times, I > used up an entire pen drawing and erasing it out. > > ======================> Components > ======================> > I needed to figure out what components I wanted to use with my site. I > knew I needed the following: > > Authentication > Pagination for tables > > I started with just a few things - restful authentication and will > paginate. I quickly realized that I needed more than this but started > to get lost in the shuffle. I needed some hand holding and found that > Ryan Bates'' railscasts site and the Learning Rails site from Michael > Slater and Christopher Haupt helped me out immensely, showing how to > create and manage my site with some baby steps. > > I worked like a mad man, approx. 11 - 13 hours a day every day for 9 > weeks to get my site ready for the season. > > ======================> Hey n00b, yes you.. > ======================> > There were times I felt like a real newbie, even a little embarrassed to > have to ask some questions that might show that my skill with rails was > quite dismal. However, I have a photographic memory and retain > information like a sponge. I learn incredibly fast and no one here made > me feel embarrassed to have asked any question. I want you to know that > if you are new to rails that any question that goes unanswered for you, > will only make things worse. > > Measuring skillsets with rails really comes down to how many questions > you have left to ask. Each day I had at least 100 questions. Today I > can probably count my entire list of questions on two hands. > > ======================> Expand and Test > ======================> > Creating tests was probably at times more difficult than creating my > site. It took me a long time to understand how to build a test criteria > and once I learned it, it became easier and easier. When I first > started, I thought, nope - no testing, not going to do it. It isn''t > necessary because I''m thorough. The more I added to my site the easier > it was to overlook something simple, even with as thorough as I had > been. I couldn''t put it off and so I started to write tests for > everything. > > Lo, and behold, what''s that? Some of your database date columns are > float columns! What''s this? Some of your associations aren''t really > associated.. > > I think you can understand the point I''m making. Testing adds the most > important layer to your application, in that it won''t get tired. It > will not get lazy. If you cannot write a test failure for your code, > then you should find out why and fix that. Don''t be lazy. Make it > work. > > ======================> Seeing the whole picture > ======================> > About a week ago I started to relax a bit. I took a deep breath and > started to look over the whole picture. What had I really accomplished > with my project in the 9 weeks I began to work on it? > > Full Authentication > User Authentication Mailers > Subscription Mailers > News Mailers > Encrypted Payment Gateway with IPN > CMS style in-text editing on dynamic pages > Fully normalized database, indexed, optimized for speed > Full collegiate statistics tables > TSRS Ratings System converted from php to rails > Head-2-Head Virtual Matchups (game comparisons) > Team clubhouse pages > Trends Analysis Support for teams > Flash and non-flash support > Scripting and non-scripting support > Browser testing with all major browsers > .. etc.. etc.. > > ======================> Going to Production > ======================> > My site uses Linux, Apache2, Passenger, Capistrano + Github and my > experience with all of those could be summed up with the following > number (4%). I had about 4% experience with any of those pieces before > I started working with Rails. In 2 months, my experience with all 4 is > now around (75%). > > My site had some hiccups but I fully administrate it on slicehost > myself. I''m the designer, the administrator, the creator of my world. > It''s not that difficult when you figure out that there are IRC channels > out there that can help with everything: > > http://webchat.freenode.net/(hit #RoR for ruby on rails, #Github for > github, #httpd for apache support, #Capistrano for Capistrano support, > #Passenger for passenger support) > > ======================> Humble Confidence > ======================> > I will say with a humble confidence that if you set your mind on a task, > believe in yourself (even if no one else does) you can do great things. > I believe that the harder road is the one that provides the path to > greater wealth and wisdom. If you do things that are easy, you receive > a lesser reward. > > Always have faith and be patient, even in the darker hours when you feel > you are alone and no one is there to catch you as you fall into a dark > abyss. When you get there, step back, get some rest and tomorrow is > another day. > > I''ve learned over this tumultuous 9 weeks that Rails is a fantastic > framework and Ruby is a fantastic language. I''ve learned that others > out there believe the same thing and that many of you who have helped > me, stand by these thoughts. > > ======================> In Closing > ======================> > Don''t be afraid to learn. Don''t be afraid to help others, especially > since you probably needed help at one time too. Be consistent and learn > from your mistakes. Take great notes and document your application > properly. If you leave your app for 1 year you should be able to come > back and understand where everything is and why it''s there. > > I love Ruby and Rails. I put a "Riding on Rails" link on my site out of > tribute to the community and to the framework. I hope you enjoy my > site. A lot of positive things are coming out of it already and > hopefully this season it takes off. > > Take care and many blessings. > > JD. > -- > Posted viahttp://www.ruby-forum.com/.
great post and, although this is a bit cheezy, an inspiration. I wonder if you have done a blog of your travails - something the rest of us could follow (those too embarrassed to ask the dumb questions we would really like to ask but don''t want to make a tit of ourselves in public). Well done.
Your app looks good, but it definitely took more than 9 weeks for a total newbie to get to this state, or you weren''t alone ;-) -- Posted via http://www.ruby-forum.com/.
Fernando Perez wrote:> Your app looks good, but it definitely took more than 9 weeks for a > total newbie to get to this state, or you weren''t alone ;-)Hi Fernando, It took me exactly 9 weeks and I was absolutely alone. When I started the most I knew about Ruby and Ruby on Rails was that it showed up in google. If you''ve followed any of my posts when I first started, it will show. The first book I read, I read all 16 chapters in one day: Ruby From Novice to Professional. What I enjoyed about the book was that I immediately understood the idea of objects and classes. I''m extremely logical and it fit well with the way my brain works. I then started on Foundation Rails 2 which helped me out immensely with how things work with Rails but I soon found it was starting to get a bit outdated and so I went to Agile Rails 3. When I got to Agile Rails 3, I was about 2 weeks into my project. I started to encounter database issues so someone told me I should go read one of the enterprise rails books to learn more about database association with rails. Like I said, I have a photographic memory and soak things up like a sponge. I learn incredibly fast. I already had knowledge of CSS, html, some ajax, and had been working with PHP for about 5 years. I''m an avid programmer in C++, AutoIt, and Actionscript and have been using flash for about 5 years (swishmax2 is my current fun app to work with). I have been designing sites with dreamweaver for awhile now, and used DW CS4 for much of the site templates, transferring the outlines over to rails. If you work hard at things, good things come. Ruby API, Rails API, and many screencasts sites out there help with any problems at hand. If I encountered a specific issue, I simply searched available screencasts sites, watched a few casts and learned something new, played with it, implemented it, and tested it. -- Posted via http://www.ruby-forum.com/.
Vijaykumar S Pawar wrote:> Hi Blue Alpha, > > This is very impressive and encouraging. Just wanted to know which > IDE you used? > > Thanks > VJ > > On Aug 21, 5:43�am, Alpha Blue <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>I started with a simple editor, SciTe, which I customized further for output and wrappings. I''ve been using SciTe with AutoIt for years so I was comfortable with that to start with. But, it wasn''t enough. I went to Netbeans 6.5 and then later upgraded to Netbeans 6.7. NB 6.7 is a fantastic IDE, though some might not like all that it has to offer. Since I program in multiple languages, and use it for more than just ruby and ruby and rails, it works great for me. The newer 6.7 has a special aloha template that looks exactly as Textmate when you include the Monaco font. -- Posted via http://www.ruby-forum.com/.
BenR wrote:> great post and, although this is a bit cheezy, an inspiration. > I wonder if you have done a blog of your travails - something the rest > of us could follow (those too embarrassed to ask the dumb questions we > would really like to ask but don''t want to make a tit of ourselves in > public). > Well done.Hi Ben, I did keep and retain notes throughout everything. I didn''t have a blog site to post on but I plan on doing some screencasts in the future about some of the issues I ran into. I have adobe captivate and have been meaning to try it out. I also bookmarked every site, and organized every bookmark into its proper area. So, I have roughly 200 bookmarks that include links like Tutorials - Rails - HABTM, or Tutorials - Rails - Associations etc. for about 50 of those links. I thought about passing on what things I learned and encountered, or sharing the bookmarks somewhere. I made a new to rails post and put some of what I was learning in there at the time. http://www.ruby-forum.com/topic/191189 Also, I went back to my exact project creation date and I was actually a bit incorrect. It took me exactly 10 weeks, 4 days to finish. When I first started, I thought I had been using it for approx. 6 weeks, but that wasn''t correct. -- Posted via http://www.ruby-forum.com/.
So now, you''re gonna give back to this community, right? Newbs like me could use you. :) -- Posted via http://www.ruby-forum.com/.
Aldric Giacomoni wrote:> So now, you''re gonna give back to this community, right? > Newbs like me could use you. :)Hi Aldric, I usually spend about 90 minutes each day browsing the boards and answering questions that I can answer. But, I''d like to do more. I think screencasts did me more good throughout my learning process over anything. Seeing something being built, hearing words of encouragement from the mentors/teachers as they teach you something went a long way. So, I''d like to do some screencasts. I won''t be as knowledgeable as some, but I can definitely help out people that are starting out. I''m thinking about what areas I want to work with more: Authentication Mailers Payment Gateways Databases All 4 areas I''m very familiar now with rails. I''m even starting to work on my first plugin, a gateway plugin for Boku/Paymo (mobile phone payment system). Let me know and I''ll get to work on it. -- Posted via http://www.ruby-forum.com/.
2009/8/21 Aldric Giacomoni <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>:> > So now, you''re gonna give back to this community, right? > Newbs like me could use you. :)I think AB has already given back a lot and I hope he continues to do so. thanks for that Colin
On Fri, 2009-08-21 at 15:59 +0100, Colin Law wrote:> 2009/8/21 Aldric Giacomoni <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>: > > > > So now, you''re gonna give back to this community, right? > > Newbs like me could use you. :) > > I think AB has already given back a lot and I hope he continues to do so. > > thanks for that+1 Joel, You asked earlier, I think, for suggestions on contributions looking forward. You write well. I''d recommend taking a look at possibly contributing to Rails Guides. Best regards, Bill
Alpha Blue: Nicely done... your post as well as the site. I find your ''cupcake'' notation immensely entertaining. But your stats do not reflect well on my Alma Mater (who shall remain nameless)... please fix or do sumfink! -- Posted via http://www.ruby-forum.com/.
Hi Alpha, great story - and I think by asking questions (I''ve seen a lot of them here) you already contributed to the community. Quite often when I had an issue I just found that you already asked for advice, and it seems like you stumbled first on purpose , so I could walk past the obstacle later. Success with your site - and a big thanks to all the people who supported him - you also supported me and all the other silent readers. On Aug 21, 9:34 pm, Ar Chron <rails-mailing-l...-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote:> Alpha Blue: > > Nicely done... your post as well as the site. I find your ''cupcake'' > notation immensely entertaining. > > But your stats do not reflect well on my Alma Mater (who shall remain > nameless)... please fix or do sumfink! > -- > Posted viahttp://www.ruby-forum.com/.
> Joel, > > You asked earlier, I think, for suggestions on contributions looking > forward. You write well. I''d recommend taking a look at possibly > contributing to Rails Guides. > > Best regards, > BillHi Bill, Thanks mate, I appreciate that. I''m always available to assist with anything community related. I have no problem volunteering my time to help. I''ll take a look into it. Take care. -- Posted via http://www.ruby-forum.com/.
Ar Chron wrote:> Alpha Blue: > > Nicely done... your post as well as the site. I find your ''cupcake'' > notation immensely entertaining. > > But your stats do not reflect well on my Alma Mater (who shall remain > nameless)... please fix or do sumfink!Ar Chron, Luckily those statistics are not 100% accurate. The raw statistics are accurate from last year but the strength ratings are being calculated against this year''s schedule which makes them inaccurate at the moment. This will all change once the season starts and the sandbox data is removed and new data is populated. So, keep your chin up. Perhaps your alma mater will do better once the season progresses. :) -- Posted via http://www.ruby-forum.com/.
Michael (can''t dance...) wrote:> Success with your site - and a big thanks to all the people who > supported him - you also supported me and all the other silent > readers.Michael, I''m glad to hear that I helped you out in some form. I''m never afraid of asking questions. The one thing I regret when posting or seeing other posts, is when someone finds the solution and doesn''t expand upon what they learned. I really try to follow-up with my own posts so that when I encounter a solution or am given a solution, I provide a short summary for the winning response. This way if someone revisits my post at some future date, if they read all of it, they won''t be left short without an answer. I recommend everyone to do the same thing with their own questions. If you receive an answer or solution, mark it as such and provide the final summary for your resolution. Take care mate. :) -- Posted via http://www.ruby-forum.com/.