Christopher Sardegna

Thoughts on technology, design, data analysis, and data visualization.

Latest post

Problems with Counter-Strike Rating Systems

When you look at the back of a baseball card, you don’t see a single rating. You see time-series information about that player. Additionally, they do not use a single number to tell a story about a player. No magic number that will accurately depict a player’s performance. However, with younger sports like Counter-Strike: Global Offensive, the single stat most people focus on is a player’s rating. This single number is problematic for many reasons. With the trove of data we have access to in demo files that we do not have with any other sport, we need to...

Continue reading →

Visualizing ECS Season 3: By The Numbers

Visualizing player performance in Counter-Strike: Global Offensive is simple to do if one leverages the proper tools. Professional players are a useful baseline to use these tools since they generally play with and against the opponents of similar expertise, thus comparisons are...

Continue reading →

Using Python to Download HLTV Demos

Demo files are a requirement for analyzing players at the professional level of Counter-Strike: Global Offensive. Currently, using the HLTV Demos page for each event is a cumbersome and labor-intensive process. Leveraging Python, we can eliminate all manual interaction and streamline the process of acquiring...

Continue reading →

Optimizing CS:GO Case Purchase Prices

With the recent release of the new Glove case and the subsequent (expensive) case-opening videos, it is becomes important to analyze when and at what price to purchase volumes of pricey digital goods. The easiest way to accomplish this feat is to use Microsoft Excel, which provides the analytical components needed to calculate the...

Continue reading →

Visualizing iTunes Library Data in Excel

iTunes, Apple’s media organizer program, is both panned as bloatware and praised as a one-stop-shop. Regardless, iTunes stores a wealth of metadata locally that make it relatively simple to visualize trends within our often extensive libraries. It is trivial to copy the...

Continue reading →

Cleaning Team Liquid’s Historical Data

My last post about the Counter-Strike Global Offensive Major in Columbus exploded, prompting more digging into better data. Along the way, there were several roadblocks that can be easily solved with a few simple tools...

Continue reading →

How To Deal with File Sizes in Excel

The only metric I have to gauge traffic to this website is AWStats, an open-source logfile analyzer that runs through my CPanel. I do not use any other forms of tracking.

AWstats is a great tool because it can generate charts and tables of various data. It is simple, lightweight, and easy to operate. There is one problem that will impact users’ ability to visualize trends...

Continue reading →

MLG Columbus 2016: An Econometric Analysis of Counter-Strike

eSports — a form of sports where the primary aspects are facilitated by electronic systems — provide unique opportunities to mine and analyze data. Every aspect of eSports matches can be recorded digitally and analyzed with software, vastly reducing the energy required to collect and interpret patterns. The recent MLG Major Counter-Strike Global Offensive competition in Columbus, Ohio is one of these opportunities.

Counter-Strike: Global Offensive (CS:GO) is an internationally acclaimed competitive skill-based First Person Shooter developed by Valve LLC. Released in 2000, it has a long history in competitive gaming (eSports), attracting over...

Continue reading →

Mad Catz R.A.T. PRO X: Ambitious, Yet Flawed

The Mad Catz R.A.T. PRO X is Mad Catz Interactive’s latest addition to their mouse line. The features are quite impressive for a mouse: from a magnesium alloy chassis to interchangeable sensor modules, it is one of the most ambitiously different mice on the market. This ambition, however, includes some failures of design that should never have crept into a $200 peripheral.

The PRO X is the successor to the...

Continue reading →

Using Keynote to Make Beautiful Data Visualizations

Keynote, Apple’s presentation software, is often left behind by its superior competition, Powerpoint. When building slide decks, this is nearly always the case. When it comes to data visualization, however, Keynote takes the top spot.

Keynote, as with Apple’s entire iWork suite, is not aimed at dry enterprise applications, rather at fun and simple consumer tasks. As such, Keynote’s fun aesthetic make it much easier to design modern, visually appealing data visualizations. In fact, Apple champions data visualization in their latest...

Continue reading →

The eGPU Problem

Thunderbolt eGPU docks are a huge advancement. Plugging a Titan X into my rMBP would be a blessing for a lot of the work I do, from data modeling and regressing in STATA to video editing to playing games.

Apple’s current lineup of MacBook Pros — while old — the top-of-the-line is still...

Continue reading →

The Console Storage Speed Bottleneck

Slow storage is a problematic bottleneck for console gaming. The 5200 RPM Hard Drive and SATA II connection inside the Xbox One are the primary bottlenecks for asset decompression and loading times. Although they keep the manufacturing costs down, they dramatically increase time spent loading compressed assets on the fly, multiplying the already slow rendering from the AMD Durango processor.

