open_bits

Advanced Features of Appsync and GraphQL within AWS Amplify Framework

My team at Rivian Automotive has used the AWS Amplify framework for two years now to develop web applications. The framework allows users to easily orchestrate and connect different AWS services (e.g. S3, Appsync, Lambda, Cognito, DynamoDB). We’ve built our main application on a microfrontend architecture, using webpack to federate different microfrontends into a single application. Each time there is a significant new vertical to add to the application, we typically create a new Amplify project to encapsulate the module-specific functionality and business logic (both backend and frontend).

Custom CPU Temperature Monitoring in Datadog

The other day I found myself wondering how hot my machine at home was when it was working on a long-running job. I’ve been using Datadog for simple monitoring, so I wrote a custom ‘Agent check’ to report the CPU temperature as a new metric in Datadog. Prior to attempting to export metrics to Datadog, ensure your system is properly reporting CPU temperature metrics. When I run sensors, I can see CPU temperatures reported:

Phase Unwrapping in C#

TL;DR Phase unwrapping is the process of adding multiples of \( 2\pi \) to an n-dimensional “wrapped” phase distribution to recreate a continuous curve. Phase unwrapping in two-dimensions (i.e. over an image) is an algorithmic requirement for many imaging modalities, including many interferometric techniques, Doppler Optical Coherence Tomography (OCT), height correction in Spatial Frequency Domain Imaging (SFDI), and phase analysis in Magnetic Resonance Imaging (MRI). A variety of phase unwrapping algorithms have been developed, packaged, and distributed for public use, but these algorithms are typically implemented in either Python or MATLAB, making it difficult for production applications in other languages to employ the developed algorithms.

Analysis of Student-Teacher Evaluations

As part of a recent project, our team scraped, organized, and built a visualization platform for student-teacher evaluation data at our school, the University of Oklahoma. The data, scraped from a collection of publicly available pdf files, attempts to capture the students’ sentiment toward instructors and courses over the previous 10 years. With this extensive dataset, we have a unique opportunity to assess the legitimacy and potential biases in student-teacher evaluations, a topic that has been hotly contested in research.

Interactive Image Cropping in Python

Motivation For many Pythonic image analysis applications, there is a need for a rapid image cropping utility. Although existing Python packages like pillow and scikit-image permit users to programmatically crop images, these tools do not allow interactive adjustment of the crop size. Similarly, many external image processing tools, such as MS Paint, Preview on Mac, and the Adobe Photoshop Suite allow users to crop images via graphical procedures; However, in these programs it is often tedious to pipe the crop sizes back to Python while retaining the original image, and similarly time-consuming to rapidly crop a group of images.

A Modern Template for Engineering Assignments

TL;DR: Using a combination of Jupyter Lab/Notebooks and the Python package Sympy as a standard for the completion and submission of engineering homework assignments can: (1) Dramatically improve the readability of mathematics, making assignments more valuable for reference and easier to grade, (2) Improve time-efficiency for students through code reuse and symbol-value substitution in defined equations, and (3) Provide a method to easily reference external media and build a rich document to explore engineering solutions quantitatively and graphically.

On Persistence and Perspective

I used to subscribe to the philosophy that the harder worker is always the higher achiever. It’s a simple ethos and at a cursory glance, it seems supported by evidence. In popular culture like movies and shows, and even in research studies, there exists a tenet that the harder worker will eventually succeed and accomplish their goals. Icons for achievement like Elon Musk and Steve Jobs typify a nose-to-the-grindstone approach, an all or nothing, stop at nothing mentality towards realizing their vision.

Hugo + Github Pages

Hugo + GitHub Pages If you want to make a website for yourself or your business, but don’t know much about writing code, this blog post is for you. In this post, I hope to: Communicate the reasons why I believe Hugo is an excellent, user friendly, and powerful piece of software to create your website, and the reasons why GitHub Pages is a great place to host it

Hello World

The First of Many Hello, World! Sam Jett and I plan to use this blog as a means to share technical successes, struggles, as well as other tidbits we might find interesting. More to come soon! Zach