Apr 28, 2013

Updating Ruby, Gem, and Rails versions ...

Hanging out on a beautiful San Francisco Sunday at Hack Reactor.  Been burning hours trying to implement _.last method from underscore library from scratch.  Hours because I suck at JavaScript (definitely learning more Chrome dev tools, though).  Anyway, after banging my head on trying to understand how to implement the _.last on functions, which involves prototype.call chain (I think), I decided to take a little break to upgrade my Ruby on Rails versions which have fallen out of date.

I want to share the links I've used and they worked straight up from command line for me.  With Ruby on Rails (RoR), you'll want to update three areas: Ruby itself, Rails framework, and Gems.
Updating gems

My gem version was 1.8.24, pretty out of date.  Go to http://rubygems.org/.

~$ gem update --system

Ruby (rvm first)
I was running 1.9.3 on Ubuntu.  As it was, I am a Ruby Rookie, so I wasn't using rvm (primarily because when I first started and had installed, I was on Windows and there is no rvm for Windows.

However, on Ubuntu, the following blog post worked well for me.

Since you likely have curl and all that jazz, skip to the bash script and remember to change your .bashrc home name ... as Andrei points out in his blog.

bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)  

You may need to reload:
~$ rvm reload

This does not upgrade me to Ruby 2.0.0.  It does however install the rvm, which will make future version installations easier.  For example, type:

~$ rvm use 2.0.0

and you'll be told "ruby-2.0.0-p0 is not installed."  And then told to do:

~$ rvm install ruby-2.0.0-p0

You may have to update some packages and such, but that should basically get you there.

Rails is a gem, so you want to associate the correct rails version to your gemset.  To select between your installed gemsets, you can use:

~$ rvm gemset list

So, let's say you want to install the latest rails to your gemset called 2.0.3, you could do something like:

~$ rvm gemset create rails4

will create a set you can remember is associated with latest rails.  For more on rvm basics, you can go to the source.

Once you have the up-to-date gems, then Rails is simple:

~$ gem install rails

see bottom lines - run rails --version, ruby --version, gem --version

Apr 26, 2013

I love the Ruby Rookies ...

I love the Ruby Rookies ... that is all!

Test first learning with rspec exercises -
Learning, learning

Euler project algorithm night at Zendesk ...

Learning, learning, pizza!

Apr 6, 2013

Should MBA first-years start meetup groups? Do more, talk less.

MBAs are a favorite punching bag for whiz bang entrepreneurs, especially those too young to have five years of corporate work experience.  Take Dale Stephens, for example.  He young, he's a Thiel fellow, probably brilliant, entrepreneurial and successful.  He's a baller and he knows it.  He wrote an incendiary essay called "A Smart Investor would skip the MBA" featured on WSJ.  Yup - MBA is probably a waste of time and money for him, even though I think MBA teaches some very valuable leadership skills. Of course, there are no end to such debates, and for folks like me who have a top-tier MBA and loved the experience, the debate is irrelevant.

Instead, what would be more relevant is how we close the gap between MBAs and do-it-yourself entrepreneurs.  After all, Stephens notes that networks are invaluable, and I don't see how you can build a Harvard MBA network without getting a Harvard MBA (well, actually, I can see how you can do it, but it would be easier with MBA).  The focus should be on learning and not on warning.  At Harvard, entrepreneurship is now a required first year curriculum course.  What about at Darden, my alma mater?  I am sure the classes are great, but I want to specifically address a common complaint within class walls - too much talk, not enough action.  This mirrors a common mantra among startups and entrepreneurs: talk less, do more.  So I have a suggestion.  First years, take those classes, and read and talk about those cases.  And also, start a meetup group.

gratuitously provocative and probably infringing some copyright

Yes, start a meetup group. Instead of some silly simulation on a laptop, try a live, human capital building, meetup group - like this Product Lovers group my friend started.  Here's what a meetup group would teach a MBA who was not already an entrepreneur coming into a program.

For starters, what could a MBA frosh do via meetups?  Well, lot of my classmates loved volunteering at the Humane Society.  That's a meetup.  What about workouts?  Meetup.  Networking while on long-runs?  Meetup.  Raise funds for local children's group?  You guessed it.  How about ski enthusiasts ... you get the idea.  It's fun, it generates human capital, and is a good hands-on learning with many positive externalities.
  1. Pragmatism - It forces the team (learning group) to focus on real issues in the world of practical affairs.  Meetups are geared toward real human beings.  By its very nature, it affects something of practical impact to people.
  2. Segmentation - Did you find that market segmentation case a bit abstract?  You will find it less so when the rubber hits the road.  You will need to figure out what problem you are solving and make best initial guesses about who will resonate the most with your messaging.  You will then iterate and fine tune your target audience.  And you have to figure out how to reach them.  It is a good exercise in both marketing and management communications.
  3. Leadership - Meetups (done right) will lead to building goodwill in the community.  In other words, you can strategize all you want inside the board room or inside the learning room.  No one in the surrounding city will know about it nor will anyone care.  If MBA programs are such a concentration of talented and intelligent people (as we were often told in self-congratulatory manner), why shouldn't these gems of human beings be shared with the surrounding community?  Mind is a terrible thing to waste, right?  Let's be doers and build some human capital, people!
  4. Measurement - Paul Graham (affectionately known as PG) writes in his essay "How to Make Wealth" that you need two things to make crap-tons of money.  Measurement and leverage.  Problem with class and grades is, that you either lack measurement or leverage.  Simulation is cool, and Socratic methods are cool, but how do you measure if it was successful?  Will grades do?  I think not.  Instead, try a meetup.  The measurement becomes very simple - how many members have you signed up.  It's cold, hard, bottom line.  And what comes with growing membership?  Leverage.  Your messages or events reach a wider audience.  You're fast on your way to building wealth.
  5. Fun & Trust - Which do you think will create a great bond among the team members and between the school and the community ... MBAs doing abstract case work or real events that gather people together and help each other learn, or do something fun, or eat together, or whatever - anything that's people to people?  Plus, it's heck of a challenge and hella fun!
There you go kids.  It doesn't cost much to set up.  Get out there and start your own meetup today!

Fun meetup we had back in Feb - where so many people learned: it's a feel good