About Me

  • Name: Johnson Chen
  • Student Number: s3720461
  • Email: s3720461@student.rmit.edu.au
  • Age: 19
  • Nationality: Australian
  • Ethnicity: Vietnamese/Chinese
  • Fact: I have been a Node.JS (Javascript) Developer for the past 3 years, working on Discord Bots.

Personal Profile

Myers-Briggs: ISTP-T

  • Intorverted: 83%
  • Observant: 51%
  • Thinking: 71%
  • Prospecting 74%
  • Turbulent: 71%

Learning Style: Multimodal (Visual & Read/Write)

  • Visual: 13
  • Aural: 5
  • Read/Write: 14
  • Kinesthetic: 6

Big Five Personality:

  • Openness: 52%
  • Conscientiousness: 37.5%
  • Extraversion: 27%
  • Agreeableness: 37.5%
  • Neuroticism: 71%

Analysis

What do these results mean for me?

I personally see these results as very accurate as I've previously identified personal traits that can directly relate to the results. Beginning with the Myers-Briggs personality test, I about nearly all the time would prefer to keep to myself or to a very small group of friends The Learning Styles test is also fairly accurate to myself, as I've never seen myself as a tactile or auditory learner, I always either read the manual/instructions or watch someone else do it to be able learn how something works. Finally, in terms of the Big Five personality test (OCEAN), it indirectly ties in to the Myer-Briggs test, in that some of the attributes there can directly link towards the other test.

How would these results influence my behaviour on the team?

The way these results would influence my behaviour on the team would be around the points that reaching a consensus with me would be difficult if I was not already for an idea, and if any arguments arose, I would be very tempermental. Whilst my work ethic is decent to the point where I can still get the work done, it would tend to not accomplish results until near the last minute.

How should this be taken into account when forming a team?

When forming a team, this should be taken into account by also including someone I am well acquainted with, ie a friend as they would usually be able to tolerate my own difficulties. That being said, having a mix of skillsets relevant to a chosen project would also be highly desirable as it would allow development of that project to proceed mcuh easier.

Interest in IT

What got me interested in IT?

My main interest in IT is primarily the security side of things, along the lines of Cyber Security/Penetration Testing. I've been interested in IT from a very young age, around 5-6 years old during the Windows 98 and Windows XP era. My experience with IT has been with troubleshooting and repairing computers as well as programming and working with robotics.

One event that got me really interested in IT was regarding the primary school computers not being secure. I was able to not only manipulate folder permissions to restrict their access to faculty and other students But also able to create local administrator accounts that effectively bypassed most if not all restrictions on the computers themselves.

Why did I choose to go to RMIT?

RMIT was actually not my primary choice, I had originally chosen Monash University but due to VCE Results, I had to reconsider. This led me to choosing to pathway via the Associate Degree in IT into the Bachelor of IT afterwards. RMIT's location was also a major factor, being in the heart of the CBD compared to Monash University.

What I expect to learn during my studies

I expect to learn more about IT and its innovations as well as more specific knowledge towards Cyber Security and Networking. The programming skills as well as project management techniques are also a welcome addition to my skillset in the future.

Ideal Job

Job Advertisment

Network & Security Specialist

Imgur Link to Job

Job Description:

The Job is looking for Network & Security Specialist that will be working under the Infrastructure and Cloud Technologies Manager to ensure that support is provided and maintained by MCEC's routing and switching environment.
As well managing MCEC's Cloud Technology Cyber Security Platform monitoring and responding to issues. You would also be working with the Technology Services Communications Team.

Skills/Qualifications/Experience Required:

This job would require you to have experience in similar roles to this position which are preferably in the events industry. You'd also need to be a good communicator, be able to solve problems and work well in a team environment managing multiple priorities and deadlines.

You will also need to be qualified with a CISCO CCNA certification, ASA Firewall experience, Windows Server WSUS experience and CompTIA Security+ Certification

Previous Skills/Qualifcations/Experience:

Problem Solving

Plan to obtain skills/qualifications/experience:

  • Obtain Cisco CCNA Certification
  • Obtain experience working with Cisco ASA Firewall Technology
  • Obtain experience working with Windows Server WSUS
  • Obtain CompTIA Security+ Certification
  • Develop communication skills & Organisational Skills

