Showing posts with label Ruby. Show all posts
Showing posts with label Ruby. Show all posts

Oct 10, 2013

day5 - beef jerky, culture, and why performance reviews are toxic

Reflections on beef jerky day - feeling like my colleague was a jerk

I'll just share the video I recorded at the end of the day. I basically felt like there was some gap in the engagement and accountability in the team.  You can tell I'm a bit pissed off in the video.



We are delusional as people

So almost immediately after recording, and feeling discouraged about lagging engagement, and thinking back on the day, I had a realization.  It's interesting the two of us incorrectly perceived our contribution and role in the team. Who was who's apprentice?

And we're just freaking two people! We are delusional.

Good intention to help people not be delusional
I can now better appreciate why organizations create measurements and performance reviews - so as to check members from becoming 'delusional.' For example, if my manager and I agree that I was a 4 out of 5, and have it on paper, then I can't come back and say 'but I delivered more revenues than he/she who also has a 4 rating!'

Performance reviews are used to avoid perception of unfairness.

But it's wrong
While I can now appreciate first-hand the organizational leadership's position in defaulting to performance reviews, I also believe that it is the wrong step to take.

What you really want are individuals to become more self-reflective, self-aware, and self-sufficient. You can't enlighten people by banging them on the head with 360 reviews. That only makes them less engaged and bitter and resentful. It is a sure sign of distrust at a deep level among the team members. Instead, focus on dialogue and communicate your grievances.

Instead, focus on dialogue and communicate your thoughts. Support each other and help the counter-party see the reality. Difficulty conversations aren't supposed to be done through mind-numbing written performance reviews using sanitized words. (Didn't you always love that guy who had no filter in his mouth and said whatever the hell came to his mind?)

Talk to each other. Know that hard is good.

Yet there's a tension
I can also appreciate the tension present here. It is the tension between having great people, and being able to scale growth. If you had to hand-pick and cultivate great people one by one, you might spend too much time recruiting for the team.

How are you resolving this tension in your organization?

Learning by doing

To see what this overall project is about, see the original 12appyDays entry.

Today was project 5 - a skeleton eCommerce site for beef jerkys.  On the previous day, we built a simple and simplistic site using google map api to show the path back to the car. And on the prior day (project 3 pickr), I wrote about the experience of how knowing what's hard is ... hard.

And I'm learning so much, because I am building. Lot more so than I could by thinking and reading. 

Aug 24, 2013

Confusion around upgrading ruby using rvm ...

Confusion around upgrading ruby

I have three ruby versions running. For an old open source project, I use ruby 1.8. For many rails tutorials or recent apps, it is ruby 1.9. The latest is ruby 2.0. The version I ran is an early one - ruby 2.0.0-p0. I wanted to upgrade it. So, using RVM's instructions, I tried upgrading.

http://rvm.io/rubies/upgrading

Basically, I do $ rvm upgrade 1.9.2-p0 1.9.2-pxxx (xxx is version you want to upgrade to)

The command is intended to "migrate gemsets, wrappers, aliases and environment files." It also would remove the 2.0.0-p0 gemset, which I wanted.

Is there a way to isolate single ruby version upgrade?

Thing was once it was done, I couldn't use ruby 1.8 and ruby 1.9 without having to upgrade those versions as well.  Does anyone know how to upgrade a single ruby version in RVM without messing around with the other versions? In the end, I had to upgrade 1.8 and 1.9 as well, which added more needless time to setup upgrade.

Stackoverflow

As you can guess, I looked on stackoverflow, but didn't find a ready answer. Ended up leaving a question: is it possible to isolate 'rvm upgrade' to single ruby version?

Ruby. Gotta love it.

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

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.
http://www.andrehonsberg.com/article/install-rvm-ubuntu-1204-linux-for-ruby-193

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
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!