browsing posts by category:


Changes to the Marketplaces: SSO  

by posted in Developers, General, News
Feb 10

Some changes are in motion over on the Marketplaces, and I’m here to give you a sneak peek at what’s to come! We can’t reveal all the details yet, but here’s what we can tell you.

In the next week or so we will be changing the way that sign-in, sign-up and other features related to your account works across all Envato Marketplaces, moving to a separate, centralised website. In other words, we’ve got single sign-on!

Continue Reading


by posted in Developers, General
Feb 4

Hi everyone. I’d like to introduce a new blog called It’s a place for the Envato development teams to share insights into the technology behind the various websites that we build and support, including the Tuts+ Network and the Envato Marketplaces. You’ll also get to see our pretty faces. ;)

Continue Reading

Marketplace Rails 3 Upgrade  

by posted in Developers, General, News
Dec 7

We’ve been working hard over the last month to upgrade the Marketplaces to the latest version of Ruby on Rails (the framework we use) and are now ready to deploy these changes.

The upgrade will commence on Monday the 10th of December at 8:00AM AEST. We do not expect there to be any downtime or interruptions to the Marketplaces. However, this is a major upgrade and sometimes things can go wrong. We will have extra developers on call and extra support staff at the ready to respond to any issues quickly.

If you spot an issue, please do the following:

  • Check the notices forum where we will be posting known issues as they arise
  • If your issue is not mentioned, please open a support ticket. We will verify the issue and post it to the notices forum as well as fix it as soon as possible.

While we don’t expect that there will be any issues, please be patient as we work through the upgrade. See you on the other side, we’ll keep you updated ;)

Meet Justin French  

by posted in Developers, Interviews, Team
Nov 26

Hey everyone, I’m Justin French. I’ve been with Envato’s Marketplace team for about seven months. My background is in design. I started in print and branding then moved into user interfaces and the web and now I focus on user experiences and products. Along the way I learned enough Ruby and Javascript to be dangerous and I’ve lead some pretty amazing teams and tackled some epic projects. Continue Reading

Goodbye Cruel World  

by posted in Developers, Team
Feb 21

Mission Accomplished - Finishing the big server move in 2010

For those of you who don’t know Australian music very well Goodbye Cruel World is the title of the greatest hits album Brisbane band Custard released when they broke up. As most of the Envato community isn’t based in Australia, I’m guessing that covers most of you. Goodbye Cruel World also makes a pretty good title for the blog post where I say goodbye to Envato.

Continue Reading

Envato Sponsors Inaugural Course from The Intro  

by posted in Developers, News
Nov 24

The Intro

As you know, here at Envato we’re right into helping people learn new things, and we’re also pretty into the local tech community here in Melbourne. With that in mind, we’re extremely pleased to announce we’re getting behind the launch of the Melbourne based training/course collective The Intro by paying for everyone to attend Ben Schwarz‘s inaugural course Practical HTML5 for free.

We think it’s pretty amazing to see something set up to help share specialist knowledge in the Australian tech community and are really glad to help out. We highly recommend that if a course from The Intro comes your way that you check it out.

See the announcement over at The Intro for information on how to attend.

Code Retreat  

by posted in Developers
Jul 28

In December last year, Corey Haines ran a Code Retreat here in Melbourne. I was lucky enough to attend, and I have never improved my craft as a software developer so much in a single day.

Now I’m running one at Envato’s shiny new offices on Saturday, August 27th.

What on Earth is a Code Retreat?

It’s a day of deliberate practice, a chance to focus on software development techniques without the distraction of having to deliver real software.

When you have to deliver a product, you always cut corners. You don’t follow all the principles of good design, you don’t have 100% test coverage, you don’t do TDD rigourously. And that’s fine; you’re working within constraints.

But to get really good at any of those things you have to practice them without those constraints. You have to take them too far and see what happens.

A Code Retreat is a chance to do this, and share what you learn with others that are doing the same.

You can read more about Code Retreats here.

The Format of the Day

The day starts at 8:30 AM and goes to around 5:00 PM. It’s free, and Envato is putting on breakfast and lunch.

You’ll be working on a particular problem throughout the day (Conway’s Game of Life), in sessions of about 45 minutes. You’ll pair with somebody different in each session, and it’s up to each pair to decide what language they want to use.

Here’s the important bit: at the end of each session, you’ll delete your code. The only thing that you’ll take away from the session is what you’ve learnt. There’s no pressure to deliver a working product.

We’ll probably get through 5 or 6 sessions, but it depends on how people are feeling.


We’re opening 20 spots to start with, and we may add a few more later.

Registrations open at 10:00 AM on Tuesday, August 2nd, and it will be first come, best dressed.

Go here to register.

(If you miss out, fear not. There will be more Code Retreats in future!)

I hope to see you there!

Presentation at Dev Ops Melbourne March 2011  

by posted in Developers
Mar 23

On Tuesday March 22nd I presented at Dev Ops Melbourne on how we handle our infrastructure and deployments without an ops team. I think around 80 developers and ops guys (or sysadmins if you’re old fashioned in your terminology) attended.

I think the talk was pretty well received, but the main value for me was actually having to think hard about how we, the dev team, approach our work and put it into writing. The big thing I realised is that a lot of our flexibility in how we work comes from the strength of our relationship with the community. All the feedback we receive on the forums and helpful bug reports feed back into the dev team and help us get better.

Anyway, while the talk wasn’t recorded, there’s a copy of the slides just below for your reading pleasure.

Continue Reading


by posted in Developers
Jan 11

Need to call out to shell commands to process user-submitted files from your Rails app? You should be using our safe_shell gem.

The Problem

Let’s say a friendly user has uploaded a file called “avatar.jpg”, and you’re using ImageMagick to find out about it. In your app you do:

info = `identify #{filename}`

That’ll expand to:

info = `identify avatar.jpg`

All good, right?

Now a malicious user comes along and uploads a file called “;rm -rf .”. Now your command expands to:

info = `identify;rm -rf .`

Uh oh. Because the backtick operator forks a shell, and the shell parses the command, this will happily do exactly what you don’t want it to. Bye bye anything your in your Rails app that can be deleted.

So what’s the answer?

Continue Reading

Rebasing Merge Commits in Git  

by posted in Developers
Jan 11

I’m one of the devs here at Envato, and this is my first post to the Notes blog. Having found myself in a role I would cautiously describe as ‘resident Git expert’, it’s only fitting that my first post would be about a fairly technical aspect of working with Git in a team environment.

The TL;DR version is this: When rebasing, always use the -p flag,

First, though, a small diversion – why rebase is part of my normal git workflow.
Continue Reading