D3.js Resources to Level Up

I have gotten a lot better at D3.js development over the past few years, and can trace most of my improvement to coming across a few key tutorials, blogs, books and other resources on the topic. They’ve been a huge help for me, and I’ve gathered a bunch of my favorites in this post to hopefully help others improve their D3 experience.

Here it goes:

Assessing your level

First, let’s define four general D3.js levels:

  • Complete Beginner: You have no previous experience with D3.js or any front end technologies (HTML/CSS).
  • Basic: You have some HTML/CSS/JS skills and have played around with some D3.js examples, but don’t completely understand the patterns and mechanics it uses.
  • Intermediate You know how to customize D3.js graphs using examples found in search engines, but you struggle to reuse them and aren’t quite happy with the quality of the code itself.
  • Proficient: You have build a lot of different graphs, tests and integrated them with different technologies or libraries. You’ve even created packages to easily share logic between projects.

Complete Beginner

Books

Scott Murray’s Interactive Data Visualization for the Web. Available free online through O’Reilly, it covers most of the basics needed for building your first interactive graphs.

Tutorials and Hands-on Learning
Reference links

Christophe Viau’s D3.js Gallery, is a pretty extensive list of charts made on D3 and sorted by graph type (bars, pie, bubble, etc.)

Courses

Udacity’s Data Visualization with D3.js, Communication with Data. It’s free and looks sweet, what else can you ask for?!

D3 Pie Chart

This chart employs a number of D3 Features: d3.csv, d3.scale.ordinal, d3.svg.arc & d3.layout.pie. From bl.ocks.org

 

Basic

Books

Getting started with D3.js: a short introduction (under 100 pgs) targeted for web developers.

Tutorials and Hands-on Learning

Introductions & Core Concepts sections of the D3 wiki tutorials.

Reference links
This simple bar chart is constructed from a TSV file storing the frequency of letters in the English language. The chart employs conventional margins and a number of D3 features. From bl.ocks.org

This simple bar chart is constructed from a TSV file storing the frequency of letters in the English language. The chart employs conventional margins and a number of D3 features. From bl.ocks.org

Intermediate

Books
Tutorials and Hands-on Learning

Introductions & Core Concepts section of the D3 wiki tutorials

Reference links
Videos

Ian Johnson’s bayd3 youtube playlist

coenraets.org

coenraets.org

 

Proficient

Books

Some of the content in Mastering D3.js may be new for you, but I haven’t found a lot published at this level.

Tutorials and Hands-on Learning

Check out the Specific Techniques section of the D3 wiki tutorials.

Reference links
Blogs
Interactive D3 chart from the NY TImes

Interactive D3 chart from the NY Times

I hope this roundup of links will help level up your D3.js skills. This is by no means an exhaustive list, if you have others you’ve found useful share them with me on twitter @golodhros. I hope this is a great starting point to get you started and building more exciting visualizations!

Eventbrite Engineering at SXSW 2015

Photo by CleftClips on Flickr

Photo by CleftClips on Flickr

If you are at SXSW this year you are undoubtedly already aware Eventbrite has a huge presence ticketing most of the parties, what you may not know though is that some of our engineering team are also out in Austin flying the eventbrite flag.

Our very own Daniel ‘Cubes’ Silverstein is giving a talk tomorrow (17th March) at 11am with Katie Dill, Head of Experience Design at Airbnb in the JW Marriot Salon C.

The Remaking of Airbnb and Eventbrite

IMG_0305_4x5In mid-2014 Airbnb and Eventbrite both underwent major redesigns of their websites. These efforts touched virtually every page on the sites and affected every person in each company. Find out why each company made it a priority to undertake such massive efforts, and how design, engineering, and product teams came together to accomplish these feats. This panel will include Daniel C. Silverstein from Eventbrite and Katie Dill from Airbnb to tell the inside story of why and how they did it.

If you are staying on for SXSW Music, we recommend checking out South Fry South Friendy’s, a gig hosted by the multi talented Eventbrite Nashville Engineer Jesse Keogh

If you are at SXSW we hope you get chance to eat lots of BBQ food, drink Margaritas and most importantly get to see Dan’s talk and Jesse’s gig! Have fun in Austin!

CSSConf Oakland review

The inaugural CSSConf Oakland took place at The New Parkway Theater in December 2014. It was expertly co-ordinated by Mikeal Rogers, Karolina Szczur, Kristina Schneider and Alex Sexton as part of JSFest, a week long series of front-end events in Oakland, California.

The relaxed setting meant it felt like chilling in the tatty sofas of a cosy living room, hanging out with 100 or so close personal friends. The sessions were excellently curated to form a well rounded agenda, with healthy diversity in the lineup and women representing seven out of 12 speakers.

Tab Atkins of the CSS working group spoke with such bubbling enthusiasm for new capabilities coming to CSS that we couldn’t help but be carried on a journey to the glittering future. A future where an image can be the output of a function, you can create source-order independent layouts with flexbox and even programatically adjust colour values live in the core language. Even media queries are getting a facelift with the ability to target the accuracy of the pointer or if a device has hover capabilities.

Two other highlights were talks bourne of experience gleaned through hard graft on real-world projects. Jessica Dillon told the story the implementation of Bugsnag, a visual CSS testing framework. Jennifer Wong shared pitfalls and lessons learned in her quest for beautiful responsive emails. Both talks elegantly encapsulated their respective projects and presented valuable take-home lessons.

Unequivocally my favourite session came from Elyse Holladay, Front-End Architect at RetailMeNot, whose eloquent and raw talk spoke directly to the soul of everyone there. Holladay mused that as we gain experience we are no longer safely coddled in the confidence of inexperience, we panic about what we know we don’t yet know. She proposes that instead of agonising over not yet being good at something, we should be kind to ourselves, relish the challenge of learning and always stay curious.

