Info and About

This website is made by Jake Murphy. Blog at blog.murph9.com.

About Me

Work Experience:

Work projects:


Also a Youtube channel were I sometimes post gaming videos to.


Job History

2020 Nov - * PropertyMe @ Junior Site Reliability Engineer
2019 Nov - 2020 Nov Servcorp @ Software Developer
2018 Apr - 2019 Nov Hays plc @ Developer
2015 Jan - 2018 Apr Far Edge Technology @ Junior Developer
2014 Jul - 2014 Dec Far Edge Technology @ Intern Developer

Education

Bachelor of Computer Science at UNSW, graduated at the end of 2015.


Personal Projects

The source for some of these can be found on my github page



Site History

It started as a project for learning javascript, html and php during uni and slowly became useful as a site.

Now its a ‘full’ website that lists/hosts my java and web games and also does many small utility tasks or other interesting things.


php phase

In 2015, This site originally was a hobby, locally hosted site as a learning websites, then I eventually figured out how to get them to connect from the wifi to the network viewable on others devices.

I eventually figured out how to setup a web server using abyss to host the php site off of my windows computer. (which meant it was at least accessable through the intranet)

Due to my job at Far Edge Technology I was able to understand how DNS A records worked for url -> ip address routing. This allowed me to find a DynamicDNS provider which meant you could access it from the outside network. However the uni network prevented any incoming http/https traffic to my machine.

Although hello CrazyDomains. Hello an apartment. Hello accessable from the general internet. Pretty exciting.


A year later

I then bought a raspberry pi3b to host the site on and I learnt port fowarding and how annoying telstra routers can be with static LAN ips to get the 80 and 443 ports to go to the pi. I deployed by manually editing files over winscp. (also hosting php on linux is way easier..)

And the site slowly grew to have more than 25 pages. I also added ways of downloading my games, and added a few html games like the real game kaleidoscope.

I then migrated my domain to namecheap beacuse they an inbuilt dyanmicdns client i could just run on the pi. Although when the router was turned off in any way we would get a new IP address from telstra and it would have to wait until the night to re-link to namecheap.


other sites

I created a sub site called blog.* which i learnt pelican for, but the required 3 posts up and forgot. Needed to figure out how to host 2 sites on the same apache2 instance.

Added me.* which is a private site written in python/flask which connected to a local sqlite db. This is where I kept all of my notes on how the sites work and random other todo lists.

I also created game.* which i wrote a chat app (or how original..) in socket.io/react/express . And also a tictactoe app in the same tech, to mild success.


re styling using jekyll

I was so happy with my blog sites’ style, that i wanted my main site to have it as well. But they are in different technologies, php and jekyll.

So I converted the site to be *.md files and use the templating in jekyll to keep the styling the same. Not painless but pretty nice.

Its a shame that i never used git to store the changes from before this, so take note.

Also the web server is nginx now.


the problems phase

Occasionally the pi would randomly ‘eat’ the SD card every year or so - I never figured out why - and it would no longer boot. Trying to open the SD card would show as corrupted, suspect this is just the side effects of booting to SD card.

My small wiki site is hosted on it at this point, and the sd card breaking would prevent me from being able to access it requiring an export of the sqlite db and read it… all rather annoying.

To fix it I had to completely re-image the pi3 from the raspian image and add all the sites and files back. To the point where I made a ‘how to’ in my todo list site - this was a sign it needed fixing.


the cloud

My work was using cloud to host their stuff, why not me? (it is 2019 after all)

A lot of random researching later, I found the easiest way would be to add the static files into aws S3 and let it deal with the url and hosting.

So its now a command line deploy from my dev machine: aws s3 sync, what a journey.

However S3 does have its downsides, going from a pi3 with basically full control to a cloud provider meant no more dyanamic site values.

me.* turned into a static react/gatsby site that uses js to read and save to another s3 bucket.

game.* no longer exists :(


This site and my blog are statically generated using jekyll to generate the static files.

It was previously deployed to a raspberry pi3 using a custom domain using dynamic dns. It used apache originally but converted to nginx for some node.js fun.