Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,4 @@ Gemfile.lock

# Ingore files created by npm
node_modules
package-lock.json

.DS_Store
package-lock.json
51 changes: 6 additions & 45 deletions _config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,13 @@
# Basic Site Settings
locale : "en-US"
site_theme : "default"
title : "Home"
title_separator : "- "
name : &name "Patrick O'Hara"
description : &description "Personal webpage"
url : https://patrickohara.github.io # the base hostname & protocol for your site e.g. "https://[your GitHub username].github.io"
title : "Your Name / Site Title"
title_separator : "-"
name : &name "Your Name"
description : &description "personal description"
url : https://academicpages.github.io # the base hostname & protocol for your site e.g. "https://[your GitHub username].github.io"
baseurl : "" # the subpath of your site, e.g. "/blog"
repository : "PatrickOHara/patrickohara.github.io"
repository : "academicpages/academicpages.github.io"

# Site Author - The following control what appear as part of the author content on the side bar.
# If a field is blank the icon and link will not appear, otherwise it will be shown.
Expand Down Expand Up @@ -152,45 +152,6 @@ analytics:
tracking_id :


# Site Author
author:
name : "Patrick O'Hara"
avatar : "patrick.png"
bio : "PhD Candidate in Computer Science"
location :
employer : "University of Warwick"
pubmed :
googlescholar : "https://scholar.google.com/citations?user=FrPPYhIAAAAJ&hl=en"
email : "patrick.h.o-hara@warwick.ac.uk"
researchgate : # example: "https://www.researchgate.net/profile/yourprofile"
uri :
bitbucket :
codepen :
dribbble :
flickr :
facebook :
foursquare :
github : "https://github.com/PatrickOHara"
google_plus :
keybase :
instagram :
impactstory : #"https://profiles.impactstory.org/u/xxxx-xxxx-xxxx-xxxx"
lastfm :
linkedin : "https://www.linkedin.com/in/patrick-o-hara-9a0b45155/"
orcid : "https://orcid.org/0000-0001-9600-7554"
pinterest :
soundcloud :
stackoverflow : # http://stackoverflow.com/users/123456/username
steam :
tumblr :
twitter :
vine :
weibo :
xing :
youtube :
wikipedia :


# Reading Files
include:
- .htaccess
Expand Down
12 changes: 6 additions & 6 deletions _data/navigation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,11 @@ main:
- title: "Portfolio"
url: /portfolio/

# - title: "Blog Posts"
# url: /year-archive/
- title: "Blog Posts"
url: /year-archive/

# - title: "CV"
# url: /cv/
- title: "CV"
url: /cv/

# - title: "Guide"
# url: /markdown/
- title: "Guide"
url: /markdown/
45 changes: 38 additions & 7 deletions _pages/about.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,49 @@
---
permalink: /
title: "About Patrick O'Hara"
title: "Academic Pages is a ready-to-fork GitHub Pages template for academic personal websites"
author_profile: true
redirect_from:
- /about/
- /about.html
- /index/
- /index.html
---

