Info and About
This website is made by (me) Jake Murphy. I have a blog at blog.murph9.com.
Also a Youtube channel were I sometimes post gaming videos to.
- 2 Yrs AWS (various)
- 3 Yrs Azure DevOps
- 6 Yrs C#/.NET Core/ASP.NET
- 5 Yrs Java
- 2 Yrs Python
- 1 Yrs Azure cloud
- AWS: S3, EC2, IAM, Route53, Lambda, Redshift, cloud formation, RDS, SAM, the cli
- Directly used docker containers and azure aks/kubectl cli for kubernetes (k8s) management
- Azure DevOps use for 2 years, including implementing it, updating all company projects to use it
- Used C# WinForms and Microsoft Word integration
- Have good experience with full stack work for the original version of this website: Linux/Apache2/Nginx and also the Windows IIS stack through work
- Terraform with EC2 Auto Scaling groups
|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|
Bachelor of Computer Science at UNSW, graduated at the end of 2015.
- Basic money management Android App in Java, called MoneyButDaily (not on the App store, but it could be if someone wanted it) View on github
- This site which uses AWS S3/Route53/Cloudfront but previously used jekyll/nginx/Raspberry pi 3/dynamic dns to my home
- JMonkeyEngine3 projects: which can be downloaded from this site here:
- Physics based racing car game. Has a rather large amount of time has gone into it for how little ‘game’ there actually is :(
- Jetris a java tetris clone with newer tetris features such as t-spins, SRS rotations and wallkicks
- A Geometry Wars clone called GridWars
- Some classic practice apps: Infinite runner, Snake, Minesweeper, Tetris clone in JOGL/Java
- Contributed a python module for the Nagstamon nagios monitoring software
- A private note taking website written as a single page react/gatsby site, deployed to S3 as a static site behind Cloudfront: me.murph9.com, which connects to another S3 bucket to host the data
- 2 years experience with PHP/Perl, some C experience (1yr) and have played with Prolog, Node.js and Arduino projects
The source for some of these can be found on my github page
Now its a ‘full’ website that lists/hosts my java and web games and also does many small utility tasks or other interesting things.
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.
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.
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.
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.
S3 did have its downsides, im going from a pi3 with basically full control to a cloud provider, so no more dyanamic sites.
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.