Skip to content
dbussink edited this page Apr 25, 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
  • 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

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

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?

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.

More ideas for Celluloid are on our wiki

@halorgium will be mentoring.