Welcome

Ephram
Grant's
Homepage

My personal website, updated regularly. Contains my interests and resume.

Hobby

Music.

I've been listening to an album a day for the past ~8 months. I primarily listen to Alternative Rock and Metal, but I recently have been branching out into other genres.


Album of the Day

Loading…

Favorite Artists

Radiohead

Radiohead

Alt Rock · Active since 1993

My favorite songs are How to Disappear Completely, Let Down, and Man of War. Discography ranked:

  1. 1 OK Computer (Near Perfect Album)
  2. 2 In Rainbows (Amazing but a few songs are just ok)
  3. 3 Kid A (High highs but I dislike a few songs such as the title track)
  4. 4 A Moon Shaped Pool (Extremely heartfelt and very consistent album)
  5. 5 Hail to the Thief (Underrated with maybe their best open/closing tracks)
  6. 6 The Bends (A little overrated but still amazing)
  7. 7 Amnesiac (Some good songs and life in a glasshouse is awesome)
  8. 8 The King of Limbs (Very laidback album but codex is a top 10 radiohead song)
  9. 9 Pablo Honey (Creep is radioheads best song)
ExperimentalMelancholic
Willy Rodriguez

Willy Rodriguez

Noise Pop · Active since 2021

Critically underrated. Composed of anonymous duo Gabe and Alex. They have since disbanded, but Alex has continued making music under the moniker Drug Bug (The new album "Hell for a Basement" is great). Wetdream is a top 5 album and Revisited is a top 5 song.

Wall of SoundUndergroundEmotional
Have a Nice Life

Have a Nice Life

Dark Shoegaze · Active since 2000

Highly experimental and dark sound. Primarily known for their 2008 album Deathconsciousness which ranks in my top 5. They served as an entry point into shoegaze music for me.

Post-industrial doomgazePost-Punk

Album and EP Rankings

Album Artist Genre Rating Notes

Listening Stats

Loading…
Hobby

Gaming.

I have been playing videogames for the majority of my life and it is one of my most consistent pastimes. I primarily play on PC and Nintendo Consoles. I try to have a blend of singleplayer and multiplayer games.


All-Time Favorites

Portal 2

PC · 2011 · Valve

My favorite game in both of its primary genres. I beat this while in a call with friends and it is one of my favorite gaming experiences.

PuzzlePlatformerSingle-Player

Elden Ring

PC · 2022 · FromSoftware

Beating this game is so rewarding, the large number of amazing bossfights and interesting lore make this game unmatched. I've replayed it 4 times.

SoulsborneAction RPGChallenging

Terraria

PC · 2011 · Re-Logic

The ultimate survival sandbox game (Sorry MC). Amazing bosses, loads of items, unique classes, and fantastic mod support have given me thousands of hours of fun.

IndieSandbox2D Survival

Currently Playing

I'm working through the Dark Souls Trilogy and I just picked up Yoshi and the Mysterious Book.

Hobby

Cubing.

I've been solving twisty puzzles for over 10 years, although I've never entered a competition. I love developing algorithms and solving new puzzles.

17.89 sec3×3 PB
3:90 sec2x2 PB
MegaminxCurrent Favorite
Too ManyPuzzles owned

My Collection

3×3

Most Owned / Favorite to fidget

I own over 20 different 3x3 cubes. It's the classic! I primarily just mess around with it and I don't put too much emphasis on learning new algorithms

2x2

Competitive / Best

The 2x2 is my best event and the one I practice the most to improve competitively. I'm still somewhat inconsistent but this is by far my best

Pyraminx

First Solved / Self-Developed Algorithm

This was the first twisty puzzle I solved and I developed the algorithm myself in 2nd grade. It took me a few days to figure it out but I still have great memories associated with it.


Method & Goals

I use CFOP to solve. I'm currently working on memorizing more OLL algorithms. I also recently have tried blindfold solving. I haven't successfully completed a blindfold solve, but I've gotten very close!

Hobby

Sports.

I love to watch most sports, but I primarily focus on the two forms of Football. I played Soccer for most of my life growing up and was terrible at every other sport I tried.


Teams I Follow

Liverpool FC

Soccer · Premier League

I've been a Liverpool fan for a while but I began consistently watching games and interacting with team media around 2019. My favorite current players are Ekitike, VVD, and Szoboszlai.

