Skip to content
heaven7 edited this page Apr 24, 2013 · 47 revisions

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
  • scaffolds for projects and tasks
  • make iwyg ready for rails 4
  • extending existing API with RABL
  • moving observers into delayed 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

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.

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
  • help create a new example app for a personal portal site for beginners
  • help create a new example app for a crowdsourced list of Rails resources for beginners

@rails_apps

Rubinius

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?

Rails

Possible goals?

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)

Puma

Possible goals?

Diaspora

Possible goals?

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.