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.

thegongshow:

Google is launching a new product to make it easy to run consumer survey-based research.  This short video explains the product concisely.

It’s now cheaper and faster than ever to test your startup ideas before you over-commit to a half-baked idea.

For example, if you’re building a new music player to compete with the iPod, run a quick survey to figure out what brand of music players your target demographic already owns.  You don’t need too many participants to make statistically significant extrapolations, so you can get your answer for five bucks.

I previously used Mechanical Turk to get this kind of instant feedback on theses I was forming (for example, I used MTurk in due diligence on a Smart TV platform), but I think going forward I’ll use this Google product instead.  My problem with MTurk is that I didn’t like the sample pool… i felt like all my answers were coming from random computer farms in third-world countries.

If you do use Google’s Consumer Survey product, let me know what you think.

Why is the internet getting so messy?

Call me old fashioned, but I like clean lines, white space and nice typography. But recently, Pinterest’s success has spawned a new layout for images.

I like this from Flickr.com. It’s easy to scan and take in the content without getting lost.

It works great for Svpply.com

I’m just overwhelmed by Pinterest. My eyes are all over the place trying to view each image and they’re getting tired.

Getting a job in VC

Without fail, I get at least one email a week asking about how to break into VC. I will give my short answer, and then point you to some other posts with great answers and advice, much better than mine.

There are two common paths to becoming a VC:

  1. You worked in the startup space
  2. You have transactional experience as a banker

Some other common traits:

  • Have a network of entrepreneurs and VCs/lawyers/bankers
  • Strong interest in working with startups.

Most of all… you have to be Lucky. There aren’t many openings, so you have to be there at the right time and place.

Other Posts: (will add as I come across others)

padbury:

“And suddenly, I looked at the bull. He had this innocence that all animals have in their eyes, and he looked at me with this pleading. It was like a cry for justice, deep down inside of me. I describe it as being like a prayer – because if one confesses, it is hoped, that one is forgiven. I felt like the worst shit on earth.”

This photo shows the collapse of Torrero Alvaro Munera, as he realized in the middle of the his last fight… the injustice to the animal. From that day forward he became an opponent of bullfights.

Update: I’m not the original author of this. I saw it reposted on Facebook and posted it over here (which is why the entirety of it is in quotes). It turns out this story isn’t entirely true. According to Wikipedia he became paraplegic after a bull threw him into the air, and he broke his vertebrae upon landing.

Even though it doesn’t seem to be a picture of Munera, the image is quite striking.

Wikipedia – Alvaro Múnera (Google Translate)


My thoughts on Reid Hoffman's The Start-up of You

I received a copy of Reid Hoffman’s The Start-up of You at SXSW and read it on the flight back home.

Interestingly, my blog is called Perpetually in Beta, which is the what the book stresses – always be changing. The book challenges the reader to don’t become complacent and always be improving.

Overall it’s a good book and a worthwhile read. The world is ever changing, so we need to be ready to adopt and change with it.

Complaints

Too many references to tech startup stories. Most of the general population won’t care about how Dropbox made it. I think they would more interested to hear about how a 30-something was able to change careers.

LinkedIn was touted as the tool to solve your problems. While LinkedIn is valuable, real skills learning is how you change, not networking.

Here are my tips to achieve “permanent beta”

  • Network locally – While it’s great to network with people you aspire to become, it is also useful to network with those around you. I learned a lot about retail buying from my neighbor. It helps me think about ecommerce investments. I chat with my college buddies about their careers. One does internal corporate communications, and the topic came up with a prospective investment. Everyone has information that will be helpful to you in one way or another. You just have to be open an receptive.
  • Learn – Focusing on your interests is dumb. The interests of most people don’t translate to their careers – fashion, entertainment, auto, etc. So learn something that will further your career and life.
  • Read a book about financial planning. Boring!!!! But that’s what you need to plan for your future.
  • Learn how to develop an excel model. Boring!!! But that’s how you’ll impress the boss when you understand the tradeoffs of an operational or financial decision.
  • Learn to code. This is the by far the most ambitious goal one can have. It’s not easy to learn to code, but it will give you the most benefit. Code can be anything from Excel VBA to Python to Javascript. I once had to run a weekly report by pulling data from several spreadsheets into one, I wrote some VBA and saved by self 2 hours a week. Not huge, but it was something I didn’t have to worry about anymore.

Random Stuff: What HootSuite has taught me about freemium SaaS

Random Stuff: What HootSuite has taught me about freemium SaaS

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 …