As a follow up to the GSOC, I've been mentoring several talented high school students from around the world who have been adding many cool new features and functionality to the isitfedoraruby webapp as part of the GCI contest. They have been doing a phenominal job on the site and an update sharing their work is long over due!
- Nico (from Argentina) has deployed the site to openshift, wrote scripts to syncronize the db on a daily basis, automated the production push process (whenever we merge our commits into the 'stable' branch on github, the site automatically gets updated), is working on i18n internationalization support, and much more
- Kendhia (from Algeria) has been working on features involving 'gamification', eg importing the contributors that maintain fedora packages, and displaying that data in visually appealing manners (including badges!)
- Mark (from Honolulu, Hawaii) has been working on adding more visualizations to the site, most notably graphically representing the packages a contributor maintains using d3.js here. Mark also designed a logo for the fedora-ruby sig, which can be seen above.
- Animesh (from New Delhi, India) implemented a timeline of contributions, so we can see a summary of all updates, both on the rubygems side and those in Fedora. He also wrote up and made a screencast of a great guide on how to get a simple hello world rails app up and running on the Fedora/Ruby stack.
We aim to keep driving the site forward, now that we've automated the push and syncronization process, getting new features into production should be very trivial. I'd like to thank the talented students for all their hard work and really look forward to continuing to work with them in the future!
Last January I attended and gave a few presentations at the Fedora Users and Developers Conference in Blacksburg, Virgina. The conference was great, we accomplished alot, and among everything else the Fedora rubys-sig met again to discuss packaging, distro, and other issues. During our discussions and all the work up to that point it became aparent that one of the main areas which the community was in need was on the promotional front, we had already done a slew of work to form a stable Ruby and Gem stack in Fedora with several applications relying on it (bringing some sanity to the mad world of ruby dependencies) but our efforts were going unheard of for a large part, lost in the torrent of other upstream ruby community discussions.
To rectify this, I proposed developing a site similar to isitruby19, the now defunct isitmacruby, and the ruby toolbox. This would provide a simple one-stop shop for ruby developers and users alike, where the current stack in Fedora could be easily viewed and discussed, and cross-referenced with the gem metadata stored at rubygems.org. Unfortunately like so many other ideas, this one was put on the backburner in lieu of more pressing work, but would come up periodically as we discussed various ways to grow the Ruby community.
As luck would have it, Fedora was again selected as one of the sponsored organizations for the google summer of code which I saw as an opportunity to drive this project forward. I wrote up the call for proposals, registered as a mentor, and submitted the document. The project received a few applicants, and I felt that Zuhao was the best fit for it so together we flushed out a plan of attack.
The rest was fairly straightforward. Zuhao did the vast majority of the coding over the summer, I submitted a few patches every once in a while to "rubify" things or to implement a small feature. We formally met via IRC on Fridays, and discussed and designed things via email throughout the week. Around the middle of the summer, we deployed the site on a vm on one of my servers, and as the project continued to evolve, we registered the isitfedoraruby.com domain and pointed it there. The vm just contained a clone of the project's git repo so that the latest updates could be deployed very rapidly and we wouldn't have to worry about packaging for the time being. In the near future we will be bundling everything up into formal releases and pushing the packages into the Fedora and Debian release cycles.
All in all, I'm very pleased with Zuhao's progress and the application has been gaining traction amongst the Fedora / Ruby community. We're looking at and are continuing to expand the metadata that is stored in the application and displaying it in unique ways which can't be viewed elsewhere. Make sure to frequent the site as it continues to evolve!
A few months back I wrote about a few projects which I am mentoring for Fedora as part of the Google Summer of Code '12. Now that the summer is about 1/2 way over, I'm pleased to share the progress on the projects, as well as all the hard work that the students' have put into them.
First off Sammy who is working on an interface to deploy to the cloud via specified deployment criteria has made great headway expanding the central Aeolus API to support hardware profiles and instance management. Sammy has also expanded the command line client and utility to support these new capabilities and will be basing the remainder of the work this summer on using these features to deploy to the cheapest and quickest cloud providers.
Nitesh (who has been graciously volunteering his own time outside the GSoC) has been working on building a graphical (QT based) desktop client for Aeolus, which he is hosting on his github repo. The application is looking great, modules have already been completed for provider and instance management from the desktop, and he is looking to continue expanding functionality for end-to-end cloud instance management.
Finaly Zuhao who has been working hard on the isitfedoraruby project has also made great headway, implementing Rake tasks allowing us to import gems and rpms into the database, as well as various frontend interfaces which to display and cross-reference the gem and rpm metadata and other info. Various other features are in progress including the ability to comment and rate specific packages, a section highlighting various projects based on the Fedora / Ruby stack, and a mechanism to more closely integrate w/ rubygems as gems are pushed. You may find the code in Zuhao's github repo, and I've hosted the website on a temp subdomain for demoing purposes. Towards he end of the summer we'll update the site with the latest developments, reserve the is-it-fedora-ruby (or other) domain, and point that at my server.
Any comments, feedback, patches, or feature requests to any of these projects would be more than appreciated. Be sure to stay tuned for more updates as these projects evolve as additional features are added.
As some of you may know, Fedora was recently accepted, as a participating organization into the Google Summer of Code. Shortly after this was announced, Buddhika (our Fedora GSoC Admin and Coordinator) circulated a RFC for projects to improve the Fedora distribution as part of this effort. I submitted a few proposals to mentor myself, and am pleased to say there quite a bit of interest by various students, a few of which are now officially working on the various topics.
Specifically Samridh Srinath will be working on improving the Aeolus user experience on Fedora, implementing various aspect of the command line interface and core API features needed to drive it, and Zuhao Wan will be working on a site to highlight and promote the Fedora / Ruby experience, providing a simple one-stop-shop to query for Ruby related packages in Fedora and to assist in the migration process.
Unfortunately, not all of the students who applied were able to be accepted into the GSoC due to the limited number of slots we had available. Both Nitesh Narayan and Furhan Shabir are talented students who submitted strong proposals to work on Aeolus but weren't able to secure the official sponsorship. That being said, both have graciously volunteered to donate some time to assist with the project for which I would like to thank them greatly for.
All in all, I'm looking forward to working with these talented students over the course of the summer and beyond. Stay tuned for more updates as the projects progress and the proposals are implemented.
Until next time, happy hacking!
The Fedora Ruby SIG is in the process of updating the main Ruby package in Fedora to Ruby 1.9. We hope to get it in by Fedora 17, while shipping a Ruby 1.8 compatability package for those who wish to continue using the older version (though more and more upstream projects are phasing this out). Alternatively, since JRuby is now in Fedora, end-users may opt to utilize that interpreter for both Ruby 1.8 and 1.9 support.
The Ruby 1.9 effort is being led by Vit Ondruch who has done alot of the packaging work and submitted the initial guidelines draft, which we are currently discussing/revising on the mailing lists. They are largely an extension of the existing guidelines to better nail things down and cover various issues that have come up over the years, but all are welcome to join the discussion and share their comments / opinions on the best way to move forward.
A Ruby 1.9.3 testing repository has been setup for those who wish to try the new packages out. Feel free to share any feedback or issues on list.
Here's the breakdown:
|Hardware Components||Status Under Linux||Notes|
|Intel Core i7 (quad core, x86_64)||Works||No special setup needed. Make sure you download the x86_64 dvd/cd's|
|4GB RAM||Works||No special setup needed|
|500GB SATA Hard Drive||Works||Had to use install DVD to setup a ext3 for / as ext4 install off LiveCD wasn't working for whatever reason|
|Touchpad||Works||Had to yum install gpointer-device-settings and run it to get Vertical/Horizonal Scrolling Working|
|Intel HD Graphics||Works (external VGA / DVI too)||No special setup needed|
|Intel Gigabit Ethernet network card||Works||No special setup needed|
|Intel Corporation Centrino Ultimate-N 6300 /td>||Works||No special setup needed|
|CD/DVD Reader/Burner||Works||No special setup needed|
That's about it, besides the small hickups w/ the root FS and touchpad-scrolling installation went as smooth as possible and everything worked out of the box. Even after I did a pre-install re-partitioning w/ gparted, Windows 7 still boot up as well, so that's an additional plus.
This is my first Thinkpad and it is really looking to be as Linux friendly as everyone says they are.
Try this one out.
$ wget http://yum.morsi.org/aeolus/cloud.rb
$ sudo ruby cloud.rb
You will be prompted for cloud provider credentials, instances to create on all those providers, and repos and packages to use on those instances. All using Aeolus framework tooling.
Doesn't get much simpler than that huh? :-D
Also checkout the screencast of the tooling in action. It's my first screencast so its a bit rough (especially around the audio and transitions) but it should convey enough of an overview of how Aeolus currently works to get you started (feel free to ask any questions)
Tonight we're going to be having a friendly battle of the distros at the Syracuse Linux User's Group. Essentially its just a chance for people to come together and talk about their favorite Linux distributions and what they like the most about them.
To make use of the Rails RPMs from an earlier release, simply setup the rawhide repo and install rails:
* sudo yum install fedora-release-rawhide
* sudo yum install --enablerepo=rawhide rubygem-rails