Putu

Development Design
matt@putu.co.za

I am Matthew Evans: I pride myself on being a jack of all trades and a master of some. My primary interests are web development, design, technology, music and exploring unique, strange or innovative ideas.

Web Development & Design

I am skilled in HTML5, CSS/SASS/SCSS & Object-Oriented CSS, JavaScript (including node & gulp), and jQuery. Though I have experience with PHP, I, personally, prefer front-end development – that’s where all the fun’s at – and working with CMS back-ends like WordPress. I believe I have acquired an eye for good design, and strive to create a more beautiful web.

Mahlathini Development Foundation

I worked with the Mahlathini Development Foundation, a non-government organisation specialising in agricultural innovation in rural environments, in creating their website. The site features a fully-responsive design and is optimised for SEO (Search Engine Optimisation). Mahlathini Development Foundation Homepage It is built upon WordPress, using a custom theme which I built from scratch. The following languages were employed in this process:

  • PHP for the theme’s base.
  • SASS, a CSS pre-processor, for easy, scalable object-oriented BEM (Block Element Modifier) CSS design.
  • HTML5
  • JavaScript: primarily jQuery

The following tools were used in my workflow:

  • Gulp for automating processes such as pre-processing and minification of scripts.
  • Blender 3D & GIMP for logo design and the design & web-optimisation of some images.
  • Atom, an open-source code editor from GitHub.
  • WordPress as a CMS (Content Management System) back-end for managing the site.
  • FileZilla FTP for uploading and publishing the site and its updates.

Mahlathini Development Foundation News page I am quite pleased with the way that the site turned out and have received a number of compliments regarding its design and quality.

SockGate

For a competition a user hosted on MyBroadBand.co.za, I was tasked to create the front-end design of a landing page for SockGate: the free websocket to socket gateway. Front-end designed for SockGate

Personal Project: University of Pretoria Computer Science Website Redesign.

The University of Pretoria’s Department of Computer Science website looks like it was designed pre-2000: cos Tired of its disappointing appeal, I created a Google Chrome extension to alter the interface of the website to make it more attractive, as well as more accessible by rearranging some elements. The way it works is simple: the extension injects some JavaScript and CSS into the the DOM (Document Object Model) and changes some of the elements around, restructuring the underlying HTML using jQuery and then applying custom styles with the aforementioned CSS. You can see the homepage below: COSUP And the “Automarks” page:COSUPAutomarks You can download the extension here: COSUP

The Artistic Side

I quite love art; being able to express oneself is one of the quintessential parts of what makes us distinguishable from animals. Visually representing an idea or data is, in my opinion, a very important part of being able to describe problems and highlight issues, as well as inspire creative solutions.

2D Digital Art

Art pieces I did for Matric 2015 Work from matric art project Work from matric art project

Graphic Design

Mahlathini Development Foundation (official) mahlathiniconstruction Mahlathini Organics (un-official) mockup-13 graphic

Music You'll Crave

On the Desktop & Around the Office

“IT” has always been one of my things for as long as I can remember. I find the troubleshooting experience thoroughly enjoyable and satisfying, and taking apart and assembling machinery is about as captivating as it can get.

Programming and Scripting

I am able to create small, useful programs using NodeJS and GitHub’s Electron framework, which allows me to build web-based applications made purely with Javascript, CSS and HTML5. My process for making these programs is simple:

  1. I see a need.
  2. I built a prototype to test whether the idea will be a waste of time or not.
  3. I built on that prototype until I am satisfied.
  4. I look for another need to fulfill.

Coding this site using Atom As an example: TuksTimeTable is a simple program I designed to help University of Pretoria students plan and adjust their timetables with ease. I noticed that many students were already using spreadsheet software to create timetables, reading the times out of their booklets and trying to find times which didn’t clash. TuksTimeTable My attempt at solving the issue employs the following features:

  • Update lecture times to meet the latest timetable information.
  • Detects if a clash will occur with a lecture group before adding it to the timetable.
  • Adds all of a group’s lecture times throughout the week in the correct time slots on the correct days with one click.
  • Custom time slots.
  • Easily remove either one or all lectures of a specific group with one click.
  • The ability to save to the cloud.
  • Conversion to image format to keep on cellphone.
  • And a few more.

PC Building & Repair

I am very capable of assembling, disassembling and upgrading computer hardware. I have built multiple computers for myself, friends and family, and upgraded and/or repaired them over time. Misty loving my PC Given the right parts, I can correctly assemble a computer and have it set up with Windows 7, 8.x or 10 and some basic programs installed (Thanks, Ninite!) in just a few hours. I am also able to determine the best computer build for the price, given a budget to work with.

Windows Troubleshooting

I have been using Microsoft Windows PCs since I was a child, and have dealt with and resolved many issues from networking issues to power & performance enhancements to virus eradication in all systems from Windows XP to Windows 10. BSoD? Not a problem.

Networking

I am able to set up a basic working networks, and have experience with router interfaces and Wi-Fi hotspot setup. I also have some minimal experience using pfSense. I am able to set up a Linux machine and create an intranet site using an Apache2 server and PHP. Obvious stock photography of networking is obvious

Microsoft Office & Writing

I am able to use Microsoft Office’s Word, Excel and PowerPoint 2013 and 2016 with ease. Born English-speaking, I am fluent in the language and am capable of detecting and fixing errors in speech and text. Using Microsoft Word

Game Development

Blind Maze (Android)

Blind Maze was an idea I had when doing a maze one day. I thought to myself “How on earth would a blind person do this?”

Blind Maze

So I thought that it would have to work with some form of physical walls so that you could feel each wall and detect the edge you can’t go through. One would have to have incredible spatial concepts in order to have some skill doing it.

So I wanted to make it into a game…

First up was maze generation. This was very difficultbut I managed to create a system which procedurally generates arrays representing a map in which each element either represents a wall or a path.

Blind Maze

Making the game from the perspective of blindness was easy enough; just a blank screen, but you cannot feel impact on a computer. So I decided to add vibration — a thud when you hit a wall, and a light tap when you walk down a path.

This was perfect, but there is no way somebody is going to have annoying vibrations playing in a quiet public place, so I added a square and a circle as indicators to show that the player has hit a wall or moved into an empty cell, respectively. 

Space Dumpster

Space Dumpster is a game I made for the BGMC 14 (Blender Game Making Competition #14). My entry came third.

The theme for the competition was N64 oldschool graphics. So I decided to make a low-poly space scroller game with incredibly retro graphics.

Here are some screenshots:

Space Dumpster game over screenSpace Dumpster Gameplay

deMOLEtion

deMOLEtion is a game I made for the Blender Game Making Challenge #21. My entry came a tied 5th in the competition.

You can find the BlenderArtists.org thread here.

deMOLEtion

The game is a mini arcade game centred around a ninja mole (you, the player) who attempts to stay alive, avoiding construction of buildings and the gassing of his home.

Development process included design, programming and music from scratch. I created custom GLSL shaders for any full-screen visual effects. Design was done using GIMP 2.0. Programming using Python 3. Music was performed by me using FL Studio 12.