Wednesday, May 10, 2023

Chuck's Bucks

2022 was the year of tracking dollar bills. I "created" 365 Chuck Bucks by adding a stamp to my tracking website and a QR sticker to easily be able to scan it and pre-populate the dollar's serial number. For the first 73 days of the year I handed out 5 Chuck Bucks to various people and places to try and get them to spread throughout the world. I thought it went surprising well and am still seeing check-ins come in sporadically. All the data displayed will continue to use the live app I use for tracking, but the numbers below are as of May 9th, 2023.

Total Distance Chuck Bucks Traveled: 54,987 Miles (88,493 km) which is about 2.2 times around the world
Longest Distance Traveled from a Single Check-in to Check-in: 9,030 Miles (14,532 km) with serial number F17317947D
Longest Distance Traveled From a Single Chuck Buck: 11,285 Miles (18,162 km) with serial number E72974408A
Total Number of Check-ins: 483 which is about 1.5 check-ins per Chuck Buck
Distinct Chuck Bucks Check-ins: 318/365 (87%)
Largest number of Check-ins From a Single Chuck Buck: 5 from these serial numbers A52233859C, C87665168C, E72974408A, J41218200C

Data visualization can be found here.

Disclaimer: May not work well on mobile. 

Sunday, December 12, 2021

Guinness Money

2020 was a strange year to try and track data about myself, but fortunately I had picked tasks that were still doable even with a pandemic going on. You can see the twin post of this where I rated tacos every Tuesday, but in this post its all about how much money I spent on Guinness for the year. 

Pre-COVID I had spent $1,915.33, and was on pace to spend $7,661.32 for the year. Which is $2,404.08 more than what I actually spent, so you can see how much that changed things. 

Average spent per day on Guinness: $14.40 
Total Spent: $5,257.24
Most Money Spent at One Place: $3,364.75 at D.D. Peckers

Data visualization can be found here.
Disclaimer: May not work well on mobile.

Taco Tuesday

2020 was a strange year to try and track data about myself, but fortunately I had picked tasks that were still doable even with a pandemic going on. You can see the twin post of this where I tracked how much I spent on Guinness for the year, but in this post its all about Taco Tuesday.
 
Every Tuesday during 2020, I tried out a different restaurant's tacos and rated the best one. With the pandemic going on this made it a little more challenging to go outside of Charleston for tacos (I did get one in from South Dakota), but I think with everyone more open to delivery it gave me a chance to try a lot more places in Charleston as well. 58% of tacos I ate were delivered so you can see I took full advantage of it.

Favorite Tacos: 
Locals - Korean BBQ 
Minero - Cauliflower 
Micho - El Dorado 
Las Lupitas - Chorizo 
SOL - Verde Carnitas

Least Favorite Tacos: 
The Wickliffe House - Smoked Chicken

Average Taco Rating: 3.3 stars
 
Data visualization can be found here.
Disclaimer: May not work well on mobile.

Thursday, June 25, 2020

How much do I have to walk to burn off my Guinness calories?

 Welcome file
This was a real question I had. Fortunately, its pretty simple algebra and I know how to do that so lets start with gathering a couple of numbers.
  1. How many calories do I burn per minute by walking? 7.7 I walk quite vigorously
    • 230/30=7.7230/30=7.7 Calories per minute
  2. How many calories do I take in per ounce of Guinness? 10.4 It might be 10.5 but this is what I got
    • 125/12=10.4125/12=10.4 Calories per ounce
Now we know every minute I walk burns 7.7 calories and every ounce of Guinness I drink gains me 10.4 calories. So the next question is how many minutes do I have to walk to burn off 1 ounce of Guinness. More math.
  • 10.4/7.7=1.3510.4/7.7=1.35 minutes (1 minute 21 seconds) walked to burn 1 ounce of Guinness Calories
So the closest bar to me (shouts to DD Peckers) is ~20 mins in one direction. How many Guinness can I have to break even by walking there and back. (Its unfortunately not very many)
Given a Guinness is 20 oz (imperial pint) and my walk to and from the bar is ~40 mins:
  • 407.7/10.4/20=1.4840*7.7/10.4/20=1.48 Guinness
Visualized as:
%matplotlib notebook
import matplotlib.pyplot as plt
plt.plot([[7.7*40] for x in range(100)], linewidth=1, label='random')
plt.plot([[x*10.4] for x in range(100)], linewidth=1, label='random')
plt.scatter([7.7*40/10.4], [7.7*40])
plt.annotate("Break even point", (30, 310))
plt.show()


