"Change My Mind" (CMM) is an app that matches two individuals with opposing views on a certain topic or idea and engages them in an open-ended discussion. Participants choose a topic and subject they would like to discuss, their stance on the chosen topic (for, against or neutral) and optional search parameters ("people my age" or "near my location") which will then be used by CMM to match participants together for discourse.
CMM was developed on the Firebase platform using its database engine, authentication systems, notification service and its Node.js cloud computing platform for custom-developed server-side logic. Current in-development features include the facilitation of Google's cloud machine learning platform for discussion moderation and participant matchmaking.
The app was presented at Commonwealth Bank's Sydney headquarters alongside Android applications developed by other talented undergraduate students.
With the limitations of the iOS platform, storing, organising, viewing and modifying media and documents is impossible without a file manager. iOS-FM was and is developing to be a user-friendly file manager that resembles the functionality of Finder on macOS X. While still in development, many of the basic features have been implemented including copying, moving, deletion and viewing of locally stored files. Other nifty features include 3d-touch support for quickly previewing files for devices such as the iPhone 6S and multi-file sharing.
At the moment, the project has not been published. After several key features have been implemented and thoroughly tested I hope to release it sometime before the end of Q4 2017.
Using publicly available NSW Transport data, over 3,000,000 co-ordinates were programatically plotted onto a virtual canvas to generate this 4K map of New South Wales. Using Java and an SQLite library, the map data was also converted into a relational database that was then imported and used in R-Studio for further data analysis.
By modifying my code and with the help of ffmpeg, a 6-minute animated 480p video was produced, showing every single coordinate plot as the program stepped through it in real-time.
Using statistical mathematics functions, millions of latitude and longitude tuple-pairs are checked to find both the maximum and minimum values, sorted and are then passed onto a flexible "data worker" class that can quickly fetch and query points to be used by the plotting algorithm. All latitude and longitude tuples are then converted to a 2-dimensional xy-space by normalising their values and then mapped onto the final 3840x2160 image buffer.
A modified version of the program exploits the power of modern computing by splitting the workload onto multiple threads. This provides a significant speed up for the program and allows for a higher quality output to be produced at a fraction of the time it'd usually take without parallelism.
Some notable achievements and features: