A couple of weeks ago I came across a new python web framework called Falcon. I was quickly impressed with its ease of use and most importantly this fragment: It doesn’t try to be everything to everyone, focusing instead on a single use case: HTTP APIs. I decided to build a simple server that will consume data from SendGrid’s Event Webhook and use Fluentd to log and store the events. Fluentd provides a sense of dependency injection when it comes to logging and storing to multiple data outputs with a simple configuration file. Building the Environment First, install Fluentd. You can find several options in their quickstart, but for the purposes of this tutorial I will use the ruby gem they have
Many of you have have probably participated in X-Mas Gift Exchanges. If not, we should solve that! Here at SendGrid, we use Elfster and it works great. My friends and I have been doing an alcohol exchange recently. I thought this was a simple problem to hack on and use some of the SendGrid features. So I did! I’ll try to explain all the steps that I took to create our exchange system. First, I created a simple transactional template in SendGird’s Template Engine. Yes, the content is in Spanish 🙂 Notice that I have #recipient# in the content. That’s because I will be using Substitutions from the SMTP API. Afterwards, I wrote very simple Python code using the sendgrid-python library.
A few weeks ago, I found myself arriving in Recife, Brazil for PythonBrasil. I had the time of my life and met extremely bad ass people over there. I also met people whom I now call friends, and I’ll try to highlight some of my favorite things from the experience below. PythonBrasil consists of workshops, talks, sprints, and some really fun activities. The conference was super well organized. Three tracks to choose from, with amazing speakers and keynotes such as Jose Valim, the creator of the Elixir language. Translations were available, but I want to improve my understanding of Portuguese, so I didn’t use them. Transportation was never an issue (even though there were over 300 attendees), and the venue was the
Do you remember when you started going to hackathons or just basically started to do cool stuff? I remember it very clearly. In those days I gained a very dear friend, Daniel Santiago. Every so often I bug him with Java/Android stuff since he is a baller Android Developer. My questions were usually about adding support to the Java library. He took the extra time to make a little hacking project. A fork of the Java library, but intended for Android, hence, SendGrid-Android has been born! I don’t know about you, but I value this gesture more than almost any amount of beers. Thank you, Daniel! Lets get started! To install the library, just clone the following repository: Move the
I’m trying to drink more water starting today. There are several reasons behind it, but the top one is to make my mom happy. Mothers are somewhat hard to please. At least mine is… I’ve attempted this in the past, but it didn’t end up well. In my first attempt, I had alarms set up at every single hour. This obviously didn’t work since alarms are a bit annoying. I would be in a meeting or having a conversation, and my water alarm would start ringing. Awkward… Since I still want to accomplish this, and alarms shouldn’t step in the way of a hacker, I built a better, more simple, system. I wrote a small script that will send me an SMS
Here at SendGrid we are huge advocates of community. Therefore, when John Britton reached out regarding joining their new student initiative, Student Development Pack, we all got suuuuper excited! SendGrid’s Accelerate.EDU Package Today’s students are building the next generation of innovative apps and we want to help provide them with the tools they need to succeed. Offering our services, mentorship, or just a friendly high five (we have an unlimited amount of these!) are just a few examples. So joining GitHub’s new student initiative was a no brainer. We want to help the next generation of students build something awesome. Whether it’s at a hackathon or in a dorm room, we want to help. We will be offering our Accelerate.EDU
A few weeks ago, I wrote about using JSON Web Tokens (JWT) as an alternative method of authentication using Go. The post itself contains a basic explanation about JWT and some links for content. In this post, I want to cover pretty much the same things using Koa, a new framework for Node.js. Koa is mostly a middleware framework which uses generators (only available under the Harmony flag) to control the flow of requests. The reason I mention that it’s a middleware framework is because it doesn’t come with most of the things you would expect a framework to provide, such as routing, body parsers, etc. However, when it comes to middleware, Koa is baller. To The Code! First, install the
How much do you know about the awesome folks @SendWithUs? Here @SendGrid, we’re huge fans, and quite frankly friends, of theirs. They provide an amazing service: A/B testing for transactional email templates! If you haven’t heard from them and you are a SendGrid customer, today is your lucky day since we have a partnership that might interest you! But enough about that, lets get a bit technical! I noticed that SendWithUs didn’t have a Golang library. So I figured I could build them one and allow every Go developer out there to interact with their service without having to implement their own 🙂 Go get it! Get it? How do I send an email? Can’t get any easier than that!
Do you find yourself writing technical blog posts in Markdown and exporting them to HTML? Do you end up writing GitHub Flavored Markdown and then exporting to blocks or something similar? I know I used to do that quite often. Thats the reason I created Propagandist. Propagandist is a simple tool which will parse out your Markdown and convert it into HTML. The cool part is that every Code Snippet that it finds gets replaced with a Gist for it. This produces a central Gist with all the snippets that users can jump into. Propagandist is built on top Gost which is a simple wrapper for the GitHub Gist API. They were both written in Golang on one of my
If you haven’t been living under a rock, you probably know that SendGrid released Transactional Templates recently. I’ve been using them for a while, specifically for my API demos. It makes it super simple for me to customize emails for a specific school or crowd on the fly without touching any code. With Transactional Templates I don’t ever touch my code. Here is how my code looks like: Now if I want to go to HackRU and give a demo, I don’t have to change anything in my code. I can go to the Templates interface and activate the template that I set up for HackRU. When I send my email, it will look like this: Now, next weekend I’ll
Recently, my buddies from Blimp piqued my interest about JSON Web Tokens (JWT). You can find very detailed specs about it here and here. In this post, I want to guide you through implementing the equivalent of sessions, but with JWT. The traditional session approach usually requires the client to store some sort of value in its cookies, while the server must have some sort of session storage where it stores that same value. For each request the client makes, the server has to make a network trip to check that the cookie’s value is in the session storage. What if there was no need for a session store? What if you could generate a token that could contain all the necessary
SendGrid and the Java Virtual Marketplace Are you a Java developer looking to use the Java Virtual Machine (JVM) in different ways like Clojure? If you’re looking into Scala, then this post might be able to help you out. Scala runs in the JVM. If you weren’t aware, all of your Java code can run in Scala. Pretty awesome, right? For example, the SendGrid JAR recently went through some major changes in order to make it more robust. You can use the old JAR as well as the new one because in the end, it all becomes bytecode for the JVM. Differences Between Java and Scala Let’s learn a bit about the difference in syntaxes when coming from Java and using the SendGrid JAR