Blog

Latest Posts

  • Getting Plex Hardware Transcoding Working on the Ugreen DXP4800 Pro

    I picked up a Ugreen DXP4800 Pro NAS earlier this year. It’s a 4-bay unit with an Intel Core i3-1315U, 10GbE + 2.5GbE LAN, and dual M.2 NVMe SSD slots. I upgraded the RAM to 2x8GB DDR5-5600 SO-DIMMs (replacing the stock single stick) for 16GB total. The i3-1315U is a chip more commonly found in laptops than NAS enclosures, which turns out to matter a lot when you want to run Plex Media Server.

  • The Ring Smart Doorbell API

    Background

    The Ring smart doorbell does far more than your ordinary wired doorbell; it’s able to deliver audio & video recordings in real-time over a WiFi link connected to the Internet. When your doorbell is pressed or motion is detected, the doorbell automatically begins streaming video to the Ring servers. Ring will send a push notification to your phone and archive the video, where it can be downloaded or viewed through the Ring website or app.

  • Building and Using the Flink Kinesis Streaming Connector

    What is Kinesis?

    Kinesis is a hosted service from Amazon Web Services that offers the ability to publish & consume durable streams of high-volume data. There’s no limit to the number of sources that feed a Kinesis stream, making Kinesis a convenient ingestion point for a data processing pipeline.

  • First Impressions of Complex Event Processing in Apache Flink

    I’ve been using Apache Flink to perform streaming aggregations for real-time alerting across several attributes. It’s a phenomal stream-processing engine with an easy-to-use API, simple switching between local and cluster job execution, and great support for job checkpointing to simplify recovery when systems fail.

  • Creating Minimal Docker Images for Go Apps with Wercker

    For years I’ve been using CircleCI to do the typical CI things: building a project, running tests, packaging & uploading artifacts, and even deploying. Lately I’ve noticed a lot of reliability and performance issues with CircleCI and figured it was time to explore the CI landscape. I used Wercker one year ago to build some Bitbucket-hosted projects that were written in Java. Wercker performed wonderfully, was (and still is) free, and supports both Github and Bitbucket.

  • First Post

    I’ve maintained a personal website of some sort since 1994. Recently I’ve been kept very busy, professionally and otherwise, so performing upkeep on a blog is low on my list of priorities. Enter… Github Pages. I can write my posts in Markdown, and all security & scalability issues are handled by Github.

Posts