Search Icon, Magnifying Glass

Marmanold.com

Graduation Cap Heart Question Mark Magnifying Glass

Entries for #Teches

Serverless on LocalStack

I’ve recently had occasion to start writing a series of services on the AWS stack using the Serverless Framework. Serverless is a great framework, but I really don’t like having to deploy stuff to AWS to test DynamoboDB streams, SQS queues, etc. That’s where LocalStack comes in. LocalStack lets you host an entire AWS ecosystem locally so you can test “all the things” without actually deploying anything. LocalStack works great, but I discovered there are a few undocumented things that you’ll need to know to get your stuff working correctly locally. Read more...

Posted: Mon, Aug 23, 2021, Words: ~700, Reading Time: 3 min

Z Shell One-Year Update

I’ve been using Z Shell for over a year now and I’ve been very pleased with it. Honestly, I should have moved off macOS’s antiquated default Bash ages ago. Below is an update on where my .zshrc is sitting a while down the road. Oh My ZSH Plug-ins I keep the Oh My ZSH plug-ins pretty light. Partially because I want to keep startup times low and partially because I can’t remember the commands anyways. Read more...

Posted: Mon, Mar 22, 2021, Words: ~700, Reading Time: 4 min

Simple Keyboard KVM Switch

I recently replaced my iMac with an M1 Mac mini and did an entire rework of my desk setup. With the iMac gone, I was finally able to buy a proper 4k montior to share between my work laptop and my personal workstation. I was also able to upgrade my keyboard to a Varmilo Miya Pro and get a new mouse. Since I would be switching between my work and personal machines several times a day, I wanted a simple and reliable system to share external devices between my systems. Read more...

Posted: Sun, Jan 10, 2021, Words: ~400, Reading Time: 2 min

Drafts 5 Sermon Prep with LectServe

Drafts 5 for Mac recently introduced the ability to do some basic scripting in JavaScript as an action in the application. Each time I prepare a sermon, the first step for me is to lookup the readings for the week on LectServe and then paste the readings into Drafts where I can start doing sermon preparation and, eventually, write my sermon. As soon as I saw actions and scripting introduced for Drafts, I knew I’d have to automate my sermon prep process. Read more...

Posted: Sat, Feb 29, 2020, Words: ~400, Reading Time: 2 min

Use Localtime in Debian Slim

Sometimes you need to run cron or other applications in your Debian container that rely on the system running in localtime. In Debian 9, switching to localtime wasn’t the easiest thing in the world. With Debian 10, however, you can switch your container to another timezone with just a few commands. First you need to install tzdata. RUN apt-get install tzdata -y Then you need to make a link between the timezone you want to move to in /usr/share/zoneinfo and /etc/localtime. Read more...

Posted: Fri, Nov 22, 2019, Words: ~200, Reading Time: 1 min

Migrate from Bash to Z Shell (On macOS)

In macOS Catalina, Apple is switching the default shell to Z Shell from Bash. Even if you haven’t upgraded to Catalina yet, getting used to Zsh is a good idea and pretty simple to do. 1. Install Latest Z Shell First, install the latest verison of Z Shell from Hombrew. Since you’re going down the path of learning an alternate shell, you might as well keep on the newest version instead of just taking whatever Apple gives you. Read more...

Posted: Sun, Nov 10, 2019, Words: ~600, Reading Time: 3 min

XML::Compile with an Extension Namespace

Starting this May, mortgage folk are going to be required to send Freddie and Fannie data including additional data points in ULDD phase 3 extension. At face value, adding these additional data points shouldn’t be a big deal at all. However, the legacy code I’m maintaining used XML::Compile to generate code. For various and sondry reasons — which I will not go into here — XML::Compile in the code I’m maintaining was in a place where it was extremely difficult to add XML elements that weren’t included in the original base Mismo 3. Read more...

Posted: Tue, Feb 19, 2019, Words: ~400, Reading Time: 2 min

