Skip to main content

Mobomo webinars-now on demand! | learn more.

Earlier this week we gave you some updates on the RefactorMyCode project that we took over from its creator, Marc-André Cournoyer this April. When we made the announcement that we were taking over RefactorMyCode.com, we let everyone know that we intended to open source the project eventually. That day has come!

The Great Open Sourcing

We planned to open source the project once we converted it to Rails 3 and made various other improvements. Thanks to the work of a few of our developers, notably Andy Wang and Paul Ostazeski, RFMC is now running on Rails 3, has significantly improved test coverage, and has undergone several rounds of refactoring.

The RFMC History

RefactorMyCode is a community for - you guessed it - refactoring code. Marc-André came up with the idea in 2007 when he became frustrated with the way Wordpress blogs handled formatting of the code and the comment structure. Since its creation, RFMC blew up on Reddit, Digg and other niche sites. When Marc-André put out a call for someone to take over management of the site we were thrilled to rise to the occasion. We had a small team of developers that jumped on the chance to work on RFMC as their SparkTime project, and they've been working diligently to get the code cleaned up and ready for open source.

We're excited to make RFMC available to developers to hack on. At Intridea, we believe strongly in the philosophy and culture of open source development (see our list of open source projects on Github). The repo is on our Intridea Github account, and we encourage contributors to make pull requests and submit issues using Github Issues. Of course, we're happy to answer any questions and get feedback on the project!

Happy coding!

Categories
Author

A few years ago, I found RefactorMyCode.com by accident while searching for programming tips. I registered on the site right away because I liked the way it fostered sharing code with other programmers. It was a strong community that I wanted to be a part of.

Three months ago when I began my career at Intridea, I was prompted to select a SparkTime Project to work on in my spare time. At Intridea we are encouraged to work on interesting projects as often as we can. The SparkTime initiative allows us to organize our efforts and team up to accomplish things more efficiently. I was surprised when I found that RefactorMyCode was on the SparkTime list, so I signed up happily to help out.

About RefactorMyCode

One of my colleagues, Jon, talked about the RefactorMyCode project two months ago in a blog post. It was originally running on Rails 2.0.2, which was really out of date. Thus, I decided to upgrade it to Rails 3.0 before open-sourcing it.

What's new with RefactorMyCode in last few months?

RefactorMyCode.com

Upgrading from Rails 2.0.2 to Rails 3.0 has been time consuming since there is a two year gap between the two versions. The main difficulties have been to fix routes and ajax related issues. In this situation the rails_upgrade plugin has really helped out.

In our case, it helped to cancel some of the ajax requests and refactor them as direct requests for more flexibility. We removed the old will_paginate and used kaminari as the new pagination solution. Similar updates included upgrading to acts-as-taggable-on and syntax highlight functions with coderay.

We also refactored the existing authentication solution with omniauth, so the new Rails 3 version will allow you to login to RefactorMyCode via more third party services, such as Github, Twitter and LinkedIn etc.

Is It Ready for open source?

The answer is, YES! Or, yes, almost!

However, I am still adding RSpec test code to the Rails 3 version and I am also on the hunt for a better (pure Ruby) syntax highlighting solution. So far it seems that Albino will end up working well for this. The project will be open sourced very soon (in the next 1-2 weeks), and we'll make an announcement about that here on our blog and our Twitter account. We are looking forward to involving the community in this project!

Categories
Author

We’re excited to announce that we are now the proud owners of RefactorMyCode.com. That’s not all, though; we’re also open sourcing the code behind RefactorMyCode! In February, creator Marc-André Cournoyer put out a call for someone to take over management of the site - we answered and now RefactorMyCode is live on Intridea servers.

A Little Background on RefactorMyCode

Refactormycode.com was greeted with enthusiasm by the programming community when it launched in 2007. Too much enthusiasm in fact - the load of over 100,000 visitors from Reddit, Digg and other sites quickly took RefactorMyCode down. It was a good problem to have, though, and a validation for Marc-André Cournoyer that it wasn’t just him and his friends who needed such a tool. He quickly brought the site back up and the people who continued to come back formed the community that still exists today.

How Marc-André Cournoyer Came up with the Idea

Marc-André, a Montreal based programmer, came up with the idea after noticing his friends and other programmers sharing code on their Wordpress blogs. Readers would then offer their code refactoring in the comments. Wordpress was a poor platform for this - code syntax was crudely formatted and tracking the different solutions posted in the comments was messy. So, Marc-André set out to create a site that loosely followed a blog format, but with properly formatted syntax and a much smoother commenting and sharing process.

Open Sourcing RefactorMyCode

Part of our taking over RefactorMyCode involves open sourcing the site. Once we are done running through the code, we will post the open source version on the Intridea Github account. We expect to have that done by the end of the week; we'll announce it on our twitter account when we do.

If you’ve never visited RefactorMyCode, take a look. Please let us know if you have any questions. A big thanks to Marc-Andre for giving us this opportunity - we're looking forward to the future with RefactorMyCode.

Categories
Author
1
Subscribe to Refactormycode