I am a forth year PhD student in Computer Science at the University of Warwick supervised by [Prof Theo Damoulas](https://warwick.ac.uk/fac/sci/statistics/staff/academic-research/damoulas/) and [Dr Ramanujan Sridharan](https://msramanujan.weebly.com/). I am an active member of the [Warwick Machine Learning Group](https://wmlg.io/).
This is the front page of a website that is powered by the [Academic Pages template](https://github.com/academicpages/academicpages.github.io) and hosted on GitHub pages. [GitHub pages](https://pages.github.com) is a free service in which websites are built and hosted from code and data stored in a GitHub repository, automatically updating when a new commit is made to the repository. This template was forked from the [Minimal Mistakes Jekyll Theme](https://mmistakes.github.io/minimal-mistakes/) created by Michael Rose, and then extended to support the kinds of content that academics have: publications, talks, teaching, a portfolio, blog posts, and a dynamically-generated CV. You can fork [this template](https://github.com/academicpages/academicpages.github.io) right now, modify the configuration and markdown files, add your own PDFs and other content, and have your own site for free, with no ads!

My research interests lie in the intersection of distributionally robust optimisation, graph theory, and machine learning.
A data-driven personal website
======
Like many other Jekyll-based GitHub Pages templates, Academic Pages makes you separate the website's content from its form. The content & metadata of your website are in structured markdown files, while various other files constitute the theme, specifying how to transform that content & metadata into HTML pages. You keep these various markdown (.md), YAML (.yml), HTML, and CSS files in a public GitHub repository. Each time you commit and push an update to the repository, the [GitHub pages](https://pages.github.com/) service creates static HTML pages based on these files, which are hosted on GitHub's servers free of charge.

From Oct 2022 - Mar 2023 I was an Applied Scientist Intern at Amazon supervised by [Phillip Loick](https://www.linkedin.com/in/philipp-loick-9333b6173/?originalSubdomain=lu).
Many of the features of dynamic content management systems (like Wordpress) can be achieved in this fashion, using a fraction of the computational resources and with far less vulnerability to hacking and DDoSing. You can also modify the theme to your heart's content without touching the content of your site. If you get to a point where you've broken something in Jekyll/HTML/CSS beyond repair, your markdown files describing your talks, publications, etc. are safe. You can rollback the changes or even delete the repository and start over - just be sure to save the markdown files! Finally, you can also write scripts that process the structured data on the site, such as [this one](https://github.com/academicpages/academicpages.github.io/blob/master/talkmap.ipynb) that analyzes metadata in pages about talks to display [a map of every location you've given a talk](https://academicpages.github.io/talkmap.html).

Prior to starting my PhD, I was a research assistant working at The Alan Turing Institute (2019-2020) and the University of Warwick (2018-2019). Projects I was working on include the London Air Quality Project and Project Odysseus. From 2015-2018, I completed my BSc in Computer Science at the University of Warwick.
Getting started
======
1. Register a GitHub account if you don't have one and confirm your e-mail (required!)
1. Fork [this template](https://github.com/academicpages/academicpages.github.io) by clicking the "Use this template" button in the top right.
1. Go to the repository's settings (rightmost item in the tabs that start with "Code", should be below "Unwatch"). Rename the repository "[your GitHub username].github.io", which will also be your website's URL.
1. Set site-wide configuration and create content & metadata (see below -- also see [this set of diffs](http://archive.is/3TPas) showing what files were changed to set up [an example site](https://getorg-testacct.github.io) for a user with the username "getorg-testacct")
1. Upload any files (like PDFs, .zip files, etc.) to the files/ directory. They will appear at https://[your GitHub username].github.io/files/example.pdf.
1. Check status by going to the repository settings, in the "GitHub pages" section

Site-wide configuration
------
The main configuration file for the site is in the base directory in [_config.yml](https://github.com/academicpages/academicpages.github.io/blob/master/_config.yml), which defines the content in the sidebars and other site-wide features. You will need to replace the default variables with ones about yourself and your site's github repository. The configuration file for the top menu is in [_data/navigation.yml](https://github.com/academicpages/academicpages.github.io/blob/master/_data/navigation.yml). For example, if you don't have a portfolio or blog posts, you can remove those items from that navigation.yml file to remove them from the header.

Create content & metadata
------
For site content, there is one markdown file for each type of content, which are stored in directories like _publications, _talks, _posts, _teaching, or _pages. For example, each talk is a markdown file in the [_talks directory](https://github.com/academicpages/academicpages.github.io/tree/master/_talks). At the top of each markdown file is structured data in YAML about the talk, which the theme will parse to do lots of cool stuff. The same structured data about a talk is used to generate the list of talks on the [Talks page](https://academicpages.github.io/talks), each [individual page](https://academicpages.github.io/talks/2012-03-01-talk-1) for specific talks, the talks section for the [CV page](https://academicpages.github.io/cv), and the [map of places you've given a talk](https://academicpages.github.io/talkmap.html) (if you run this [python file](https://github.com/academicpages/academicpages.github.io/blob/master/talkmap.py) or [Jupyter notebook](https://github.com/academicpages/academicpages.github.io/blob/master/talkmap.ipynb), which creates the HTML for the map based on the contents of the _talks directory).

**Markdown generator**

The repository includes [a set of Jupyter notebooks](https://github.com/academicpages/academicpages.github.io/tree/master/markdown_generator
) that converts a CSV containing structured data about talks or presentations into individual markdown files that will be properly formatted for the Academic Pages template. The sample CSVs in that directory are the ones I used to create my own personal website at stuartgeiger.com. My usual workflow is that I keep a spreadsheet of my publications and talks, then run the code in these notebooks to generate the markdown files, then commit and push them to the GitHub repository.

How to edit your site's GitHub repository
------
Many people use a git client to create files on their local computer and then push them to GitHub's servers. If you are not familiar with git, you can directly edit these configuration and markdown files directly in the github.com interface. Navigate to a file (like [this one](https://github.com/academicpages/academicpages.github.io/blob/master/_talks/2012-03-01-talk-1.md) and click the pencil icon in the top right of the content preview (to the right of the "Raw | Blame | History" buttons). You can delete a file by clicking the trashcan icon to the right of the pencil icon. You can also create new files or upload files by navigating to a directory and clicking the "Create new file" or "Upload files" buttons.

Example: editing a markdown file for a talk
![Editing a markdown file for a talk](/images/editing-talk.png)

For more info
------
More info about configuring Academic Pages can be found in [the guide](https://academicpages.github.io/markdown/), the [growing wiki](https://github.com/academicpages/academicpages.github.io/wiki), and you can always [ask a question on GitHub](https://github.com/academicpages/academicpages.github.io/discussions). The [guides for the Minimal Mistakes theme](https://mmistakes.github.io/minimal-mistakes/docs/configuration/) (which this theme was forked from) might also be helpful.
17 changes: 0 additions & 17 deletions _pages/publications.md

This file was deleted.

28 changes: 3 additions & 25 deletions _portfolio/portfolio-1.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,7 @@
---
title: "TSPLIB with Profits"
excerpt: "Python library for parsing TSP with Profits datasets."
title: "Portfolio item number 1"
excerpt: "Short description of portfolio item number 1<br/><img src='/images/500x300.png'>"
collection: portfolio
---

[See the code](https://github.com/PatrickOHara/tspwplib) and [read the docs](https://patrickohara.github.io/tspwplib/).

Get an instance of the Orienteering Problem:

```python
import os
from tspwplib import *

oplib_root = os.getenv("OPLIB_ROOT") # TODO set your path to oplib
filepath = build_path_to_oplib_instance(
oplib_root, Generation.gen1, GraphName.st70
)
problem = ProfitsProblem.load(filepath)
```


Get a [networkx](https://networkx.org/) graph with attributes for prize on the vertices and cost on the edges:

```python
nx_graph = problem.get_graph()
```

**Acknowledgements**: This library relies heavily upon [tsplib95](https://github.com/rhgrant10/tsplib95.git) and [OPLib](https://github.com/bcamath-ds/OPLib.git).
This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
7 changes: 7 additions & 0 deletions _portfolio/portfolio-2.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
title: "Portfolio item number 2"
excerpt: "Short description of portfolio item number 2 <br/><img src='/images/500x300.png'>"
collection: portfolio
---

This is an item in your portfolio. It can be have images or nice text. If you name the file .md, it will be parsed as markdown. If you name the file .html, it will be parsed as HTML.
14 changes: 14 additions & 0 deletions _publications/2009-10-01-paper-title-number-1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Paper Title Number 1"
collection: publications
category: manuscripts
permalink: /publication/2009-10-01-paper-title-number-1
excerpt: 'This paper is about the number 1. The number 2 is left for future work.'
date: 2009-10-01
venue: 'Journal 1'
slidesurl: 'http://academicpages.github.io/files/slides1.pdf'
paperurl: 'http://academicpages.github.io/files/paper1.pdf'
citation: 'Your Name, You. (2009). &quot;Paper Title Number 1.&quot; <i>Journal 1</i>. 1(1).'
---

The contents above will be part of a list of publications, if the user clicks the link for the publication than the contents of section will be rendered as a full page, allowing you to provide more information about the paper for the reader. When publications are displayed as a single page, the contents of the above "citation" field will automatically be included below this section in a smaller font.
14 changes: 14 additions & 0 deletions _publications/2010-10-01-paper-title-number-2.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Paper Title Number 2"
collection: publications
category: manuscripts
permalink: /publication/2010-10-01-paper-title-number-2
excerpt: 'This paper is about the number 2. The number 3 is left for future work.'
date: 2010-10-01
venue: 'Journal 1'
slidesurl: 'http://academicpages.github.io/files/slides2.pdf'
paperurl: 'http://academicpages.github.io/files/paper2.pdf'
citation: 'Your Name, You. (2010). &quot;Paper Title Number 2.&quot; <i>Journal 1</i>. 1(2).'
---

The contents above will be part of a list of publications, if the user clicks the link for the publication than the contents of section will be rendered as a full page, allowing you to provide more information about the paper for the reader. When publications are displayed as a single page, the contents of the above "citation" field will automatically be included below this section in a smaller font.
14 changes: 14 additions & 0 deletions _publications/2015-10-01-paper-title-number-3.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
---
title: "Paper Title Number 3"
collection: publications
category: manuscripts
permalink: /publication/2015-10-01-paper-title-number-3
excerpt: 'This paper is about the number 3. The number 4 is left for future work.'
date: 2015-10-01
venue: 'Journal 1'
slidesurl: 'http://academicpages.github.io/files/slides3.pdf'
paperurl: 'http://academicpages.github.io/files/paper3.pdf'
citation: 'Your Name, You. (2015). &quot;Paper Title Number 3.&quot; <i>Journal 1</i>. 1(3).'
---

The contents above will be part of a list of publications, if the user clicks the link for the publication than the contents of section will be rendered as a full page, allowing you to provide more information about the paper for the reader. When publications are displayed as a single page, the contents of the above "citation" field will automatically be included below this section in a smaller font.
12 changes: 0 additions & 12 deletions _publications/2020-12-expectation.md

This file was deleted.

Loading