s3 & Glacier, the only backup solution you'll ever need

LTO and backup to HDD are great, but deeply limit your ability to scale. The old ways introduce operational overhead to maintain and care for these systems, and distract you from focusing on what matters for your business. At Craftsy, we generate nearly 50 TB of new data/month, and perform... Read more

Never Forget: UX and The Internal Customer

Craftsy’s ecommerce store started out selling flash deals on yarn and fabric. Within a year, that evolved into a full fledged ecommerce experience built off the original flash deal code for merchandising and creating items on the site. Along with the evolution of the customer facing storefront, the admin area... Read more

How We Won the Developer Lottery ( aka: Dropping Support for IE8 )

Microsoft's Internet Explorer - the bane of most every web developer. If it's not the security issues, it was the box model rendering issues and laundry list of hacks that are needed to get IE to render a simple page. Unless you're super lucky, more than likely you're including a... Read more

Cross-Origin vs. Local Script Loading with jQuery

In a few places on our site we open a modal dialog where users can change their avatar through Facebook or by uploading a photo from their computer. The template is rendered via jQuery and includes the JavaScript and CSS needed for the upload functionality. This modal broke when our testing servers were configured to use content from the CDN and we started seeing undefined object errors in the developer console. Suddenly, a JavaScript file we include with the template wasn't loading in time for the upload interaction. Read more

Create an SVG Animation Using CSS

Create a fun, engaging Einstein svg animation using css. Read more

Mutli-AZ - the only defensible choice

Quite a lot is made online by some when AWS has an outage. Even minor disruptions in an availability zone get reported on twitter as if they portend the apocalypse. When an AZ has problems, it can be annoying for certain, but it should not have any actual impact on... Read more

A brief overview of memory in the mobile world

iOS 7 is the most common operating system used on Apple mobile devices. It's oldest supported iPhone is the 4 and it's oldest supported iPad is the 2. So if you are developing an application on iOS 7, your app must be able to operate in a stable manner and... Read more

Parsing large XML files in python without a billion gigs of ram

One of the attractions of working at a startup is that you can generally avoid having to contend with the technologies of yesteryear. Mainframes, leased lines, COBOL... no one should have to deal with this stuff anymore, right? Unfortunately, you will eventually collide with reality, and even though this is... Read more

How Not to Refactor Code

We on the Front End side of the engineering team at Craftsy are all professionals--at least we pretend to be. And we’ve all worked on projects--recently or in the past--wherein large sections of code needed refactoring. What follows is a list of mistakes we’ve seen (or made) throughout the years.... Read more

ec2 hostnames, dns and you

When we first started out in this kooky cloud world, we quickly learned one of the fundamental shifts that the cloud represents: server naming. For folks crossing over for their first foray into AWS or other cloud systems, the lack of conventional naming approaches, and the utter lack of network... Read more