You'll Never Walk Alone.
Loading latest data…

Philadelphia Eagles

American Football · NFL

I've been an Eagles fan my entire life and I don't regret it. I dyed my hair green when the won the Super Bowl in 2018.

Fly, Eagles Fly
Loading latest data…
Hobby

Books.

I love to read and I want to catalog some of my favorite books.


All-Time Favorites

Good Omens: The Nice and Accurate Prophecies of Agnes Nutter, Witch

Neil Gaiman and Terry Pratchett · 1990

Hilarious religious comedy surrounding an angel and demon working to prevent the apocalypse. Constant humour that lands every time for me.

If you stop tellin people it's all sorted out after they're dead, they might try sorting it all out while they're alive.

Skulduggery Pleasant

Derek Landy · 2007 - Present

My favorite book series. Contemporary fantasy set primarily in Ireland that follows the title character Skulduggery Pleasant, a wisecracking, skeleton detective and his partner Valkyrie Cain as they fight supernatural and world-threatening battles. There's currently 18 main series books spanning 3 phases and a number of spinoffs. The first phase (books 1-9) is the best.

He's dead. She's deadly. The bad guys don't stand a chance.

Ender's Shadow

Orson Scott Card · 1999

Science Fiction novel surrounding a temporarily unified Earth sending the smartest children to a space station school to teach them to become commanders to defend Earth following numerous attacks from "The Formics" a bug-like alien race. Ender's shadow is a parallel novel to Ender's Game, and follows Bean, a small, hyper-intelligent child as he goes from a homeless child to working with Ender, the main character of Ender's Game. Shadow is also the precursor to a series following Earth's political state after *spoilers* happens.

We are, when the cause is sufficient, insane.

The Hitchhikers Guide to the Galaxy

Douglas Adams · 1979

Comedy Science Fiction novel following the last man from Earth after its destruction to make way for an intergalactic highway. Saved by his alien friend, a writer for the guidebook and encyclopedia whence the name of the book is derived, they travel throughout the galaxy meeting many characters and going on many adventures.

So long, and thanks for all the fish.

To-Read List

Dungeon Crawler Carl - Matt Dinniman. Invincible Compendium Book 3. Children of Dune - Frank Herbert.

Projects

Games.

Browser games I've built. Click any to play.


Game


Resources

Coding.

I want to provide a resource detailing resources to learn how to code. If you are starting with no experience, start with basic programming concepts. If you are unsure on which language to start with, I recommend Python.


Coding · Basics

Basics.

There are many differences between programming languages, but all of them utilize most or all of these concepts to varying degrees.


Variables & Data Types

Storing information is key to creating programs. This allows you to save data, perform operations on it, and transfer it to other parts of your code. The types of variables available and how they are used vary throughout languages but generally there are a few consistent types.
Integers: Whole numbers (positive/negative). Often shortened as int.
Strings: A collection of symbols/characters. Stores words or phrases.
Floats: Decimal number. Often have different types based on the number of digits after the .
Character: A single character. Some languages just count it as a string. Often shortened to Char.
Boolean: A true or false value. Often shortened to bool.


Control Flow

Control flow determines what code runs and when. Without it your program would run top to bottom and always do the same thing. The core tool is the conditional statement.
If: Runs a block of code if a condition is true.
Else: Runs if the condition is false.
Else If: Checks another condition if the previous one was false. You can chain as many as needed.
Conditions use comparison operators: == (equal), != (not equal), >, <, >=, <=. Combine them with && (and), || (or), ! (not).

If-Else Statements Flowchart

Loops

Loops repeat a block of code multiple times without writing it out repeatedly. There are two main types found across most languages.
For Loop: Repeats a set number of times. Used when you know how many iterations you need, such as going through every item in a list.
While Loop: Runs as long as a condition is true. Used when you don't know how many iterations you need, such as waiting for user input. Be careful — if the condition never becomes false you'll create an infinite loop that freezes your program. For example, if I write a while loop that will continue looping until x > 10 and x never changes, the program will continue running until it crashes.


Functions

A function is a reusable block of code that performs a specific task. You can define it once and call it whenever you need it instead of writing the same logic repeatedly.
Parameters: Inputs passed into a function that change how it behaves.
Return: A value sent back to wherever the function was called from. Functions that don't return anything just perform an action.
Good functions do one thing, do it well, and have a clear name describing what that thing is. For example, I can have an "add" function that takes into two numbers as parameters and returns their sum.


