WebCake WebCake

Web Development by Colin J Lacy


Enter your email address to receive notifications of new posts by email.

Using Firebase in an Ionic 2 Application


In this article I’ll show how I was able to get Firebase integrated into my Ionic 2 application. This was a great way to stand up an application in record time, without having to worry about building a backend to go with it. Via CDN You’ll see a few examples out there of how to …Read More

Posted: April 21, 2016

A Loading Spinner in Angular 2 Using ngSwitch


One of the challenges of Angular 1.x template rendering was the possibility of a digest cycle attempting to process an object property when an object was not yet defined. This would inherently throw an error, and would break Angular. There were probably a lot of solutions to this, but for me a simple ng-if attribute …Read More

Posted: April 16, 2016

Looping Over Maps and Sets in Angular 2’s ngFor


I’ve been finding myself using Maps and Sets quite a bit lately. This is becoming especially true when I traverse through an array, or array of arrays, reducing it down to a set of unique, or key-value pairs. As a result, I recently had to write a Pipe similar to one that I previously wrote …Read More

Posted: March 31, 2016

Add PouchDB to an Ionic 2 app via Webpack


This post is now irrelevant, as the Ionic team replaced Webpack with Browserfy in their Beta 4 release. However, if you’re customizing to use Webpack, feel free to read on. In this post I’ll walk through how I got PouchDB working as part of the Webpack compilation process in an Ionic 2 project. There are …Read More

Posted: February 14, 2016

Tech Requirements in User Stories


Until recently, I was a true believer in only having functional user stories. In fact, I once had a very heated backlog refinement with a BA friend of mine over him adding a technical note to a user story about a form I had to build. My understanding of Agile was that you never stranglehold …Read More

Posted: February 3, 2016

Data Dependency Mapping in an Offline-First App


So you’re using something like CouchDB for your architecture, maybe Couchbase on the server with Couchbase Lite or PouchDB in your client. Great! You and I should get together sometime to exchange migrane medication tips. Offline applications have a very complex way of dealing with data. You might not have noticed, but when you start …Read More

Posted: February 1, 2016

Lending Credit to Corporate Travel


TL;DR: this entire post can be summed-up with one of the twelve principles of Agile software development, which is that the most efficient and effective method of conveying information to and within a development team is face-to-face conversation. Some Bad Experiences When I first started in the corporate world as a restuarant marketing manager, corporate …Read More

Posted: January 30, 2016

Let’s Build a Ticker in Ionic 2


I have a buddy who’s pretty bad at keeping track of his diet, and I’m pretty sure I know why. His wife showed me the 8.5″x5.5″ 7pt. font print-out of their weekly diet plan, complete with 4mm-wide checkboxes, and I had the immediate urge to help them out with a super-simple app that accomplished the …Read More

Posted: January 13, 2016

Page Lifecycle Hooks in Ionic 2


The v1 docs on the Ionic site specifically tell us that when we navigate between views, our view isn’t destroyed or removed from the DOM. Instead, it’s cached. If we have page load events that we need to trigger when a user navigates to a page, we’ll need to either handle it with an event …Read More

Posted: December 30, 2015

First Thoughts on Ionic 2


If you’re familiar with Angular 1.x, you’ve probably at least stumbled across Ionic at one point or another. It’s an amazing framework that creates hybrid cross-platform apps out of Angular 1.x projects, adding custom directives specifically built for touch-screen UI. With Angular 2 in beta, it would only make sense that those of us who …Read More

Posted: December 29, 2015

On Declaring Styles Inside Components


This post is about what I feel is a problem in the way some developers on the front-end are writing their components – whether in React, Polymer, or now Angular 2. Please feel free to disagree with me in the comments section, as I’d like to know if I’m missing something. A Widely Agreed-Upon Worst …Read More

Posted: December 22, 2015

Sending HTTP Requests from a Node Application


Node comes with some pretty awesome features, something that’s been well documented and widely accepted.  These days even some long-time Java devs that I know are pretty excited at how quickly something can be done server-side with Node, and the ES6/2015 features are making a lot of the old-guard naysayers come around. That being said, …Read More

Posted: December 14, 2015

Enabling Jetpack Plugins in Dev Mode


One of the reasons I left the WP community was this commonly adopted theory that everything just works…with a big, excited smiley face.  Even early in my development career I knew that not to be true; but it was the way of the world as far as I could see. I remember reassuring myself that any …Read More

Posted: December 9, 2015

Building a Yeoman Generator


When I sat down a few weeks ago to write my first Yeoman generator, I was pretty surprised by the lack of resources available beyond the basic Yeoman documentation. While the API docs were decent, the Getting Started section wasn’t. Most of the learning was done on my own. Hopefully this will help other people …Read More

Posted: December 5, 2015

My Gripe with Yeoman


To be specific, this isn’t so much a gripe with Yeoman as it is a gripe with the way in which some people use open-source Yeoman generators. As I’ll discuss at the end of the post, Yeoman is an amazing tool which can yield incredible results in decreasing development time, but only when used wisely.  So …Read More

Posted: November 29, 2015

Calling All Promises – More ES6 Promises in Node


This is the second of a two-part series. You can find the first post here. I’ve previously written about creating Promise-based calls in Node scripts, and at the end I promised (BOOM!) to go into scaling the promise pattern to run multiple async calls. This post starts off where the other one ended, with the …Read More

Posted: November 29, 2015

ES6 Promises in Node


This is the first of a two-part series. You can find the second post here. One of the coolest features of ES6 is its built-in support for promises.  Unlike the way we’ve been developing Node modules, the promise API allows us to build an async workflow that aligns to the way many of us have been …Read More

Posted: November 26, 2015

How a Product Owner can Render Agile Useless


I once had a user tell me that the app I had just been pulled in to start working on, already in production, was the worst thing that ever happened to his job.  It was alarming.  I told him I was specifically there to learn about his problems so that I could fix them.  He wasn’t convinced. …Read More

Posted: November 22, 2015

The Problem with Constant Success


You might find yourself working on a dev team of like-minded people who take software very seriously, and truly feel that every aspect of the code – from the way it looks, to test coverage, to feature sets – reflect who they are as people. They’re proud of what they do, so they refuse to fail, …Read More

Posted: November 21, 2015

Installing MongoDB on a Mac


I like Mongo for running PoC projects where I need a quick database and don’t know how database is going to grow.  It’s fast, works with JSON, and I don’t have to worry about fields being null or being of a certain data type. While helping a coworker install the Private Bower locally, I realized …Read More

Posted: November 21, 2015

A Private Bower Built in Express


Working for a company like GE, there are a lot of rules that restrict the sharing of internally developed tools.  For the most part, anything that we build on the company’s dime has to stay within the company.  Not necessarily a bad thing, just the way it is.  However, it does restrict the amount of …Read More

Posted: November 20, 2015

The Importance of ‘this’ in Meteor


NOTE: This post was written at the end of 2014, right after Meteor went to v1.0. I have since lost track of Meteor and haven’t been keeping up with newer versions, nor have I updated this post. Let’s be honest here, I’m pretty big on Meteor.  I’ve been following the project since v0.5, and now …Read More

Posted: December 31, 2014

The Real Meteor Hello World


NOTE: This post was written at the end of 2014, right after Meteor went to v1.0. I have since lost track of Meteor and haven’t been keeping up with newer versions, nor have I updated this post. I was first introduced to Meteor a little over a year ago, when it was still in deep …Read More

Posted: November 2, 2014