The orange line in this case is the increase of calories per ounce drank and the blue line is a constant of calories burned if I walk vigorously for 40 mins. The intersection gives us the amount of ounces it takes to equal the number of calories I burned walking 40 mins. Which shows x as 29.6 ounces divided by 20 is 1.48 Guinness.

I wish my story problems as a kid were as interesting as this, but alas they were not, so here we are making up my own.

Monday, May 11, 2020

5 Million Step Man

Another year of Chuck does Data Science. For the 2019 year, I challenged myself to walk 5 million steps for the year which broke down to ~13000 steps per day. Crushed the goal and ended up going over 6 million steps for the year (6098464 to be exact) which was ~16000. Calculating that 2000 steps is a mile for me, I walked about 3050 miles. You see a pretty major dip in the number of steps in November because I strained my calf playing basketball during the early part of the month.

For the data visualizations this year I mostly worked on using the GPS data to get some interesting stats from the year. For instance, the number of times I walked the same routes. By far my favorite route is the Chuck route which I only got to do once, but is fun to look at. Below are a breakdown of step stats from the year and a link to the visualizations.

Total steps for the year: 6,098,464
Average steps per day: 16,708
Average steps per week: 117,278
Average steps per month: 508,205
Most steps in a month: 604,290 (August)
Least steps in a month: 318,127 (November)
Most steps in a day: 37,687
Least steps in a day: 1,123
Percentage of days meeting goal of 13000 steps: 297/365 81%
Sunday Steps Total (Avg):        734,654 (14,128)
Monday Steps Total (Avg):       943,700 (18,148)
Tuesday Steps Total (Avg):       996,785 (18,807)
Wednesday Steps Total (Avg)909,695 (17,494)
Thursday Steps Total (Avg):     950,875 (18,286)
Friday Steps Total (Avg):          822,101 (15,810)
Saturday Steps Total (Avg):      740,654 (14,243)
Most walked route: Bar Walk (300 times)


Data visualization can be found here.
Disclaimer: May not work well on mobile.

Saturday, June 22, 2019

Chuck Rates Beer

The 5th year for Chuck does Data Science, I challenged myself to drink a different beer everyday and rate it. The challenge was completed with no missing days (no applause necessary). I figured there could be some interesting findings from this data including what types of beer do I rate the highest/lowest, do I tend towards one type of beer, and could I make a model to predict whether I would like a new beer not in the current data set. If you follow the link you should be able to try it for yourself by following the link below. Just type in a beer select the correct one and it will be rated by Robo Chuck. There is also a calendar displaying each beer as its picture for that day. You can hover over it to see details and click on it to take you to Untappd for more info.

Data visualization and Robo Chuck can be found  here.
Disclaimer: May not work well on mobile.

Some interesting stats:

Highest rated beers (5 star rated):
Guinness - Guinness Draught
Great Divide Brewing Co. - Velvet Yeti Nitro
D9 Brewing Co. - Brown Sugar Brown Cow
Edmund's Oast - Peanut Butter & Jelly
Holy City Brewing - Pluff Mud Porter
Frothy Beard - Back From the Dead
Brauerei Lemke - Lemke Original
Anderson Valley Brewing Co. - Barney Flats Oatmeal Stout

Lowest rated beers (0.5 star rated):
Dogfish Head Craft Brewery - SeaQuench Ale
SweetWater Brewing Co. - Grass Monkey
Boston Beer Co. - Samuel Adams Pumpkin Ale

Breakdown of all ratings (0-5 in 0.5 increments):
0.0:   0
0.5:   3
1.0:   9
1.5:   30
2.0:   56
2.5:   84
3.0:   66
3.5:   58
4.0:   40
4.5:   11
5.0:   8