Arrays & Collections

Arrays and collections store multiple values in a single variable. Items are accessed by position, called an index. Most languages index from 0, so the first item is at index 0.
Arrays: Fixed-size ordered lists. Size is set when created and cannot change. These are useful when you know the exact amount of items in advance.
Lists: Work like arrays but can grow and shrink as you add or remove items. These often have downsides compared to Arrays such as being slower and should generally only be used if necessary.
Dictionaries: Store key-value pairs instead of indexed items. These are unordered. You look up a key to get its associated value, similar to a real dictionary. For example, I can search the dictionary for "Hello" (key) and it would return whatever value is stored under "hello" such as the definition of the word (value).


Object-Oriented Programming

Object-Oriented Programming (OOP) structures code around objects — bundles of related data and behaviour. Most modern languages support it, and some explicitly require it.
Class: A blueprint defining what an object looks like and what it can do.
Object: A specific instance created from a class. A Dog class defines that all dogs have a name and can bark — each individual dog you create is an object.
Creating classes allows you to separate your code effectively. This is very important because it can cause issues if your code is linked in a single program


Variable Scope

Variables are generally defined to the place where they were created. Variables that were created inside of a function or loop can usually not be accessed outside of these locations. The place where a variable can be used is called its scope. A variable that is usable anywhere in the program has global scope. Many languages have ways to define global variables, but these are generally frowned upon and considered bad practice to use. This is because the entire program being able to change a value makes tracking bugs extremely difficult. This problem compounds as programs get bigger, so I recommend making sure you build habits of not using it as soon as possible.

Coding · Python

Python.

Python resources and guides for beginners and intermediates.


Getting Started

Python is designed to be readable. It uses indentation (spaces or tabs) to define blocks of code instead of curly braces, and doesn't require semicolons at the end of lines. Variables don't need a type declaration — Python figures it out automatically.

Variables: Assign with =. No keyword needed.

Python
# Variables
name = "Ephram"
age = 21
height = 5.11
is_student = True

Functions: Defined with the def keyword. Indented body, colon after the signature.

Python
def greet(name):
    return "Hello, " + name

print(greet("Ephram"))  # Hello, Ephram

Control Flow: No parentheses required around conditions. Colon ends the condition line.

Python
score = 75

if score >= 90:
    print("A")
elif score >= 70:
    print("B")
else:
    print("C or below")

Loops: for loops iterate over a sequence. range(n) generates numbers from 0 to n-1.

Python
# For loop
for i in range(5):
    print(i)  # 0 1 2 3 4

# While loop
count = 0
while count < 3:
    print(count)
    count += 1

Data Types & Variables

Content coming soon.


Control Flow

Content coming soon.


Functions

Content coming soon.


Lists, Tuples & Dictionaries

Content coming soon.


Classes & OOP

Content coming soon.


Libraries & Packages

Content coming soon.

Coding · Java

Java.

Java programming resources covering core concepts and OOP.


Getting Started

Java is strongly typed and verbose — every variable must have a declared type, every statement ends with a semicolon, and all code lives inside a class. It's more strict than Python but that strictness makes errors easier to catch early.

Variables: Type must be declared before the name.

Java
// Variables
String name = "Ephram";
int age = 21;
double height = 5.11;
boolean isStudent = true;

Functions: Called methods in Java. Must declare a return type — use void if nothing is returned.

Java
public String greet(String name) {
    return "Hello, " + name;
}

System.out.println(greet("Ephram"));  // Hello, Ephram

Control Flow: Condition must be in parentheses. Curly braces define the block.

Java
int score = 75;

if (score >= 90) {
    System.out.println("A");
} else if (score >= 70) {
    System.out.println("B");
} else {
    System.out.println("C or below");
}

Loops: for loops declare a counter variable, a condition, and an increment all in one line.

Java
// For loop
for (int i = 0; i < 5; i++) {
    System.out.println(i);  // 0 1 2 3 4
}

// While loop
int count = 0;
while (count < 3) {
    System.out.println(count);
    count++;
}

Data Types & Variables

Content coming soon.


Control Flow

Content coming soon.


Methods

Content coming soon.


Arrays & ArrayLists

Content coming soon.


Classes & Objects

