Skip to content
Matt.Murd●ch edited this page Jun 12, 2013 · 47 revisions

RailsGirls rails generator

In the beginners workshop students would use that generator to bootstrap their first Rails app. Instead of adding all the json responding stuff to controllers etc. it would instead add comments to routes, controllers, models and views. Like a mini-inline tutorial that explains things briefly and gives pointers to guides or other resources.

Rails

Conductor: web-based assistant for development

Conductor is a Web-UI for assisting in the development of rails apps. We want to edit code, run tests, run generators, manage databases and gems, show annotations and statistics and read documentation using it. Check the sidebar of conductor in this screenshot to see a quick list of the components that we want to enable.

Early versions of DHH's conductor gem can be used as starting point for this idea. The idea has been explored also by Akira Matsuda with the hocus_pocus gem. This is in Rails core wish-list since forever and we expect to have it merged for Rails 4.1 release.

@guilleiguaran

Demo client for the Species+ API

At UNEP-WCMC we are developing the new open-source platform for monitoring the trade of endangered species. This resource is used by countries worldwide to inform their policies on trading things like ivory, crocodile skins and hardwoods from Indonesia . The new incarnation of the system will come with an API, which will be used by governments to update their national systems. However, because this way of sharing information is new, a sample API client and guidelines on integration would be a great asset. We believe it would be a good opportunity for the participant(s) to learn about resource-oriented architectures

Project description

@agnessa

Bundler

Bundler is the Ruby application dependency manager. It helps developers track the gems that their ruby application needs to run, so that the exact gems (and versions) that the application needs can always be installed with a single command.

Bundler is actively recruiting volunteers for help with a wide range of tasks, including writing documentation, handling support requests, fixing bugs, and implementing new features that will make installing gems easier and faster for everyone who uses Ruby. Everyone on the Bundler core team (@indirect, @hone, and @jlsuttles) has coached or helped organize for RailsGirls, and cares a lot about helping people get started with Ruby. Anyone who is interested in helping out can contact one of us (Twitter or email is probably best), and we can help you get started. We'd love to pair with you!

Sinatra

Super secret Sinatra 2.0 projects
  • Turn test suit from Test Unit into RSpec
  • Work on Sinatra 2.0 features (streaming, routing, templates, extensions)
  • Revamp website
  • Translating documents (esp if you speak Japanese!) - this only works if we have new docs by then, which we probably won't
General projects
  • Screen Casts on different aspects of Sinatra (including general introduction)
  • Sinatra demo apps with documentation
  • Try Sinatra (Try Ruby style Sinatra in your browser)

Shoes

Building shoes with SWT is quite different from building web applications, students would need good mentoring for contributions I believe. We have enough goals though as quite some parts of the DSL are not implemented yet. Oh and if you're interested in more have a look at the shoes website.

Another goal that I could envision is helping to polish the docs in the process, having a beginner around may greatly help with this.

@PragTob

HacketyHack

The good old HacketyHack website deserves some love :-)

There a lot of feature requests and certainly quite some more we can think of. It is a Rails website, running in production and it is built to help beginners. So I believe it might be the perfect project ;-)

Work on the hackety app itself might also be appreciated and there is a lot to learn there. However with the current state of shoes3 it might be cumbersome.

@PragTob, @nuclearsandwich is also willing to help out here.

RailsApps

The RailsApps project provides open source Rails example applications that help learners to close the gap between Ruby on Rails introductions for beginners and the piecemeal advice found on experts’ blogs. The example applications are popular, both among learners and intermediate-level developers who use the example applications as starter apps. There are eight example applications, all written for Rails 3.2, covering topics such as integrating authentication (Devise), authorization (CanCan), testing (RSpec and Cucumber), NoSQL (Mongoid), payments (Stripe), and subdomains. Several tasks are available for one or more Summer Coders:

  • convert one or more of the example applications from Rails 3.2 to Rails 4.0
  • work on a new example app for beginners: crowdsourced directory of Rails resources
  • work on a new example app for beginners: personal portal site
  • work on a "virtual hackathon" app: a collaboration tool for open source projects

Contact Daniel Kehoe @rails_apps [email protected] (@PragTob also knows about the crowdsourced directory of Rails resources)

Rubinius

Rubinius is an implementation of Ruby. So it's actually a piece of software you can use to run for example a Rails app. Working on this may sound intimidating, but we really want to dispel this myth. A lot of areas in Rubinius can benefit from people contributing to it and have a low barrier to enter.

As anecdotal experience, I'd like to mention that the compiler construction course I took at university was a great learning experience in to how programming languages work. It seems like a daunting task up front to make your own programming language. The thing however that I remember most is that it turned out not to be so hard and it was a fun experience. It also taught me a lot about how programming languages work and what really happens when your write your code.

So I'd like to conclude that yes, there are hard parts in Rubinius, but there are also a lot of places where people with just a little experience can do great things. Having your own programming language work and see it do something is a great and empowering experience, no matter how little the language may be. So please don't think this is all too hard, because you can do more than you think!

Tooling

What does a developer do when they notice their Rails application is too slow? Or when it uses too much memory? They need ways to profile and visualize what is going on. They need good tooling.

It would be great to get some love for some tooling around Rubinius. Right now there's for example https://github.com/evanphx/heap_dump which allows for analysis a memory dump of Rubinius. It would be really nice to have a better version of this and improve it. Right now the tool basically counts object types, so you can see how much Strings you have for example. The heap dump though provides a lot more information, which we would love to make more insightful for Rubinius users..

