I've long been curious about the effectiveness of the built-in antennas that are attached to common WiFi modules. Can that tiny, serpentine PCB track really match the performance of a "real" antenna? How does it even work? I set up a quick test to find out. Using a pair of ESP8266 development modules, I set up a test measuring gateway ping times, and sending the resulting values to AWS IoT Core. Messages are routed to Firehouse, stored in S3, and aggregated with Athena. (AWS has put together…
July 6, 2018
Like anything else in its early lifecycle, the Internet of Things (IoT) has a ton of hype but there are still a lot of unknowns when it comes to the actual business value. Maybe you heard C3 IoT advertising on NPR, maybe your electric utility put a smart meter on your house, or maybe you got a chuckle from Juicero.
July 5, 2018
I saw the What Rebels Want illustration make its way across Twitter recently, and it immediately resonated with me. This illustration perfectly captures how I feel and how I work, and what I strive for in my roles. It’s what I want every company, every manager that I work for to understand about me.
June 7, 2018
Curious about how to make API calls with Angular 6 and the HttpClient service? This tutorial will show you some techniques for building a decoupled micro-blogging application using Angular 6 and the Django Rest Framework (DRF). Along the way, we will learn the following: How to set up the back end of the app using Django and the Django Rest Framework API Creating a simple Angular 6 single-page app which can query the API Authenticating users with JSON Web Tokens (JWT) Ready? Let's get started!
June 4, 2018
Your Serverless function has a secret... maybe it's a password for a remote API, a private key, or signing certificate. These secrets have to be stored somewhere, and in the old days that usually meant just a plaintext config file on your server. Sure, you could encrypt it, but then you have to put the key on the server, and you haven't gained anything except a bit of obfuscation. Or you could use more complex schemes, like Hiera-Eyaml, which is a small improvement, but you've really just moved…
June 1, 2018
With the release of Angular 6.0 in May 2018, the framework has been updated to depend on version 6.0 of the RxJS library. RxJS 6.0 has some breaking changes compared to RxJS 5.5 and older, specifically in the handling of some of the methods of the Observable class. This will affect the way Angular developers write API calls and handle other asynchronous processing in the future. This post outlines some of the changes and how to update your API calls to the new syntax.
May 23, 2018
Recently, I helped spearhead our department’s adoption of centralized static code analysis. I worked with one of our mobile engineers to research various tools and create a decision matrix for comparing options. I’ve introduced new tools to my team before, but this was my first time selecting a tool that would be rolled out and used by my entire engineering department. It was also our department’s first time trying centralized static code analysis.
May 21, 2018
Machine learning is a field of computer science where mathematical systems “learn” from massive data to adjust their internal models using linear algebra and statistics. It is not a new discipline; machine learning has actually been around for decades but only recently did it get the exposure to make it popular.
May 21, 2018
One of the biggest announcements for Android™ developers from Google IO 2018 was the announcement of Android Jetpack. Android Jetpack is a collection of libraries and guidelines for developing Android applications. Most of these libraries we have seen before, including the Architecture Components released last year at Google IO. Some, are the newly refactored Support libraries, which have been renamed AndroidX.
May 11, 2018
We’re just starting the week of Google IO 2018 and already there’s a major announcement, before the event’s official start. Android Things has been moved out of beta is now at version 1.0.
May 7, 2018