Intro

Hi, welcome to my website!

I'm Ryan. I'm a Cyber Security graduate currently streamlining cyber security practices at JobAdder.

This site serves as a portfolio for my projects and a journal of my learning.

I'm 25 years old and I love learning and creating new things.

I'm from Victoria, Australia, and I really suck at writing about myself.

I will now copy and paste the About section from my LinkedIn:

Associate Cloud DevSecOps Engineer @ JobAdder

Achieved Bachelor of Cyber Security with Distinction in 2023.

Experienced problem solver developing security and operations solutions in Python, Typescript, Java, and AWS.

  - AWS Certified Developer – Associate

  - Certified Ethical Hacker (CEH)

  - Akamai Certified

  • Best Individual Hack, IAG internal hackathon, 2023

  • 2nd place, IAG x Snyk Capture the Flag competitive hacking competition, 2023

  • 1st place, IAG internal Mario Kart 8 Deluxe Tournament

Always aspiring to be at the forefront of technological innovation.

Projects

Some of my projects are detailed here. If you would like to see the source code for them or get more information you can click the headings for any project to go to the project's GitHub page.

Projects banner made with github calendar (actually made with photoshop, but we'll just keep that between you and me, hey?)

Snowman

Language: Python w/ Service Now API

Snowman is a Service Now vulnerability ticket manager capable of automating many common Service Now vulnerability ticket management tasks, such as moving tickets, assigning tickets, commenting on tickets, and closing tickets.

Snowman splashscreen.

Starting as a hackathon project in my first rotation as a grad at IAG, after winning "best individual hack" (AKA best hack by someone with no friends), Snowman soon snowballed into something much greater.

After focusing on Snowman for the majority of the rotation, Snowman turned into a powerhouse for bulk vulnerability ticket management.

Snowman UML.

Key features include:

  • Retro CLI inspired by msfconsole
  • Search, filter, and modify VITs and VULs
  • View work notes on tickets
  • Save search results to txt files
  • Load results
  • Create automations with no coding knowledge required
  • Advanced logging
  • Modification history visibility via automatic blame comments explaining what change was made, who made the change, and why it was made
  • VIT/VUL matching
  • Orphan VIT prevention
  • Dynamic settings menu allowing deep customisation of functions
  • GitHub workflow integration for set-and-forget automation
  • Ability to recover work following critical errors
  • Minecraft-inspired splashscreen
  • Smart-oven integration for safe key storage
  • Run as quick automation with command line args - or initialise full CLI
  • Automatic dependency install for first-time users
Snowman settings menu.

Now used in prod by 4 teams at IAG, Snowman is saving dozens of hours of Service Now busywork every week.


Crypto Portfolio Tracker

Language: Python

Multiple crypto portfolio tracker using the 🟪Nomics cryptocurrency API.

Demonstration of project

Tracks as many crypto portfolios as you want, updates 10x per second by queing two API responses at once, comparing their values, calculating an increment, and then smoothly updating to reduce stagnant periods.

Easily add, remove or modify portfolio holdings by modifying dictionaries. To add a portfolio you just need to create a dictionary where the keys are crypto token tag names and the values are how many of that crypto the portfolio owns.

See the example below.

Example portfolios

Also features dynamic formatting, so each portfolio can be coloured based on the direction it is currently heading:

Colour demonstration

For more information check out the project's GitHub page, because I actually put effort into the ReadMe for this one and it tells you how to run it locally and stuff.


FollowersTools

Unfortunately, these scripts no longer work as Instagram have modified their UI since I wrote them.

Instagram Followers

Language: Python w/ Selenium

This Python script uses Selenium in headless mode to analyse any Instagram account's followers and following.

It generates 3 .txt files:

  1. "[account]_followers.txt", which lists every account that follows them.
  2. "[account]_following.txt", which lists every account that they follow.
  3. "[account]_scum.txt"*, which is generated by comparing the two prior files and finding accounts that don't follow back.

*"scum" is hyperbole, no doubt they're fine people. Demonstration of project

Unfollower

Language: Python w/ Selenium

Once you've got the .txt files from above, you can yeet the fake friends by feeding the output straight into this script.

You can edit the .txt file before input to stop it from unfollowing accounts that you like, or create a new .txt file completely. The script loops through the lines in the chosen .txt file, loading their instagram accounts, locating the unfollow button, and clicking it.

Unfortunately, if you run this script too fast your account may be temporarily limited. From my experience around 40 unfollows per hour is fine.

Demonstration of project

I ran this script on my own account with the following outcome:

Project outcome

Life Progress Visualiser

Language: Python

Visualises life progress as a percentage, progress bar, and by printing red circles for every day lived, and green circles for every day you're expected to live.

Demonstration of project

Features an easily changeable birthdate in a birthdate.txt file, allowing the user to change the function of the app for different aged people. I developed this as a quick way to instill the fear of death in myself and help me stop procrastinating.

File structure demonstration

ChangeFinder

Language: Python

Super simple Python change finder script. I was helping a friend with his C assignment, which was to make something similar to this, and I made this to help him approach the task programmatically.

Demonstration of project

Modifiable for different variations of currency (eg. 25 cent coins vs 20 cent coins, or removing coins/notes which you don't have at hand).

Here's a demonstration modified to find change for Indian Rupees:

Demonstration with Rupees

Euclid's Algorithm Solver

Language: Python

During my cryptography unit in my second year of cyber security, I found myself performing the Euclidean algorithm tediously by hand over and over for pracs and assignments. I wondered if I could write a simple Python script to perform the calculations for me and output the answer with working, culminating in this simple Python script.

Demonstration of project

My Education

Graph of my grades for every unit in my course so far.  

Bachelor of Cyber Security

Graduated with Distinction in February 2023.

 

2022 - Final year at Deakin.

Average mark: 82HD

My final year. Unfortunately I caught covid during the exam period so I wasn't able to finish as strong as I'd hoped.

Object Oriented Design

Mark: 94HD

  • C#
  • Lambdas
  • Generics
  • Methods
  • Anonymous Methods/Delegates
  • State Design Patterns
  • State-Transition Diagrams
  • Unified Modelling Language
  • Association, Aggregation, Dependency, Composition, Inheritance
  • Multiplicity
  • Sorting (Bucket, Bubble, Selection, Insertion, etc)
  • Multidimensional Arrays
  • Stack & Heap
  • Constructors

Ethical Hacking

Mark: 80HD

  • Phases of Ethical Hacking
  • Reconnaissance
  • Footprinting
  • Scanning (Active/Passive)
  • Vulnerabilities
  • Insecure Direct Obect References
  • Exploits
  • ARP Spoofing
  • Firewalking
  • Brute-Force Attacks
  • Cross-Site Request Forgery
  • DNS Spoofing
  • Social Engineering
  • SQL Injection
  • Packet Manipulation
  • Cross-Site Scripting
  • Maintaining Access
  • Process Migration
  • Covering Tracks
  • Metasploit
  • Metasploitable
  • SNMP Sweep
  • SYN Scan, XMAS Scan, FIN Scan, NULL Scan, IDLE Scan
  • Burp Suite
  • Wireshark
  • nmap
  • nslookup
  • tcpdump
  • msfvenom
  • Ettercap
  • apache2

Advanced Network Security

Mark: 70D

  • DNS
  • FTP
  • http
  • https
  • ICMP
  • TCP/IP
  • UDP
  • Layers (Link, Transport, Internet, Application, Secure Sockets, Session, Physical, Data Link, Network)
  • IPsec
  • MAC
  • Software-Defined Networking
  • OpenFlow
  • Mininet
  • Uniform Resource Identifiers
  • Packets
  • Handshaking
  • OSI
  • Next-Generation Internet of Things Heterogeneous Networks

Capstone - Team Project B

Mark: 67C

  • C++
  • Docker
  • GitPod
  • GitHub Codespaces
  • Team Management/Leadership
  • Agile
  • Version Control with Git
  • Entrepreneurship
  • Scrum Masterhood

IT Innovations and Entrepreneurship

Mark: 93HD

  • Business planning
  • Product ideation
  • Product design
  • Prototyping
  • Pitching
  • Value propositions
  • User personas
  • Validation
  • User flow
  • Business models & finance

Capstone - Team Project A

Mark: 85HD

  • C++
  • Version control (Git)
  • Agile
  • Teamwork
  • Company structures & function
  • Documentation
  • Code reading & comprehension

2021 - Interning at IAG.

Average mark: 87HD

As the plague raged on, I found myself in a software engineering internship at IAG. The two units I completed during this time were focused around my work during the internship, how I felt I was progressing, and how my coworkers rated my performance.

Industry Based Learning - Unit 1

Mark: 86HD

  • Reflections
  • SMART goal setting
  • Performance reviews
  • Professionalism
  • Communication
  • Problem solving
  • Digital literacy
  • Critical thinking
  • Self-management
  • Teamwork
  • Global citizenship

Industry Based Learning - Unit 2

Mark: 88HD

  • Reflections
  • SMART goal setting
  • Performance reviews
  • Professionalism
  • Communication
  • Problem solving
  • Digital literacy
  • Critical thinking
  • Self-management
  • Teamwork
  • Global citizenship

2020 - Plague Year.

Average mark: 82HD

2020 sucked for everyone, but at least COVID-19 gave me time to focus on my education. I found the transition to online learning fairly easy at first, but I struggled a little bit with motivation as I was working from my room, and I guess my brain subconsciously views my room as my "chill out zone" rather than a place that work gets done. I made efforts to mitigate this by setting up distinct lighting conditions in my room for work, trying to trick my brain into thinking it was a different space, and I think that helped a little bit.

Networking & Communications

Mark: 76D

  • Network protocols(IP, CSMA/CA/CD, HTTP, HTTPS, etc.)
  • Flow control
  • Checksums
  • Fragmentation & reconstruction
  • Packet/datagram validation
  • Domains(SOA, CNAME, DNS, etc.)
  • IOT
  • Jitter & other issues

Cryptography

Mark: 83HD

  • Various encryption standards(AES,RSA, etc.)
  • Logarithms & methods for manipulation of logarithms (eg. baby step, giant step)
  • Systems of equations with matrices
  • Hashing
  • Elgamal cryptosystems
  • Manipulation of elliptic curves to factorize large integers
  • NIST standards
  • Distinguishability
  • COA/KPA/CPA/CCA & probabilities of each

Cyber Security Management

Mark: 84HD

  • Asset types
  • Asset valuation
  • Vulnerabilities
  • Threats
  • Threat Agents
  • Attacks
  • Exploits
  • Cyberattack surfaces
  • Controls
  • Policies
  • Legislation & laws
  • Risk assessment
  • Ethics

Professional Practice in Information Technology

Mark: 83HD

  • Resume & cover letter creation
  • LinkedIn best practices
  • Interpreting NDAs & EAs
  • Understanding job listings
  • Job interview best practices
  • Agile development principles

Cyber Security Analytics

Mark: 83HD

  • Python basics(functions, lists, dicts, sets, tuples, methods, classes, etc.)
  • Google Colab
  • Regex
  • Pandas
  • Numpy
  • Matplotlib
  • SciPy
  • SciKit
  • Sklearn
  • Seaborn
  • Decision trees
  • Logistic regression
  • Data preprocessing
  • KMeans
  • Distance matrices
  • Confusion matrices
  • Agglomerative clustering
  • Mglearn
  • PCA
  • Grid searching
  • Random forests
  • KNeighbors
  • Itertools

2019 - 1st year of Cyber.

Average mark: 67C

My 2019 started out strong, averaging a distinction through my 4 subjects in trimester 1. Unfortunately my work at the time started giving me unsustainable hours during my study(often four or five 2am finishes a week, with Uni early the next day), and my marks started to falter in the second trimester. I ended up quitting my job with two weeks until my exams, catching up on ~8 weeks of content in that time.

    

1st Trimester

    

Thinking Technology and Design

Mark: 76D

  • Critical thinking
  • Claims & issues
  • Investigating source credibility
  • General, vague, & ambiguous claims
  • Arguments & premises
  • Truth tables
  • Algorithms
  • Seleciton statements
  • Repetition statements
  • Modularisation
  • Cohesion
  • Coupling
  • Flowcharts
  • Assertions

Exploring Information Technology

Mark: 73D

  • State of the industry
  • Professional documentation
  • Understanding roles in IT
  • Disruptive technologies
  • Wordpress
  • CSS
  • HTML
  • JavaScript

Real World Practices for Cyber Security

Mark: 81HD

  • Authorization
  • Access control
  • Authentication
  • Password attacks
  • Personal security
  • Social engineering attacks
  • Remote host attacks
  • Forms of malware
  • Application attacks
  • Web application attacks
  • Configuring web browsers & servers
  • General cryptography concepts
  • Secure implementation of wireless networking

Discrete Mathematics

Mark: 65C

  • Mathematical logic
  • Methods of proofs
  • Sets
  • Functions
  • Complexity & number theory
  • Matrices
  • Mathematical induction
  • Counting(permutations & combinations)
  • Binomial theorem
  • Relations
  • Graphs

2nd Trimester

    

Introduction to Programming

Mark: 50P

  • C++
  • Coding concepts & style
  • Building programs
  • Procedures
  • Code artefacts(constants, functions, variables, parameters, global/local)
  • Hand execution
  • Flow control
  • Selection statements
  • Repetition statements
  • Building larger programs
  • Custom data types(structs, enums, classes, objects)
  • Dynamnic arrays
  • Pass by reference
  • SplashKit

Data and Information Management

Mark: 67C

  • Relational model databases
  • SQL
  • SQL relational operators
  • SQL subqueries
  • SQL functions & views
  • SQL joins & selection
  • NoSQL
  • Big Data
  • Entity-Relationship model
  • Normalisation
  • Blockchain & Bitcoin

Computer Crime and Digital Forensics

Mark: 54P

  • Digital forensics profession
  • Digital forensics investigation
  • Computer forensics tools
  • Data aqcuisition
  • Processing crime & incident scenes
  • Analysis & validation
  • Report writing
  • Windows & CLI systems
  • Recovering damaged files
  • Email & social media investigation
  • Witnesses
  • Ethics

2018 - Building Robots.

Average mark: 72D

My higher education journey began studying mechatronics engineering. I built a robot, made lots of friends, and learned a lot about myself, specifically that my passion was for software rather than hardware.

I no longer have much of my content from 2018 so I'll probably miss a few topics.

 

Applied Algebra and Statistics*

Mark: 77D

  • Trigenometry
  • Geometry
  • Radians & degrees
  • Trigonometric functions
  • Wave theory
  • Trigonometric calculus
  • Exponentials
  • Logarithms
  • Complex numbers
  • Trigonometric multiplication & division
  • De Moivre's Theorem
  • Calculation of nth roots
  • Matrices
  • Cramer's Rule
  • Eigenvalues & eigenvectors
  • Logic
  • Sets & Venn diagrams

Electrical Systems Engineering*

Mark: 74D

  • Electrical fundamentals
  • AC/DC circuits
  • Ciruit analysis
  • Semiconductors
  • Systems analysis

Programming for Engineers*

Mark: 83HD

  • Pseudocode
  • C
  • Spreadsheets
  • Flow control, if, & switch statements
  • Files as I/O in C
  • MatLab

Engineering Physics

Mark: 67C

  • Kinematics
  • Vectors & 2D motion
  • Newton's laws
  • Work & energy
  • Rotation
  • Static equilibrium
  • Moments of a force
  • Centre of mass & centroids
  • Area moments
  • Moments of inertia
  • Electrical charges
  • Electric fields
  • Electrical potential
  • Capacitance
  • Electrical current, resistance & Ohm's Law

Introduction to Mathematical Modelling

Mark: 64C

  • Functions
  • Limits & continuity
  • Derivatives
  • Transcendental functions
  • L'Hopital's Rule
  • Integration
  • Partial fractions
  • Differential equations
  • Applications of integration
  • Convergence
  • MacLaurin Series
  • Vectors

Design Fundamentals

Mark: 66C

  • Design process
  • Design for X & FMEA principles
  • Diminishing
  • Tolerances
  • Application of design techniques
  • Intuitive design
*Credits carried over to Cyber Security.

My Work Experience

  

JobAdder

JobAdder logo
  

Associate Cloud DevSecOps Engineer

Sep '24 - Now

Ongoing position at JobAdder, developing security and operations solutions as an Associate Cloud DevSecOps Engineer.

  

Insurance Australia Group (IAG)

IAG logo

Technical Business Analyst

Cyber Vulnerability Remediation
Aug '24 - Sep '24
  • Wrote Service Now automation script with Python to separate and reallocate hundreds of Log4J vulnerability tickets, saving 15+ hours per week.
  • Liaised with stakeholders regarding vulnerabilities, timelines, and remediations.
  • Performed vulnerability diagnoses and remediation tasks.

Tech & Ops Graduate Position

Three 6-month rotations in the Tech & Ops stream at IAG.

Rotation 3: API Development
Jan '24 - Aug '24
  • Worked in a team to deliver high quality Java Microservices powering IAG's core business.
  • Contributed to BAU development – successfully completed 70+ tickets.
  • Coordinated onboarding for Melbourne 2024 grad cohort.
  • Helped plan & execute 2024 IAG Programmable conference presence.
Rotation 2: DevSecOps
Jul '23 - Jan '24
  • Helped transition teams from old Snyk group to new group as key Snyk decision maker, as well as via the creation of automations in Python using the Snyk and Bitbucket APIs to discern repository owners and facilitate communications with them.
  • Attained Akamai Web Foundations certification.
  • Attained AWS Certified Developer - Associate certification.
  • Implemented "Snowman" automations to reduce team vulnerability ticket overhead.
Rotation 1: Environments Engineering
Feb '23 - Jul '23
  • Took 2nd place in IAG/Snyk Capture the Flag competitive hacking event.
  • Won "best individual hack" in IAG Hackathon for development of Service Now vulnerability ticket management system "Snowman", which is now in use by multiple teams to help manage Service Now vulnerability tickets effectively.
  • Received "High Performing" in performance review.

API Development Intern

Mar 2021 - Sep 2021
Me with some IAG and Deakin staff at the IAG office in Melbourne

My 6 month full-time internship at IAG flew by as I continually learned new technologies, made new friends, and developed my professional skills.

IAG was my first experience of work outside of McDonalds (and a 2 week stint at the City of Greater Geelong for work experience when I was 16), so it was a major professional development opportunity for me which I took full advantage of.

The team at IAG were incredibly supportive and we had developed some real camaraderie by the end of my time there. Huge thanks to Dragonfly team in particular for putting up with my incessant questions and occasional mistakes, you guys were amazing.

In my time at IAG I learned and used many tools and technologies including:

  • Java
  • Microservices/APIs
  • Bitbucket
  • Spring/Spring Boot
  • Bamboo CI/CD
  • Swagger
  • Confluence
  • IntelliJ IDEA
  • JIRA
  • SonarQube
  • Python
  • Bash
  • Agile development

message_sent

Your message has been sent!

Keep an eye on your emails for a response.

Elements

Text

This is bold and this is strong. This is italic and this is emphasized. This is superscript text and this is subscript text. This is underlined and this is code: for (;;) { ... }. Finally, this is a link.


Heading Level 2

Heading Level 3

Heading Level 4

Heading Level 5
Heading Level 6

Blockquote

Fringilla nisl. Donec accumsan interdum nisi, quis tincidunt felis sagittis eget tempus euismod. Vestibulum ante ipsum primis in faucibus vestibulum. Blandit adipiscing eu felis iaculis volutpat ac adipiscing accumsan faucibus. Vestibulum ante ipsum primis in faucibus lorem ipsum dolor sit amet nullam adipiscing eu felis.

Preformatted

i = 0;

while (!deck.isInOrder()) {
    print 'Iteration ' + i;
    deck.shuffle();
    i++;
}

print 'It took ' + i + ' iterations to sort the deck.';

Lists

Unordered

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Alternate

  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.
  • Dolor pulvinar etiam.
  • Sagittis adipiscing.
  • Felis enim feugiat.

Ordered

  1. Dolor pulvinar etiam.
  2. Etiam vel felis viverra.
  3. Felis enim feugiat.
  4. Dolor pulvinar etiam.
  5. Etiam vel felis lorem.
  6. Felis enim et feugiat.

Icons

Actions

Table

Default

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Alternate

Name Description Price
Item One Ante turpis integer aliquet porttitor. 29.99
Item Two Vis ac commodo adipiscing arcu aliquet. 19.99
Item Three Morbi faucibus arcu accumsan lorem. 29.99
Item Four Vitae integer tempus condimentum. 19.99
Item Five Ante turpis integer aliquet porttitor. 29.99
100.00

Buttons

  • Disabled
  • Disabled

Form