writing
I write about software architecture and engineering, starting and operating a business, and living out my faith.
The Success in the Ordinary
Success in western culture is often marked by follower count, headcount, and GitHub stars. What if success is found in the ordinary?
read article
Year in Review
A review of 2023 - a Year of Building
read article
Angular Transfer State
Learn how to effectively manage Angular Transfer State with server and static rendering using Universal.
read article
Generate Open Graph Image with Gatsby
Learn to generate open graph images for posts with Gatsby.
read article
Route Params with NgRx Store
Learn to access route parameters with NgRx router store.
read article
Generate Angular Tests with QA Wolf
Learn how to generate Jest and Puppeteer tests for Angular applications with QA Wolf.
read article
Console Debugging with `window.ng`
Angular 9 provides improved debugging in the console using window.ng.
read article
Lazy Load Angular 9+ Components
Lazy loading components with Angular 9+ just got a lot easier!
read article
Angular 9 Update Guide
Learn to successfully update to Angular version 9.
read article
Conditional Class Names in React
Efficiently apply class names conditionally in React.
read article
Impactful Presentations
Top 5 tips for creating impactful presentation to ensure your audience walks away inspired and not exhausted.
read article
Ellipsis Directive
Build an Angular Attribute Directive for efficiently truncating text and appending an ellipsis within an element's fixed height.
read article
NG Add Schematic
Learn how to build an Angular schematic that adds a library.
read article
Angular Schematics Tutorial
Learn how to create Angular schematics.
read article
Vuex for NgRx Devs
Learn to build manage state in a Vue.js application using Vuex from the perspective of an Angular dev using NgRx.
read article
Vue.js for the Angular Dev
Learn to build an app using Vue.js from an Angular Dev's viewpoint.
read article
Angular HttpClient Response
Learn to obtain the full response of an HTTP request with Angular using HttpClient.
read article
NgRx Testing: Effects
Learn how to unit test NgRx effects using Jest.
read article
NgRx Testing: Reducers
Learn how to unit test NgRx reducers using Jest.
read article
NgRx Testing: Components
Learn how to unit test Angular components using NgRx with Jest.
read article
Angular + Jest
Learn how to write unit tests for Angular using Jest.
read article
NgRx + Loading Indicator
Application loading indicator using NgRX and Angular.
read article
RxJS: Master the Operators
Learn to master RxJS operators with Angular 5 and NgRx.
read article
NgRx + Material Snackbar
Show and hide Material Snackbar using NgRx and RxJS with Angular.
read article
RxJS: The Basics
Learn the basics of functional reactive programming in Angular with RxJS.
read article
Angular Window Provider
Where did my $window go? No problem, use this provider to inject the window into your Angular component.
read article
Angular + NgRx: Refactor Module
Refactor an existing application's module to implement the Redux pattern using NgRx.
read article
Angular + NgRx: Getting Started
Get started with NgRx in your Angular applications.
read article
Angular + NgRx: The Basics
Learn the basics of implementing the Redux pattern in Angular applications.
read article
Angular HttpClient Blob
Using Angular's HttpClient "blob" response type to display an image.
read article
RxJS Antipatterns
Learn what not to do with RxJS in your Angular applications.
read article
Updating To NgRx 4
Here's a quick guide to updating your code to use NgRx 4.
read article
Migrating to HttpClient
Migrating to the new Angular HttpClientModule from the deprecated HttpModule.
read article
Angular Delete Confirmation
Delete confirmation dialog using Angular and reactive programming with ngrx.
read article
MEAN App: Angular + Material
Part 2 - Let's build an Angular app using Material.
read article
MEAN App: Reactive Programming
Part 3 - Let's build an Angular app using reactive programming with RxJS and ngrx.
read article
MEAN App: Server
Part 1 - REST API using Express Server written in TypeScript with Mongoose plus Mocha and Chai tests.
read article
MEAN App Unplugged
Building a MEAN unplugged. We'll use TypeScript, Angular Material and reactive programming.
read article
MEAN + Material + Reactive
Let's build a MEAN app using TypeScript for the client and server using Angular Material and Reactive programming.
read article
Responsive Angular
Learn how to easily create responsive applications using Angular and Flex Layout.
read article
Angular Language Service
The Angular Language Service extends the intelligence of your editor to Angular templates.
read article
Angular Reactive (ngrx) Authentication
Learn how to add authentication to your Angular app using reactive (ngrx) extensions.
read article
CORS in Express using TypeScript
A quick walkthrough on configuring CORS in your Express app using TypeScript and the cors middleware.
read article
Passing Data with MdDialog
Make your Material MdDialog stateless by passing data as part of the MdDialogConfig object.
read article
Node.JS + SendGrid + TypeScript
(Almost) Every application needs to send an email at some point.
read article
TypeScript 2 + AngularJS
If you want to use TypeScript in your AngularJS (Angular v1) application today but you are not yet ready to move to Angular v2 or v4 (yeah, it's coming) then keep reading.
read article
Angular: Don't forget to unsubscribe()
Don't forget to unsubscribe from subscriptions in Angular components using the OnDestroy lifecycle hook.
read article
Hackerrank: Making Anagrams
I've put together some sample solutions to the Hackerrank _String: Making Anagrams_ challenge using JavaScript on Node.js.
read article
Array Left Rotation Using Javascript and Node.js
I've put together some sample solutions to the common array left rotation challenge.
read article
TypeScript 2 + Express + Mongoose + Mocha + Chai
MongoDB is an excellent choice for persisting data for your web application that uses the Express engine on Node.js.
read article
TypeScript 2 + Express + Node.js
TypeScript 2 enables you to develop solid web applications using Express on Node.js
read article
Angular2 Breadcrumb using Router
A breadcrumb has been and still is a standard in user interface navigation on the web.
read article
Angular CLI using HTTPS
If you need to run the NG Development server over HTTP using SSL then this quick guide is for you.
read article
Angular 2 + Google Maps Places Autocomplete
In this brief tutorial I'll show you to to quickly build an Angular 2 + Google Maps Places Autocomplete application.
read article
Dynamic FormGroup Custom Validation in Angular2
In this post I will show you how to create nested FormGroups to create a custom validator.
read article
Angular + TypeScript Plunker Starter Kit
Ready to be forked: Angular + TypeScript Plunker Starter Kit.
read article
Angular 2 window scroll event using @HostListener
Angular 2 is awesome, but it also a major departure from Angular 1.
read article
TypeScript: Declaring Mongoose Schema + Model
So, you're on the `TypeScript` bandwagon and you want to use `Mongodb` and `mongoose`.
read article
TypeSearch for @types powered by DefinitelyTyped
Microsoft is making things much easier for TypeScript developer who are using external libraries (who isn't?).
read article
Preloading with Critical Path CSS
The `link rel="preload"` resource hint combined with defining your critical path CSS may provide a better solution to deferring the loading of your CSS files.
read article
Upgrading to Typings 1.x
I have been playing with Angular 2 beta 4 and also updated typings from 0.x to 1.x.
read article
Generate Critical Path CSS with Node.js
In this post I will show you how to generate the critical path CSS to avoid render-blocking JavaScript and CSS.
read article
TypeScript + Express + Node.js
The Express web application framework for Node.js is arguable one of the most popular solutions for creating web apps built on the async Node.js engine.
read article
CSS3 Content Property
The CSS3 content property is extremely valuable for inserting content into the ::before and ::after pseudo elements.
read article
LESS to SASS
Auf wiedersehen LESS, Hallo SASS!
read article
Bootstrap Cover Photo Sizing
In this post I will show how to create appropriately sized cover photos when using Bootstrap 3.
read article
Bootstrap via RequireJS
I have been learning and using RequireJS for the past couple of weeks, and I have to say, I love it.
read article
Web font in IIS: ERR_CONNECTION_RESET
If you are using a web font, including popular font icon fonts like Font Awesome then you may notice an error when loading your web font from an IIS server.
read article
Multiple Batches in a single Transaction
Create a migration script that uses a transaction to roll back the changes in case one of the sql statements fail.
read article
Migrating Databases in Amazon RDS
Amazon's Relational Database Service (RDS) enables developers to launch database instances in the cloud that are managed by Amazon.
read article
Learning Nginx on OS X
In this post I am going to take a quick dive into the Nginx web server.
read article
2015 Website Design Goals
When approaching a website design for 2015 what are your design goals?
read article
chmod directories (and not files)
Here is a quick snippet that I used today and that I might end up needing in the future.
read article
Lucee on Mac OS X Yosemite Quick Start
After the news of Railo being forked to a new project called lucee I wanted to check it out.
read article
Hash Any ColdFusion Type
In order to generate a unique identifier for caching an object I needed to create a function to accept any data type, and to return a unique hash from that object.
read article
Find-and-Replace in Multiple SVN Repositories
A bash shell script to find-and-replace in all files in multiple svn repositories.
read article
ColdFusion 10 Install on OS X Yosemite
If you have just downloaded Adobe ColdFusion 10 on your OS X Yosemite development environment you might be surprised to find out that the installation will cause your Apache 2.4.x server to stop working.
read article
IIS and HTTPS Binding with Host Header
Well, the title may not be entirely accurate. Honestly, I didn't know what to title this post -- let me explain what I observed and how I was able to get around the issue.
read article
AlertifyJS
Check out this video on setting up and using the AlertifyJS library.
read article
Ehcache Regions in ColdFusion
In migrating our application's caching service to use ColdFusion's Ehcache integration I needed to a way to get all of the caching regions stored in Ehcache.
read article
PHP Script to Check Remote Server or Website
Check out this short video on creating a PHP script to check if a remote server or website is available.
read article
PNG Support for PHP on OS X Yosemite
I recently upgraded to OS X Yosemite and ran into a small issue when attempting to create an image resource from a string.
read article
Redirect to HTTPS
As part of my series on migrating a site to support HTTPS we are finally at the step where we will implement the redirect that will ensure our users are always using the HTTPS site.
read article
Enabling Strict Transport Security (HSTS)
I am continuing a series of articles focused on migrating a website to support HTTPS Everywhere.
read article
Keep-Alive and HTTPS
As part of a series on setting up HTTPS Everywhere I am migrating a website to use HTTPS for all requests.
read article
HTTPS Protocols and Ciphers
As part of a series on using HTTPS Everywhere we are migrating a website from HTTP to HTTPS.
read article
Calendar Using jQuery and CSS3
Check out a video I created on building a calendar using jQuery and CSS3.
read article
Enable HTTPS in Apache on Mac Yosemite
In this post we'll be using HTTP with Apache on OS X Yosemite.
read article
Enable HTTPS on IIS
As part of my HTTPS Everywhere series I am showing how to configure your web server for HTTPS.
read article
HTTPS Everywhere
You might have heard this past summer that Google has made a slight (less than 1% of sites will be affected) modification to their algorithm to give more value to those sites that use HTTPS than those sites that do not.
read article
Self-signed SSL Certificate on Mac Yosemite
As part of a series on migrating a website to support HTTPS everywhere I needed to create a self-signed certificate on Mac OS X.
read article
Git Submodule Cheat Sheet
A quick and dirty cheat sheet for Git submodules.
read article
Imagemagick Installation with OS X Mavericks and PHP 5.4
I know that there are lots of posts and articles written for installing the imagick PHP extension, so why not one more.
read article
What's the double exclamation mark for in JavaScript?
If you have ever noticed a double exclamation mark (!!) in someone's JavaScript code you may be curious what it's for and what it does.
read article
Bootstrap Git Submodule Workflow
I have used Bootstrap for projects in the past but I have always downloaded the precompiled bootstrap files. While this has worked easily in the past, there are some downsides.
read article
Twitter Sign In using OAuth and ColdFusion
Enabling your users to authenticate to your website using a popular social media service such as Facebook or Twitter can increase your sign-up conversion rates.
read article
Simple OAuth 1.0 using ColdFusion
As part of a project to integrate with a REST API I have developed a small project for OAuth 1.0 using ColdFusion.
read article
One Day With Expressjs
I have spent one day (so far) learning expressjs -- a node.js framework for a web application server.
read article
Lowercase Your URIs
For SEO purposes, it is often necessary to enforce lowercase URIs on your website.
read article
Retina and Responsive HTML5 Images
With the popularity of retina and high definition displays on the rise it is now more important than ever for web developers to use high definition images.
read article
WordPress Plugin using HTTPS
This post is mainly focused at those using a WordPress plugin that is old (and probably should not be used anymore) and is causing issues when attempting to load your WordPress blog over SSL via HTTPS.
read article
ColdFusion 10 Run As User on Mac
During the installation of ColdFusion 10 you have the option to enable the automatic startup of the ColdFusion application server during the boot process on your machine.
read article
Mac OS X Mavericks and pdo_odbc PHP extension
Compiling and installing the `pdo_odbc` PHP extension is not for the light of heart.
read article
VMWare Fusion to Virtual Box
Based on reading other blogs and websites, exporting a virtual machine from VMware Fusion to Virtual Box can be accomplished into two ways.
read article
Simple Tomcat7 Install on Ubuntu 10
Here's a quick and simple install guide for Tomcat7 on Ubuntu.
read article
Upgrading to Apache 2.4 from Apache HTTP Server 2.2.x
Upgrading from Apache 2.x to the latest version of Apache 2.4 may require some changes to your configuration.
read article
Add Git Composer Dependency
It's really easy to add a dependency to your PHP project using composer when the package is available in the packagist library.
read article
Web Development Automation - apache Ant
This is the first part in my series on Web Development Automation.
read article
Web Development Automation - Getting Started With Grunt Tutorial
This is the second part in my series on Web Development Automation.
read article
Web Development Automation - gruntfile Using CoffeeScript
This is the third post in a series on automation in web development.
read article
Web Development Automation
In my web development automation series we will learn the basics of automating your JavaScript and CSS development.
read article
Open Graph Meta Tags
Does your web site implement the Open Graph protocol?
read article
Async typekit using jQuery and CoffeeScript
Using TypeKit? Using CoffeeScript? Want to load the typekit library asynchronously using jQuery?
read article
FTP Facade Utility for ColdFusion
In a recent project at work we needed a simpler approach to using the FTP solution built into Adobe ColdFusion.
read article
OS X Mavericks and Apache
Web Development with Apache + PHP on OS X Mavericks
read article
Logger Service for ColdFusion
Simple implementation using cfscript and object-oriented ColdFusion to create a logger service layer.
read article
Getting Started with Composer and CakePHP
Composer is a dependency management tool for PHP; perhaps comparable to using Maven for a Java project.
read article
JavaScript's hasOwnProperty() method
A common question asked by students who are learning JavaScript is what is the purpose of the hasOwnProperty() method?
read article
Add new sudo user to EC2 Ubuntu
This post is more for me as a reference guide for adding a new user to Ubuntu.
read article
Increase Java Heap for Maven Build
If you have ever run into an issue with the Java Heap space when doing a Maven build, you can easily give more memory to Java.
read article
Git + git-flow
Using the Git-flow model with Git makes it easy to work on features, releases and hotfixes.
read article
Coding Conventions or Guidelines for Objective-C
When developing a framework, or when developing as part of a team, it is a good idea to have an agreed set of coding guidelines.
read article
How to show Interstitial Ads on iPad apps
We've all seen an interstitial ad when playing a free game on our iPad or iPhone.
read article
Hide status bar on iPhone and iPad apps
It's really easy to hide the status bar on your iPhone and iPad apps.
read article
How to create an iPad popover view
In this tutorial we are going to walk through the steps necessary to create a popover view in your iPad application.
read article
Objective C Image Naming Conventions
When using images in your iOS applications, you will need to have different sizes images.
read article
Newlines stored in NSString attributes in Core Data
I recently ran into an interesting issue that I thought I would write about.
read article
NSCopying Protocol
I have a factory object for creating new core data entities based on a predicate.
read article
Segue Identifiers
How many times do you declare the same string for a segue identifier in your view controller's code? Perhaps just one, or twice, or more?
read article
Target Conditionals in Objective-C
When developing an application I want to be able to set a variable based on the target.
read article
Synthesize by Default with Xcode 4.4
Objective-C is a great programming language, and has had support for declaring class properties via the `@property` keyword.
read article
Uniquely identify your iOS app users
In iOS 5 Apple deprecated the `[UIDevice uniqueIdentier]`, which returned the UDID (Unique Device Identifier).
read article
LESS tutorial and presentation
I have prepared a tutorial and presentation to give an overview and detailed look at the LESS programming language.
read article
NSArray, NSDictionary and NSNumber literals
With the release of Apple's updates to the LLVM compiler, it is now possible to use object literal notation in Objective-C.
read article
UIToolbar for simple and easy toolbars in iOS
The `UIToolbar` class provides a simple and easy way to create a toolbar for your users.
read article
Setting custom HTTP request headers with RestKit
RestKit is a great REST framework for Objective-C whose goal is to simplify consuming and modeling of RESTful APIs.
read article
Core Data Aggregate Functions
Core Data is a beautifully designed object mapping and persistence framework -- big kudos to the Apple engineers.
read article
NSUserDefaults
NSUserDefaults is the Objective-C class that allows you to store and retrieve user preferences for your application.
read article
Starting with LESS
It's been on my list for awhile, and I was finally able to learn more about the LESS language.
read article
Coda 2 Git toolkit
The Coda 2 application includes source control management (SCM) within the editor.
read article
SQL Server Subquery as a List
I have a subquery that I want to aggregate into a semi-colon separated list.
read article