Photo of Jessica Dillon by Karolina Szczur

Originally published in the April edition of Net Magazine, written by Natalie Downe photo credit to Karolina Szczur

Deep linking an Android app

This article was posted on SD Times

To weave a more intuitive mobile Web, individual companies and developers must navigate the various technologies and hurdles in forging those intra-app connections. As senior Android manager at online ticketing platform Eventbrite, Juan Gomez was integral in implementing mobile deep links in the Eventbrite Android app over the past year and a half. He spoke with SD Times about the difference in establishing deep links on Android, the benefits and challenges of mobile deep linking, and why he thinks Android has a leg up on iOS.

SD Times: Can you talk about what Eventbrite is doing with mobile deep linking in the Android development space?

Gomez: When I came in, we were not doing anything on deep linking at all. So my first job was to make the Android app feel more Android-y, if you will, so more in tune to the Android ecosystem, and part of that is deep linking. One of the important things about deep linking for Android is that Android has relatively good SEO. We were showing up on Google results, we just needed the last piece of the puzzle of sending people from the Google results into our app.

Then Google contacted us when they launched App Indexing. This was before they announced it at I/O. App Indexing is basically showing a button and the logo of your app on the Google search results when a user searches for something on their Android phone.

Continue reading

Software Developers to Nashville, “Stop calling us IT”

As originally published on SouthernAlpha.com

My wife and I recently moved to the Nashville (just south of Nashville actually) from Silicon Valley. We were drawn to this city over others because of nearby family, great schools for our kids and the fact that it had a growing tech community that would allow us to continue doing what we love for work.

Nashville’s investment in technology and programs like Hack Nashville, Healthbox, Entrepreneur Center, Jumpstart Foundry, and Nashville Software School are just a few examples of the strength of the tech and entrepreneurship community here.  But, there is something about the Nashville tech community I don’t quite understand – no matter what your role in the industry might be, I keep hearing people lump their teams together under the title of IT.

Now, I am not knocking IT people here, they play a really important role in the tech ecosystem, especially for larger companies.  But, for all of my years in this industry I’ve never worked in IT, called myself an IT person, or looked for a job in IT.  I am a software engineer.

So, what’s the big deal?

Continue reading

Announcing BarCamp Django SF

We’re excited to announce that the first BarCamp Django SF will take place at Eventbrite’s San Francisco HQ October 4th-5th, 2014. For a solid weekend, Django developers and enthusiasts spanning all skill levels and coming from a wide range of backgrounds will come together in a friendly, cooperative environment designed to educate and inspire collaboration. For 30 hours we’ll learn, build, play, and connect with others.

BarCamp Django SF will run for two days from 10am Saturday (10/4) morning until 4pm Sunday  (10/5).  Doors will be open throughout the duration of the event, and attendees are welcome to camp out overnight. (If you do plan on camping, please plan on bringing your own camping gear: sleeping bag, blow up bed, pillows & blankets and a toothbrush.)

A BarCamp is an ad-hoc conference (an un-conference, if you will). At BarCamps, everyone who attends is expected to actively contribute in some way – by giving a talk, arranging an activity, getting involved in an interactive session or generally helping out with running the event.

Grab your ticket

BarCamp Django SF is a community event
What does that mean? First, 100% of the ticket price will be donated to the Django Software Foundation. This event will rely on donations for space, meals, technology, and everything else required to keep 150 developers fueled for 30 hours.

Second, everyone pitches in. Attendees give talks, select workshops, help with setup, cleanup, and taking care of the space. Not only does it help us keep costs low, it adds to the collaborative nature of the BarCamp.

Third, unlike regular conferences, the schedule for a BarCamp isn’t set in advance; instead, it’s organized by the attendees at the start of the event. The schedule starts as an empty grid, with rooms and time slots but no sessions. Participants then write down the session they want to run on an index card and assign themselves a slot on the grid.

How does ticketing work?
We are charging $15 a ticket to curb no-shows as space is limited, the event capacity is capped at 150 attendees to encourage participation from everyone. Again, all proceeds from ticket sales  are donated to the Django Software Foundation.

We’ll be releasing tickets in several rounds today and over the next few weeks to ensure equal access. Get your ticket here.

Limited numbers of tickets will be released on:

• 9/4 @ 10am PST
• 9/10 @ 4pm PST
• 9/17 @ 12pm PST
• 9/24 @ 8pm PST

We’re looking forward to building our community of Django enthusiasts. 

BarCamp Django SF is a professional event, and we want the space to be welcoming to all members of the community. All attendees must agree to abide by the Eventbrite Code of Conduct.

Heavy Hitters in Redis

When running a public-facing website like Eventbrite, there are a number of reasons to keep track of your most active IP Addresses, API Keys or User IDs. Unfortunately, if you have a site that sees significant traffic, the volume of data you need to store and process to generate these “Heavy Hitter” statistics can become daunting.

To illustrate some of the issues with trying to generate these counts, let’s simulate a naive counting algorithm with some Python like this:

Continue reading

Seat Designer (part 2): Design patterns

What’s it take to be a frontend engineer? It isn’t jQuery or a bad ass library that has promised to change your life. It also isn’t the ability to write “pure” javascript. What it really takes is understanding all the design patterns at your disposal, and how they fit together to power a munitions depo of frontend weapons. You’re about to enter a war zone, and you need heavy artillery.

While developing seat designer we used a lot of patterns and tactics to keep our code base clean and happy. We learned a lot from Addy Osmani’s book on design patterns useful for frontend.

Here are 3 of the most powerful patterns we used during the creation of seat designer:

Continue reading