I was just in a meeting at the Evil Day Job where we met with representatives from Author It. Author It is a software suite designed for documentation management and production and I’ve only heard a few rumbles about it before. I’m quite interested by what I heard and saw because it’s based on an object-oriented method of documentation design and reuse which fits in with my programming background. I’m hoping to have a trial version to play with soon so I can report back on what I find out and think.
Ruby Gems can be a little interesting to manage, especially to someone as new to it as I am. In the course of my own self-education, I’ve compiled a little list of what I consider the basic commands. Hopefully this will be of some help to others as well.
Gem Sources
To see which gem servers or repositories your installation of RubyGems is using, open a command prompt and type:
gem sources
The system will return with a list of the repositories and caches Ruby is using to look for gems. In the case of my local system, I got back:
C:\>gem sources
*** CURRENT SOURCES ***
http://gems.rubyforge.org/
Which shows that my system is only looking at RubyForge for its gems right now. This can be useful to know if you get errors that gems cannot be found.
Installing Gems
To install a new gem, you can open a command prompt and type:
gem install gemname
This will install the latest version of the gem gemname from the repository(ies) your local system knows about.
If you have a local copy of the gem and you need to install that particular one, you can open a command prompt, navigate to the directory that contains the local copy and type:
gem install gemname --local
If you need only a particular version of a gem that might not be the latest version you’d get by default, you can open a command prompt and type:
gem install gemname --version #.#.#
This will install version #.#.# of gem gemname.
Uninstalling Gems
Uninstalling a gem can be done by opening a command prompt and typing:
gem uninstall gemname
This will uninstall the gem gemname. If you have more than one version of that gem installed, RubyGems will display a numbered list of the versions and you can enter the number of the version you want to uninstall or choose to uninstall all versions of gem gemname.
Updating Gems
You can update installed gems by opening a command prompt and typing:
gem update gemname
This will update the gem gemname to the latest version in the gem repository RubyGems is pointing to.
Updating the RubyGems System
Sometimes you will need to update the actual RubyGems management system. To do this, open a command prompt and type:
gem update --system
If you are having problems updating your gems or using them, it usually won’t hurt to try to do this update.
Check Gem Dependencies
If you need to know what the dependencies of an installed gem are, you can open a command prompt and type:
gem dependency gemname
This will list the dependencies of the gem gemname.
Gem Help
There is a good amount of help embedded in the RubyGems system. Often you can answer your own questions on how to manipulate your gems using this help. To access the list of commands, open a command prompt and type:
gem help commands
To get help on an individual command, open a command prompt and type:
gem help command
If you want to know where your Ruby installation is looking to do Gem installations, you can enter the following at a command prompt to find out:
gem sources
You’ll get back a message that looks similar to this:
*** CURRENT SOURCES ***
Bulk updating Gem source index for: http://gems.rubyforge.org
http://gems.rubyforge.org
Today marked the last edition of the Rocky Mountain News, a print newspaper that has been in business almost 150 years. While I am saddened by its demise, it does make me ponder the ways technology and society have changed how we receive and seek out information.
For myself, I’m a news junkie. I grew up with parents that received multiple newspapers and I still read the news every day. But I don’t subscribe to or purchase a newspaper. My own experience has been that once I’ve read the paper, I have to make time to recycle it and they clutter up my house (more so than before). I don’t need the hard copy and it’s actually a nuisance.
Instead I read my news online in multiple locations.
The advent of being able to access your news at your leisure and for free as well as different delivery mechanisms like electronic subscription, etc., have changed the way many people I know get their information.
But now the newspaper publishers are faced with a bad economy on top of ever dwindling subscription numbers which, in turn, affect advertising revenue. I’m not sure they will survive even the next decade. It’s sad, indeed, but I’m not sure how they can cope with the changes to society and technology without making changes that may mean electronic only.
We’re on cusp of changes and I mourn the past. But I can only look forward to the future.
There’s a common myth in software QA at the moment that if you hire an SDET and they whip you up some test automation, you’ll have achieved “good” testing. Honestly, I’m not quite sure why this myth still exists. Just common sense says it’s not true.
Test automation is a good thing but should be used with planning and a knowledge of the pros and cons of doing so. If used appropriately, it’s a definite bonus to your test efforts but anyone who judges their test efforts solely by the amount of test automation in place is deceiving themselves.
Developer and Tester Mindsets are Different
Developers have an ingrained mindset that slants toward examining code to see that it does what it is supposed to do. Testers have a slant toward examining code to see what it does that it shouldn’t. This just has to do with how they are trained to operate.
Automation Tends to Not Find New Bugs
Test automation generally finds new bugs only while being written. It can (and is good at) looking for recurrences of bugs already found and fixed but it doesn’t tend to find new bugs after the initial run.
Automation Cannot Judge Esthetics or UIs Well
Testing a UI or web page cannot be done solely with automation. This is because some of the important aspects like appearance, alignment, and visual appeal are either not able to be tested via automation or so very expensive to automate that they just aren’t worth it.
Automated Tests are Only as Good as the Test Case
Writing a bad test case and then automating it still means you have a bad test case – just a more expensive one. Test automation needs to be written by testers who know how to design test cases.
Automation is Expensive to Write and Maintain
Test automation is often very fragile and prone to breaking during changes to the product under test. The costs of writing new automation and maintaining old automation can be prohibitively expensive. So test automation needs to be worth the costs.
I do feel that smart use of automation can improve test efforts but having lines of code is not a way to accurately judge a tester or test effort. Unit tests and BVT tests are good examples of test automation that is worthwhile because it’s reused and run so frequently that it pays off.
Just a note that I’ll be a tad distracted as I job hunt. The big layoff at Microsoft included my position.
Will write or manage projects for food!
I picked up this great tip via Bob Garrett’s pointer to David Petherick’s The Next Web website .
If you are using Twitter’s browser UI, you can get the basic information on another user by typing whois UserName and clicking the Update button. You do need to be logged in to do this but you don’t need the typical ‘@’ symbol before the username.
Twitter will then display the basic information for that user!
Two related commands also available from Twitter’s Browser UI are:
If you decide to follow someone, you can type FOLLOW UserName.
If you want to stop following someone, you can type LEAVE UserName.
Great tip!
With all the resources we have at our fingertips, why does it seem that the first instinct of many people is to request help from other people instead of USING the readily available resources? There really seems to be a chasm between having the resources and actually using the resources.
Yes, I realize that people are also considered “resources,” but there’s a cost to using them that you don’t incur from a web search or a reference book. One cost is the potential for wrong or incomplete information. The other is that you will annoy them at some point if you ask for help too often.
But can you teach someone to be resourceful? When I was growing up, if I asked what a word meant or how to spell it, my parents would hand me the dictionary and tell me to look it up. They gave me a resource and made me always use it before they would give me an answer. Anymore I believe this is truly the first sign of my being a “resourceful” person. I actively look for non-people resources, know where and how to find them and how to use them. In these modern days of internet and search engines, a huge amount of information is right at my fingertips!
But what about those people who didn’t grow up this way? Can they be taught to be resourceful before asking questions? How many times do we think “read the manual” or “google it”? Short of being borderline nasty, it seems to be a losing proposition to remind people the information they seek is found more quickly and certainly more reliably by looking toward non-people resources.
Questions about resourcefulness will forever be a part of my interview process…because I’m not sure you can retroactively teach resourcefulness.







