Algorithms for Everyone

I’m writing a series of articles about common computer science algorithms on Medium. Algorithms are really nothing more than a process used to solve a problem, but most textbooks on algorithms assume the reader has a background in computer science or mathematics. I’ve spent many hours studying algorithms reading (and re-reading) proofs by induction and I don’t think that this is the best method for learning how algorithms work.

How to Use AWS Certificate Manager with API Gateway

Updated: As of Mar 9, 2017, now you can! If you’re reading this, you’re probably trying to figure out how to set up a custom domain name with AWS API Gateway. If you log into the AWS Console, you get some fancy HTML text input fields asking you for the: Domain name Certificate name Certificate body Certificate private key Certificate chain (╯°□°)╯︵ ┻━┻ Why does this form exist when AWS already has a tool called Certificate Manager?

Using Bootstrap with Accelerated Mobile Pages

The other day, someone asked me how to use Bootstrap with Accelerated Mobile Pages. My initial reaction was: “Don’t use Bootstrap.” However, it turns out that there are a lot of people using Bootstrap. Some of those users might want to use AMP HTML without rebuilding everything from scratch. Bootstrap makes it very convenient to build responsive, mobile-first websites. By simply including Bootstrap’s CSS, front-end developers gain access to an extensive grid system and a library of reusable components, but that convenience comes at a cost: bootstrap.

TodoMVC: An Evolution to Progressive Web App

There’s a lot of buzz around Progressive Web Apps lately and there’s a good reason: performance. Offline functionality is a big selling point of Service Workers, but the same features that enable offline browsing (cache, fetch, background sync) also enable consistent and reliable performance. In an era of abundant LTE and wifi, network performance might not appear to be the highest priority, but real world mobile networks are neither consistent nor reliable.

Geovisualization with D3.js and DataMaps

Before I started working on this data visualization project, I really wanted to make a map. I didn’t have any data to visualize yet, but I was already thinking about all the things that I could do with a map. That is probably not the best way to start a visualization project. Maps are great, but only when geography provides a meaningful way to present the data. Fortunately, I found an interesting talk from Noah Iliinsky that slapped some sense into me.

The Art of Data Visualization

In the arrangement of a visualization, every single pixel should testify directly to content. As Jony Ive, the great Apple designer said, “We spend most of our time getting design out of the way.” It’s got to get out of the way because it’s about the relationship of the viewer and how they reason about the content. Style and aesthetics cannot rescue failed content. If the words aren’t truthful, the finest optically letter spaced typography won’t turn lies into truths.

Bias in Data Visualization

Data is everywhere. It’s being consumed by every smart phone whenever we receive e-mails and notifications, but we’re also producing it faster than ever. Every Facebook post, every Instagram picture, and every geotagged location produces even more data, but what does all of this information mean? As part of a commitment to teach myself something new every month, I decided to jump into the world of data visualization. Data Visualization Data Visualization is an incredibly interesting field to me because it combines a lot of different fields and skills.

Web Components

One of my current interests is a new specification for encapsulating presentation layer elements called Web Components. I truly believe that Web Components will change how we think about modularity on the web. One of the core tenets of object-oriented programming is encapsulation and promoting software reuse. We’ve been doing this for years on the backend, but until recently, it was difficult to encapsulate HTML, CSS, and Javascript at the presentation layer.

Wink vs. SmartThings

During my holiday shopping adventures, I obtained a Wink hub at a 50% discount and decided to write a comparison of Wink to SmartThings (based on my personal experience with each device). If you don’t follow home automation, Wink is a Quirky product that is being heavily marketed in partnership with retail stores, such as Home Depot and Target. SmartThings offers a similar product, but was purchased by Samsung earlier this year.