Articles by Elmer Thomas


Elmer Thomas is SendGrid's Developer Experience Engineer. His mission is to help SendGrid live up to its slogan: "Email Delivery. Simplified" by improving the lives of developers, both internally and externally. Via all sorts of hackery, of course. Follow his exploits on Twitter and GitHub.

Follow Elmer

Quantify Thyself: Creating a Personal Life API

Community
Know_Thyself

I recently had the great privilege to speak at self.conference 2014 in Detroit. I used this opportunity to share the idea of creating a Personal Life API with Detroit’s amazing developer community. Following is the summary of that talk. Be sure to check out all the other interesting talks at Github. We all know that data is easy to collect, but difficult to collate and decipher. With the Personal Life API, we will simplify that process and liberate your personal data. In this post, we will learn what data to quantify, how to automagically gather that data, and then we will discover the tools for creating a Personal Life API to access and analyze your data for tasks ranging from


Develop Native Android Apps on Your Chromebook

Technical
chrome development

If you were fortunate enough to receive a Chromebook Pixel at last year’s Google I/O (or picked one up on the after-market), your glee was likely replaced by frustration as you tried to use it as a dev machine. Enter Crouton, a solution that allows you to run Ubuntu Linux within your Google Chrome environment, no reboot necessary. When I wrote a blog post about sending email within a native Android application, I decided to give Crouton a spin and find out if it was possible to do Android native development on a Chromebook Pixel. I came across a few stumbling blocks during that process, but I was ultimately successful. My goal with this post is to get you developing


Create and Use Life Automation Bots

Technical
Robot handshake

If you’re expecting to build a Terminator, this is probably the wrong post. But you may remember from my earlier bot automation post that bots are clever pieces of software or hardware that automate one or more tasks. Hopefully your mind is stimulated with a list of tasks for your Bot Army, so let’s look at platforms, APIs, and other tools to help you create your own customized Bots from scratch. Apps There are a ton of ready made apps dedicated to the overall umbrella topic of Productivity. Here, I’ll point you towards a few that I have found to be most helpful. I would love to hear about the apps you find useful in the comments. Mobile Cross Platform


Automate Your Life with a Bot Army

Technical
bot

When I upset my 8 year old daughter, she sent me a text message with a digital Poop Army. In this post, I want to show you how to create your own digital Army, but instead of Poop, our Army will consist of Bots. And instead of wielding your Bot Army in anger, we will use our Army for peace and happiness. Why do we need a Bot Army? Because there are only 24 hours in a day and we need more like 48 hours these days, so lets train the Bots to handle those extra 24. For the purpose of this post, I define a Bot as some piece of software or hardware that automates one or more tasks.


Your Programming Style Guide Checklist

Technical
Rick Astley checklist

Every programming language or framework has a defined coding style guide. It’s generally a good idea to conform to that style guide for the sake of collaboration and maintainability. In this post, we will walk through the process of creating a personal programming (project level) style guide and templates that will combine to serve as a checklist for your projects. Over time, you will have created several checklists for various development scenarios. The upfront investment to create these documents should save you many hours of time throughout your hacking adventures. Location I suggest you create a directory to store these checklists. You will want two sub-folders, one will contain the templates and the other will contain working checklists for particular


How I Write Technical Blog Posts

Technical
Brainstorm the post

I love technical blog posts, especially those that can take you through the entire process of building an app, A to Z. After reading thousands of technical blog posts and writing many myself, I’ve decided that it’s time to share a workflow that I hope will help those who are creating amazing things to blog more easily and often. The specific tools utilized in this workflow are Mac OSX based, but the concepts can be applied to any toolchain. Check out AlternativeTo.net to find similar apps for your OS. Use the Natural Planning Method When I write a technical blog post, the goal is to create something that saves the reader time and inspires new ideas. Before I get started,


Create the Ultimate Interactive Presentation: Reveal.js, Leap Motion, Google Glass and SendGrid

Technical
leap_motion_logo

When a developer demos their software, especially at a hackathon, it’s best to “do it live.” For longer form presentations, a slide deck is generally the tool of choice, either using Keynote or Power Point. Having attended hundreds, if not thousands, of technical talks and hackathon presentations in the past few years, I can tell you definitively, even a small dash of interactivity goes a long way towards keeping the audience engaged. Of course, a slick presentation is not necessary, but it doesn’t hurt either, especially if it does not cost a great deal of time to create. In this post, we’ll use the best interactive presentation tools available today to create a beautiful and interactive presentation in minutes. In


Quickly Prototype APIs with Apiary

Technical
Apiary

I love the idea of API Driven Development (ADD). It provides great flexibility and by default makes your app developer friendly from the beginning. The challenge is that it’s hard to demo an API without an application tied to it. The goal of this post is to help you get past the API design and creation phase as quickly as possible, so you can focus on creating killer apps and encourage others to build upon your exposed data. This tutorial should be especially useful for hackathons and prototypes. With the APIary.io platform we’ll create documentation that your whole team can interact with and contribute to. Then, we’ll create a working version of the API using Python/Flask. To demonstrate the process


Google Glass Tutorial Sends Email Visually

Technical
Android/GDK Glassware

I have been spending a lot of quality time with Google Glass and Android lately. I’ve already shared a few of those experiences, like sending trackable email on Google Glass using its Mirror API and my Android email tutorial. Most recently I have been working on a native “Glassware” app, which I’d like to share here. Using the Google Glass GDK I’ll show you how to: Create native Glassware (Glassware is the name Google has given to apps running on Glass) Activate and interact with your Glassware by voice Use menus to edit your Glassware’s data Manipulate Cards in an Immersion Send email using the SendGrid Java library If you experience any issues with the source code or this tutorial,


Send Email From Android Applications

Technical
Android Robot

I have been playing with Google Glass lately, which got me working more with Android. Since I recently built my first native Android app, I thought I’d share how to send email and retrieve statistics using the SendGrid Java library. Since this is my first attempt, please send a pull request or open an issue if I did something unholy. You may find the complete source code at Github. If you are not interested in native Android development, check out our tutorial based on the AppMobi platform. If you are new to Android native development, I suggest you start with the tutorial at the Android Developer website. Complete all lessons under “Building Your First App.” If you want to skip


Collect Inbound Email Using Python and Flask

Partnerships, Product, Technical
Flask

Our Inbound Parse Webhook allows your app to receive an email formatted as a JSON object for easy processing. Any script will do for creating the webhook endpoint, but in this tutorial I’ll share a simple Python microframework called Flask. Set Up and Configure your SendGrid Account The Incoming Parse Webhook is available through our free, Silver and higher plans. If you don’t have a SendGrid account, go ahead and sign up here. After completing your SendGrid account setup, we will need to create an email address to be used for receiving emails. This is achieved by setting your MX records to point at mx.sendgrid.net. Each host will have a different method, so please check with your provider. You may


Send and Track Email with Google Glass

Product, Technical
By Giuseppe Costantino

Currently, sending an email with Google Glass is trivial, you just say “OK Glass, send a message to [Name]” and dictate your message. Done. If you want a similar experience for your Glassware’s users and also the ability to track those emails (opens, clicks, bounces, etc.), SendGrid is your solution. This post provides the information needed to send and track emails via Glass using the Google Mirror API and SendGrid’s Python library. The methods outlined here should be similar for integrating with other Glassware supported languages. You can find our complete list of official libraries at our documentation. To get started, if you are new to the Google Mirror API, I suggest you take the time to read through the