Web developer Levi Hackwith recently began his first solid attempt at learning Ruby, and is chronicling his journey on his blog levihackwith.com. Besides being a great place to pick up detailed tips on Ruby, you might also pick up some tasty snippets about his wife, GraphicRiver manager and FreelanceSwitch editor Amanda Hackwith.
Continue Reading
Ruby, the Envato API and More at LeviHackwith.com
Presenting Lazy Loading Controller Instance Variables

Here’s a video from way back in the archives. At the October 2009 meeting of the Melbourne Ruby and Rails User group I did a presentation on a lazy evaluation tool we created to help deal with the extra complexity all our view caching was adding to our Marketplace app.
Thinking Sphinx and New Relic
Over here on the marketplaces we use the really good search library Thinking Sphinx to interface between our Marketplace application and our underlying search infrastructure. We also use the really good online application performance tool New Relic to tune the site’s performance and get the most traffic served out of the least hardware. You can use this code snippet to add sphinx monitoring into new relic.
Thinking Sphinx lazily evaluates all search results. It doesn’t actually fetch the results of the query until you need to do something with the result – which is almost always iterating over the results from the view. Continue Reading
Continuous Integration & Flashing Lights
Many years ago when I first started typing incomprehensible sequences of words and characters into my computer – programming – I knew nothing about test-driven development or continuous integration. For that matter, it didn’t even occur to me that I should be writing tests for my code. Even when I first learnt of test-driven development and people began telling me to try it, I still refused! Why would I spend 50% of my time writing code that isn’t a crazy-cool feature? If your reply to that was “You wouldn’t!” then you will no doubt one day learn the benefits of test-driven development the hard way, just like a lot of test-driven converts did. In a nutshell, test-driven development is a safety blanket and when you’re running an application as large as the Envato Marketplaces it becomes a critical requirement.
Here at Envato we have two very large test suites which equate to around 6,800 tests. Then again, the marketplaces are made up of just under 19,000 lines of backend code (not including JavaScript, HTML and CSS) so we’d be crazy not to have some way of ensuring all that code is doing what it’s supposed to do. Would you want to make changes to a codebase that large without a sizeable test suite to back you up? I didn’t think so. That’s why every single time we make a change to the marketplace codebase, no matter how big or small the change; we run every one of those 6,800 tests. Continue Reading
Developers, Developers, Developers!
So a year and a half ago Derek and I made an awesome WordPress theme for the Envato Developer blog. It never really got going though, when I asked our lead dev John why, he replied: “when we stop writing code, we’ll write some posts”
Still since we have a brand spankin’ new community blog, I thought I’d create a nice developer section for when they do begin writing! Since there isn’t anything here yet, here is the classic Steve Ballmer video: Continue Reading








