Studying
I am currently doing my A-Levels (pre-university exams).
- German (AQA, 7662)
- Computer Science (AQA, 7517)
- Maths (Edexcel, 9MA0)
- Further Maths (Edexcel, 9FM0)
The further maths course allows students to choose two additional areas in which they would like to study. I am studying:
- Further Mechanics 1 (physics based)
- Decisions 1 (discrete maths)
Maths (More detail)
I will be learning about:
- Proofs (Induction, Exhaustion, Deduction)
- Complex Numbers
- Matrices
- Calculus
- Vectors
- Polar Coordinates
- Hyperbolic Functions
- Differential Equations
- Coordinate Geometry
- Sequences and Series (summations)
- Trigonometry (including identities)
- Algorithms
- Graph Theory
- Critical path analysis
- Linear Programming
A bit more information on my corses
It's more common for A-Level students to choose three A-Levels and do either: a graded project such as an EPQ
(Extended Project Qualification) or take a half course (half an A-Level, referred to with AS-[subject-name-here]).
However, I preferred to take on the extra work to gain a much deeper insight into the fields I find both interesting
and fascinating.
Projects
I always have high standards for my projects, most of them where halted due to messy code or a lack of interest in the
project. I have only listed my more notable projects here.
-
Discord Bot
This bot is one of the first project I have worked on. Through this project I learned how to use the
discord.py and
nextcord library (discord.py was discontinued for 6
months in protest to very big API changes, and the sudden addition of slash commands). I also introduced
myself to github and project structures.
This project has since been abandoned (3 years ago), and I would class it as messy for my current
standard.
-
Custom Discord Client
I was hoping to create my own 3rd party discord client, this client would include UI features that
discord, is unlikely to add. The project never progressed much, mainly because of how hard it is to coordinate
multithreaded processes with a GUI.
-
Programming Language
It is a dream of all programmers to one day create their own programming language. I managed to accomplish that
dream with Hanual, built from the ground up with limited third parties. Originally, the hope was to create
programming language that had full interop with the python virtual machine. The lexer and parser
where custom made, but it's hard to find good documentation on python's bytecode, as it isn't a standard. This
forced me to use a third party library bytecode to handel this for me.
This project was reasonably successful, the language became mature enough to create a hello world, loops if
statements and use all python builtin functions. The project has been left unmaintained as the class structure
became messy (due to tokens being treated, internally as abstract syntax tree nodes, and meta classes being used
to check methods for unsupported parameters). However, I am partially satisfied with the outcome of this
project (the sudden halt in development was due to exams).
I am currently working on a java class file decompiler, it will be available on github once it has a better structure.
As part of my course, I will be making a project (for 3 to 4 months), this too will be available on github.
Below is a list of my
active projects. If you like them star them on github!
Project Name | Brief Description | Plans |
Jyin |
Jar file decompiler, and reverse engineering tool. |
To create a fully fledged tool like ghidra with more comfort features. |
Diogenes |
Graphing calculator with complex number support. |
A sophisticated graphing calculator with ludicrous precision. Automatically calculate Integrals, Derivative, Limits (animations), roots, linear transformations. And use the complex plane. |
Programming Experience
I have been programming since I was
14 years old, and have since loved this universe of applied maths and logic.
Over this period of time I have accumulated a lot of skill and explored several areas of
Computer Science in
general. While the programming is primarily self taught, I have become more mature and competent in the field by
as a whole through the courses I take.
I have used the following standard libraries in my code bases:
Library | Usage |
ast | Used for python to js converter |
abc | Used to make abstract base classes; used in all my code bases |
base64 | Use this to store long hashes, or bytes in a more manageable way |
dataclasses | Not Used a lot, I write my own wrapper classes |
enum | I need to use it more |
glob | Used to traverse file systems, really good and useful |
hashlib | Very good for storing an id of data when it is too expensive to store the file it's self |
io | Very good for large string buffers and reading strings like files |
json | Used to parse JSON, mainly for APIs |
pickle | perfect for storing large python objects, less good because of __reduce__ insecure deserialization |
pprint | good for printing large amounts of data, (better to use json.dumps for dictionaries and lists) |
re | Used for lexical analysis and string identification, usually write my own lexers for convenience |
random | great for making random numbers |
socket | requirement for any sort of networking |
sqlite3 | Used for toy databases locally; used in my discord bot |
string | saves out typing the alphabet in code |
tkinter | Have used for quick GUIs, prefer to use pygame or dearpyimgui |
typing | great for auto-correct, not good because you need to learn types |
urllib | Parsing URLs, very useful for my website archiver |
uuid | I prefer to hash the object that the uuid is for |
Other libraries include:
Library | Usage |
tensorflow | Making some simple AI models, mainly trying to make an LLM |
transformers | Fine tuning my own model, c.ai but free |
discord.py | Making discord bots |
httpx | requests alternative, with more features |
flask | making very simple web apps |
pygame | making simple animations and games |
dearpyimgui | making quick and dirty GUIs |
beautifulsoup4 | prefer to use builtin http module |
colorama | using terminal colors |
Music
I play two instruments:
Bass Guitar and
Bag Pipes (SQA Level 4, "Very High Intermediate"). I have
also put these skills into practice, playing at my school's
jazz band and
pipes and drums band. During
my time in the band, I have had the fortune playing at many high profile events.
Event Name | Year | Details |
Menin Gate | 2023 | A yearly event where we play in Menin Belgium. |
American Battle Monuments Commission Centenary |
Rosslyn Park National Schools 7s |
Caledonian Club Summer Ball | 2023 | The Caledonian Club, is a prestigious Scottish organization. |
CCF Biennial Inspection |
National League Playoff Finals | 13 May 2023 | Played at 1420 to entertain the crowd at wembley stadium. |
Armed Forces Day | 24th June 2023 |
Festival of Education | Summer 2023 | This event was hosted by Wellington collage |
Surrey Police Pass Off Parade | 2023 |
Brookwood Last Post | 2023 |
Lord Mayor's Show | 2023 | London Festival, where we marched for 90 minutes, playing every 5 to 10 minutes. |
Aldershot Military Museum 40th Birthday | 2024 |
D-Day Celebrations | 2024 | Occurred in Hungerford |
Menin Gate | 2024 | Second Trip |
Aldershot FC Remembrance March |
Brookwood Last Post | 2024 |
SCHEDULED EVENTS |
Menin Gate | 2025 | Third Time |
New York | 2025 | Art's department trip to NYC. |
London Band Week | 2025 |
This isn't an exhaustive list of events I have played at, some of them are not mentioned for privacy reasons.
I am very thankful to the teachers of my school who have supported the band and given us highly unique opportunities
and events to play at. ^^
Contact Me
- E-Mail (r29621136@gmail.com)
- Discord