Project Ideas

Project Overview

This project will be centred around the Discord chat platform and the RMIT website.

It will be a FAQ or Chat Bot with Speech Recognition functionality that will allow a user to make a query via a voice channel regarding RMIT information and have a response generated with information from the RMIT website utilizing an online API to parse / interpret natural language returned in either a visual format or as a verbal response from the chat bot.

The project is directed more towards visually impaired users but can be used by anyone if they so wish.

Motivation

This project would be interesting as it would expose developers/students to Artificial Intelligence / Natural Language processing as well as programming which would further develop the skillsets for future projects and/or employment. This project would also be useful as it would allow visually-impaired people to be able to verbally ask questions and have the information returned to them in a audio format.

I also have experience working with Discord chat bots and the means to host those bots, either through cloud hosts like Digital Ocean or Amazon Web Services or a single-board computer like a Raspberry Pi is very accessible and cheap.

Description

The project will run on the Discord chat platform using both the Discord Developer API as well as any natural language processing APIs such as wit.ai or api.ai.

The bot will run on the appropriate language according to the Discord Bot Library that is selected to be used, ranging from Node.JS, Python, Java, .NET/C++ and more. Furthermore, the bot will be hosted on any Linux-based system either on a Virtual Private Server hosted by Digital Ocean or Amazon Web Services or on a single-board computer such as a Raspberry Pi and similar derivative products.

The bot will utilize a Voice Channel on the Discord platform, and will await verbal user input either in an always-on manner or upon usage of a trigger word. Upon receiving verbal user input, it will pass this onto a natural language processor API to determine what the query is.

This query will be passed one of two modules, a web-scraper and a FAQ, the web-scraper will attempt to retrieve information from the RMIT website directly and extract the relevant information which will be relayed back to the bot into a text to speech generator providing a auditory response. Otherwise if a query matches a question stored in the FAQ module, the chat bot will instead respond to the user with the information stored for a specific entry via the same text to speech response mechanisms as the web-scraping method.

The drawbacks of this project however will be the difficulties of actually working with the audio stream that is sent to the bot, as well as potentially having to work with multiple audio streams (if the bot is used in more than one location/server concurrently). Not only that, but there is a significant time investment needed to setup/train the natural language processor in order to accurately interpret what the user query is and therefore provide the correct information that is requested.

Tools and Technologies

The hardware that would be needed for this project would be any device that is capable of running Linux such as a Raspberry-Pi or similar devices. or a Virtual Private Server (VPS) from providers such as Digital Ocean, Amazon Web Services that will allow a developer to work remotely.

In terms of software, It would require the use of a natural language processor API such as wit.ai or api.ai as well as a relevant discord bot library & language such as Discord.JS (node.js), JDA (Java), Discord.NET (.NET Core), Discord.py (Python). Other tools required would also be ffmpeg which would allow a bot to receive audio from the chat platform.

Skills required

The skills required for this project would be:

  • Experience in Linux systems
  • Programming Experience especially with Discord Bot Libraries
  • Experience working with APIs
  • Experience working with ffmpeg/audio related functions
  • Experience with manipulating websites to obtain information via API calls or web scraping

Any software that would need to be written would be in the relevant language for whichever bot library is chosen. Special hardware is not needed as the use of either a Digital Ocean server or a Amazon Web Services server will suffice, however a Raspberry Pi or any similar Linux-based single board computers can also be used.

The feasibility of finding the software and hardware needed is extremely high as the software is opensource whereas the hardware is easily obtainable be it either a VPS or a Raspberry Pi. In terms of skills however,

Outcome

If this project is successful, the outcome will be that there would be a functional chatbot that would be able to accept user input verbally and be able to generate an appropriate response to the user either verbally or visually. This would allow users who are visually impaired or just do not want to open a web browser to be able to obtain information from the RMIT website from within the Discord chat client quickly and effectively.

In addition, this project could be further developed to not rely on a chat platform and instead be able to be used standalone, for example in a kiosk.