Another "What I've been working on" post 4:54 AM, today
Short and sweet today - just a quick glance at Tickets with a Twist; A new site I've been building (n.b. I didn't design it) for Yut Media. Enjoy!
Short and sweet today - just a quick glance at Tickets with a Twist; A new site I've been building (n.b. I didn't design it) for Yut Media. Enjoy!
Just a quick eoraptor / this blog pimping tonight. One of the features I've been planning to implement for a long time - projects - has now been implemented. It's basically a really easy way to have a structured project page with integrated logos etc. Nothing big but nice to have none the less. Plus, it puts me one step closer to open sourcing the site.
A while back whilst browsing the RORO Google Group, I noticed Xavier Shay's little project "Enki" - an interesting little blog engine written on Ruby on Rails.
Just a quick note before I start - This has been written mainly as an entry to the Railscast's contest for epic loot. With that said, I'm hoping they're some generally helpful tips.
The most important part of Rails is the community - the fantastic little groups thats pop up focused on individual niches. You've probably seen WorkingWithRails and the like but my suggestion is that as a Rails / Ruby-based developer, it's usually in your best interested to partake in the community. And even more so, not just the communities for your specific niche - read up about alternatives (e.g. Merb), hang out in irc rooms and most of all participate. For Rubyists, I recommend the following:
When I say testing server, I don't mean one dedicated to running unit tests; I mean one for you to test out little ideas - even if there is a possibility they could bork your environment. VM's are ideal for this and VirtualBox is both free, easy and available on most major platforms. It can be as simple as downloading VirtualBox, an Ubuntu ISO and then setting it up like a real environment - all safely nestled away on your development box if you'd like.
If you want to go a bit further and you have a spare box sitting around, setup Vmware Server or Xen and a few different vm's with different environments - In particular, a Continuous Integration box may come in handy and I've always like the idea of having my own gem server which builds gems for the edge versions of Merb, Rails and the Like so my system is always up to date. It shouldn't take more than a day or two to setup and if you don't have much server experience, it's the perfect excuse to learn.
Try and stay on the cutting edge of things - e.g. become one of the early adopters of a technology (e.g. Merb / Git are examples of that a while ago - they're pretty much mainstream now). The technology / project you choose may not become mainstream but you'll learn a hell of a lot you likely wouldn't of before - I learnt a lot about ruby by reading through the source of early versions of Merb.
Also, contributing back to new technologies is usually a good way of getting to know people (see above) and it's also another way of getting respect among other developers.
Even if you're only doing Rails for work, I suggest having a little pet application at home to experiment with stuff. It may not be used by others but it's an excellent way of trying out new things, building your skills and honestly, who knows - you could have the next github on your hands.
More seriously, by building a pet application you get to not only focus on something at your own pace but it also lets you put into practice things that may only be applicable in certain circumstances in the real world as well as having the freedom to test out plugins etc as you see fit.
This one is more specific than the others but it's for a reason - I highly suggest taking part in the next RailsRumble when the times comes around. It's not only a bloody good time but if you get a team together it's an excellent environment in which to show off your development skills.
The main reason I'm suggesting this is because it ties together everything I've already suggested - It lets you work in a real world situation (e.g. time based), it lets your form invaluable connections (I only now frequent #offrails because of RailsRumble) and there's even some nice motivation for taking part.
Well, there you have it - My main 5 tips for Rails developers; All of them intended more at being a better developer than developing better (if that makes sense)