RSSAmplifier

Blog

Micah Henning

Recent content on Micah Henning

micah.soyRSS feed ↗84 posts

Latest posts

Checkout Submodules in GitHub Actions with Least Privilege

The default credentials available in GitHub Actions do not allow access to other repositories; therefore, submodules cannot be checked out. GitHub Actions uses a GitHub App installed on the repository to generate an installation access token, which expires when a job completes or after 24 hours, whichever comes first. This token is a secret variable accessible at secrets.GITHUB_TOKEN or in the…

Resolving `No such file or directory` Error After Building Lambda Docker Image with Packer

Hashicorp Packer builds containers, virtual machines, and machine images with virtually any kind of provisioner. In particular, it can create docker images without a Dockerfile and then push them to a repository like ECR. I recently had a project where I used Packer to create a docker image using a bash script provisioner, pushed to AWS Elastic Container Registry (ECR) for use in AWS Lambda.…

Lock Down Lambda Function Access with CloudFront (undocumented solution)

Background Link to heading AWS introduced Function URLs for Lambda functions to enable public invocation access over the World Wide Web. Function URLs support IPv4 and IPv6, Cross Origin Resource Sharing (CORS), and IAM for access control. The format of these URLs is https://<url-id>.lambda-url.<region>.on.aws.&#xA;You may want to use a custom domain or share an existing domain with a unique path…

Introducing CryptoTools, an Experiment in Design

This post introduces a new cryptography utility called CryptoTools. If you need a quick primer on cryptography, why not take a quick detour to my Introduction to Cryptography, Blade Runner Style post?&#xA;The Problem Link to heading While working on the back end of Ghost Host, a privacy and security focused serverless web host, I realized we had a problem with password transmission security. Even…

Introduction to Cryptography, Blade Runner Style

On 7 March 2024, I introduced CryptoTools for the first time in a talk to the local DEFCON group DC608 in Madison, Wisconsin. While I was building the tool in the months prior, I asked lots of people for feedback. From folks unfamiliar with cryptography, the most common feedback I received was, &ldquo;CryptoTools looks great, but what do I do with it?&rdquo; I quickly realized that a primer on…

Transferring Route 53 Domains between AWS Accounts with no Downtime

Transferring domains between AWS accounts in Route 53 can be done without domain renewal. This is a procedure for transferring a domain in AWS without downtime.&#xA;In AWS Route 53, a domain contains contact details, name servers, domain name status codes, registration and expiration dates, and optionally a DNSSEC public key. All of these details transfer automatically through this process and…

TCP Resets from Netgear R7000

Introduction Link to heading After watching the SpaceX Falcon9 CRS-24 Launch (which was fantastic, albeit cloudy and rainy) at Space View Park in Titusville, Florida, I went to a highly rated bakery and coffee shop in town called Sunrise Bread Company. I got setup and was ready to dive into work when I found myself becoming quickly frustrated by networking issues. In particular, websites…

Converting Windows 10 Legacy BIOS to UEFI Secure Boot without a Recovery Partition

UEFI provides a number of features including Secure Boot that minimizes risk of rootkits and creates a chain of trust from the firmware all the way to the loading of third-party kernel modules.&#xA;UEFI and Secure Boot are enabled by default in new Windows 10 installations. In my case, however, I upgraded from Windows 7 so my instance of Windows 10 uses a Master Boot Record (MBR) partition scheme…

Machine Learning/AI on macOS Catalina with Metal GPU Support

TensorFlow doesn&rsquo;t support macOS or AMD/ATI-based GPUs because it uses CUDA, an NVIDIA-specific API. However, many AMD GPUs support OpenCL and Metal. See this hardware compatibility list for more information.&#xA;To support GPU-backed ML code using Keras, we can leverage PlaidML. Below are the steps to install TensorFlow, Keras, and PlaidML, and to test and benchmark GPU support.&#xA;These…

Setting Up Git Identities