Cron in Docker with Debian Slim

Recently, I needed to get cron working inside a Docker container running Debian Slim. It’s not difficult once you figure it out, but it did take a bit of research and learning to get everything to work. First off, Debian Slim is real slim. There’s no cron nor is there a syslog when you want to debug things. Add apt-get install cron and rsyslog in your Dockerfile before you start anything else. Read more...

Posted: Wed, Jan 23, 2019, Words: ~600, Reading Time: 3 min

Automated Weekly Sermon Podcast

Each Sunday at Church of the Epiphany we record our sermon using someone’s mobile phone. We started doing this back in September and, for the last three months, editing and uploading these sermons to our website has been a fairly manual process. Starting this month, however, with a combination of JustCast, Dropbox, Hazel, Squarespace, and Auphonic I’ve been able to mosty automate the process. 1. Download & Rename Each week shortly after worship, Fr. Read more...

Posted: Tue, Dec 18, 2018, Words: ~800, Reading Time: 4 min

Word to Markdown Conversion with Footnotes

Many of the essays on this site start their life in Microsoft Word or Scrivener. Early on, I would have to convert essays to Markdown for posting manually. This generally worked okay, but I lost my footnotes. I tried Word to Markdown for a brief while, but it didn’t work entirely as I’d like it to. Enter Pandoc. I’ve been using Pandoc to convert all of my Word documents — including footnotes — for the last two years. Read more...

Posted: Mon, Nov 12, 2018, Words: ~200, Reading Time: 1 min

Sea Walls: haud responsalis sed peccator

Recently I saw a call for more people in enterprise IT to start blogging. Following that call, I’ll offer some reflections. The foundation of a healthy IT culture in the enterprise starts with IT leadership and, especially, front-line IT management focusing on building a great working environment for developers. If developers are overextended, overworked, are not able to innovate, and are not given the dedicated time needed to solve problems, there is no hope for the transformation of corporate IT. Read more...

Posted: Tue, May 29, 2018, Words: ~600, Reading Time: 3 min

Perfect Perl Kwalitee

In the time since Date::Lectionary was added to CPAN, I’ve been working hard to get a perfect Kwalitee score and make a really solid distribution. Documentation on how to make a module are all over the place and I’ve yet to see a good, single article or post to explain how to do it. This is my attempt, I hope you find it useful. Required Files README I like keeping my POD within the code of the module I’m developing and having the README file(s) automatically generated from that. Read more...

Posted: Mon, Apr 23, 2018, Words: ~900, Reading Time: 4 min

My WSL Perl Development Environment

Recently I bought a little Windows tablet on sale for $60 as a device to play around with Windows 10 on and for — hopefully — testing a future UWP or PWA Windows version of LectServe. I’ll give a review of the NuVision tablet at some point in the future, but after I spent two! days getting Windows updated to the newest release, I quickly enabled the Windows subsystem for Linux and installed Debian. Read more...

Posted: Sat, Mar 24, 2018, Words: ~400, Reading Time: 2 min

Full-Text Search using Hugo & Lunr

Adding full-text search to a statically generated Hugo site is a fairly easy process. As I’ve mentioned before, I’m already using Gulp to compile and minify my site. Using that Gulp file as my starting point, adding full-text search is a simple three-part process. To enable search, I decided to use the Lunr.js library. Lunr is simple to use and has just the right amount of features for adding some simple search capabilities to your site. Read more...

Posted: Sun, Dec 3, 2017, Words: ~500, Reading Time: 3 min

Build, Minify, and Upload Hugo to S3

Though I’m not a huge fan of JavaScript, I include a small bit of it in this site to track page views and to generate the tag cloud on my search page. Since my project had already been polluted with JavaScript, I decided a while back to go all in and use WebPack and Gulp to bundle my JavaScript code, build my Hugo site, minify everything, and then upload the whole thing to S3. Read more...

Posted: Mon, Oct 16, 2017, Words: ~300, Reading Time: 2 min