Ideas are graphical exploration, so you can go through it like a graph and see what objects are alive in your Ruby process. This actually is a pretty well isolated part of the system and would touch upon a number of topics that I think a certainly interesting and doable for the students. Graph walking, presenting the results in a useful way etc. It would provide a great learning experience in how relationships between objects work and how certain things work under the hood.

Another tooling improvement would be working with the numbers from the Rubinius profiler. Right now it allows for outputting profile data to be saved to JSON, and should be loadable with the ruby-prof interface. It would be nice to improve this and have a nice graphical interface for this profiling data so people can explore the performance of their Ruby code.

Another idea is setting up a speed center, something like speed.pypy.org but targeted at Ruby benchmarks. This of course can include other implementations except Rubinius, such as MRI, JRuby etc.

Creating a programming language

Rubinius is not only designed to run Ruby -- but it also makes it easy to implement your own programming language on top of it. Its language-agnostic Virtual Machine and modular compiler architecture help you develop virtually any programming language by only writing Ruby.

Implementing your own programming language on Rubinius would be a full stack experience to learn deeply interesting stuff ranging from parsing to code generation. And all in Ruby!

@dbussink, @evanphx, @txus

Possible goals?

Puma

Possible goals?

Diaspora

http://diasporaproject.org/
https://github.com/diaspora/diaspora
The open source, community driven, decentralized social network runs on Rails and lags features that match all skill levels.

Beginners

  • Include gravatar option for users to display their pics
  • Improve on private conversations
  • Implement albums for user images

More advanced

  • Work on the admin panel
  • RESTful API
  • help with improving federation

And there is also the documentation be written, introduction videos to be recorded and the new official project page (running on Drupal) could need some attention. And there are a lot of issues reported on github. Some community members/ contributors have expressed interest in mentoring and/or coaching. contact through Lisa Passing

Nanoc

Possible goals?

http://nanoc.ws/ - an open source ruby static site generator that can be used to build anything from a small blog to a large corporate website. Managed by Denis Defreyne https://github.com/ddfreyne

Celluloid

One amazing idea would be to help make a visualization of Celluloid and DCell as is described done in Causeway. Part of the problem in any complex system is being able to discover what happened and why it happened.

More ideas for Celluloid are on our wiki

@halorgium will be mentoring.

iwyg

The iwyg project aims to share resources just to please yourself and others.

Possible tasks for the RailsGirls team would be:

  • Help in writing documentation
  • Get iwyg running in different OS's
  • Writing tests, benchmarking
  • Meteor.js integration
  • Omniauth integration
  • How you would build projects and tasks inside iwyg?
  • Make iwyg ready for Rails 4
  • Extending existing API with RABL
  • API-Documentation
  • moving observers-work into background jobs
  • your ideas

Since this project is in the very beginning you also can suggest improvements or own planning.

http://www.iwyg.net https://github.com/heaven7/iwyg

PageOneX:

At the Center for Civic media we are developing PageOneX. It's an open source Rails based tool that makes it easy to track, code, and visualize major news stories based on the proportion of newspaper front pages that they take up. It's a useful tool for researchers, advocacy groups, and anyone interested in better understanding the media ecosystem.

In the past, this approach involved obtaining copies of newspapers, measurement by hand (with a physical ruler), and manual input of measurements into a spreadsheet or database, followed by calculation and analysis. Some of these steps can now be automated, while others can be simplified; some can be easily shared by distributed teams of investigators working with a common dataset hosted online.

We have just released the beta version and have many lines of work opened.

@pageonex and @numeroteca

Voluntary

Not sure if it's a candidate for FailCon respectively if it's legal (patent trolls and privacy) and ever will host a large crowd along the donated "Wikipedia path" but it's supposed to be a Rails engine for Rails applications about bootstrapping a global crowdsourcing product or plattform with multiple products and connect plattforms with each other through a future API.

It's like MediaWiki but for multiple crowdsourcing products like Amazon Mechanical Turk does with the challenge about not becoming monolithic.

Volontari.at (future Voluntary.Services) is a demo crowdsourcing plattform with currently 2 crowdsourcing products (base product and voluntary_text_creation) and 1 in progress (voluntary_ranking) using the [http://rubygems.org/gems/voluntary](voluntary gem).

"voluntary_" products are Rails Engines which can be plugged in your voluntary based Rails applications and are customizable.

Core projects

  • qualification for tasks
  • API

New "immovating" crowdsourcing products

  • voluntary_translation: support all ways of crowdsourced translation from entering a sheet over LocaleApp.com up to a [http://translate.twitter.com](Twitter Translation Center)
  • voluntary_survey: modeled after the orphan ? ThunderSurvey.com project
  • voluntary_event_management: a case study for instance is Lotsen-Project.de
  • voluntary_disaster_assistance: a case study for instance is http://hochwasser.piratenpartei-bayern.de/
  • voluntary_map: annotate maps for wide use cases about geo located services
  • voluntary_brainstorming: extension for voluntary_ranking to support brainstorming about pro & contra of statements to result in comparisons
  • voluntary_feedback like GetSatisfaction over up to voluntary_proposition like LiquidFeedback
  • voluntary_code_review: code reviews and mentoring / coaching requests
  • voluntary_toolbox: like Ruby Toolbox but agnostic
  • ... to name only a few ;-)