Working on many projects across multiple identities can be difficult to manage. This is a procedure that leverages git aliases to set an identity at the project level for any arbitrary project. This procedure also implements GPG-based commit signing, which establishes the following security features:&#xA;Authenticity: The name on the commit really is the author of the code. Integrity: Neither the…

The Day of Surprises

Extravagant Trek to Alaska and Thereabouts: Day 9 Link to heading I planned two surprises for Veronika for today. They didn&rsquo;t have to be surprises, but I like surprising, and she gets appropriately worried about what I have planned (for good reason!), which is particularly entertaining to me.&#xA;We left early in the morning and drove from Fairbanks south to Healy, which resides just north…

We&#39;ve Made It to Alaska!

Extravagant Trek to Alaska and Thereabouts: Day 8 Link to heading As though I didn&rsquo;t feel on top of the world already, having seen and done so many new and beautiful things on our roadtrip to Alaska, we were about to take the world- famous Top of the World Highway. From the campground on the other side of the Yukon River from Dawson City, we headed west on this poorly-maintained, mostly dirt…

The Yukon

Extravagant Trek to Alaska and Thereabouts: Day 7 Link to heading We awoke at the Watson Lake campground in Yukon, made breakfast, and enjoyed the natural beauty that surrounded us. There were a few very friendly birds joining us for some grub. They were picking up our food droppings quickly and opportunistically. So I wondered just how friendly they really were. I left the last nibble of my…

Bears, Hotsprings, and the Yukon

Extravagant Trek to Alaska and Thereabouts: Day 6 Link to heading Franziskaner beat us to the road, even though we awoke early. We packed up and stopped at the Triple G Hideway campsite&rsquo;s restaurant for breakfast. The restaurant has a very western, wilderness feel to it, and the food was pretty good. The seats at the bar were horse saddles on wooden stools, and there were taxidermy of local…

The Alaskan Highway

Extravagant Trek to Alaska and Thereabouts: Day 5 Link to heading Surprise! We survived black bear infested Pocahontas. Although, I think I could hear them walking around last night&hellip; I didn&rsquo;t sleep all that well, and I clutched tightly onto my whistle the entire time.&#xA;We keep a clean campsite. All of our food is stored in proper containers and left inside the car at night. We wash…

Jasper

Extravagant Trek to Alaska and Thereabouts: Day 4 Link to heading We awoke unscathed and groggy from our late night, washed ourselves with baby wipes since this campsite lacked showers, made breakfast, then departed toward Jasper National Park of Canada. On the way we stopped at Lake Louise, since it was &ldquo;highly recommended&rdquo; by every human imagineable. Well, everybody got the memo.…

The Great Sandhills, Alberta, and Banff National Park

Extravagant Trek to Alaska and Thereabouts: Day 3 Link to heading This morning we awoke early and made our way south to the Great Sandhills. What a bizarre sight! While much of the sand dunes (many of which were at least ten meters in height) were grass-stabilized, there were several very sandy regions that made me question whether I was truly in Canada. The photos we took could appear to be from…

Saskatchewan

Extravagant Trek to Alaska and Thereabouts: Day 2 Link to heading We awoke in Riding Mountain National Park of Canada alive and unscathed by the 1000 bears that thrive in the park, (as we learned after we left.) We showered and got ready for the day in the park&rsquo;s extraordinarily nice facilities. The bathrooms were heated and the showers were hot. Vee used the potatoes she made the night…

CCNA Security Easy Peasy

I recently obtained my CCNA Security certification after passing exam 640-554. I studied for about two months straight after earning the CCNA, so switching and routing concepts were still fresh in my mind, making it quite a bit easier to connect security concepts to networking components.&#xA;I found the exam to be orders of magnitude easier than the CCNA. I think that&rsquo;s because many of the…

Mardi Gras

