Blog

  • OpenGL Moon Simulation

    NASA provides a number of color and elevation maps sourced from data assembled by the Lunar Reconnaissance Orbiter camera and laser altimeter instrument teams (located here). I thought creating a realistic rendering of the Moon utilizing the texture and height fields available from NASA would be fun way to dig into OpenGL concepts and GLSL. To start I created a sphere containing ~2M vertices. This allowed for 4 vertices per degree of latitude and longitude. To this sphere I then applied the moon texture.

  • Text Extraction Engine

    Very commonly a requirement of extracting data from a PDF/image presents itself. When individuals receive PDF documents they come in a variety of formats. Some have been system generated and thus text is generally embedded directly in the PDF, while some are scanned documents and are generally (various quality) image files embedded in the PDF. In all scenarios, while PDF viewers contain some tools to extract text, they do not output text in a consistent method across various documents. This makes it difficult to automate the extract of detail from documents. On the image side, there is generally no structural information available about the content and there is no embedded text available.

  • Calculation Engine

    One of the larger complaints encountered by tax modeling teams and clients/auditors consuming models is a lack of transparency into calculations produced by SaaS systems. Coupled with the fact that regulations can change frequently and/or legal positions can differ dramatically depending on various fact patterns models/calculations need to be updated very often leading to a proliferation of ad-hoc Excel models tweaked in various ways. While new positions can be added to a development roadmap, turn around time to develop and move through the various change management layers is often unacceptable when deadlines are measured in days and not weeks. This project was created in an attempt to address some of these concerns.

  • Creating Poppler, Tesseract, and OpenCV AWS Lambda Layers

    The scripts in this directory provide and example of creating Poppler, Tesseract, and OpenCV layers for AWS Lambda based services. Projects are compiled in the amazon/aws-lambda-python:3.8 image.

  • Tax Form Data Extraction - Environment Setup

    This post details steps in setting up an environment used for extracting text from tax forms. Today I’ll be walking through the steps to install the necessary tools needed going forward. The environment in which I will be working will be Windows 10 with WSL2 configured and running Ubuntu 20.04 (WSL installation instructions here). It is possible to install all of the dependencies mentioned today directly in a Windows environment, but it will require a lot more setup; I strongly suggest embracing WSL. It shouldn’t take more than a couple hours to get everything up and running.

  • CHIP-8 Interpreter

    Emulation has always been a topic I wanted to explore, so I recently started to work through a CHIP-8 Interpreter to start to dive into this topic. This isn’t so much of an emulation project as it is an interpreter project as CHIP-8 wasn’t an actual chip, but an interpreted language originally created for the COSMAC VIP in the 1970s. Nonetheless, it is often a recommended jump-off project for those interested in the world of emulation.

  • Welcome!

    Hello! My name is Eric Morgan. I’m a software developer and CPA. I’ve worked as a development resource for multiple Big 4 accounting firms. I’ve served in internal client facing roles doing everything from serving as a development lead of both on-shore and off-shore teams to performing the role of a product owner, and in external client facing roles recommending and implementing technology based solutions to address client pain points and improve engagement efficiency.