__3 "Going the Full Mile, Continuous Delivery."
In the last few issues of this series, the team has done the following:
Introducing the Thrashing Code Team & Projects - Know who’s working on what and what the projects are.
“Getting Started, Kanban & First Steps for a Sharing App“ - Getting the kanban put together and the team involved.
“Starting a Basic Loopback API & Continuous Integration“ - Getting the skeleton of the API application setup and the continuous integration services running.
In this issue of the series Keartida is continuing with setup and configuration of the next step, getting to a basic continuous delivery of services with a basic AWS Elastic Beanstalk setup.
The Latest 5th Generation Dell XPS 13 Developer Edition
Just about 4 weeks ago now I purchased a Dell XPS 13 Developer Edition directly from Dell. The reason I purchased this laptop is because of two needs I have while traveling and writing code.
- I wanted something small, compact, that had reasonable power, and…
- It needed to run Linux (likely Ubuntu, but I’d have taken whatever) from the factory and have active support.
Here’s my experience with this machine so far. There are lots of good things, and some really lousy things about this laptop. This is the lowdown on all the plusses and minuses. But before I dive into the plusses and minuses, it is important to understand more of the context in which I’m doing this review.
- Dell didn’t send me a free laptop. I paid $1869 for the laptop. Nobody has paid me to review this laptop. I purchased it and am reviewing it purely out of my own interest.
- The XPS 13 Developer Edition that I have has 8GB RAM, 512 GB SSD, and the stunningly beautiful 13.3-inch UltraSharp™ QHD+ (3200 x 1800) InfinityEdge Touch Display.
- Exterior Chassis Materials -> CNC machined aluminum w/ Edge-to-edge Corning® Gorilla® Glass NBT™ on QHD+ w/ Carbon fiber composite palm rest with soft touch paint.
- Keyboard -> Full size, backlit chiclet keyboard; 1.3mm travel
- Touchpad -> Precision touchpad, seamless glass integrated button
__0 "Introducing the Thrashing Code Team & Projects"
In the coming months as I put together technical training material, I’ve created a fictitious team that is made up of the following members. I’ve detailed their roles and provided photos of these individuals, that act as NPCs in creating projects for the training material. To add character to the narrative I’ll be discussing these roles as if from the perspective of these NPCs that are filling the particular roles.
Meet…
AWS Beanstalk Worker with Node.js and SQS

- Part 1 – Setting up an AWS SQS Queue for Use With Node.js Beanstalk Worker Instances
- Part 2 – Setting up a Hapi.js App that sends work to a Node.js AWS Worker via SQS
- Part 3 – AWS Beanstalk Worker with Node.js and SQS (This is the current article you’re reading now)
First I created a project for the node.js worker. The first steps for this are identical to that of creating the Hapi.js site that publishes messages to the queue. Go through these three steps for the worker and then I’ll continue from there.
- First create the web application which will act as our worker service. I gave mine the name of testing-aws-sqs-worker, the site publishing to the queue I called testing-aws-sqs-site.
- Next add dependencies needed, like mocha.
- Finally make sure the AWS environment variables are set appropriately.
…and now on to the security, configuration and worker specific parts of this series…
Setting up a Hapi.js App that sends work to a Node.js AWS Worker via SQS

- Part 1 – Setting up an AWS SQS Queue for Use With Node.js Beanstalk Worker Instances
- Part 2 – Setting up a Hapi.js App that sends work to a Node.js AWS Worker via SQS (This is the current article you’re reading now)
- Part 3 – AWS Beanstalk Worker with Node.js and SQS
First I created a project for the node.js web application. This just used the simple npm init
command and I stepped through the prompts for name, version, description, entry point, and so on.
$ npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sane defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install &pkg& --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (testing-aws-sqs-site)
version: (0.0.0) 0.0.1
description: This project that will feed data to the queue for the AWS SQS sample.
entry point: (index.js) server.js
test command: mocha
git repository: (https://github.com/Adron/testing-aws-sqs-site.git)
keywords: aws, sqs, elastic, elastic beanstalk, queue, worker
author: Adron Hall
license: (ISC) Apache 2.0
Setting up an AWS SQS Queue for Use With Node.js Beanstalk Worker Instances

- Part 1 – Setting up an AWS SQS Queue for Use With Node.js Beanstalk Worker Instances (This is the current article you’re reading now)
- Part 2 – Setting up a Hapi.js App that sends work to a Node.js AWS Worker via SQS
- Part 3 – AWS Beanstalk Worker with Node.js and SQS
Before diving straight in, I’m going to outline the specific goals and what I am using to accomplish these goals. The goal is to have a simple web application, that will get some element of data posted to a queue. The queue will then have data that a worker service needs to then process. As I step through each of these requirements I’ll determine the actual push and pull mechanisms that will get the job done.
Bashit... Just a Custom Bash Prompt Setup for Git
I use git. I’m honestly shocked when someone doesn’t use git (or at least some DVCS) these days. It just seems somewhat draconian to use any of the legacy source control systems (albeit there are some rare exceptions, like game development graphics collateral). I was reminded of something by the great hands on session that Pamela Ocampo @pmocampo and Rachel @raychatter gave at OS Bridge titled “NerdCred++; How to Customize your Bash Prompt“.
Working in -34c Wintersmith Customization and Github Hosting
Getting Wintersmith customized, building and deployed to Github and a domain name pointed takes a few extra steps. So let’s roll…
Wintersmith Creating Documentation
I set out a few days ago to put together a documentation site. I had a few criteria for this site:
A static site that I could push to Github to use with their github pages feature.
The static site is generated from markdown.
It just works. It’s easy to get it into a workflow without breaking the tool or breaking a solid workflow.
That was it, what I’d consider some pretty straight forward criteria. However it wasn’t that easy, until it was. Here’s a few of the issues I ran through on the way to getting a solid tool with a solid workflow working together. Beware however if you have fickle reading eyes, the following is a rant about what does and does not work.