2018-11-22 22:59:12 +00:00
|
|
|
<!DOCTYPE html>
|
|
|
|
<html lang="en">
|
|
|
|
|
|
|
|
<head>
|
|
|
|
<title>Jack Bond-Preston</title>
|
|
|
|
<meta charset="UTF-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
2020-02-01 21:19:12 +00:00
|
|
|
<link rel="stylesheet" href="uikit-3.3.0/css/uikit.min.css" />
|
2019-02-14 21:26:08 +00:00
|
|
|
<link rel="icon" type="image/png" href="images/favicon-16x16.png" sizes="16x16">
|
|
|
|
<link rel="icon" type="image/png" href="images/favicon-32x32.png" sizes="32x32">
|
|
|
|
<link rel="icon" type="image/png" href="images/favicon-96x96.png" sizes="96x96">
|
2018-11-22 22:59:12 +00:00
|
|
|
</head>
|
2019-02-14 21:26:08 +00:00
|
|
|
|
2018-11-22 22:59:12 +00:00
|
|
|
<body>
|
2020-02-01 21:19:12 +00:00
|
|
|
<script src="uikit-3.3.0/js/uikit.min.js"></script>
|
|
|
|
<script src="uikit-3.3.0/js/uikit-icons.min.js"></script>
|
2019-02-14 21:26:08 +00:00
|
|
|
|
2018-11-22 22:59:12 +00:00
|
|
|
<div style="height: 100%">
|
|
|
|
<div class="uk-section uk-section-secondary">
|
|
|
|
<div class="uk-container">
|
|
|
|
<div class="uk-grid-match uk-child-width-expand@m" uk-grid>
|
|
|
|
<div>
|
|
|
|
<h1 class="uk-heading-primary">
|
2018-11-22 23:07:32 +00:00
|
|
|
<img src="images/logo-outline.svg" uk-svg>
|
2018-11-22 22:59:12 +00:00
|
|
|
</h1>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2019-02-14 21:26:08 +00:00
|
|
|
|
2018-11-22 22:59:12 +00:00
|
|
|
<div class="uk-section uk-section-default">
|
|
|
|
<div class="uk-container uk-container-large">
|
|
|
|
<div class="uk-grid-match uk-child-width-expand@m" uk-grid>
|
|
|
|
<div>
|
|
|
|
<h2 class="uk-heading-divider">
|
|
|
|
Contact
|
|
|
|
</h2>
|
|
|
|
<div class="uk-child-width-1@s uk-grid-collapse uk-text-center" uk-grid>
|
|
|
|
<div>
|
|
|
|
<div class="uk-tile uk-tile-default">
|
|
|
|
<p class="uk-h4">
|
2020-01-22 23:07:53 +00:00
|
|
|
<a href="mailto:jackbondpreston@outlook.com">Email</a>
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div class="uk-tile uk-tile-muted">
|
2019-02-14 21:26:08 +00:00
|
|
|
<p class="uk-h4">
|
|
|
|
<a href="https://www.linkedin.com/in/jack-bond-preston-922706150/">LinkedIn</a>
|
|
|
|
</p>
|
2018-11-22 22:59:12 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<h2 class="uk-heading-divider">
|
|
|
|
Open Source
|
|
|
|
</h2>
|
2020-01-22 23:09:54 +00:00
|
|
|
<div class="uk-child-width-1@s uk-grid-collapse uk-text-center" uk-grid>
|
2018-11-22 22:59:12 +00:00
|
|
|
<div class="uk-width-1@m">
|
|
|
|
<div class="uk-tile uk-tile-default">
|
|
|
|
<p class="uk-h4">
|
2018-11-23 00:53:47 +00:00
|
|
|
<a href="https://github.com/jackbondpreston">Github</a>
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div class="uk-tile uk-tile-muted">
|
|
|
|
<p class="uk-h4">
|
|
|
|
<a href="https://gitlab.com/jackb-p">GitLab</a>
|
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="uk-section uk-section-secondary">
|
|
|
|
<div class="uk-container uk-container-large">
|
|
|
|
<h2 class="uk-heading-divider">
|
|
|
|
Projects
|
|
|
|
</h2>
|
|
|
|
<div class="uk-grid-match uk-child-width-1@m" uk-grid>
|
|
|
|
<div>
|
|
|
|
<div class="uk-inline">
|
|
|
|
<a href="https://gitlab.com/spe-potato/potato-library">
|
2019-02-14 21:26:08 +00:00
|
|
|
<img src="images/potato-library.png" alt="Potato Library Screenshot">
|
2018-11-22 22:59:12 +00:00
|
|
|
</a>
|
|
|
|
<div class="uk-overlay uk-overlay-primary uk-position-bottom">
|
|
|
|
<h3 class="uk-heading">
|
|
|
|
<a href="https://gitlab.com/spe-potato/potato-library">
|
|
|
|
Potato Library
|
|
|
|
</a>
|
|
|
|
</h3>
|
|
|
|
<p>
|
2019-02-14 21:26:08 +00:00
|
|
|
A bespoke book management system for
|
2018-11-22 22:59:12 +00:00
|
|
|
<a href="https://p.ota.to/">Potato</a>.
|
|
|
|
</p>
|
2018-11-23 21:43:59 +00:00
|
|
|
<p class="uk-visible@m">
|
2020-01-22 23:05:43 +00:00
|
|
|
Developed as part of a 4-person team for the Software Project Engineering unit at the
|
|
|
|
University of Bristol.
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
2018-11-23 21:43:59 +00:00
|
|
|
<p class="uk-visible@m">
|
2020-01-22 23:05:43 +00:00
|
|
|
The Spring Boot backend interfaces with a MySQL database to serve a REST API. This Java
|
|
|
|
application is then deployed to the cloud. The frontend consists of static HTML
|
|
|
|
generated using Bootstrap and Vue.js, served by the internal Spring web-server -
|
|
|
|
accessing and mutating the data through the REST API.
|
|
|
|
</p>
|
|
|
|
<p class="uk-visible@m">
|
|
|
|
This project was developed using 6 Agile sprints to complete 76 user stories. We
|
|
|
|
utilised test driven development by using JUnit unit tests with Gitlab CI/CD to
|
|
|
|
automatically run tests and deploy the application to Oracle Cloud.
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div>
|
|
|
|
<div class="uk-inline">
|
2018-12-01 17:36:16 +00:00
|
|
|
<img src="images/game-of-life.png" alt="Game of Life Screenshot" style="width:100%">
|
2018-11-22 22:59:12 +00:00
|
|
|
<div class="uk-overlay uk-overlay-primary uk-position-bottom">
|
|
|
|
<h3 class="uk-heading">
|
|
|
|
Concurrent Game of Life
|
|
|
|
</h3>
|
|
|
|
<p>
|
|
|
|
A concurrent game of life implementation designed to run on a limited piece of hardware.
|
|
|
|
</p>
|
2018-11-23 21:43:59 +00:00
|
|
|
<p class="uk-visible@m">
|
2020-01-22 23:05:43 +00:00
|
|
|
Developed as part of a 2-person team for the Concurrent Computing unit at the University
|
|
|
|
of Bristol.
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
2018-11-23 21:43:59 +00:00
|
|
|
<p class="uk-visible@m">
|
2018-11-22 22:59:12 +00:00
|
|
|
This game of life implementation was written in
|
|
|
|
<a href="https://en.wikipedia.org/wiki/XC_(programming_language)">XC</a>
|
2020-01-22 23:05:43 +00:00
|
|
|
and designed to run on the XMOS xCORE-200 eXplorer. The program runs concurrently across
|
|
|
|
tiles, utilising channels for cross-thread communication. Hardware memory limitations
|
|
|
|
posed interesting challenges, with solutions such as packing the individual "cells" into
|
|
|
|
individual bits of 32/16-bit integers to be as memory-efficient as possible. Each turn,
|
|
|
|
the board is split up into rows of these packed cells which are then distributed across
|
|
|
|
workers for processing, then returned to the distributor and consolidated back into a
|
|
|
|
single board each turn.
|
2018-11-22 22:59:12 +00:00
|
|
|
</p>
|
2020-01-22 23:05:43 +00:00
|
|
|
<p class="uk-visible@m">
|
|
|
|
This coursework was later updated to be based in Go, and run on desktop PCs. I have also
|
|
|
|
completed this coursework assignment as part of my role TAing this new unit.
|
2018-11-22 22:59:12 +00:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</body>
|
|
|
|
|
|
|
|
</html>
|