Auto Install Windows New Relic Agents in AWS Elastic Beanstalk

We use New Relic for Application Performance Monitoring on our ASP.NET and node.js applications. Recently, we’ve started moving our infrastructure from on-premise into Amazon Web Services (AWS). Because we’re just beginners, we started out with the Elastic Beanstalk service, which allows us to easily deploy new versions of our applications backed by a decent infrastructure. In an on-premise situation, we’d manually install the .NET Agent and the Infrastructure Agent. But working with Elastic Beanstalk means we need to take a different approach to keep things efficient and consistent.…

Notebook Heavy is Now Static

The site you’re reading is now statically hosted on AWS S3. Because the only thing that doesn’t change is change and my site doesn’t change that much so I decided to change it to something that doesn’t change. - me I decided to switch Notebook Heavy from a dynamically generated, traditional blogging engine, to one that is written offline and statically rendered. The reasons are both financial and operational, so read on to find out more about what I did and why.…

AWS Security Group Secures RDS by Default

Turns out, AWS security groups secure your stuff, even if you don’t know it. At my employer, we finally got access to Amazon Web Services (AWS) and Vinyl Deals runs on Microsoft’s Azure cloud. Despite the fact that I’ve written articles about AWS before, my familiarity with modern AWS is still in the beginning phase. On day one playing with our shiny new AWS tools, I set up a development SQL Server using RDS.…

Dave. Read This When You Upgrade Ghost

This post is really a message to myself in the future for the next time I try to upgrade Ghost. Dave. You just tried to upgrade Ghost again and it’s not working, right? Dude, what is your problem? Let’s go through the checklist: Did you clear out the existing core directory before you copied the new one over? You know, like the upgrade instructions said you should? No? Well, try that one and redeploy.…

Actual Client IP Address on Azure WebSites with CloudFlare

Over at Vinyl Deals, I use CloudFlare to handle some caching and firewall issues. Like any good server admin, I check my logs to make sure the app is running smoothly so people can find those sweet record deals. But sometimes I notice a strange uptick in traffic on the back-end that doesn’t show up in the front-end analytics. Usually, this means it’s just a bot. Often it’s Googlebot, which I’m totally fine with.…

SQLite Problems with Ghost on Azure

I just wanted to upgrade my blog from the ancient version 0.4.2 of Ghost to the brand spankin’ new 0.7 release. I followed the Ghost upgrade guidance, adjusting it to fit my build which deploys from GitHub to Azure Web Sites. But after the deployment, neither the blog nor the admin console showed up. Just a blank, white screen. The favicon still showed up, so at least I had that going for me.…

My Top 5 Books of 2014

In 2013, there were 304,912 traditional print books offered for sale. The numbers aren’t yet in for 2014, but it’s probable that a similar number awaits. Of those ~300,000 new books, I read 22. That’s a solid .00733% of new books I plucked from obscurity (i.e. the best seller lists) and injested into my brain. Of course, not all books are great. Some are terrible and some are meh. But thanks to the beauty of a normal distribution curve, it’s inevitable that some books are spectacular.…

Azure Mobile Services with AngularJS $resource

Microsoft released the ability to create custom APIs with Azure Mobile Services in June 2013 and released the JavaScript client for Azure Mobile Services (AMS) even earlier in March 2013. The JavaScript client is excellent and easy to use, but it doesn’t play well with AngularJS. Actually, that’s not true. It plays just fine with AngularJS but it requires you to use $scope.$apply() when you’re working with the data retrieved.…

iOS 7 Style Progress Meter in Swift

Hot on the heels of my recent post iOS 7 Style Progress Meter in C# is this version where we accomplish the same feat, but using Apple’s new language Swift. To refresh your memory, this is what we’re looking to recreate: In more specific terms, we’re looking at the circular progress meter that slowly advances as the download completes. ##The Playground One of the nicest features of Swift is the playground where we can write and evaluate code in fast iterations.…

iOS 7 Style Progress Meter in C#

On iOS 7, when you download or update an app from the App Store, there’s a small circular progress indicator that shows how complete the download is. It’s simple, compact, and provides information well. Making a version of this is incredibly easy using C# and Xamarin on your iOS app. Layers, Everywhere Every UIView has a property called Layer exposed that is responsible for what’s rendered inside that view. It’s of type CALayer and is a tree hierarchy, just like the view heirarchy.…