Content coming soon.


Inheritance & Interfaces

Content coming soon.

Coding · JavaScript

JavaScript.

JavaScript for web development, scripting, and beyond.


Getting Started

JavaScript runs in the browser and is the primary language of the web. It's loosely typed — variables can hold any type and change type freely. Use let for variables that change and const for ones that don't. Avoid var; it has scoping quirks that cause bugs.

Variables:

JavaScript
// Variables
const name = "Ephram";
let age = 21;
let height = 5.11;
const isStudent = true;

Functions: Two common ways to define them — traditional and arrow functions. Arrow functions are shorter and more common in modern JavaScript.

JavaScript
// Traditional
function greet(name) {
    return "Hello, " + name;
}

// Arrow function
const greet = (name) => "Hello, " + name;

console.log(greet("Ephram"));  // Hello, Ephram

Control Flow: Same syntax as Java — parentheses around condition, curly braces for the block.

JavaScript
let score = 75;

if (score >= 90) {
    console.log("A");
} else if (score >= 70) {
    console.log("B");
} else {
    console.log("C or below");
}

Loops:

JavaScript
// For loop
for (let i = 0; i < 5; i++) {
    console.log(i);  // 0 1 2 3 4
}

// While loop
let count = 0;
while (count < 3) {
    console.log(count);
    count++;
}

Variables & Data Types

Content coming soon.


Control Flow

Content coming soon.


Functions & Arrow Functions

Content coming soon.


Arrays & Objects

Content coming soon.


DOM Manipulation

Content coming soon.


Async & Promises

Content coming soon.

Coding · C#

C#.

C# programming for applications, games, and more.


Getting Started

C# is strongly typed like Java but with cleaner syntax. It's the primary language for Unity so if you're here for game development this is where to focus. Every variable needs a declared type, every statement ends with a semicolon, and all code lives inside a class.

Variables:

C#
// Variables
string name = "Ephram";
int age = 21;
float height = 5.11f;  // f suffix marks it as a float
bool isStudent = true;

Functions: Called methods in C#. Must declare a return type — use void if nothing is returned. Access modifiers (public, private) control visibility.

C#
public string Greet(string name) {
    return "Hello, " + name;
}

Debug.Log(Greet("Ephram"));  // Hello, Ephram

Control Flow: Same syntax as Java — parentheses around condition, curly braces for the block.

C#
int score = 75;

if (score >= 90) {
    Debug.Log("A");
} else if (score >= 70) {
    Debug.Log("B");
} else {
    Debug.Log("C or below");
}

Loops:

C#
// For loop
for (int i = 0; i < 5; i++) {
    Debug.Log(i);  // 0 1 2 3 4
}

// While loop
int count = 0;
while (count < 3) {
    Debug.Log(count);
    count++;
}

Data Types & Variables

Content coming soon.


Control Flow

Content coming soon.


Methods

Content coming soon.


Arrays & Lists

Content coming soon.


Classes & OOP

Content coming soon.


Unity Integration

Content coming soon.

Resume

Ephram
Grant.

ephram.grant@icloud.com  ·  Fort Mill, South Carolina   

Experience

Intern

May 2026 – August 2026
Nexcom · Charlotte, NC
Developed key skills including strengthening mastery over C, C#, HTML, and Python. Worked on building an internal app and created numerous small projects.

Shift Leader

September 2022 – May 2025
Tropical Smoothie Cafe · Tega Cay, SC
Served as a primary source of contact with customer complaints. Delegated tasks to 2-5 other employees on shift. Directed closing of store 2-4 times a week. Prepared food and smoothies at customer request.

Kitchen Staff

May 2025 – August 2025
Pizza Hut · Fort Mill, SC
Transitional job prior to entering college

Education

Mathematics and Computer Science

2025 – 2029
Boston University · Boston, MA
Multiple leadership roles in various student orgs. Dean's Scholar. 3.8 GPA.

Skills
Python Java JavaScript C C# HTML CSS Unity Development Leadership Experience

Projects

Turnbased Game Demo

2026
A Unity-based demo of an in development game similar to the XCOM franchise.

100 Days of Code

2026
~100 days worth of projects developed over the summer. The small projects are primarily in Python and HTML and include Web scrapers, Games, utility apps, quizzes, and more. Github Repo: https://github.com/EphramGrant/100daysofcode