Sam Gunter's Programming Portfolio
Sam's Programming Portfolio

Site Description

This website was created to showcase my portfolio of programming projects and act as a central hub to find downloads/links for everything I have done.
Click on any of the file icons to see the code from my projects, or check out the website links, download links, and twitter link to view them in action.
Each project has a small description, and some screenshots of code are in the background!
- - - - -
Click Ctrl-U to open the HTML code of this website.

import django

CSS

HubbleTwitter

The first programming project I ever wanted to do. When I was looking up which programming language I should learn, most things said “well depends on what you want to do, pick a project and learn what you need to”, so I decided on this Twitter bot for space photos. Preliminary searches showed I should learn Python, so I started learning. Over a year later I needed a project for my highschool programming course, and what better than my original project that I never got to! So I built a bot that uploads space photos to Twitter!
- - - - -
Check it out at @HubbleArchives on Twitter

import re, sqlite3, datetime, bs4, requests, time, random, PIL, os, urllib, tweepy

Python 3

Sites for Video Games

Clash of Clans Site -Retired-

For my clan in the Clash of Clans mobile game, which I am a co-leader of, I made a website. This site was made to keep track of donation/received ratios across the clan, as well as the real names of the various members (since most members are from my high school), and various other information. I have this site running off of a Raspberry Pi in my basement, using Django as the web framework so that’s pretty snazzy.
- - - - -
Check it out at www.2kofawsome.com/ClashOfClans

import django, os, cocapi, smtplib, sys, random, json, datetime

TAstats Site -Retired-

As I was really into achievement hunting for Xbox games, I joined the TrueAchievements site and joined the Ultimate Head to Head Contest 3. This contest has a pretty active forum, and due to the nature of the contest being head to head (1 on 1), people were discussing how certain matchups are harder than others and what the statistics were for the overall averages in the competition. So I decided to make a website to display the various stats week over week.
- - - - -
Check it out at 2kofawsome.github.io/TAstats

import bs4, requests, re, time

HTML

Turn Based 2D Games

2ksGames

When I first started learning Python, I made a TicTacToe text based game. Once I learned a bit more, I decided I wanted to learn how to make GUIs so I created TicTacToe2.0 with graphics, then I kept going. For the next few months while I was learning Python, I built Mine Sweeper, 2048, Sudoku, Connect 4, Hangman, BlackJack and Checkers. I'm really proud of this project, it looks good (considering I used Tkinter) and runs fast (considering it is a windows .exe file built from Python).
- - - - -
Check it out on a windows computer with the download button above!

import time, random, pyperclip, tkinter, os, re, PIL, shutil

Chess

One day I came into my grade 11 computer science class and there was some teacher from another highschool talking to our teacher. I was playing the checkers game I had made (see 2ksGames) and the teacher mentioned that while I could make checkers, there was no way I could make chess, because even he could not make it when he tried. Now this was a Friday, I had an 8 hour shift on Sunday, and a biology test Monday, but I took this as a challenge. I came in on Monday with a, while not perfect, working chess game. Checkmate.
- - - - -
Check it out on a windows computer with the download button above to see what I was able to do with limited time

import tkinter, time, PIL

Python 3

Automated Checks and Texts

Morellos Work Schedule

For my work, I am able to get my schedule on a Loblaws employee website after I sign in using my name and employee number. Instead of doing this every week, or multiple times a week if I forget what my shifts are, I decided I wanted to make a bot that would sign into the site, grab my shifts, and then text it to me so I can easily see when I work.
- - - - -
You can check out the code that I wrote in the above files

import re, time, sys, selenium, smtplib

Tangerine Banking Deposits

Instead of having to manually sign into my bank account (Tangerine) which includes username and password, pin, and a security question, I have made a program that does that for me. It stores the amount of money in my account, and periodically checks what the value of my account is, texting me any difference in that number.
- - - - -
You can check out the code that I wrote in the above files

import smtplib, time, sys, selenium

Python 3

School Sites

HRT3M Site

For my grade 11 World Religions course culminating task, I made a website that displays the distribution of various religions around the world. This website includes overall distribution of religions around the world, distributions around continents, and even distributions for an extensive searchable database of countries. This website has a much brighter feel than most of the sites I've made so far, and I am pretty proud of it.
- - - - -
Check it out at www.2kofawsome.com/HRT3M

import django, os, openpyxl

ICS4U Site

For my grade 11 Computer Science course, I made a website that displays what projects I had planned to do throughout the semester. This website has a Gannt chart of all the projects and steps of larger projects, as well as quick descriptions of what each project is. This was the 1.0 version for this current homepage, but when I knew much less about web design.
- - - - -
Check it out at 2kofawsome.github.io/ICS4U

Javascript

Artsy Quotes

Affirmation Bot

One of my friends is obsessed with sloths, and was looking to see if I could make some bot that would send her daily motivational quotes. So I made a bot that would pick a random quote from a list I put together, edit it onto a sloth image, then text it to my friend and me. Turns out the hardest part was getting good motivational quotes by the hundreds or even thousands, the goodreads [motivational] tag can not be trusted!
- - - - -
You can check out the code that I wrote in the above files

import sys, os, smtplib, random, PIL, email, selenium, twilio

Quote Generator

In a similar vein to the affirmation bot on the left, this program takes any image you give it, and edits on the quote and author that you type in. Although it is not perfect, and it does not work 100% of the time with weird lengths of text or with weird image dimensions, it works pretty well to automate the editing for dozens or hundreds of images/quotes.
- - - - -
Check it out on a windows computer with the download button above (use the ReadMe)

import PIL, sys, random, os

Python 3

Investment Club Automation

I was the president of the Investment Club in grade 11, and had a few weekly tasks I needed to do as the president. This included, creating an announcement of the top 3 in the stock market challenge each week, updating and emailing a powerpoint slide with top 5, and updating a physical bulletin board at the school. I created this bot to check the howthemarketworks rankings, update the announcement, update the printout for the bulletin board, and update the powerpoint and send it.
- - - - -
You can check out the code that I wrote in the above files

import selenium, re, smtplib, time, sys, datetime, sqlite3, email, pptx

Turing

Various Programs

Probability Of

This program is oddly specific, but is a perfect example of the dozens if not hundreds of small programs I have made to accomplish specific tasks that are mostly only useful to the unique problems I am trying to solve. This program calculates the average amount of trials needed to get a repeat of a previous result. For example how many rolls of a dice would you need until you get a number you got in an earlier roll (2, 3, 1, 2).
- - - - -
Check it out on a windows computer with the download button above

import math, time

Periodic Names

This program converts words and sentences into elements on the periodic table. Anywhere where it can not be converted (due to not all letters being on the periodic table) are left to have the word/sentence still be complete. The complexity of this program is due to some elements being 1 letter, some 2, and even a few 3 letters, meaning it has to run through tons of possibilities and show the best possible solution at the end.
- - - - -
Check it out on a windows computer with the download button above

import pyperclip

Python 3
Sam Gunter, samgunter12@gmail.com