Setting up your machine for Ruby on Rails development

So you want to learn how to be a programmer. And so you log onto CodeAcademy, crack open a book, or attend a Ruby On Rails class. What most courses fail to do is to help set up your computer for programming.

It’s one thing to write some code into a console and get a response. It’s another thing to view a live site in your browser.

I recently set up my MacBook Air for development. I configured my development environment for Ruby On Rails with PostgreSQL as the database and GIT as the version control.

1. Install Ruby on Rails and component parts.

The best resource was the book, Ruby on Rails Tutorial as it walks through the install steps.

Follow the instructions in Chapter 1 carefully and you should be all set on the Ruby on Rails part.

2. Host your Git repository

You can use GitHub to host your repository, but private projects are not free.

I’m using Dropbox to host my Git repository. I like the Dropbox solution because I can access the repository from any machine I have dropbox installed on without having to worry about any other outside providers.

Follow the instructions by Bradley White

3. Install PostgreSQL

I choose install PostgreSQL because I’m deploying to Heroku and want to develop against the same database that I would eventually deploy to.

Follow this screencast to install and setup.

That should be all. Let me know if you have any questions.

Happy coding.

Learning To Code with CodeYear.com

CodeYear.com is a great idea. They will send you a weekly homework assignment that will teach you how to code. I also like the marketing push to coincide with New Year Resolutions. Sign up if you haven’t already.  I did.

Great idea, but how many people will finish and gain enough skills to actually land a job or launch a successful app?

We all know majority of new years resolutions are never met. I know of only a few reasons most people can successfuly achieve such goals – your life depends on it and/or your career depends on it.

Codeyear is a start in the right direction, but there is a lot more needed than just a tutorial. It needs to create a community support group through forums, meetups, experienced newbies and mentorship.

Augment the codeyear experience by adding taking some additional steps:

1. Set a goal – launch an app or get a job. Keep it simple, a simple CRUD or better yet, a read-only application
2. State it publicly – accountability always helps
3. Get Support – a community to answer questions, guide etc.
4. Get a coding buddy/mentor/partner
5. Fix someone else’s bugs – Coding from scratch is hard. Modifying someone else’s code is a much better starting point.

I don’t know the goals of codeyear, but lots more need to be done to build an app than some javascript. Granted with most shared hosting services, you can get a simple website up and running quickly, but it gets pretty complex with any other functionality beyond HelloWorld. Databases require some understanding of queries, relationships, data integrity, etc. What about version control? GIt vs subversion? What about hosting vs local machine dev?

I doubt many people will stick with the program.  But I want people to make me eat my words. Prove me wrong!!

I’ve signed up for CodeYear and I’m going to seek out a programming mentor, thanks alexkehayias. I “plan” on sticking with it to dust off my development skills and learn some new skills and languages. But life happens …

Hackable business development at Parentville

Parentville.com is a niche product targeted at new parents.  While developing our product and understanding of the market, we’ve recognized the value of syndicating content within a fragmented industry, especially for a start-up.

Partnering with others in a fragmented industry can provide valuable original content for one party and bring more page views for the other party.

There are plenty of existing API opportunities to use content – twitter, amazon, youtube, etc., but the results usually aren’t specific or meaningful enough.

So we’re seeking out partners who can provide us with content that we *think* our users will want to see, and in return we do the same.  Most of these are smaller blogs or websites don’t have formalized content sharing tools.  There is where hackable business development comes in.

If you’re small, you’re venerable, but you can work together and become stronger… like the Power Rangers

Read more thoughts on hackable business development here
http://jonsteinberg.com/post/170568831/hackable-business-development
http://blog.aweissman.com/2009/09/no-business-developement-or-hackable.html