Introduction Just recently we've begun running tests with a new language called Elixir and we are very excited about it for a few reasons. The language is built on top of the Erlang VM & Open Telecom Platform (OTP), which is a highly proven network language that is used extensively in telecommunications. It also forms the foundation of popular apps like Facebook Chat and WhatsApp. So why are we excited about this language here at Kettle? We see a few high level benefits that it brings to the web: Concurrency: Elixir is designed around what they call a shared-nothing actor…

Introduction cURL is a great library and tool. Quite often we'll use it to interact and fetch data from third-party API's. However, sometimes debugging requests made with cURL, specifically from a PHP application, can be tricky. Let's say you have an integration with a third-party API and the service becomes unstable. Some requests respond as expected, while others do not. How can we determine where the code is failing? Use Logs, Not Exceptions Just recently, we ran into a situation where one of our cURL integrations was failing. In production environments we capture and log all exceptions using an app…

Building a Hybrid iOS App This is a follow-up to our post on Token Authentication Using Laravel + iOS. In our previous post we covered the backend API and how to configure Laravel token authentication. In this post we will build a hybrid iOS app using Apache Cordova along with the Onsen UI framework. Our goal was to build a simple iOS to-do app that would connect to our backend API using token authentication (via JSON). This post will show you how to set up Cordova, Onsen UI and create the necessary templates for our to-do app. Let's get started. Prerequisites…

Introduction Just recently we were tasked with developing a web + iOS app for a client. We wanted to leverage the speed & simplicity of building for the web using Laravel, but utilize this same backend architecture for the iOS app. This meant we needed to create a RESTful API to interact with our iOS app. As with most apps, this one required authentication. We decided to use tokens for our authentication module. This article is apart of a two part series designed to demonstrate how to build a basic API which will eventually interact with an iOS to-do app. It…

Welcome There has been a lot of buzz around Go (golang) lately. I don't tend to be an earlier adopter for new languages since a strong community and proven platform are critical when building software intended for production enviroments. Go has matured quite a bit since it was introduced in 2007, so I decided to take a deeper look this week. My research concluded that it makes a good fit for scalabale (enterprise level) web apps, and API's in specific. Go supports concurrency and multi-threading on the language level, right out of the box. It also enforces strict syntax and…