I’m about a month overdue on this, but I have to take a moment and outline the many changes I’ve made in the last month. First, I changed jobs. For the last two years I worked with Jeevan Nomula over at GCA in New Tampa, FL. We were a group of about 10 contractors working for Intercontinental Hotels based out of Atlanta. I served as a Team Lead and Designer for a Java ESB for the company’s reservation and availability apis. It was a great team to work with and Jeevan was a fantastic boss. But as you may know from following my blog, I have really fallen in love with Rails over the last year, and I really wanted to spend some time working in that full time, so I took a new position with Interactive Media Marketing. They are based five minutes from my house and develop Miley Cyrus’s official web site and fan club.
If you create a lot of Rails sites like I do, for odds and ends information tracking, or to try out new ideas, setting up your Rails application each time can be a pain, as Nicolas points out in his post, Creating a new rails app shouldn’t be boring. Though I would point out that its only boring because as Rails developers we expect to get so much done so quickly. Eventually, Rails developers want to automate everything, because we know we can, and we expect to never have to do by hand anything redundant anymore.
So creating your Rails app, configuring it and installing your favorite plugins is no exception. Nicolas shows his solution to creating a script to build his Rails apps skeletons. I plan on doing this as soon as I have some free time. I love the idea of running one script and having a skeleton app checked into source control and deployed out on to my slice in minutes. No overhead. Have an idea and five minutes later I’m coding.
In case anyone is still wondering if Rails will catch on. Check out Obie’s list of Big Name Companies Using Ruby on Rails.
As web developers we know all to well the challenges of getting our web sites to look and function the same across browsers. I use Browsershots to grab visual snapshots of a page in multiple browsers, but this doesn’t help test functionality, or view a screen that occurs after a user has caused an event.
There’s no getting around needing to test in multiple browsers. Thankfully, you can do this on your computer fairly easily. I am currently able to test, on my MacBook Pro, with the following browsers:
- Firefox 2 and 3 on Win and Mac
- Safari on Win and Mac
- IE 5.5, 6 and 7 on Win
This gives me a good percentage of the browsers in use out there. I do my Windows testing by running VMWare Fusion, and installing IE 5.5 – 7, Firefox and Safari on there.
You’ll need a little help with running multiple Internet Explorer versions and Firefox versions.
Running Multiple Internet Explorers
To run multiple version of Internet Explorers there is a nice installer to help you out. I upgraded my IE to 7, and then ran this installer, which can install any IEs you want from 3 to 6.
Running Firefox 2 and 3
Chu Yeow has posted a nice tutorial on running Firefox 2 and 3. You first need to create a new Firefox profile to ensure that when you run Firefox 3 it doesn’t overwrite your default profile. The mozilla web site has some information on Managing Your Firefox Profiles. Now you can download and install Firefox three and follow Chu’s instructions for running it. If you are on a Mac, Andy Croll describes how to use AppleScript for easy launching.
Now you have no excuse for not testing in multiple browsers. Happy testing!
For years I’ve questioned the stubbornness with which companies cling to the Industrial Age’s workplace environment and management strategies. In an age of new technology, new work skills, and a new desire by employees for an opportunity to go beyond being simple workers, to creative influences with input and ownership of their projects, so many companies and managers continue to treat their employees like expendable resources that can be burned down to ash and simply replaced with a new job posting. As well, work environments are stale, don’t inspire creativity, and fail to treat the workers as responsible adults (which, by the way, inspires them to trust you and perform at a higher level).
Two articles were published this week on these topics. First, from Robert Dempsey of Rails for All and Atlantic Dominion Solutions, with his article The Changing Role of Managers, in which he discusses how his role as Project Manager has evolved through trial and error, and describes his main role as PM with these words:
The main role of the scrum master [project manager] is to remove impediments that hold back the development team from being productive. Impediments might be lack of tools or clients taking a long time to respond. The scrum master also ensures that there is as little outside interference as possible.
He goes on to say that the manager’s role is that of leader, and that trust is a major element in team success. He provides a list of books he read as well on the topic.
In the second article, from Jason at 37signals, titled, Workplace Experiments, he discusses some of the new benefits they are experimenting with to keep their team fresh and happy, and thus in the end, far more productive than the teams that work away their lives (not to mention cutting down on the high hidden cost of employee turnover). 37signals is experimenting with:
- four day work weeks
- helping pay for their employees to learn new things and expand themselves; everything from learning to fly to learning to cook
- credit cards for discretionary spending (books, conferences, software)
Not all experiments may work, nor be affordable forever, but I loudly applaud the effort to shake things up, treat the employees like you really value, respect and trust them, and make an effort to look for new ways to enrich their lives and help them fulfill their passions.
How we spend our days is, of course, how we spend our lives.
~ Annie Dillard