I'm Lachlan, an Australian computer science student.
This site is used to list some of the projects I've worked on and let others know
more about myself.
📚 Education.
Currently completing my 3rd year as a Bachelor of Computer Science at The University of Newcastle, Australia
💾 Technologies.
A collection of programming technologies that I have worked with.
Blazor lets you build interactive web UIs using C# instead of JavaScript.
Blazor apps are composed of reusable web UI components implemented using C#,
HTML, and CSS. Both client and server code is written in C#, allowing you to share code and libraries.
Entity Framework (EF) Core is a lightweight, extensible, open source and cross-platform
object-relational mapper (O/RM),
enabling .NET developers to work with a database using .NET objects,
and eliminating the need for most of the data-access code they usually need to write.
I have worked with PostgreSQL, MySQL and SQLite using EF Core. It has significantly sped up my ROI on
time of development,
allowing me to have a very quick turnaround on new projects and project updates.
Disqord is an asynchronous .NET Core 3.0 Discord API wrapper. Used in
Causym.
It teaches asynchronous programming, introduces dependency injection. The library allows development of
IRC bots for discord and provides a Framework
for building Discord commands both dynamically via runtime builders or statically via compile-time
modules.
Discord.Net is an asynchronous, multi-platform .NET Library used to interface with the Discord API.
This library touches on Task-based Asynchronous Pattern (TAP), polymorphism, interfaces and many more
advanced topics extensively.
C#
I have worked with C# for over 5 years and have amassed extensive experience with Task-based
Asynchronous
Pattern (TAP),
delegates/anonymous functions, web-requests and HttpClient requests,
Entity Framework, Abstraction, Polymorphism, Interfaces, Dependency injection and Events. Additionally I
have experimented
with ASP.net and server-side Blazor web technologies.
JAVA
Worked on programming user automation scripts, studied at University of Newcastle, NSW
C++
Studied Data Structures at University of Newcastle, NSW.
Python
Studied at University of Newcastle, NSW. Worked with JES jython IDE
SQL
Studied at University of Newcastle, NSW. Worked with SQL Server, MySQL, MariaDB, SQLite,
PostgreSQL, data manipulation through C# with EFCore, use with MS SQL Server Manager, SQLite DB Browser,
PGAdmin4.
RavenDB is a fully transactional, ACID compliant NoSQL document database.
RavenDB's C# Library features include full Linq to Raven Query Language (RQL) support, a hand tailored
API that is both fluent and predictable.
I used RavenDB from 2016-2018 for document storage for a number of large personal public facing
projects.
A PUG (pick up game) bot, allowing teams of players to verse against each-other and receive
roles and ranks according to their performance.
Uses dependency injection, abstraction, polymorphism, ef core, Task-Based Asynchronous Patterns,
interfaces & many other technologies to provide
24/7 Fast response times to users.
Successor to RavenBOT, includes language translation via the
Yandex API.
Utilizes regex parsing to ensure markdown persists through translations,
requires use of semaphores to ensure efficient requests are made to fetch data in a smart and safe
manner.
A Discord server backup bot, allows saving and loading of a gzip compressed json file in order
to create a physical copy of a discord server.
Demonstrates use of HttpClient, web-requests, json serialization, gzip compression algorithms,
generically typed methods & more.
[2020-2021] SkillBot
An implementation of the TrueSkill rating system with support for ranking and leaderboards.
A multi-purpose discord bot, successor to Lithium and PassiveBOT with support for birthday
announcements,
automated server moderation, automated messages, reminders, captcha verification for members
when they join,
dialogflow ai conversation handling,
Yandex language
Translation, custom event logging for server updates, greetings for user joins and
leaves, games such as connect4 and slots, levels for chat activity with built in spam filtering,
reddit post aggregation and lookup, ticket
management with user whitelisting and vote tracking, moderation such as
banning and muting users, server statistics tracking, tags for common messages, music support
and weather lookup.
An automated moderation bot, uses
Perspective AI API to detect profanity and
toxicity in messages, requires captcha verification for users, detects spam messages, allows for
server-wide user muting, ticketing for server
support, detection of mass mentions & more
Fork of Discord.Addons.Interactive, allows for custom callbacks via message reactions, full
embed support for pagination and shard support. Utilizes delegates and anonymous functions to
provide an interactive experience for discord users.
PS3 Memory editor, IDPS/PSID Console ID automated validator using ghosted controller input to mimic
user input,
COD4 RTM, COD Modern Warfare 2 RTM, COD Modern Warfare 3 RTM, COD World At War RTM, COD Black
Ops RTM, COD Black Ops 2 RTM with SPRX injector, GSC injector,
string editor and more.
Uses WinForms for UI.
Saves the 'unlock all' bytes of a Black Ops II PS3 profile to a file and allows loading of the bytes
into
your game. This utilizes json serialization in order to store a parsable file for later use.
Uses WinForms for UI.
An Black Ops II PS3 SPRX mod menu that uses memory editing and various c++ functions in order to draw a
canvas, options and parse player data. It utilizes trigonometric functions in
order to set the current player's view angles in order to gain advantages during gameplay
with exploits such as Aimbot and Spinbot.
An automated herblore training bot for Old School RuneScape using the RuneMate client. Uses
tree logic for determining
player states and upcoming tasks as well as automates GE sales to increase return on player
investment whilst maximizing efficient play styles.
An automated tutorial island bot for Old School RuneScape using the RuneMate client.
Utilizes tree logic to determine tutorial island progress,
ensuring actions are completed in the correct order by parsing player dialogues and
predicting inputs.