BCF User Tools

Tools, to help users to improve their experience with the BCF infrastructure.

Motivation

BCF admins have a hard live. Their user's don't keep their $HOMES and other working places clean. It appears that some users don't know that they use too much space in their home or don't clean used directories on cluster (or other) machines. This tools helps users find unused and unwanted directories, which could make BCF admins happier.

Build status

Build status of continous integration

TODO: insert batches

Installation

use bundler to install this gem

$ ./bin/setup

or

$ bundle install

Tests

We use cucumber and rspec for testing purposes, so run:

bundle exec cucumber features/

and

bundle exec rspec spec/

Additionally, we provided a guard file for local continous testing

bundle exec guard

Usage

The BCF User Tool (but) uses plain english for its commands

If you ask yourself if you messed up your home

  • Admin: People are messy with their homes
  • You:
$ but how messy am I?

If you ask yourself if you messed up directories somewhere in the system

  • Admin: people don't clean up working directories on /var/scratch
  • You
$ but I cleaned /var/scratch

How to contribute?

Not sure right now. Just ask the project's owner

Evil scripts

home dump

Script for checking $HOME usage

check_var_scratch.sh

Script for checking /var/scratch/

FAQ

Q: Ich muss ständig mein Passwort eingeben.
A: Dann musst du nochmal dein SSH Schlüssel hochladen.

Things to Add

Development

After checking out the repo, run bin/setup to install dependencies. Then, run rake spec to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.

To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.

Benchmarking and Profiling

Benchmarking

Each subcommand can be benchmarked by

### Garbage collector enabled
but command subcommand --measure --gc

#or

### Garbage collector disabled
but command subcommand --measure --nogc

Profiling

Each subcommand can be profiled using ruby prof

but command --profile <MEASURING METHOD>

where possible options are

but command --profile WALL_TIME
but command --profile PROCESS_TIME
but command --profile ALLOCATIONS
but command --profile MEMORY

Contributing

Bug reports and pull requests are welcome on GitLab at https://git.computational.bio.uni-giessen.de/rmueller/bcf_user_tools. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.

License

The gem is available as open source under the terms of the MIT License.

Code of Conduct

Everyone interacting in the But project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.