Giter Club home page Giter Club logo

biogems.info's People

Contributors

evertree avatar ggklf avatar hainesr avatar ismailm avatar kimjbaran avatar mamarjan avatar michaelbarton avatar mjy avatar pjotrp avatar rjpbonnal avatar robsyme avatar sheerun avatar wstrinz avatar yeban avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

biogems.info's Issues

undefined method `ivars'

Running

bundle exec ./create_website.sh --test

Fails during list-bio.rb because of errors of the form:

method_missing': undefined method `ivars' for #<Gem::Specification name=bio-logger version=1.0.1>

The script retrieves the gem spec with bundle exec gem specification -r #{name} and then loads it into YAML. The result looks like:

Gem::Specification.new do |s|
    s.authors = ["Pjotr Prins"]
    s.date = Time.utc(2012, 4, 2)
    s.dependencies = [Gem::Dependency.new("log4r",
      Gem::Requirement.new([">= 1.1.9"]),
      :runtime),
     Gem::Dependency.new("jeweler",
      Gem::Requirement.new([">= 0"]),
      :development),
     Gem::Dependency.new("shoulda",
      Gem::Requirement.new([">= 0"]),
      :development),
     Gem::Dependency.new("bundler",
      Gem::Requirement.new([">= 0"]),
      :development),
     Gem::Dependency.new("rspec",
      Gem::Requirement.new([">= 2.3.0"]),
      :development),
     Gem::Dependency.new("rdoc",
      Gem::Requirement.new([">= 3.12"]),
      :development)]
    s.description = "Log4r wrapper for BioRuby"
    s.email = "[email protected]"
    s.homepage = "https://github.com/pjotrp/bioruby-logger-plugin"
    s.name = "bio-logger"
    s.require_paths = ["lib"]
    s.rubygems_version = "1.8.23"
    s.specification_version = 3
    s.summary = "Log4r wrapper with extra features for roles and sane error handling"
    s.version = Gem::Version.new("1.0.1")
  end

In list-bio.rb, the ivars method is called on the Gem::Specification instance, but I don't think there is an ivars method. See https://gist.github.com/robsyme/5429320 to replicate.

Website Improvements (Two related points)

On website: http://www.biogems.info/

Looks ok. I have two suggestions though:

  • A way for the user to get information about the "date" of the listed gems, or perhaps a "last update" entry.

As a user, I want to know whether a project has the last update in 2005 or in 2011 (2005 sounds like an inactive project, 2011 sounds still active)

This way, a user can find out how old a given project is.

  • A second feature, related to that, would be to "sort by date" functionality on that webpage.

For instance, I would like to look at "what is new here" and immediately look at the latest entry.

To get an idea what I mean with this, look at:

http://rubyforge.org/

You will instantly see which project was updated last.

So perhaps, if the above is too much work, issue a SHORT and SIMPLE news feedback on that website.
Like "3 last updated projects".

Keep it small and simple. :)

Edit: GREAT THANKS!

Github commits not always listed

In the fetch from github routine, not all projects are updated. Errors are ignored, but the result is that boxes are not filled. This can be seen every day.

Color biogem name field

Based on the combined activities in the other columns, we can calculate a single activity value for each project, and color that too.

Sometimes SSL bombs out

Not sure what it is, and it does not happen all the time (so it must be related to timeouts)

/home/wrk/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openssl/buffering.rb:145:in sysread_no nblock': end of file reached (EOFError) (...) from /export/local/users/wrk/opt/ruby/biogems.info/lib/biogems/http.rb:31:inget_https_body' from ./bin/fetch-geminfo.rb:116:in `get_github_commit_stats'

Here it is suggested that it has to do with Ruby 1.9.2

http://stackoverflow.com/questions/12387645/eoferror-end-of-file-reached-on-heroku-while-posting-utf-8-via-ssl

Connection caching

From what I can tell, the methods in http.rb open a new connection each time they're used. That means for example that for each of the 100+ requests to GitHub API, a new connection is made.

Using some kind of cache (probably just a hash of open connections per method (http/https), with the host names being keys), should speed up site generation considerably.

Adapt stars

*** >30 stargazes
** >15 stargazers

  • 5 stargazers

Screen width issues

I'm usually working on my small 13.3" laptop. The website looks a bit problematic at that screen size. To recreate - just resize your browser window. The feed on the right then hides the rightmost columns.

From my point of view, the solution would be to decide which columns are least important, and hide them first as the table width shrinks. And then make it possible to choose which columns to show.

Currently I'm not sure if the website can handle any new columns - I expect that in the future there will be more.

Another addition would be to make each row clickable (or something similar), and when a user clicks on it, the row would expand downwards and show all gem data, and maybe some additional data for which now there would be enough space.

Pjotr, am I making any sense? Was the width of the table/page ever an issue for you?

The map

Ben moved to Brisbane. Some locations are screwed up (Zuhao in the Congo?)

Fix download stats

Rubygems is not giving last 90d stats any longer - still should work according to API docs.

It confuses the arrows on the left.

downloads: 7d => total

In the header row of both biogems and rubygems it says

7d      90d*)   7d      90d**)
    downloads   commits 

But isn't the first column total downloads, not 7d downloads? That is what it says down the bottom, and there can't be more downloads in the last 7 days than in the previous 90, right? 7d commits makes more sense

Color DL columns for activity

We would like to color the DL columns for activity. Here we should not just use the DL number, but a delta, as I did for calculation the arrows. Wat is interesting is not the pure DL rate, but the difference over a period. What needs to be done is to sort both total DL and 90-d DL lists, and create a color gradient based on the difference. We can use the same color for both boxes for each biogem. How is that for an idea?

SEO optimization

ruby bio
ruby biology

These two queries in Google I believe should show the link to biogems.info on the first page of results. Probably as the second link after bioruby.org.

But that is not the case when I run the search. It's not even in the first 10 pages of results.

When searching for "ruby bioinformatics", it's a bit better - currently place 8 of 10 on the first page for me.

Adding a meta tag to the head of the page would probably help a lot.

Scrape github issues for labels and generate task list

We want to generate a page that lists all outstanding issues for different github
projects that have labels 'newbie', 'intermediate' and 'experienced' and display
them on a page with the project name and the task subject, linked to the issue. Ideally the script is separate and generates YAML output. The page is generated from the YAML. See the other biogems.info scripts for examples.

byPopularity yields way too many objects

It's absolutely impossible to remember in which order they are yielded.

You know, it's funny to see in commit history how the number of objects steadily rose from 2 up to 23 :)

Persistent DB

Would be good to have some persistent storage - for when some services fail to update a few days.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.