~tcarrio/tom.carrio.dev

4c735d70382e9a098d5f494d8b569de9165a7f08 — Tom Carrio 11 months ago 88a1967
style: apply standard formatting to index.html
1 files changed, 452 insertions(+), 345 deletions(-)

M index.html
M index.html => index.html +452 -345
@@ 1,378 1,485 @@
<html>

<head>
  <head>
    <title>tom carrio</title>
    <link rel="stylesheet" href="assets/css/index.css">
    <link rel="stylesheet" href="assets/css/index.css" />
    <script src="assets/js/index.js"></script>
    <script src="https://unpkg.com/feather-icons"></script>
</head>
  </head>

<body>
  <body>
    <header>
        <div>
            <div id="user-icon">
                <img src="assets/images/avatar.png">
            </div>
            <div id="hello">
                <span class="me">I am Tom Carrio,</span>
                <span>a software engineer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
                <br />
                <span>with a passion for</span>
                <span id="interests">Open Source &lt;3</span>
            </div>
            <div id="contact-links">
                <a href="https://git.sr.ht/~tcarrio"><i data-feather="circle"></i></a>
                <a href="https://github.com/tcarrio"><i data-feather="github"></i></a>
                <a href="https://gitlab.com/tcarrio"><i data-feather="gitlab"></i></a>
                <a href="https://www.linkedin.com/in/tomcarrio/"><i data-feather="linkedin"></i></a>
                <a href="mailto:tom@carrio.dev"><i data-feather="mail"></i></a>
            </div>
      <div>
        <div id="user-icon">
          <img src="assets/images/avatar.png" />
        </div>
        <div id="hello">
          <span class="me">I am Tom Carrio,</span>
          <span>a software engineer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
          <br />
          <span>with a passion for</span>
          <span id="interests">Open Source &lt;3</span>
        </div>
        <div id="contact-links">
          <a href="https://git.sr.ht/~tcarrio"><i data-feather="circle"></i></a>
          <a href="https://github.com/tcarrio"><i data-feather="github"></i></a>
          <a href="https://gitlab.com/tcarrio"><i data-feather="gitlab"></i></a>
          <a href="https://www.linkedin.com/in/tomcarrio/"
            ><i data-feather="linkedin"></i
          ></a>
          <a href="mailto:tom@carrio.dev"><i data-feather="mail"></i></a>
        </div>
      </div>
    </header>
    <div id="content">
        <section id="introduction">
            <code>::Hello, World::</code>
            <p>Architecting, designing, and implementing software systems is a strong professional and personal interest
                of mine. Whether I'm working on cloud, containers, systems; I love to dive into the technical deep-end
                of various areas of the tech space.</p>
      <section id="introduction">
        <code>::Hello, World::</code>
        <p>
          Architecting, designing, and implementing software systems is a strong
          professional and personal interest of mine. Whether I'm working on
          cloud, containers, systems; I love to dive into the technical deep-end
          of various areas of the tech space.
        </p>

            <p>My experience engineering solutions spans the full stack: from system and database administration, to
                microservice development, to dev-ops and continuous delivery, to single-page applications, to container
                orchestration, to mobile apps, to automated infrastructure management. My focus lately has been on
                end-to-end holistic solutions engineering, and embracing every facet of the tech stack.</p>
        <p>
          My experience engineering solutions spans the full stack: from system
          and database administration, to microservice development, to dev-ops
          and continuous delivery, to single-page applications, to container
          orchestration, to mobile apps, to automated infrastructure management.
          My focus lately has been on end-to-end holistic solutions engineering,
          and embracing every facet of the tech stack.
        </p>

            <code>::System and Database Administration::</code>
            <p>Through my experience as a system and database administrator, I found an area I truly loved. From 2013 I
                worked with database systems including Oracle DB and MySQL, and maintained virtual machines across
                multiple server racks with VMWare ESXi to provision Windows Server and RHEL machines. There were various
                areas of my role that I found could prove more effectively managed by developing automated maintenance
                strategies; I touched down on automated backups and log monitoring for internal services as my first
                step towards development. This is where my interests in software engineering really grew.</p>
            <p>While I maintained my position as a system adminstrator and database administrator, I sought out and
                implemented automation tooling around common tasks to reduce toil. I worked on internal services that
                would allow for easier work on the intranet, be it servers, hardware devices, and more. These include,
                but are not limited to, Python management services and backends, Active Directory hooks in Go, and web
                clients in Javascript. The road unfolded and I enrolled in Computer Science at Oakland University to
                continue my journey.</p>
        <code>::System and Database Administration::</code>
        <p>
          Through my experience as a system and database administrator, I found
          an area I truly loved. From 2013 I worked with database systems
          including Oracle DB and MySQL, and maintained virtual machines across
          multiple server racks with VMWare ESXi to provision Windows Server and
          RHEL machines. There were various areas of my role that I found could
          prove more effectively managed by developing automated maintenance
          strategies; I touched down on automated backups and log monitoring for
          internal services as my first step towards development. This is where
          my interests in software engineering really grew.
        </p>
        <p>
          While I maintained my position as a system adminstrator and database
          administrator, I sought out and implemented automation tooling around
          common tasks to reduce toil. I worked on internal services that would
          allow for easier work on the intranet, be it servers, hardware
          devices, and more. These include, but are not limited to, Python
          management services and backends, Active Directory hooks in Go, and
          web clients in Javascript. The road unfolded and I enrolled in
          Computer Science at Oakland University to continue my journey.
        </p>

            <code>::Open Source::</code>
            <p>I have long been a lover of the open source mantra and free software technologies such as Linux, GNU, and
                Git. Prior to my work as a system and database administrator, I dug into Linux for my personal devices.
                Experimenting with various tools and technologies is a long-time hobby of mine, and I tried different
                server operating systems such as CentOS, Debian, and Ubuntu. I started off with Linux on my old shabby
                laptop with Fedora, and tried out a number of distributions over the years. By the way, I run Arch.</p>
        <code>::Open Source::</code>
        <p>
          I have long been a lover of the open source mantra and free software
          technologies such as Linux, GNU, and Git. Prior to my work as a system
          and database administrator, I dug into Linux for my personal devices.
          Experimenting with various tools and technologies is a long-time hobby
          of mine, and I tried different server operating systems such as
          CentOS, Debian, and Ubuntu. I started off with Linux on my old shabby
          laptop with Fedora, and tried out a number of distributions over the
          years. By the way, I run Arch.
        </p>

            <code>::Computer Science::</code>
            <p>Through-out my schooling I have studied computer theory, software engineering, networking, operating
                systems, programming languages, and more. The curriculum alone was never really enough, and I spent time
                outside of school learning about various technologies like message queues, distributed systems, and
                containerization technologies like Docker. The premise of a kernel-level feature like cgroups providing
                strong mechanisms for isolated process environments was fascinating to me, and I found another interest
                then: DevOps. Having already worked for years as a system administrator and understanding the areas
                where automating functionality was hugely beneficial, I focused projects on more software around these
                practices. I contributed to open source software around version source control, and built out complete
                DevOps pipeline solutions implemented with distributed containerized systems. I provided a similar
                solution at my work to deliver a more up-to-date service for our development team.</p>
        <code>::Computer Science::</code>
        <p>
          Through-out my schooling I have studied computer theory, software
          engineering, networking, operating systems, programming languages, and
          more. The curriculum alone was never really enough, and I spent time
          outside of school learning about various technologies like message
          queues, distributed systems, and containerization technologies like
          Docker. The premise of a kernel-level feature like cgroups providing
          strong mechanisms for isolated process environments was fascinating to
          me, and I found another interest then: DevOps. Having already worked
          for years as a system administrator and understanding the areas where
          automating functionality was hugely beneficial, I focused projects on
          more software around these practices. I contributed to open source
          software around version source control, and built out complete DevOps
          pipeline solutions implemented with distributed containerized systems.
          I provided a similar solution at my work to deliver a more up-to-date
          service for our development team.
        </p>

            <code>::Software Engineering::</code>
            <p>Eventually I moved into a software engineering role, and joined Ally Financial in 2017. During my time
                there I worked on several projects. My first work was a project undergoing a migration from mainframe,
                where we envisioned a complete re-architecture of our central mainframe program into a massive series of
                microservices, batch operations, message queues, and COTS services. I designed security software for
                compliance with the Sarbanes-Oxley Act, developed data pipelines with DataStage, and engineered various
                utility services to assist our business analysts with requirements. In 2018 I later joined on a legacy
                application, working with J2EE and Struts with deployements to mainframe. I worked on quarterly releases
                and helped provide insight into automation technology and future steps for our digital transformation
                roadmap. Later on in 2018, I moved on to a project deploying to the OpenShift containerization platform,
                developing services that provided massive parallel operations and data processing. I worked with Spring
                Boot microservices with Redis as a cache for MapReduce operations. I also encorporated log monitoring
                with Splunk and AppDynamics for application performance monitoring. I was requested to join another team
                end-of-year 2018 and began work on my last project at Ally. I worked on Spring Boot microservices with
                an Angular front-end. I worked across the entire stack, developing Jenkins pipelines for continuous
                integration and delivery, implementing back-end services in Java, engineered our service authentication
                for our Docker containers, developed Helm templates for our OpenShift deployments, and architecting our
                performance-first lazily-loaded Angular front-end.</p>
        <code>::Software Engineering::</code>
        <p>
          Eventually I moved into a software engineering role, and joined Ally
          Financial in 2017. During my time there I worked on several projects.
          My first work was a project undergoing a migration from mainframe,
          where we envisioned a complete re-architecture of our central
          mainframe program into a massive series of microservices, batch
          operations, message queues, and COTS services. I designed security
          software for compliance with the Sarbanes-Oxley Act, developed data
          pipelines with DataStage, and engineered various utility services to
          assist our business analysts with requirements. In 2018 I later joined
          on a legacy application, working with J2EE and Struts with
          deployements to mainframe. I worked on quarterly releases and helped
          provide insight into automation technology and future steps for our
          digital transformation roadmap. Later on in 2018, I moved on to a
          project deploying to the OpenShift containerization platform,
          developing services that provided massive parallel operations and data
          processing. I worked with Spring Boot microservices with Redis as a
          cache for MapReduce operations. I also encorporated log monitoring
          with Splunk and AppDynamics for application performance monitoring. I
          was requested to join another team end-of-year 2018 and began work on
          my last project at Ally. I worked on Spring Boot microservices with an
          Angular front-end. I worked across the entire stack, developing
          Jenkins pipelines for continuous integration and delivery,
          implementing back-end services in Java, engineered our service
          authentication for our Docker containers, developed Helm templates for
          our OpenShift deployments, and architecting our performance-first
          lazily-loaded Angular front-end.
        </p>

            <code>::Full Stack::</code>
            <p>I eventually left Ally in 2019 to join Dynatrace, a company at the forefront of distributed tracing and
                application performance monitoring. Today, their solution provides users actionable insights into their
                production environments across mainframes, back-end, front-end, mobile apps, websites... My initial role
                at the company was on the Davis Assistant team, which provides a virtual assistant that interfaces with
                customers via a web application, voice integrations with Google Assistant and Alexa, and multi-user
                integrations with Slack and Microsoft Teams. My work there has included several projects I have been
                fond of, such as:</p>
        <code>::Full Stack::</code>
        <p>
          I eventually left Ally in 2019 to join Dynatrace, a company at the
          forefront of distributed tracing and application performance
          monitoring. Today, their solution provides users actionable insights
          into their production environments across mainframes, back-end,
          front-end, mobile apps, websites... My initial role at the company was
          on the Davis Assistant team, which provides a virtual assistant that
          interfaces with customers via a web application, voice integrations
          with Google Assistant and Alexa, and multi-user integrations with
          Slack and Microsoft Teams. My work there has included several projects
          I have been fond of, such as:
        </p>

            <ul>
                <li>Re-architecting the notification pipeline to provide reactice, robust, and resilient notification
                    deliveries for handling various error scenarios</li>
                <li>Engineering an extensive pipeline to automatically ensure code complies with our unit tests, builds
                    and minimizes bundles for efficient service deployments</li>
                <li>Implementing the Microsoft Teams third-party integration for direct and multi-user messaging with
                    our natural language processing back-end and Teams native tabs with React</li>
                <li>Created the Dialogflow-as-Code project which provides declarative management of Dialogflow resources
                    on the Google Cloud Platform to maximize our teams velocity of NLP enhancements, provide static type
                    safety to our internal NLP resources, and automate deployments through environments in my continuous
                    delivery pipeline</li>
            </ul>
        <ul>
          <li>
            Re-architecting the notification pipeline to provide reactice,
            robust, and resilient notification deliveries for handling various
            error scenarios
          </li>
          <li>
            Engineering an extensive pipeline to automatically ensure code
            complies with our unit tests, builds and minimizes bundles for
            efficient service deployments
          </li>
          <li>
            Implementing the Microsoft Teams third-party integration for direct
            and multi-user messaging with our natural language processing
            back-end and Teams native tabs with React
          </li>
          <li>
            Created the Dialogflow-as-Code project which provides declarative
            management of Dialogflow resources on the Google Cloud Platform to
            maximize our teams velocity of NLP enhancements, provide static type
            safety to our internal NLP resources, and automate deployments
            through environments in my continuous delivery pipeline
          </li>
        </ul>

            <code>::Teamwork::</code>
            <p>I love to dive deep in whatever area I work in, whether I am designing Docker containers or writing web
                applications, but I always provide feedback and help whenever my peers are in need. I also serve as my
                teams Scrum Master to faciliate meetings, resolve task estimates, and ensure the team grows together
                while working to enhancing our sprint velocity and stability.
            </p>
        <code>::Teamwork::</code>
        <p>
          I love to dive deep in whatever area I work in, whether I am designing
          Docker containers or writing web applications, but I always provide
          feedback and help whenever my peers are in need. I also serve as my
          teams Scrum Master to faciliate meetings, resolve task estimates, and
          ensure the team grows together while working to enhancing our sprint
          velocity and stability.
        </p>

            <code>::So, Me::</code>
            <p>I am extremely passionate in engineering solutions around complex problems, automating redundant
                operations, writing code, bringing users great experiences, reducing toil, and implementing practices
                that keeps my phone from buzzing in the late hours of the night.</p>
        </section>
        <section id="contributions">
            <div class="mono">/** projects and contributions */</div>
            <div>
                <a href="https://github.com/hashicorp/packer">
                    <div class="org"><p>hashicorp/</p></div>
                    <div class="project"><p>packer</p></div>
                    <div class="stars" data-github-project="hashicorp/packer"></div>
                    <div class="lang go"><p>Go</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Packer is a tool for creating identical machine images for multiple platforms from
                        a single source configuration</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/Dynatrace/serverless-oneagent">
                    <div class="org"><p>dynatrace/</p></div>
                    <div class="project"><p>serverless-oneagent</p></div>
                    <div class="stars" data-github-project="Dynatrace/serverless-oneagent"></div>
                    <div class="lang ts"><p>TypeScript</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Serverless Framework plugin to include Dynatrace OneAgent in serverless
                        deployments</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/gogs/gogs">
                    <div class="org"><p>gogs/</p></div>
                    <div class="project"><p>gogs</p></div>
                    <div class="stars" data-github-project="gogs/gogs"></div>
                    <div class="lang go"><p>Go</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Gogs is a painless self-hosted Git service</div>
                </a>
            </div>
            <div>
                <a href="https://git.sr.ht/~tcarrio/dialogflow-as-code">
                    <div class="org"><p>~tcarrio/</p></div>
                    <div class="project"><p>dialogflow-as-code</p></div>
                    <div class="stars" data-srht-project="~tcarrio/dialogflow-as-code"></div>
                    <div class="lang ts"><p>TypeScript</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Declarative management of Dialogflow resources in Google Cloud</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/github/hub">
                    <div class="org"><p>github/</p></div>
                    <div class="project"><p>hub</p></div>
                    <div class="stars" data-github-project="github/hub"></div>
                    <div class="lang go"><p>Go</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">A command-line tool that makes git easier to use with GitHub</div>
                </a>
            </div>
            <div>
                <a href="https://www.npmjs.com/package/@dynatrace/api-client">
                    <div class="org"><p>@dynatrace/</p></div>
                    <div class="project"><p>api-client</p></div>
                    <div class="stars" data-npm-project="@dynatrace/api-client"></div>
                    <div class="lang ts"><p>TypeScript</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Module for interacting with the Dynatrace API including caching support</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/go-gitea/gitea">
                    <div class="org"><p>go-gitea/</p></div>
                    <div class="project"><p>gitea</p></div>
                    <div class="stars" data-github-project="go-gitea/gitea"></div>
                    <div class="lang go"><p>Go</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Git with a cup of tea, painless self-hosted git service</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/DefinitelyTyped/DefinitelyTyped">
                    <div class="org"><p>DefinitelyTyped/</p></div>
                    <div class="project"><p>DefinitelyTyped</p></div>
                    <div class="stars" data-github-project="DefinitelyTyped/DefinitelyTyped"></div>
                    <div class="lang ts"><p>TypeScript</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">The repository for high quality TypeScript type definitions</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/lutris/lutris">
                    <div class="org"><p>lutris/</p></div>
                    <div class="project"><p>lutris</p></div>
                    <div class="stars" data-github-project="lutris/lutris"></div>
                    <div class="lang py"><p>Python</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Open Source gaming platform for GNU/Linux</div>
                </a>
            </div>
            <div>
                <a href="https://hub.docker.com/r/tcarrio/dynamodb-local-debugging">
                    <div class="org"><p>tcarrio/</p></div>
                    <div class="project"><p>dynamodb-local-debugging</p></div>
                    <div class="stars" data-docker-project="tcarrio/dynamodb-local-debugging"></div>
                    <div class="lang dk"><p>Docker</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">DynamoDB Local container ready for development with debug logging</div>
                </a>
            </div>
            <div>
                <a href="https://github.com/roddhjav/pass-import">
                    <div class="org"><p>roddhjav/</p></div>
                    <div class="project"><p>pass-import</p></div>
                    <div class="stars" data-github-project="roddhjav/pass-import"></div>
                    <div class="lang py"><p>Python</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">A pass extension for importing data from most of the existing password manager
                    </div>
                </a>
            </div>
            <div>
                <a href="https://github.com/tcarrio/dddd">
                    <div class="org"><p>tcarrio/</p></div>
                    <div class="project"><p>dddd</p></div>
                    <div class="stars" data-github-project="tcarrio/dddd"></div>
                    <div class="lang go"><p>Go</p></div>
                    <div class="expand"><i data-feather="more-horizontal"></i></div>
                    <div class="desc">Dynamic DNS for Cloudflare using DuckDuckGo's Answers API</div>
                </a>
            </div>

        </section>
        <section id="technologies">
            <div class="title">Technologies and Experience</div>
            <div>
                <p class="topic">Containers and Orchestration </p>
                <p class="entries">OpenShift, Docker, ECS, Compose, Kubernetes</p>
            </div>
            <div>
                <p class="topic">Programming Languages</p>
                <p class="entries">TypeScript, Java, Groovy, Go, Python</p>
            </div>
            <div>
                <p class="topic">Web Development</p>
                <p class="entries">Angular, Sass, Webpack, CSS3, HTML5</p>
            </div>
            <div>
                <p class="topic">Service Development</p>
                <p class="entries">Node.js, NestJS, Spring, REST, GraphQL</p>
            </div>
            <div>
                <p class="topic">Databases</p>
                <p class="entries">PostgreSQL, Oracle DB, MySQL, MongoDB</p>
            </div>
            <div>
                <p class="topic">Infrastructure and Networking</p>
                <p class="entries">Nginx, Etcd, Terraform, Packer, Packer, Ansible</p>
            </div>
            <div>
                <p class="topic">Message Queues, PubSub, and Stream Processing</p>
                <p class="entries">IBM MQ, SQS, Redis, Kafka</p>
            </div>
            <div>
                <p class="topic">Software Development Lifecycle and Source Control</p>
                <p class="entries">Scrum, Agile, Bitbucket, Git, GitHub, SVN</p>
            </div>
            <div>
                <p class="topic">Unit Testing</p>
                <p class="entries">Jest, Mockito, JUnit, Mocha</p>
            </div>
            <div>
                <p class="topic">Integration Testing</p>
                <p class="entries">Selenium, Cypress, Gherkin</p>
            </div>
            <div>
                <p class="topic">Continuous Integration, Delivery, Accessibility, and Security</p>
                <p class="entries">Jenkins, Blackduck, Drone, SonarQube, Lighthouse</p>
            </div>
            <div>
                <p class="topic">Observability and Monitoring</p>
                <p class="entries">Dynatrace, OpenTelemetry, Prometheus, Zipkin</p>
            </div>
            <div>
                <p class="topic">Logging</p>
                <p class="entries">Splunk, Log4j, Pino, CloudWatch</p>
            </div>
            <div>
                <p class="topic">Serverless</p>
                <p class="entries">Lambda, Serverless</p>
            </div>
            <div>
                <p class="topic">Data Processing</p>
                <p class="entries">IBM DataStage, Python, Hadoop</p>
            </div>
        </section>
        <code>::So, Me::</code>
        <p>
          I am extremely passionate in engineering solutions around complex
          problems, automating redundant operations, writing code, bringing
          users great experiences, reducing toil, and implementing practices
          that keeps my phone from buzzing in the late hours of the night.
        </p>
      </section>
      <section id="contributions">
        <div class="mono">/** projects and contributions */</div>
        <div>
          <a href="https://github.com/hashicorp/packer">
            <div class="org"><p>hashicorp/</p></div>
            <div class="project"><p>packer</p></div>
            <div class="stars" data-github-project="hashicorp/packer"></div>
            <div class="lang go"><p>Go</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Packer is a tool for creating identical machine images for
              multiple platforms from a single source configuration
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/Dynatrace/serverless-oneagent">
            <div class="org"><p>dynatrace/</p></div>
            <div class="project"><p>serverless-oneagent</p></div>
            <div
              class="stars"
              data-github-project="Dynatrace/serverless-oneagent"
            ></div>
            <div class="lang ts"><p>TypeScript</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Serverless Framework plugin to include Dynatrace OneAgent in
              serverless deployments
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/gogs/gogs">
            <div class="org"><p>gogs/</p></div>
            <div class="project"><p>gogs</p></div>
            <div class="stars" data-github-project="gogs/gogs"></div>
            <div class="lang go"><p>Go</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">Gogs is a painless self-hosted Git service</div>
          </a>
        </div>
        <div>
          <a href="https://git.sr.ht/~tcarrio/dialogflow-as-code">
            <div class="org"><p>~tcarrio/</p></div>
            <div class="project"><p>dialogflow-as-code</p></div>
            <div
              class="stars"
              data-srht-project="~tcarrio/dialogflow-as-code"
            ></div>
            <div class="lang ts"><p>TypeScript</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Declarative management of Dialogflow resources in Google Cloud
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/github/hub">
            <div class="org"><p>github/</p></div>
            <div class="project"><p>hub</p></div>
            <div class="stars" data-github-project="github/hub"></div>
            <div class="lang go"><p>Go</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              A command-line tool that makes git easier to use with GitHub
            </div>
          </a>
        </div>
        <div>
          <a href="https://www.npmjs.com/package/@dynatrace/api-client">
            <div class="org"><p>@dynatrace/</p></div>
            <div class="project"><p>api-client</p></div>
            <div class="stars" data-npm-project="@dynatrace/api-client"></div>
            <div class="lang ts"><p>TypeScript</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Module for interacting with the Dynatrace API including caching
              support
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/go-gitea/gitea">
            <div class="org"><p>go-gitea/</p></div>
            <div class="project"><p>gitea</p></div>
            <div class="stars" data-github-project="go-gitea/gitea"></div>
            <div class="lang go"><p>Go</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Git with a cup of tea, painless self-hosted git service
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/DefinitelyTyped/DefinitelyTyped">
            <div class="org"><p>DefinitelyTyped/</p></div>
            <div class="project"><p>DefinitelyTyped</p></div>
            <div
              class="stars"
              data-github-project="DefinitelyTyped/DefinitelyTyped"
            ></div>
            <div class="lang ts"><p>TypeScript</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              The repository for high quality TypeScript type definitions
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/lutris/lutris">
            <div class="org"><p>lutris/</p></div>
            <div class="project"><p>lutris</p></div>
            <div class="stars" data-github-project="lutris/lutris"></div>
            <div class="lang py"><p>Python</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">Open Source gaming platform for GNU/Linux</div>
          </a>
        </div>
        <div>
          <a href="https://hub.docker.com/r/tcarrio/dynamodb-local-debugging">
            <div class="org"><p>tcarrio/</p></div>
            <div class="project"><p>dynamodb-local-debugging</p></div>
            <div
              class="stars"
              data-docker-project="tcarrio/dynamodb-local-debugging"
            ></div>
            <div class="lang dk"><p>Docker</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              DynamoDB Local container ready for development with debug logging
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/roddhjav/pass-import">
            <div class="org"><p>roddhjav/</p></div>
            <div class="project"><p>pass-import</p></div>
            <div class="stars" data-github-project="roddhjav/pass-import"></div>
            <div class="lang py"><p>Python</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              A pass extension for importing data from most of the existing
              password manager
            </div>
          </a>
        </div>
        <div>
          <a href="https://github.com/tcarrio/dddd">
            <div class="org"><p>tcarrio/</p></div>
            <div class="project"><p>dddd</p></div>
            <div class="stars" data-github-project="tcarrio/dddd"></div>
            <div class="lang go"><p>Go</p></div>
            <div class="expand"><i data-feather="more-horizontal"></i></div>
            <div class="desc">
              Dynamic DNS for Cloudflare using DuckDuckGo's Answers API
            </div>
          </a>
        </div>
      </section>
      <section id="technologies">
        <div class="title">Technologies and Experience</div>
        <div>
          <p class="topic">Containers and Orchestration</p>
          <p class="entries">OpenShift, Docker, ECS, Compose, Kubernetes</p>
        </div>
        <div>
          <p class="topic">Programming Languages</p>
          <p class="entries">TypeScript, Java, Groovy, Go, Python</p>
        </div>
        <div>
          <p class="topic">Web Development</p>
          <p class="entries">Angular, Sass, Webpack, CSS3, HTML5</p>
        </div>
        <div>
          <p class="topic">Service Development</p>
          <p class="entries">Node.js, NestJS, Spring, REST, GraphQL</p>
        </div>
        <div>
          <p class="topic">Databases</p>
          <p class="entries">PostgreSQL, Oracle DB, MySQL, MongoDB</p>
        </div>
        <div>
          <p class="topic">Infrastructure and Networking</p>
          <p class="entries">Nginx, Etcd, Terraform, Packer, Packer, Ansible</p>
        </div>
        <div>
          <p class="topic">Message Queues, PubSub, and Stream Processing</p>
          <p class="entries">IBM MQ, SQS, Redis, Kafka</p>
        </div>
        <div>
          <p class="topic">Software Development Lifecycle and Source Control</p>
          <p class="entries">Scrum, Agile, Bitbucket, Git, GitHub, SVN</p>
        </div>
        <div>
          <p class="topic">Unit Testing</p>
          <p class="entries">Jest, Mockito, JUnit, Mocha</p>
        </div>
        <div>
          <p class="topic">Integration Testing</p>
          <p class="entries">Selenium, Cypress, Gherkin</p>
        </div>
        <div>
          <p class="topic">
            Continuous Integration, Delivery, Accessibility, and Security
          </p>
          <p class="entries">
            Jenkins, Blackduck, Drone, SonarQube, Lighthouse
          </p>
        </div>
        <div>
          <p class="topic">Observability and Monitoring</p>
          <p class="entries">Dynatrace, OpenTelemetry, Prometheus, Zipkin</p>
        </div>
        <div>
          <p class="topic">Logging</p>
          <p class="entries">Splunk, Log4j, Pino, CloudWatch</p>
        </div>
        <div>
          <p class="topic">Serverless</p>
          <p class="entries">Lambda, Serverless</p>
        </div>
        <div>
          <p class="topic">Data Processing</p>
          <p class="entries">IBM DataStage, Python, Hadoop</p>
        </div>
      </section>
    </div>

    <footer>
        <div class="footer-container">
            <div class="footer-row">
                <img src="assets/images/sourcehut-icon.png">
                <div class="row-message">
                    <p>:: This page is built on <a href="https://sourcehut.org">Sourcehut</a> using the <a
                            href="https://builds.sr.ht">build.sr.ht</a> pipeline system.</p>
                </div>
            </div>
      <div class="footer-container">
        <div class="footer-row">
          <img src="assets/images/sourcehut-icon.png" />
          <div class="row-message">
            <p>
              :: This page is built on
              <a href="https://sourcehut.org">Sourcehut</a> using the
              <a href="https://builds.sr.ht">build.sr.ht</a> pipeline system.
            </p>
          </div>
        </div>

            <div class="footer-row">
                <img src="assets/images/netlify-icon.png">
                <div class="row-message">
                    <p>:: This page is hosted on <a href="https://netlify.com">Netlify</a> with deployments using their
                        <a href="https://github.com/netlify/cli">cli</a>.</p>
                </div>
            </div>
        <div class="footer-row">
          <img src="assets/images/netlify-icon.png" />
          <div class="row-message">
            <p>
              :: This page is hosted on
              <a href="https://netlify.com">Netlify</a> with deployments using
              their <a href="https://github.com/netlify/cli">cli</a>.
            </p>
          </div>
        </div>

            <div class="footer-row">
                <img src="assets/images/sourcehut-icon.png">
                <div class="row-message">
                    <p>:: This website is open source and hosted on <a href="https://sourcehut.org">Sourcehut</a> at
                        <a href="https://tom.carrio.dev">~tcarrio/tom.carrio.dev</a>.</p>
                </div>
            </div>
        <div class="footer-row">
          <img src="assets/images/sourcehut-icon.png" />
          <div class="row-message">
            <p>
              :: This website is open source and hosted on
              <a href="https://sourcehut.org">Sourcehut</a> at
              <a href="https://tom.carrio.dev">~tcarrio/tom.carrio.dev</a>.
            </p>
          </div>
        </div>
      </div>
    </footer>

    <!-- Replace all icons -->
    <script>
        feather.replace()
      feather.replace();

        // For mobile clients, provide expansion functionality for project descriptions
        const hoverClass = "hovered";
        const bodyEl = document.querySelector("body");
        document.querySelectorAll("section#contributions>div>a").forEach((pl) => {
            const expandEl = pl.querySelector(".expand");
            const descEl = pl.querySelector(".desc");
      // For mobile clients, provide expansion functionality for project descriptions
      const hoverClass = "hovered";
      const bodyEl = document.querySelector("body");
      document.querySelectorAll("section#contributions>div>a").forEach((pl) => {
        const expandEl = pl.querySelector(".expand");
        const descEl = pl.querySelector(".desc");

            expandEl.addEventListener("click", (el) => {
                el.stopPropagation();
                el.preventDefault();
        expandEl.addEventListener("click", (el) => {
          el.stopPropagation();
          el.preventDefault();

                if (descEl.classList.contains(hoverClass)) {
                    descEl.classList.remove(hoverClass);
                } else {
                    descEl.classList.add(hoverClass);
                }
            });
            bodyEl.addEventListener("click", () => {
                descEl.classList.remove(hoverClass);
            })
          if (descEl.classList.contains(hoverClass)) {
            descEl.classList.remove(hoverClass);
          } else {
            descEl.classList.add(hoverClass);
          }
        });
        bodyEl.addEventListener("click", () => {
          descEl.classList.remove(hoverClass);
        });
      });
    </script>
</body>

</html>
\ No newline at end of file
  </body>
</html>