Skip to main content

31 posts tagged with "Technology and Programming"

View All Tags

Creating College Football Recruiting Database on AWS Athena

· 6 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

About College Football Recruiting

Despite being played by amateur student-athletes, college football has become a multi-billion dollar industry. Most likely due to the emotional connection to an academic institution and the incredibly entertaining and volatile lack of parity and consistency amongst teams, college football fans tend to be even more diehard than their NFL counterparts, particularly in the South. Though college football is played by undergraduate and graduate students, players are scouted as recruits as early as middle school. These recruits are evaluated based on several factors that indicate their success at both the collegiate and professional levels of football. Whether physical attributes like height and weight or skill sets like blocking and catching, all of these attributes plus countless others are synthesized into a rating. Recruits are then offered by universities culminating in commitments and signings. A good recruiting class can be an indication of future success for a college football team provided that the coaching staff develops talents as expected.

Source Code

This repository is a set of Python and shell scripts to fetch and process publicly available data from 247 for non-commercial, personal data analysis use to be done using AWS Athena. It’s co-authored by Callen Trail. As is the nature of web scrapers, the HTML parsing code is brittle. If the page structure changes on the site, the scripts will need to be modified. The process is split into three stages.

Building a React Widget for Mendix 8

· 4 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Use Case, Source Code, and Demo Site

For a weekend project, I wanted to build a nontrivial Mendix widget that required additional NPM packages, interacted with entity attributes, and had internal React state not managed by Mendix entities. Having just used the Ace editor to build a querying environment for my fantasy football league’s databases and views, I thought building similar functionality in a Mendix application would be an excellent fit.

The source code is hosted on GitHub. I’ve also included the final .mpk file (version 1.0.2) as well. The demo site can be found here.

Visual Studio Live 2019: San Diego

· 14 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Contents

Visual Studio Live in San Diego was an amazing opportunity to learn about new Microsoft technology like Azure’s artificial intelligence offerings and .NET Core 3.0. I attended some talks about leadership and Agile as well. I’ve put together several proofs of concept and documented what I learned about:

  • Azure Cognitive Services
  • ASP.NET Core Health Checks and Startup.cs Inline Endpoints
  • .NET Core CLI Tooling for AWS Lambda
  • .NET Core 3.0 Linux Worker with systemd Integration
  • Windows Subsystem for Linux 2 and Windows Terminal
  • The Dynamics of a Healthy Team
  • Goodhart’s Law and the Hawthorne Effect

SonarCloud for C# Projects with Travis CI

· 4 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Example SonarCloud/SonarScanner C# Integration for Travis CI

SonarQube is a very powerful source code continuous inspection tool. It’s incredibly valuable to have integrated into a project’s CI/CD pipeline to help maintain code quality and prevent issues. In the process of adding this to some existing open-source C# projects, I discovered that there’s not quality, up-to-date documentation on integrating C# inspection with Travis CI. This GitHub project serves as a functioning example.

Testing .NET Standard Libraries Using .NET Core, NUnit, and Travis CI

· 6 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Background

While my development choices for the frontend change as rapidly as new JavaScript frameworks come and go, I’ve remained pretty consistent with using the .NET ecosystem for my server-side needs. I still use Node.js, Spring Boot, and Flask for several side projects, but I’ve grown to love the power of .NET and C# over the past several years while it has been the default technology at my job. My two biggest complaints were the monolithic scale of .NET Framework and the fact that it required Windows (or Mono which hasn’t always been backed by Xamarin/Microsoft). Both of these changed with the advent of .NET Core. This alternative is cross-platform, modular, and much more performant. While both .NET Framework and .NET Core are implementations of .NET Standard, .NET Core very much seems to be the preferred way of the future.

Like many other .NET developers, I’ve packaged logic into open-source libraries and published to NuGet for easy distribution. However, also like many other developers, I’ve written packages to target .NET Framework. This is a problem because these packages can only be used with .NET Framework. The alternative is to target .NET Standard instead. As described by Microsoft docs, .NET Standard is a set of APIs that all .NET implementations must provide to conform to the standard. Because of this, having your NuGet packages target .NET Standard means that your package has support for .NET Framework, .NET Core, Mono, Xamarin, etc.

Colley Matrix NuGet Package

· 3 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Overview

It’s very well documented that I’m a huge college football fan. We’re presently in the College Football Playoff era of Division I football, which involves a selection committee choosing four playoff teams to compete to be the national champion. The previous era, known as the Bowl Championship Series era, involved a combined poll of human experts and computer algorithms choosing the two best teams to play in the national championship game. One such algorithm is known as the Colley Matrix. Though not a factor in the post-season selection process anymore, it’s still referred to at times, particularly when debating the selection committee’s decisions. Based on the whitepaper written by Colley himself and [an existing JavaScript implementation](an existing JavaScript implementation), I developed this NuGet package for simulating head-to-head matchups and applying the Colley algorithm. This algorithm can be applied to any sport or competitions without tie games.

Burnt Orange Atom Themes

· 2 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

It’s safe to say that I’m biased because of my alma mater, but I personally think that burnt orange is one of the most versatile colors. It’s somewhat polarizing due to being the primary color of the University of Texas, but I use it as one of the core colors here on my personal website to show my Longhorn pride. Inspired by this color palette, I’ve created a theme for Atom, my favorite text editor, and released version 1.0.0 just in time for the start of college football season.

ISP Complainer

· 5 min read
Scottie Enriquez
Director, Cloud FinOps at SiriusXMLos Angeles, CA

Motivation

I have long battled my internet service providers, and they have waged war on their customers for many years as well. Poor customer service, data caps with obscene overage charges, and many other issues have plagued me for years like many other Americans. Like many of these people, I’m stuck with only one viable option for a provider due to their monopolistic practices. Recently, I was forced to upgrade to a more expensive monthly plan after going over my data cap three times non-consecutively over a year and a half period. Rather than charging me the usual absurd per-gigabyte overage charge, I’m now stuck paying more per month for the remainder of my time with my ISP.

“You’ll also get an increase in speed as well,” the representative told me. Well, I’ve decided to hold my ISP accountable. Since my ISP was so diligent in tracking my overages, I’m going to be diligent in tracking the speeds that I’m getting. Inspired by a post on Reddit, I built an application to let my ISP know whenever I’m not getting my promised speeds, and I’m running it off of my Raspberry Pi. Here’s how you can use it too.