• A Call for Reverence

    Our Coptic Orthodox tradition has so much inherent beauty and such an incredible, rich history. Its contributions to the whole of Christendom cannot be overstated. Much of what we take for granted today, such as monasticism, the Jesus Prayer, Biblical exegesis, Trinitarian theology, and Christology, to name a few, were developed by the Egyptian ascetics and Alexandrian fathers. Being ancient, our Church has gone through turbulent and difficult times, as any long standing institution that is exposed to time will face, except greatly magnified as a Church of Christ, facing persecution and oppression from the forces of evil. Its resilience and incredible resurgence today can only be attributed to Divine providence.

  • Building blogmate.io: Recursive Phoenix Components

    This post is part of a series on building blogmate.io, a rich comment system for static blogs and sites. If you have a static blog, or are thinking of starting one, please go check it out and spread the word!

  • Hardware Accelerated H.265 Streaming With FFmpeg

    As covered in a previous post, FFmpeg is used at our church to transcode an RTSP stream and send that stream to an RTMP(S) ingestion endpoint. H.264 was previously being used as RTMP didn’t support any other modern codecs. This however changed with the new Enhanced RTMP standard which added support for VP9, H.265 (HEVC), and AV1 in the FLV container. FFmpeg subsequently added support for this new standard starting with the 6.1 release.

  • Useless Art: An adventure in self-hosting open AI models using Elixir

    Generative AI! Generative AI! Generative AI!

  • PulseAudio on a Headless Linux Server

    We regularly livestream services at my church for those that are unable to attend in person. The entire system is fully automated, muxing an RTSP stream from an IP camera with audio from the main mixer. This all runs on a headless Linux machine via a cron job using FFmpeg, using the pulse filter to pull audio from the machine’s mic/line-in jack. It’s possible ALSA could be used directly here, however I decided to stick with Pulse.

  • Blog Tech Stack

    This site is currently running on the following stack: