14 Ways to Contribute to Open Source without Being a Programming Genius or a Rock Star
Contribution to open source has a myth around it. People think that “contributing” means changing huge chunks of the code, and being a genius. It’s actually not the case, documentation for example is a huge contribution to open source, sometimes scratching your own itch with changing a single method is also contribution. Find something you like and work with every day, and when you encounter a bug, or a need for something, try and implement it.
Pull Request #5340: Added wrapper tag for simple format, added test by KensoDev · rails/rails
Following my latest post about the simple_format, I think that it’s broken to assume only “p” tags are valid wrappers. So, I opened a pull request to Rails itself. Basically, it changes simple_format so you can pass in the wrapper tag you want, I found myself wanting a “div” or a “span” too many times. Pull Request #5340: Added wrapper tag for simple format, added test by KensoDev · rails/rails.
Essential Sublime Text 2 Plugins and Extensions | Nettuts+
I switched from TextMate to Sublime Text 2. Been using it for months now and it keeps surprising me with how fast, smooth of an experience it is. If you are still using TextMate or something else, you need to look at this post. Essential Sublime Text 2 Plugins and Extensions | Nettuts+.
Do your own Agile…
There’s a lot of buzz going on about software development methodologies, people talking about Agile, Kanban, Pair, XP and more and more. There’s not much people are talking about when it comes to a single developer. I have been a consultant/developer for the past ~3 years or so, working from home for several clients both in Israel and abroad (US mainly). During this time I gained tons of experience in knowing what works and what doesn’t, this may be specific to me, but I don’t think so, so I decided to share this knowledge.
Better simple_format for Rails 3.X projects
Since Rails 3.0 came out, we Rails devs deal with the auto escaping of HTML. Now, in most cases it comes in SUPER handy, but not always. Rails has an answer to that, it’s called ‘simple_format’, and it escapes the HTML and formats the string to be friendly, with line breaks, etc… Now, the problem with simple_format is that it wraps everything with a paragraph tag, which doens’t always fit your design, your markup or just your sense of aesthetics.
Setup your laptop for Ruby and Rails development
Setting up a new machine has never been an easy task, I remember back in the days where I was a windows user, setting up a new machine was a real pain in the ass. I used to write everything I had installed on a piece of paper and then go one by one and install everything, if I needed to download it could take even days to get a new machine up to speed.
Kill all resque workers with a single command
At Gogobot we are running background processes with Resque. We are using God to start workers on all servers, both front end and back end (with different queues). God sometimes has an issue with leaving some stale workers laying around which cache old code, so if you change your code, this is your enemy since you start seeing failed jobs that should not fail what so ever. Even when you stop the rakes (Workers run by rake) with god, it will still leave those lying around.
Re-Queue failed jobs with Resque
I have been working with resque for about 1-2 months now, while migrating an application from rails 2 to rails 3, I have switched from Delayed Jobs almost completely. Sometimes, your workers / jobs fail and you need to re-queue them. The trick is to requeue the job and remove it from the failed stats, this way, if it will fail again, the next time you re-queue the job will not be executed twice.
Rails uninitialized constant Resque::Server
One of the most significant changes in my migration of a rails app from Rails 2.3.10 to rails 3.0.9 was the move from delayed_jobs to resque. Resque is a Queue system that’s based on Redis, which is much faster and reduces the load on your database. Also we were experiencing some nasty deadlocks with delayed jobs that really broke our transactions and our backs. I installed the gem and installed Redis on my development machine, mounted the Sinatra app on my rails app and navigated to the web view of resque.
Use specific version of RubyGems per project with RVM
If you’re following this blog (and of course you should), you know by now that I have been upgrading a bug project to rails 3. One of the things that I needed to do was to upgrade RubyGems. Since I did not make the switch completely (production still on rails 2.3.10), I’m fixing p0 bugs on the old project and merging the changes. One problem I encountered is that rails 2.