SATA II is archaic and slow, so replacing the internal drive is not an adequate solution. The USB 3 ports on the back provide a perfect answer: no voided warranty, no messy deconstruction, and far faster transfer...

Continue reading →

New Blog!

Today I am happy to announce I’ve consolidated and redesigned my blog. No longer will it be fragmented between Svbtle, Medium, and a Wordpress installation. Now, all of my posts will be here.

I shifted my focus away from social integration and moved toward speed and readability. There are no tracking scripts, no analytic scripts, no ads, and nothing to slow down the reading experience. I do anticipate that I will be writing more often now that I have a good platform in which to...

Continue reading →

Clash of Clans: An Economic Analysis

Clash of Clans has been a little obsession of mine over the last few years. The economy of this game always fascinated me, and I have finally found the time to analyze it. I will be providing the raw data and Excel workbooks for your entertainment throughout this post.

Part 1: Analysis


The number one question I had before I began this project was what a fully maxed Town Hall 10 base would cost if one were to upgrade using only gems, i.e. the nominal value of a Clash of Clans base. This chart shows the cost to upgrade to the base level from the max of the previous...

Continue reading →

Now Live in Apple News

As of today, my blog is live on Apple News! You can open this blog in the news app here or continue browsing as you normally would.

Currently I am waiting for the release of the Apple News Format, which will allow me to enable native pages in the Apple News application. Until then, the app just loads a webview.

Once Apple makes the official announcement, I will make the necessary changes to get the rest of my blog into Apple News. This will mean I will be publishing more articles!

Continue reading →

Using Your Twitter Archive to Visualize Your Tweets

In December 2012, Twitter unveiled its “Archive” functionality, allowing users to download backups of all of their tweets. The downloaded files included a html interface for searching and reading tweets, which becomes very tedious and cumbersome with large amounts of data. The download also includes a .csv file that includes the raw data. We will be using this data for the following project. My data only goes through March 2015 because I used Shame Eraser to delete them all from my account.

The .csv should first be reformatted to an Excel Workbook to speed up the processing of data. The data table contains the following columns:

tweet_id in_reply_to_status_id in_reply_to_user_id timestamp source text retweeted_status_id retweeted_status_user_id retweeted_status_timestamp expanded_urls 

We will primarily be using the following, as well as 2 new ones we will be adding later:


Continue reading →

The Apple Watch Fashion Liberation

The Apple Watch is an amazing piece of everyday technology. Everything about the device, from setup to use, is very intuitive and very fun.

I’ve never had the battery dip below 60% in a single day; I bet I could make it through a couple days without needing to enable Power Reserve mode.


There are naturally a few complaints that I would like to express before I begin. Setup and syncing is slow, though not finicky. It works for the most part, but, for example, if you accidentally tap a switch to install an app accidentally then quickly tap it off to...

Continue reading →

The Downfall of the Smart Appliance

As technology progresses at an ever-increasing exponential rate, we will realize that “smart” devices that integrate with current ones will age at a similar faster rate than their “dumb” counterparts. Many appliances in my house have not been replaced since its construction, for instance: AC/Heating units, thermostats, ovens, stoves, showers, plumbing, and many other items are still the way they were when they were built almost 20 years ago. However, the televisions, sound systems, video game systems, and computers have been replaced quite often over the years, perhaps the computers most often.

The products that have existed in my home since its construction all have one thing in common: they operate on their own and do not interfere with other items in my house. In today’s lingo, they are “dumb.” Seemingly obsolete. They are not dumb, however; they are actually quite clever.


Continue reading →

How To Get An App Approved

This is the story of my five-month-and-counting process for getting one of my apps, MineIDs, approved by Apple. What follows is the most hypocritical, illogical, and unspecific thread with the review board that I’ve ever seen. I’ve inserted my commentary with italics.

At first, the app was pretty basic but still very useful to people who run Minecraft servers or use world-building tools. It looked like this when I first submitted it, and in mid-December...

Continue reading →

So, You Want To Get An App Approved

Someone emailed me this in response to some complaints I wrote about an app I have been trying to get into the store for over three months.

“If you want to talk about going a few rounds with Apple Reviewers, I can tell you stories. One of my dev friends is amazed listening to me having practically a screaming match with the reviewer, telling him he was an idiot and I still got my App in the store. Reviewers, depending on who you get assigned and from what I can tell, have no real clear training on what they are suppose to be screening for and when it comes to aesthetic issues, grab all the religious icons you can find, put them in a circle around you and start praying that the Gods of common sense visit them.

From what I’ve seen from the screen shots, taking a few fingers of Kentucky Bourbon to put me in their mind set of slight detachment from reality and from looking at the iOS 7 UI...

Continue reading →