Computing at a young age
Ever since I was a little boy I have always loved computers and technology. My mum would always tell her friends that I was born with a computer mouse in place of an umbilical cord. With a natural knack for computers, I would always be heavily involved with any IT problems around the house (and still am to this very day). My mum started a small business which needed a website around 2010. This was the beginning of working with coding and website development.
Websites, Websites, Websites
My first website was for my mum’s small business created in 2010. At the time, Adobe Flash was well known and commonly used for website development, so while not HTML/CSS heavy, it got me started with coding. The code used in Flash was called Action Script and it involved pointing elements to keyframes. Although it looked flashy with all of its animations, the next iteration of the website saw me begin to use the web standards of HTML and CSS in 2014. It was during this time I learnt the basics of structure, syntax and much more. Today, the website built in 2014 is still being used. It has been upgraded with pages that make heavy use of Javascript and JS frameworks such as jQuery, as well as PHP for server-side processing and database interaction. Nevertheless, the design of the website is more or less the same.
Minecraft and… linux?
One of the big games I got into as a young man was Minecraft. The sandbox world with infinite opportunities roped me in pretty easily. Soon after I discovered the world of Minecraft servers which allowed for multiple players to play in the same world and many other features. Minecraft was still in beta at this stage and therefore setting up a server was a bit trickier then it is now to play with your friends. I had to download a jar file and edit the config options to ensure the correct ram was allocated, the IP was correct and which port I would use. After that, I had to delve into my home routers port forwarding options and forward the port that Minecraft was running on. This would allow people connecting on my router to have access to whatever application is running on that port. Then I had to go into the terminal, cd into the directory with the sh script that accompanied the jar, run a chmod command to allow execution (in sudo) and then finally run the script.
Running the server at home for a few friends worked for a bit, however, the world of servers was much greater than I had anticipated. There were massive servers that had all sorts of mods and features for players. They had domain names instead of IPs, plugins to offer things like commerce, games etc, and they were open 24/7. I played on various servers nonstop and even paid money for better ranks within the server. A few months into it I decided that I wanted to see if I could do it on my own, so I did. I researched a ton about how it's done and rented a cheap Virtual Private Server (VPS) running centOS, a type of Linux distro. To use it, you have to SSH into it through a terminal on Mac or using software such as Putty on windows. From there I had to learn all sorts of Linux commands shortcuts in the setup of this server. The Minecraft server I made ran for about a year and was self-sufficient thanks to donations. Throughout that year I managed an ever increasing load as more players found and joined my server. After a while, however, I naturally grew bored and the time and effort I was putting into the daily maintenance of the server were not worth it, especially when I lost interest in the game, and my senior schooling years were just around the corner.
HSC ya later
My high school offered the HSC course Industrial Technology Multimedia. It was the closest subject offered that involved computing of any sort. During this course, I was able to create movies in premiere pro and games inside Unity. We also learnt general knowledge about computing and movies. The course required that students create something for their major project which can be a movie, animation, or even a website. With my prior experience, I opted to create a website. I decided to use a WYSIWYG rather than explicitly code the HTML and CSS as at the time I had other subjects that were vying for my time. I chose to use Adobe Muse, a website builder that focuses on design without having to write a single line of code. While I thought it would be much easier and timely, it turned out to be the opposite. The flexibility of coding was not there and to achieve things which were normally rather simple with a few lines of code turned into a tiresome and lengthy hackjob to get what I wanted. The project ended up with me staying up well into the hours of the morning rushing to get it done and for what I was able to achieve I was not particularly happy with. It was clunky and looked poor. Although I ultimately created in my opinion to be a poor website, the experience taught me the valuable lesson of not rushing projects and using the most robust tools available to you, even if on the surface it seems harder or more time-consuming.
Things I know
Some things I know in no explicit order how to do including:
- html
- css
- javascript
- php
- mysql
- java
- python
- unix