Breakdown of styles (number of beers I had in that style):
IPA - American 40
Pale Ale - American 20
Stout - Milk / Sweet 16
Lager - North American Adjunct 13
Lager - Pale 13
Porter - American 12
Lager - American Light 10
Hefeweizen 9
Witbier 9
Lager - Vienna 9
Brown Ale - American 8
Brown Ale - English 8
IPA - New England 8
Red Ale - American Amber / Red 8
Fruit Beer 7
Blonde Ale 7
IPA - Imperial / Double 7
Stout - American 7
Stout - Irish Dry 7
Golden Ale 6
Pilsner - Czech 5
Pale Ale - English 5
Cream Ale 5
Shandy / Radler 4
Lager - Euro 4
Lager - American Amber / Red 4
Sour - Gose 4
Pale Wheat Ale - American 4
Pilsner - German 4
Stout - American Imperial / Double 4
Porter - Coffee 4
IPA - Session / India Session Ale 4
Stout - Oatmeal 4
Scotch Ale / Wee Heavy 3
Lager - Dark 3
Extra Special / Strong Bitter 3
Sour - Ale 3
Lager - Helles 3
Stout - Foreign / Export 3
Porter - Other 3
Pilsner - Other 2
Kölsch 2
Saison / Farmhouse Ale 2
Cider - Other 2
Belgian Tripel 2
Festbier 2
Dark Ale 2
Märzen 2
Strong Ale - American 2
Lager - Munich Dunkel 2
Bock - Single / Traditional 2
Lager - Japanese Rice 2
Lager - Amber 2
Pumpkin / Yam Beer 2
Porter - English 2
Brown Ale - Other 2
Belgian Strong Dark Ale 1
Belgian Dubbel 1
Scottish Export Ale 1
Winter Warmer 1
Belgian Quad 1
Porter - Baltic 1
Rye Beer 1
Dunkelweizen 1
Pale Ale - Belgian 1
Stout - Imperial Milk / Sweet 1
Stout - English 1
Lager - IPL (India Pale Lager) 1
Mead - Braggot 1
Stout - Other 1
Cider - Sweet 1
English Bitter 1
Spiced / Herbed Beer 1
Bock - Maibock / Heller (Helles) / Lentebock 1
Brown Ale - Imperial / Double 1
Stout - Russian Imperial 1
Winter Ale 1
Other 1
IPA - Brown 1
Red Ale - Irish 1
Red Ale - Imperial / Double 1
Scottish Ale 1
Lager - Winter 1
Porter - Imperial / Double 1
Altbier 1
Malt Liquor 1
Smoked Beer 1
IPA - Triple 1
Stout - Oyster 1

Type of beer I had the most of:
IPA - American (40)

Breakdown of Major Styles (number of beers I had in that style):
Lager 67
IPA 61
Stout 46
Pale Ale 26
Porter 23
Brown Ale 19
Pilsner 11
Red Ale 10
Witbier 9
Hefeweizen 9
Sour 7
Fruit Beer 7
Blonde Ale 7
Golden Ale 6
Cream Ale 5
Shandy / Radler 4
Pale Wheat Ale 4
Scotch Ale / Wee Heavy 3
Cider 3
Extra Special / Strong Bitter 3
Bock 3
Strong Ale 2
Kölsch 2
Saison / Farmhouse Ale 2
Dark Ale 2
Festbier 2
Märzen 2
Pumpkin / Yam Beer 2
Belgian Tripel 2
Spiced / Herbed Beer 1
Rye Beer 1
Smoked Beer 1
Dunkelweizen 1
Scottish Ale 1
Belgian Quad 1
English Bitter 1
Altbier 1
Winter Warmer 1
Belgian Strong Dark Ale 1
Mead 1
Winter Ale 1
Scottish Export Ale 1
Other 1
Malt Liquor 1
Belgian Dubbel 1


Wednesday, September 5, 2018

Over the Wire

I meant to post this awhile ago like right after I gave the talk, but that didn't happen so I'm doing it now. Not too long ago I gave a talk at DakotaCon 2018 on executing Python in memory and some tips and tricks for doing so.

Here is the video.

Here are the slides.

Sunday, May 13, 2018

Chuck and People

As I've done the past four years I put forth a challenge to myself. This year it was to take a picture with a different person or group of people everyday and document it on Instagram. Mission accomplished! With the goal completed I needed to find someway to use the data and pictures I collected into something interesting and thought mosaics would be the perfect way to do that. So for each picture I created two mosaics, a progressive mosaic which uses a pool of photos of every photo up to that day and a total mosaic which is every photo I took for the project included in the photo. There are also tables showing percentages of total photos used for that mosaic and a bar showing the dominant colors of the original photo. I also took a high def photo which in the data visualization is titled main. The difference between this is that it is 150x150 pics and all the other photos are 100x100. Also because it is such a high def picture the photos in the mosaic show up much clearer because there are more pixels it is able to replace (it also takes longer to load). If you click on a photo it should pop open a tab with the full size photo allowing you to zoom in and see the photos making up the mosaic. Just to give you an idea of how big the mosaic is for the main photo, it would measure out to be approximately 7 ft. x 7 ft. if printed which unfortunately I don't have room for. It *only* took 36 hours straight compute time to make all the mosaics and get the dominant colors and every photo was used throughout the process. Some interesting stats:

