danny

My first Alexa skill: control motorized window shades using Flask, a Raspberry Pi, and AWS Lambda

I recently started getting really into home automation and splurged on motorized shades from Hunter Douglas as well as an Amazon Echo Dot. The shades came with a nice physical control device called a “Pebble”, a hub, and a repeater. The setup, hardware, and iPhone app worked really well, but sadly no thanks to hunterdgoulas.com, which is my vote for “most confusing website” of the month. I may be overthinking their user interface, but the word escheresque comes to mind. […]

Scheduled events using AWS Lambda & Cron Jobs

Almost any application needs to be able to run tasks on a schedule. This is usually achieved by setting up cron jobs on a server to run periodically. When we bring containers into the mix, we’ll notice quickly that running a cron daemon inside a container goes against one of the principles of (at least) Docker: “Only run one command in a container”. Sure, there are ways to get around this easily. You could concatenate commands and run them in […]

This post describes a problem that seems custom to ECS: Using a single task definition for multiple environments, and is part of my mini-series of posts: Common challenges in containerizing your application with Amazon ECS. Problem Description During our migration to Docker and ECS, one of our goals is to have multiple environments (QA, Staging, Production) use the same containers and, ideally, the same ECS task definitions. In order to achieve this goal, each cluster of Docker EC2 hosts needs […]

Provisioning scripts for EC2 instances in Auto-Scaling Group AWS CloudFormation allows us to define MetaData (AWS::CloudFormation::Init) that gets normally executed as part of an EC2 instance UserData. This is particularly helpful when launching EC2 instances as part of an auto-scaling group, as it allows us to run the same provisioning scripts on every instance in a more organized fashion. Problem: Updating a running EC2 instance in an Auto-Scaling Group When we modify the UserData that’s part of an AutoScaling LaunchConfiguration, […]

There are a multitude of good articles that explain in detail how to setup service discovery using the above services. Instead, this article will focus on the challenges in getting Service Discovery setup on AWS. Scalable Architecture DR CoN: Docker, Registrator, Consul, Consul Template and Nginx Consul Template for transparent load balancing of containers – Development the way it should be Reasons for using Consul as a service discovery tool Our primary reason for setting up Consul is the move […]

Recently, I started working with one of the best Titanium Titans on one of my mobile projects. For those people who aren’t familiar with the concept, Titans in the world of Appcelerator’s Titanium are the thought leaders of the project and, obviously, wicked smart developers. In one of our conversations, he mentioned that a lot of his clients need Drupal expertise and want to use Titanium with Drupal 7, and he asked me about a good introductory book for himself. […]

Drupal Mini Series: Drupal 7 Multi-sites Configuration

If you’ve ever read all the way through a Drupal book, you will have found those short chapters at the end that mention some of Drupal’s more advanced features such as multi-lingual sites. Whenever you setup a Drupal installation that requires the word “multi”, you’d wish that those 2 short pages would be filling a whole book. That’s exactly what Packt Publishing has done with a cool new series called “Drupal Mini Series”: A compact, roughly 100 page long book […]

One of my clients’ website viewers are moving from desktop to mobile devices. And of course, he is showcasing a lot of music on his website, currently being displayed using a Flash frontend player, which can’t be viewed on iOS devices. To fix that, I recommended switching to jPlayer, a HTML5-based player that uses Flash as a fallback for browsers that don’t support it yet. This post is intended to provide the missing pieces of information for those of us […]

I recently published a module on drupal.org that allows site admins to send push notifications to users that have registered their mobile device tokens and got asked how users can register a device token. The Push Notifications module for Drupal 7 can be found here: http://drupal.org/project/push_notifications. Here’s a quick tutorial on how to register a token through the services interface. Navigate to the Services admin interface at admin/structure/services: http://cl.ly/3F1429021N2W2y1s2j15 Add a new services endpoint. For this example, I’m going to […]

Picking the best theme for Drupal 7

Just like everyone else these days, I am jumping on the Drupal 7 bandwagon for my newer projects. And every time, I come across the question which theme to use. By default, I gravitate towards Zen. I know it inside out, it is still the most-used theme across all Drupal sites and it just seems like the right way to go. I’m not a big fan of splitting up my css into tens of stylesheets, but I can go with […]