When trying to decide how I would visit Alabama, Arkansas, Mississippi, and Louisiana, I realized that Mardi Gras was coming up quickly. What an adventure that would be to road trip to New Orleans for one of the largest French festivals in the world! (And to kick off Lent, which, for me, is exciting only because I love the Friday night fish fries common in the midwest during Lent.)&#xA;Veronika…

Manitoba

Extravagant Trek to Alaska and Thereabouts: Day 1 Link to heading My girlfriend, Veronika, and I spent the night at my sister&rsquo;s house in Wausau, WI yesterday, which was just a short, two-hour trek north of our home in Madison. We arrived later than expected because we didn&rsquo;t anticipate how long being blessed for safe travels would take (her mother is just the wee bit nervous of our…

Laser Tag Is Fun

As a belated birthday gift, Veronika took me out for dinner at this nice restaurant downtown Madison called Hamilton on the Square. They specialize in well-made drinks and specialty plates meant for sharing among multiple people, as opposed to the traditional entreé. Consequently, the portions were small, but were priced slightly above the average dinner with adequate portions. The food was good,…

Using New SD Cards in Old Cameras

In preparation for our Alaska trip, Veronika received three free 64 GiB SD memory cards for her camera from a very nice, local cameraman. There was a problem, though. Her Nikon D80 camera had some trouble using them. The camera would prompt to format the cards, which she obliged, but following the format the camera showed zero pictures remaining. I thought that was a little strange until I did…

In Pursuit of the CCNA

Last week, after months of studying, I passed exam 200-101: Interconnecting Cisco Networking Devices Part 2 to earn my CCNA credential. It was a very tough exam, certainly, and more difficult than the fifteen other certifications I&rsquo;ve earned combined. If you are preparing for the ICND1 or ICND2 exams, or if you are brave and experienced enough to attempt the combined 200-120 CCNA exam, make…

Let There Be Beer

Three weeks ago my buddy Dave and I capped the final bottle of our first batch of Wheat beer&ndash;a total yield of 49 bottles. We used the Afternoon Deelite Wheat recipe from Madison&rsquo;s Wine and Hop Shop. Here&rsquo;s a list of the ingredients we used:&#xA;2.5 lbs 2-Row malt 3 lbs Red Wheat malt 8 oz Acidulated malt 3 lbs wheat liquid malt extract 1 lb pilsen dry malt extract 2 oz Sorachi…

Severe Network Degradation in Newer Intel Based NICs

At work we use Dell laptops with Intel I218-LM network interface cards. We have issues with severe network degradation in uplink traffic on the hosts, averaging between 300 to 400 Kbps. This degradation only occurs on one of our switches, though&ndash;a Cisco 3560 series. For the longest time, PC support has had to manually modify the adapter properties on each host to enable Legacy Switch…

On the Film: The Birth of a Nation

Recently, Netflix added &ldquo;The Birth of a Nation,&rdquo; a 1915 silent film about the Civil War and the dramatized reconstruction thereafter. The film is known for many innovative film techniques that undoubtedly inspired many producers for years to come.&#xA;However, that is about all the good I have to say regarding this film, for it is obscenely racist. Any black character not involved in a…

On the Book of Job

In the Harvard Classics reading list for the history of the world, there exists just one work categorized as belonging to the East in patriarchal times&ndash;that is, during times when men held predominant power over women. That work is the Hebrew parable of Job, which is found both in the Ketuvim of the Tanakh and the Old Testament of the Christian Bible.&#xA;Patriarchal assuredly it is, and…

On Ancient Egypt

I finished today the account of Herodotus, a Greek writer from the fifth century B.C.E., of the land and people of Egypt as he travelled about the ancient world in search of history and culture.&#xA;I found his account to be a delightful read because of his keen interest in how things come to be, not just politically and culturally, but also geologically and architecturally. This is evident…

On Race and Language

Recently, I read the first few articles in the Harvard Classics reading list. The first was a nice introduction to the history of the world by one Professor Robert Johnston, and the second a brief introduction to ancient history by Professor William Ferguson. They were well-written works that were reasonably easy to follow, despite them having been written more than one hundred years ago.&#xA;What…

Day Zero Was Yesterday

Today is the first day of 2015 and also happens to be when the tertiary iteration of my Day Zero Project begins. I&rsquo;ve already made headway in one of my personal project goals: this website. I hated my old blog and sought to make one that I would enjoy using. This is it! But as to why I could love something so plain and simple is a post for another time.

The Bgcolor Attribute Does Not Work in Internet Explorer

There is a bug that impacts all versions of Internet Explorer. These are the conditions that must exist in order for the problem to occur:&#xA;An HTML element must be using the deprecated bgcolor attribute. This will likely be a table, tr, or td element.&#xA;The color must be specified using the hexadecimal short notation, i.e. #123 instead of #112233. Internet Explorer cannot read short-notation…

CSS Attribute Selectors and IE 7

If you&rsquo;ve tried to use attribute selectors in IE 7 and found it to be quite spotty, you&rsquo;re not alone. Here&rsquo;s a brief illustration of just what I mean:&#xA;tr[height='50%'] { background: #fff; } Though this bit of CSS will work in virtually any browser, it will not work in IE7. But these will:&#xA;div[height='50%'] { background: #fff; } tr[height] { background: #fff; } Aside:…

Goals for Week 13

It seems I am developing a nasty little habit of posting my weekly goals list at the end of the week when there is but one or two days left to allocate things to do. I always seem to find some reason for waiting, too. This week, for example, I had my wisdom teeth removed, so I was recovering from oral surgery. That was on Wednesday. On Sunday and Monday, I worked from 7pm to 7am, and then from 3p…

Why Are Awesome and Awful Opposites?

If you have ever watched one of Derren Brown&rsquo;s psychological manipulation videos, one word may come to mind as you stare dumbfounded into the television screen: Awesome. But I personally don&rsquo;t think &lsquo;Awesome&rsquo; suffices. I think &lsquo;awe-most&rsquo; is more appropriate. But why not just use the word &lsquo;Awful&rsquo; instead? Oh, wait a minute&hellip; That completely…

On Virtue and Conscience

In response to reading Journal by John Woolman, I write this post in confusion, and probably ignorance, for which I fear one day may cause me some embarrassment to myself if I would become capable of understanding said writings and then reread this post.&#xA;In reading about John Woolman, I have come to learn about an extraordinarily humble and pious Quaker, who would undoubtedly, if such records…

Productivity Audit for Month 3

Wait a minute&hellip; What happened to Productivity Audit for Month 2?! Well, I have no idea.&#xA;Anyway, I have been very happy with my productivity over the last few months. The only reason I am behind in my goals is because I perhaps made my list a little too audacious! :-/ Even during the week and a half that I was sick, I still worked and learned. And now I am revamping my diet in high hopes…

Goals for Week 12

Yes, I know. Week 12 is already more than half over. But this isn&rsquo;t to say that I didn&rsquo;t set goals for this week; I just didn&rsquo;t have the time to blog them on account of having quite a bit of overtime for work.&#xA;In regard to my language studies, I am still working away diligently on my Russian learnings. I am almost done with Unit 2 of Level 1. Per my calendar however, I should…

Goals for Week 11

Alright. It is now time to get back on track. Wednesday is closer to Monday than Friday is and there are still several days left in the week to accomplish some goals.&#xA;Complete Unit 2 in Rosetta Stone Catch up in work logs Run a 5k That&rsquo;s it for now!&#xA;Stay classy, fellow bloggers.

On Apologies

We have all made mistakes in our lives. We have disappointed people we love. We have angered our colleagues. We have hurt people both intentionally and unexpectedly. We have been taught from childhood to say we are sorry in these circumstances. This is my view on the matter:&#xA;Sorry is never good enough.&#xA;In many circumstances, a person does not forgive and forget. Assume that nobody will…

Goals for Week 10

This is just terrible. I&rsquo;m going to do another one of these tomorrow. I need to get back on my feet here. I had a bad cold this entire week and didn&rsquo;t really accomplish anything goal-related.&#xA;Goals for the rest of this week (aka the next twelve hours sigh):&#xA;Run a foot race Stay classy, fellow bloggers.

Goals for Week 9

I can&rsquo;t believe it has already been another week! I&rsquo;m still trying to get back to posting my weekly goals lists on Sunday or Monday and am evidently doing a horrible job.&#xA;I took the SAT on Saturday and I am not so sure I did well enough to reach my goal of getting a 700. I had a horrible night&rsquo;s sleep and as a result had worse memory recollection and processing speed, as was…

Goals for Week 8

Blech. Another late weekly. My SAT is tomorrow and I&rsquo;m doing some last minute studying (all day, of course). Per Goal 010, I need to score at least a 700. The higher the score, the better off I will be. In preparation for this important exam, I answered the Official SAT Question of the Day daily for three months, took the official SAT online course, and read through the official SAT study…

Goals for Week 7

Yes, today is not Monday. It is Thursday and I am very tardy in posting my weekly goals list on account of working an unusually large number of hours this week (~80). Because of that, I am setting just one goal for this week:&#xA;Complete at least one practice SAT test Here is a quick update on my Day Zero progress: I watched another movie on AFI&rsquo;s list of the 100 Greatest Movies of All…

Mobsync Issues

After today&rsquo;s encounter with Mobsync and COM+, I am left scratching my head and looking about in disarray. This doesn&rsquo;t happen often, but I am sure glad when it does because it beats sitting in a lecture hall &lsquo;attempting&rsquo; to learn about the intricacies of Windows communication subsystems.&#xA;It all started when I received a call yesterday from one of my clients. She…

Goals for Week 6

On to week six already! Time is just flying by! My SAT is in less than three weeks, I planned to have Russian Level 1 Unit 2 completed two weeks from today, and I expected to be done reading the book of Exodus by Wednesday (so far I read only part of Genesis and part of Job! :-/). So here is what I need to do:&#xA;Complete Lessons 1 and 2 on Russian Level 1 Unit 2 Take at least one practice test…

A Bachelor&#39;s Shopping List

I did a little late-night shopping yesterday at our beloved Wal-Mart. I walked through the store and added all the food I thought I&rsquo;d need for the next few weeks in my cart. I had three Tombstone frozen pizzas, 2 pounds of Goldfish crackers, a box of six Yoplait yogurts, a gallon of Sunny Delight, a 12-pack of Mountain Dew Code Red, a pint of Half & Half, and a bag of cheese curds…

Movie 97: Bringing Up Baby (1938)

Have you ever had one of those days where no matter what you do, you do it wrong? You tear your coat. You lose the back of your dress. You steal a car. You cause the skeleton of a very large prehistoric dinosaur to fall to its second doom. Yes, yes, we all have those days. All we need to do is remember that it could be worse! For example, you could be chased by an untamed leopard in Connecticut on…

Movie 98: Unforgiven (1992)

You open your eyes. Your mind recollects the image of your dear, departed wife with her face covered in worms. And the Angel of Death hovers over the waters.&#xA;&ldquo;This is what happens to assassins in the town of Little Whiskey!&rdquo; The effulgent moonlight peering through the window dims as your pupils adjust to the surroundings. You receive another blow to the ribs by the foot of the…

Goals for Week 5

Well&hellip; It seems to me that I complete less with more to do. The only goal I completed last week was to watch a movie. And that even took me three tries on account of exhaustion and falling asleep in the middle of the movie. Blegh. Two camels in a tiny car.&#xA;Goals for this week:&#xA;Watch the 97th Greatest Movie of All Time (Bringing Up Baby [1938]) Finish Rosetta Stone Russian Level 1…