Mosaic with lowest percentage of photos used: Day 143 used 137/365 (37.53%) of the photos
Mosaic with highest percentage of photos used: Day 147 used 336/365 (92.05%) of the photos

Pictures I was on the Left: 151
Pictures I was in the Middle: 24
Pictures I was on the Right: 190


Data visualization can be found  here.
Disclaimer: May not work well on mobile. Best bet is landscape mode.

Monday, May 15, 2017

Chuck Chugs Guinness for a Year

I made myself a challenge for 2016 to drink a Guinness everyday. The main goal was to collect data on how fast I could drink a Guinness everyday. The times are based on video time so actual times are probably slightly faster than this. Also its only granular to seconds so if it was 6.5 seconds it got rounded up to 7 seconds. To prove I did it, I took a video of everyday and posted it on YouTube. You can see some of the data visualizations and videos here. By clicking on a data point in the timeseries it will automatically center the Google map on the corresponding placemark and load the video from that day. Some stats from year:

Average Time: 6.9 seconds
Slowest Time: 13 seconds
Fastest Time: 5 seconds
Total Time: 42 minutes 6 seconds

Data visualizations and videos here.
Disclaimer: May not work well on mobile.

Thursday, May 26, 2016

Mapping Poop

For the year of 2015*, I mapped everywhere I pooped. I used the Android app Poop Map for mapping purposes. This was apparently a terrible idea as the app didn't have an easy way to get the data out of it easily. In the Android app, you could see the general location and date, but didn't have access to the lat long. In the desktop app, you could see the lat long, but not the date. So I went through and matched them up by looking up the lat long on Google maps and then comparing that to the data points on my phone which I turned into a csv file. From there I wrote a python script to give me all kinds of metrics on the data which you can see below. I used the same script to generate the necessary data to make my data viz. The data viz uses c3.js and Google Maps API. The Google map shows all my poop locations while the c3.js timeseries shows the distance each poop was from my house. By clicking on a data point in the timeseries it will automatically center the Google map on the corresponding placemark. Check out some interesting stats and the data viz below!

*It was actually Jan. 9th 2015-Jan. 9th 2016 due to a change in phones.

Most consecutive days: 13 days
Most poops in one day: 4 in one day
Farthest poop from my house: 2426 miles away
Average distance poop was from my house: 160 miles
Day of the week I pooped the most: Tuesday
Total number of poops: 454

Data Viz
Disclaimer: Doesn't work well on mobile.

Tuesday, January 20, 2015

Manifestation of Drinking

Over the past year I kept track of every alcoholic beverage I drank with the idea of doing some kind of data visualization with the data. I separated my drinking into 4 categories: Guinness, beer, mixed drinks, and shots. Guinness happens to be my drink of choice and since I find it to be so much better than other beer I chose to count it by itself. I decided to do a digital and physical version. The digital version uses d3.js to create a colored calendar. If you hover over an individual square, it gives the date and a break down of what I drank that day. The scale goes from very dark green (not very many drinks) to dark red (lots of drinks) and the white are days I did not drink.  I based my digital version off this. For the physical version I used Guinness bottle caps, beer tabs, drinking straws, and green beer tabs to build towers that represent how much I drank that day. You can either watch the video below or see the photo album here.
The final tally ended up being:
Guinness: 569
Beers: 111
Mixed Drinks: 592
Shots: 79

Monday, November 3, 2014

Exploring the NBA

Been trying to do some more data sciencey stuff with NBA data. Created a python script that scrapes data from www.basketball-reference.com/. Here's one that counts the wins and losses of the 2nd game in back-to-backs for the 2013-2014 NBA season of every team. Below is the graph and after the jump is the code.


Monday, August 25, 2014

Twitchy Paint

Created an Android app at the SPARC Hackathon this weekend. I got the category "Accelerometer"  so I made an app that draws by sensing the tilt of your phone or tablet and clears the screen by shaking it. It does some other minor stuff besides that. All the code minus a few minor bug fixes I made after the hackathon is on GitHub and the app can be downloaded from Google Play.

