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.
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.
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.
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
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.
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.
Also features dynamic formatting, so each portfolio can be coloured based on the direction it is currently heading:
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:
- "[account]_followers.txt", which lists every account that follows them.
- "[account]_following.txt", which lists every account that they follow.
- "[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.
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.
I ran this script on my own account with the following 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.
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.
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.
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:
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.
My Education
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
  
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)
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
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
Contact
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
- Dolor pulvinar etiam.
- Etiam vel felis viverra.
- Felis enim feugiat.
- Dolor pulvinar etiam.
- Etiam vel felis lorem.
- 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 |