Wednesday, March 19, 2014

GitHub

Threw a link up to my GitHub page on the sidebar. Also put some repos of old projects up on it.

Tuesday, January 21, 2014

10,000 Hours

Becoming an expert at a subject has always been a fascinating subject to me. Obviously you have to put in the work and like any skill the more you do it the better you get at it. I had heard the 10000 hour/10 years of silence theory before and after reading this article again I decided to put a plan in motion to put in some hours over the next year to become a better programmer. To figure out how much I can do in a year I did a little math. In a year there are an available 8760 hours. For most people, 2920 of those hours are going to be used for sleeping and another 2080 will be used for work. This leaves you with 3760 to do whatever you please with. My ideal goal would be to put in 1000 hours of programming but that just seems unrealistic (which means I wouldn't hold myself to it) so instead I'm going for half that which is about 10 hours a week. Starting today I am going to start tracking it along with some other stats I have been meaning to track. Most of my plan deals with becoming an expert at Python and doing more statistic/graph oriented projects. Other things include checking out other languages and writing simple programs just to be exposed to them.

Friday, January 17, 2014

TWiki and Variables

TWiki is a flexible, powerful, and easy to use enterprise wiki, enterprise collaboration platform. I had to deal with a little bit and was trying to figure out how to set and use variables. I couldn't find a good tutorial so here is a small write up on using them.


To set a variable it will look like:
%{CALC("$SET(myVariable, value)"}%


To get a variable it will look like:
%{CALC("$GET(myVariable)"}%

Sunday, January 5, 2014

Harvard Intro to Computer Science

I enrolled in the Harvard Intro to Computer Science class. Should be cool. Looks like lots of interesting projects with lots of different subjects touched.

Monday, September 30, 2013

Preparing for the SSCP

This Saturday I am taking the Systems Security Certified Practitioner (SSCP) Exam which is pretty much the mini Certified Information Systems Security Professional (CISSP). I was originally going to take the Security+ test, but it ended up my job wouldn't pay for that so instead I ended up with this. Throughout the week I will continue to prepare for the exam and put any useful material I find helpful in preparing as well as update this after I take it to give my perspective on the exam. I have been reading materials and taking practice exams throughout the last month so this is the home stretch for me. Fingers crossed that I'll pass. From what I hear others say about it I hear its a doozy.

***UPDATE***

I passed! Below are some sources that I found helpful. Overall I didn't think it was that tough, but I also have some background in it.

RESOURCES:

ISC2 SSCP Candidate Information Bulletin
This is a handout the ISC2 has of what the exam will be covering. Found it helpful just to review this to match my reading to the area that the exam was going to test on.

SSCP Systems Security Certified Practitioner All-in-One Exam Guide by Darril Gibson

 My biggest resource used. Read this a couple times through and did all the quizzes as well as the Master Exam that you can download with it.

Quizlet, Skillport, any other place that you can get practice questions
One thing that I did that I thought was really helpful is just took as many practice tests as possible to see the most questions. Nothing I saw was a great comparison to the exam I took, but just seeing a bunch of questions and having to answer them helped me greatly in being prepared.

Monday, August 19, 2013

Fiddling with JavaScript

I have been working on some web stuff lately trying out different ideas with JavaScript and PHP. While trying learn some things in JavaScript I found a neat online tool called JSFiddle. Its kind of like a JavaScript IDE that let's you see your HTML, CSS, and JavaScript separated out and another window showing a preview of all your code running. I found it pretty handy for quickly trying out new ideas and will probably use it to show examples of JavaScript when I have something cool put together. Here's a link to it.

Monday, August 12, 2013

Fun with NFC Tags and Tasker for Android

I was wanting to do something with a bunch of NFC tags I had laying around and finally found a real life use case that I have everyday. When I get in my car I hook my phone up to the speakers and play music from the Google's Play Music App. After loading the app I have to find the playlist I want and it really just becomes too many button presses for me. So I came up with the idea to use the NFC tags to launch the app and auto play a given playlist. I have a couple NFC tags set up now for different playlists and when I tap a tag it loads up and starts playing. To do this I used a combination of NFC Task Launcher, Tasker, and a plugin for Tasker called Tasker AutoShortcut. Click the jump to see a guide on how to set this up.