Migrating from hand-written HTML to Jekyll to use shared layout code.

master
James T. Martin 2020-02-06 15:34:02 -08:00
parent d519ba9a7c
commit 84d29ceb8d
16 changed files with 438 additions and 410 deletions

8
.editorconfig Normal file
View File

@ -0,0 +1,8 @@
root = true
[*]
indent_style = space
indent_size = 2
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

7
.gitignore vendored
View File

@ -1 +1,8 @@
# Jekyll files
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
# Emacs backup files
*~

4
Gemfile Normal file
View File

@ -0,0 +1,4 @@
source "https://rubygems.org"
gem "jekyll-last-modified-at"
gem "jekyll-sitemap"

72
Gemfile.lock Normal file
View File

@ -0,0 +1,72 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
ffi (1.12.2)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.2)
concurrent-ruby (~> 1.0)
jekyll (4.0.0)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (>= 0.9.5, < 2)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-last-modified-at (1.2.1)
jekyll (>= 3.7, < 5.0)
posix-spawn (~> 0.3.9)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-sitemap (1.4.0)
jekyll (>= 3.7, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.1.0)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
posix-spawn (0.3.13)
public_suffix (4.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
rouge (3.15.0)
safe_yaml (1.0.5)
sassc (2.2.1)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
unicode-display_width (1.6.1)
PLATFORMS
ruby
DEPENDENCIES
jekyll-last-modified-at
jekyll-sitemap
BUNDLED WITH
2.1.4

View File

@ -1,6 +1,20 @@
# jamestmartin.me
This is the source code for my personal website, [https://jamestmartin.me](jamestmartin.me).
## Installation
This project is built using [https://jekyllrb.com/](Jekyll), a static site generator.
To install this website, you must first [https://jekyllrb.com/docs/installation/](install Jekyll).
Next, install all necessary modules with `bundle exec`.
To build the site, run `bundle exec jekyll build`.
To rebuild the site continuously as updates are made,
run `bundle exec jekyll build --watch`.
The web root for the website will be `_site/`.
You may point your web server there and the site will work with no additional effort.
To work on the site without installing full web server, use `bundle exec jekyll serve`.
## Code Conventions
All of my code is valid HTML5 and CSS3 according to ["https://html.spec.whatwg.org"](WHATWG standards)

4
_config.yml Normal file
View File

@ -0,0 +1,4 @@
url: "https://jamestmartin.me"
plugins:
- jekyll-last-modified-at
- jekyll-sitemap

24
_layouts/default.html Normal file
View File

@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>{{ page.title }}</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<link rel="canonical" href="{{ site.url }}{{ page.permalink }}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>{{ content }}</main>

54
_layouts/resume.html Normal file
View File

@ -0,0 +1,54 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>James T. Martin, {{ page.title }}</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="stylesheet" href="/assets/resume.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<link rel="canonical" href="{{ site.url }}{{ page.permalink }}" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<main>
<article class="resume">
<header>
<h1>James T. Martin, {{ page.resumeName }}</h1>
<span class="tagline">{{ page.tagline }}</span>
</header>
<!-- TODO: Figure out a more semantic way to deal with the container/content divs. -->
<div class="container">
<aside>
<section id="personal-info">
<header>
<h2>Personal Info</h2>
</header>
<dl>
<div>
<dt>Email
<dd>@jtmar.me, james
</div>
<div>
<dt>Phone
<dd><a href="tel:+1-206-331-1994">(206) 331-1994</a>
</div>
<div>
<dt>Location
<dd>Renton, WA
</div>
<div>
<dt>GitHub
<dd><a href="https://github.com/jamestmartin">jamestmartin</a>
</div>
<div>
<dt>LinkedIn
<dd><a href="https://www.linkedin.com/in/jamestmartinme/">jamestmartinme</a>
</div>
</dl>
</section>
</aside>
<div class="content">{{ content }}</div>
</div>
</article>
</main>

View File

@ -1,51 +1,32 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>Contact Me - James T. Martin</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
<article id="contact">
<header>
<h2>Contact Me</h2>
</header>
<dl>
<div>
<dt>Email
<dd>@jtmar.me, james
</div>
<div>
<dt>Phone
<dd><a href="tel:+1-206-331-1994">(206) 331-1994</a>
</div>
<div>
<dt>GitHub
<dd><a href="https://github.com/jamestmartin">jamestmartin</a>
</div>
<div>
<dt>LinkedIn
<dd><a href="https://www.linkedin.com/in/jamestmartinme/">jamestmartinme</a>
</div>
<div>
<dt>Location
<dd>Renton, WA
</div>
</dl>
</article>
</main>
---
layout: default
title: Contact Me
permalink: /contact
---
<article id="contact">
<header>
<h2>Contact Me</h2>
</header>
<dl>
<div>
<dt>Email
<dd>@jtmar.me, james
</div>
<div>
<dt>Phone
<dd><a href="tel:+1-206-331-1994">(206) 331-1994</a>
</div>
<div>
<dt>GitHub
<dd><a href="https://github.com/jamestmartin">jamestmartin</a>
</div>
<div>
<dt>LinkedIn
<dd><a href="https://www.linkedin.com/in/jamestmartinme/">jamestmartinme</a>
</div>
<div>
<dt>Location
<dd>Renton, WA
</div>
</dl>
</article>

View File

@ -1,25 +1,6 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>James T. Martin</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
TODO: About me.
</main>
---
layout: default
title: James T. Martin
permalink: /
---
TODO: About me.

View File

@ -1,72 +1,53 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>Projects - James T. Martin</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
---
layout: default
title: Projects
permalink: /projects/
---
<article id="projects">
<header>
<h2>Projects</h2>
</header>
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
<article id="projects">
<section id="current">
<header>
<h2>Projects</h2>
<h3>Current</h3>
<p>This is what I'm working on right now.
</header>
<ul>
<li>Moderating <a href="https://discord.gg/4Kjt3ZE">the Programming Language Design Discord server</a>, which I co-founded.
<li><a href="https://proglangdesign.net">proglangdesign.net</a>, the programming language design community's website.
<li><a href="https://github.com/proglangdesign/matrix.proglangdesign.net">matrix.proglangdesign.net</a>, a bridge between the programming language design IRC channel and Discord server via Matrix.
<li><a href="https://github.com/jamestmartin/screeps-bot-piet">screeps-bot-piet</a>,
my AI for the MMO RTS for programmers, Screeps.
</ul>
</section>
<section id="hiatus">
<header>
<h3>On Hiatus</h3>
<p>I am not currently working on these things, but intend to continue them later.
</header>
<section id="current">
<header>
<h3>Current</h3>
<p>This is what I'm working on right now.
</header>
<ul>
<li>Moderating <a href="https://discord.gg/4Kjt3ZE">the Programming Language Design Discord server</a>, which I co-founded.
<li><a href="https://proglangdesign.net">proglangdesign.net</a>, the programming language design community's website.
<li><a href="https://github.com/proglangdesign/matrix.proglangdesign.net">matrix.proglangdesign.net</a>, a bridge between the programming language design IRC channel and Discord server via Matrix.
<li><a href="https://github.com/jamestmartin/screeps-bot-piet">screeps-bot-piet</a>,
my AI for the MMO RTS for programmers, Screeps.
</ul>
</section>
<ul>
<li>Moderating <a href="https://reddit.com/r/ProgrammingLanguages">/r/ProgrammingLanguages</a>.
<li><a href="https://github.com/jamestmartin/lambda-calculus">Slowly developing the Lambda Calculus into a real programming language.</a>
</ul>
</section>
<section id="hiatus">
<header>
<h3>On Hiatus</h3>
<p>I am not currently working on these things, but intend to continue them later.
</header>
<section id="previous">
<header>
<h3>Previous</h3>
<p>
I have worked on many things over the years.
Most of them have been lost to time; many, I've forgotten about entirely.
I learned to keep backups the hard way.
Here are some of the highlights (that I can remember):
</header>
<ul>
<li>Moderating <a href="https://reddit.com/r/ProgrammingLanguages">/r/ProgrammingLanguages</a>.
<li><a href="https://github.com/jamestmartin/lambda-calculus">Slowly developing the Lambda Calculus into a real programming language.</a>
</ul>
</section>
<section id="previous">
<header>
<h3>Previous</h3>
<p>
I have worked on many things over the years.
Most of them have been lost to time; many, I've forgotten about entirely.
I learned to keep backups the hard way.
Here are some of the highlights (that I can remember):
</header>
<ul>
<li><a href="minecraft-clone">A minecraft clone</a>, with infinite procedural worlds and multiplayer.
<li><a href="the-mining-dead">The Mining Dead</a>, a Fallout-themed zombie apocalypse Minecraft server, based on a custom modpack and a ton of custom code.
<li><a href="https://scratch.mit.edu/users/zeusoflightning/">Scratch projects</a> from elementary school, because why not? Man, I've come a <em>long</em> way as a programmer since then.
</ul>
</section>
</article>
</main>
<ul>
<li><a href="minecraft-clone">A minecraft clone</a>, with infinite procedural worlds and multiplayer.
<li><a href="the-mining-dead">The Mining Dead</a>, a Fallout-themed zombie apocalypse Minecraft server, based on a custom modpack and a ton of custom code.
<li><a href="https://scratch.mit.edu/users/zeusoflightning/">Scratch projects</a> from elementary school, because why not? Man, I've come a <em>long</em> way as a programmer since then.
</ul>
</section>
</article>

View File

@ -1,47 +1,29 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>Minecraft Clone - Projects - James T. Martin</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
<article id="minecraft-clone">
<header>
<h2>Minecraft Clone</h2>
</header>
<p>
In 2014, while still in middle school,
I wrote a Minecraft clone using the Unity game engine and C#.
It featured:
<ul>
<li>a first-person interactive editable world (duh),
<li>infinite procedural map generation using simplex noise,
<li>and a custom TCP-based multiplayer protocol.
</ul>
<p>
I wrote all of the code myself, from scratch, except for one thing: the mesh generation.
For that, I began with a mesh generator and optimizer someone else wrote,
and slowly replaced it with my own code as I learned how it worked.
Ultimately, my code even produced better meshes
because my algorithm understood the greater context of the game world better (like chunk boundaries).
<p>
This was one of my favorite projects. I was very proud of it as a middle schooler.
Disappointingly, I lost the code when I deleted my old email address,
which made me lose access to my private BitBucket repositories.
</article>
</main>
---
layout: default
title: Minecraft Clone
permalink: /projects/minecraft-clone
---
<article id="minecraft-clone">
<header>
<h2>Minecraft Clone</h2>
</header>
<p>
In 2014, while still in middle school,
I wrote a Minecraft clone using the Unity game engine and C#.
It featured:
<ul>
<li>a first-person interactive editable world (duh),
<li>infinite procedural map generation using simplex noise,
<li>and a custom TCP-based multiplayer protocol.
</ul>
<p>
I wrote all of the code myself, from scratch, except for one thing: the mesh generation.
For that, I began with a mesh generator and optimizer someone else wrote,
and slowly replaced it with my own code as I learned how it worked.
Ultimately, my code even produced better meshes
because my algorithm understood the greater context of the game world better (like chunk boundaries).
<p>
This was one of my favorite projects. I was very proud of it as a middle schooler.
Disappointingly, I lost the code when I deleted my old email address,
which made me lose access to my private BitBucket repositories.
</article>

View File

@ -1,74 +1,55 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>The Mining Dead - Projects - James T. Martin</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
<article id="the-mining-dead">
<header>
<h2>The Mining Dead</h2>
<p>This page is a work in progress.
<p>
This is also from a very long time ago (2012), so my recall is pretty poor,
which makes it especially difficult to write this article.
</header>
---
layout: default
title: The Mining Dead
permalink: /projects/the-mining-dead
---
<article id="the-mining-dead">
<header>
<h2>The Mining Dead</h2>
<p>This page is a work in progress.
<p>
The Mining Dead was a series of loosely Fallout-themed Minecraft zombie apocalyse servers,
featuring high spawns, difficult zombies, radiation, solar flares, decayed cities,
a desert world generation without trees, crops, animals, grass, or dirt,
custom player ranks based on zombie kills, a special radio chat system,
a custom Technic Platform modpack, and a lot of rotten flesh.
Among other things.
<p>
Aside from being some of the most fun I've had in my life,
my takeover of the server's administration and codebase in 2012
was what kickstarted my programming career and love for Debian GNU/Linux.
I would not be the person I am today without it.
<p>
This is my loose attempt at a server chronology.
This was all a long time ago, so I'm mixing up the order of things a lot.
<ul>
<li>The original server was founded by Skuli_Steinulf in beta 1.8.
<li>
The Tekkit Classic server was founded by Skuli.
The server had three worlds (inventories were not shared):
<ul>
<li>The Outlands: The conventional Mining Dead experience.
<li>The Frontier: A zombie apocalyse world with normal terrain generation and no radiation.
<li>Medieval: A standard Tekkit Classic world.
</ul>
<li>A short-lived Tekkit Lite server or something might've been in here?
<li>Skuli had early access to the Technic Platform. He creates a custom modpack for the server.
<li>
Skuli simultaneously founds a vanilla server,
and another server using the custom modpack featuring the Cogs of the Machine mod
instead of more conventional high-tech mods like IndustrialCraft 2.
<li>
Skuli abruptly retires from maintaining The Mining Dead.
I had no programming experience and no experience with running Minecraft servers,
but I took over anyway. I learn as I go.
<li>
TODO: The rest of the chronology, including my multiple servers, the DJ incident,
Skuli's second attempt and the ice worlds, the various attempts to succeed me,
Skuli's later servers, other servers I made, and Obamallama's servers.
</ul>
</article>
</main>
This is also from a very long time ago (2012), so my recall is pretty poor,
which makes it especially difficult to write this article.
</header>
<p>
The Mining Dead was a series of loosely Fallout-themed Minecraft zombie apocalyse servers,
featuring high spawns, difficult zombies, radiation, solar flares, decayed cities,
a desert world generation without trees, crops, animals, grass, or dirt,
custom player ranks based on zombie kills, a special radio chat system,
a custom Technic Platform modpack, and a lot of rotten flesh.
Among other things.
<p>
Aside from being some of the most fun I've had in my life,
my takeover of the server's administration and codebase in 2012
was what kickstarted my programming career and love for Debian GNU/Linux.
I would not be the person I am today without it.
<p>
This is my loose attempt at a server chronology.
This was all a long time ago, so I'm mixing up the order of things a lot.
<ul>
<li>The original server was founded by Skuli_Steinulf in beta 1.8.
<li>
The Tekkit Classic server was founded by Skuli.
The server had three worlds (inventories were not shared):
<ul>
<li>The Outlands: The conventional Mining Dead experience.
<li>The Frontier: A zombie apocalyse world with normal terrain generation and no radiation.
<li>Medieval: A standard Tekkit Classic world.
</ul>
<li>A short-lived Tekkit Lite server or something might've been in here?
<li>Skuli had early access to the Technic Platform. He creates a custom modpack for the server.
<li>
Skuli simultaneously founds a vanilla server,
and another server using the custom modpack featuring the Cogs of the Machine mod
instead of more conventional high-tech mods like IndustrialCraft 2.
<li>
Skuli abruptly retires from maintaining The Mining Dead.
I had no programming experience and no experience with running Minecraft servers,
but I took over anyway. I learn as I go.
<li>
TODO: The rest of the chronology, including my multiple servers, the DJ incident,
Skuli's second attempt and the ice worlds, the various attempts to succeed me,
Skuli's later servers, other servers I made, and Obamallama's servers.
</ul>
</article>

View File

@ -1,36 +1,17 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>Resume - James T. Martin's</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<header>
<span class="site-title">
<a href="/">James T. Martin</a>
</span>
<nav>
<ul>
<li><a href="/projects/">Projects</a>
<li><a href="/resume/">Resume</a>
<li><a href="/contact">Contact</a>
</ul>
</nav>
</header>
<main>
<article>
<header>
<h2>Resumes</h2>
<p>I have different resumes for different jobs.
</header>
<ul>
<li>TODO: <a href="web-developer">Web Developer</a>
<li><a href="software-developer">Software Developer</a>
<li>TODO: <a href="compiler-developer">Compiler Developer</a>
<li>TODO: <a href="general-laborer">General Laborer</a>
</ul>
</article>
</main>
---
layout: default
title: Resumes
permalink: /resume/
---
<article>
<header>
<h2>Resumes</h2>
<p>I have different resumes for different jobs.
</header>
<ul>
<li>TODO: <a href="web-developer">Web Developer</a>
<li><a href="software-developer">Software Developer</a>
<li>TODO: <a href="compiler-developer">Compiler Developer</a>
<li>TODO: <a href="general-laborer">General Laborer</a>
</ul>
</article>

View File

@ -1,120 +1,72 @@
<!DOCTYPE html>
<html lang="en-US">
<meta charset="utf-8">
<title>James T. Martin, Software Developer</title>
<link rel="stylesheet" href="/assets/style.css">
<link rel="stylesheet" href="/assets/resume.css">
<link rel="icon" type="image/png" href="/assets/favicon.png">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
---
layout: resume
title: Software Developer
permalink: /resume/software-developer
tagline: A self-taught programmer fond of programming language theory.
---
<section id="experience">
<header>
<h2>Experience</h2>
</header>
<main>
<article class="resume">
<section id="pld-community" class="experience">
<header>
<h1>James T. Martin</h1>
<span class="tagline">A self-taught programmer fond of programming language theory.</span>
<h3><a href="https://proglangdesign.net">Programming Language Design Community</a></h3>
<span class="experience-duration"><time datetime="2018-06">June 2018</time> onward</span>
</header>
<ul>
<li>Led redesign of <a href="https://proglangdesign.net">the website</a>
<li>Automated the generation of <a href="https://proglangdesign.net/#projects">the community projects list</a> using Jekyll
<li><a href="https://github.com/proglangdesign/matrix.proglangdesign.net">Bridged</a>
the <a href="https://discord.gg/4Kjt3ZE">Discord</a> and <a href="https://irc.lc/freenode/proglangdesign">Freenode</a> sub-communities via <a href="https://matrix.org">Matrix</a>
<li>Co-founded the Discord sub-community; moderated it and <a href="https://reddit.com/r/ProgrammingLanguages">/r/ProgrammingLanguages</a>
</ul>
</section>
<!-- TODO: Figure out a more semantic way to deal with the container/content divs. -->
<div class="container">
<aside>
<section id="personal-info">
<header>
<h2>Personal Info</h2>
</header>
<section id="hazen-robotics" class="experience">
<header>
<h3>Hazen Robotics Club</h3>
</header>
<ul>
<li>Mentored programming at the summer robotics camp
<li>Taught club members to use Java and Git
<li>Collaborated to build robot controller programs for FTC competitions
</ul>
</section>
</section>
<dl>
<div>
<dt>Email
<dd>@jtmar.me, james
</div>
<div>
<dt>Phone
<dd><a href="tel:+1-206-331-1994">(206) 331-1994</a>
</div>
<div>
<dt>Location
<dd>Renton, WA
</div>
<div>
<dt>GitHub
<dd><a href="https://github.com/jamestmartin">jamestmartin</a>
</div>
<div>
<dt>LinkedIn
<dd><a href="https://www.linkedin.com/in/jamestmartinme/">jamestmartinme</a>
</div>
</dl>
</section>
</aside>
<div class="content">
<section id="experience">
<header>
<h2>Experience</h2>
</header>
<section id="pld-community" class="experience">
<header>
<h3><a href="https://proglangdesign.net">Programming Language Design Community</a></h3>
<span class="experience-duration"><time datetime="2018-06">June 2018</time> onward</span>
</header>
<ul>
<li>Led redesign of <a href="https://proglangdesign.net">the website</a>
<li>Automated the generation of <a href="https://proglangdesign.net/#projects">the community projects list</a> using Jekyll
<li><a href="https://github.com/proglangdesign/matrix.proglangdesign.net">Bridged</a>
the <a href="https://discord.gg/4Kjt3ZE">Discord</a> and <a href="https://irc.lc/freenode/proglangdesign">Freenode</a> sub-communities via <a href="https://matrix.org">Matrix</a>
<li>Co-founded the Discord sub-community; moderated it and <a href="https://reddit.com/r/ProgrammingLanguages">/r/ProgrammingLanguages</a>
</ul>
</section>
<section id="hazen-robotics" class="experience">
<header>
<h3>Hazen Robotics Club</h3>
</header>
<ul>
<li>Mentored programming at the summer robotics camp
<li>Taught club members to use Java and Git
<li>Collaborated to build robot controller programs for FTC competitions
</ul>
</section>
</section>
<section id="skills">
<header>
<h2>Skills</h2>
</header>
<section id="skills">
<header>
<h2>Skills</h2>
</header>
<ul>
<li>Languages: Java 8, Haskell, HTML5/XHTML
<li>Tools: Git, GitHub, continuous integration, bug tracking, unit testing, property testing
<li>Administration: Debian GNU/Linux, Nginx
<li>APIs: <abbr title="Representational State Transfer">REST</abbr>, JSON, JSON Schema, JSON-LD, <abbr title="Hypermedia as the Engine of Application State">HATEOAS</abbr>
<li>Security:
<ul>
<li>Languages: Java 8, Haskell, HTML5/XHTML
<li>Tools: Git, GitHub, continuous integration, bug tracking, unit testing, property testing
<li>Administration: Debian GNU/Linux, Nginx
<li>APIs: <abbr title="Representational State Transfer">REST</abbr>, JSON, JSON Schema, JSON-LD, <abbr title="Hypermedia as the Engine of Application State">HATEOAS</abbr>
<li>Security:
<ul>
<li><abbr title="Transport Layer Security">TLS</abbr>: <a href="https://letsencrypt.org">Let's Encrypt</a>, <a href="https://www.ssllabs.com/">SSL Labs</a>, DNS <abbr title="Certification Authority Authorization">CAA</abbr>, <abbr title="HTTP Strict Transport Security">HSTS</abbr> deployment
<li>Web: <abbr title="Cross-Site Scripting">XSS</abbr> prevention, <abbr title="Cross-Site Request Forgery">CSRF</abbr> prevention, <abbr title="Content Security Policy">CSP</abbr>, input validation, SQL injection prevention
</ul>
<li><abbr title="Transport Layer Security">TLS</abbr>: <a href="https://letsencrypt.org">Let's Encrypt</a>, <a href="https://www.ssllabs.com/">SSL Labs</a>, DNS <abbr title="Certification Authority Authorization">CAA</abbr>, <abbr title="HTTP Strict Transport Security">HSTS</abbr> deployment
<li>Web: <abbr title="Cross-Site Scripting">XSS</abbr> prevention, <abbr title="Cross-Site Request Forgery">CSRF</abbr> prevention, <abbr title="Content Security Policy">CSP</abbr>, input validation, SQL injection prevention
</ul>
</section>
</ul>
</section>
<section id="education">
<header>
<h2>Education</h2>
</header>
<section id="hazen" class="experience">
<header>
<h3><a href="https://hazen.rentonschools.us/">Hazen High School</a></h3>
<span class="experience-duration">
<time datetime="2015-09-02">2015</time>
to <time datetime="2019-06-13">2019</time>
</span>
</header>
<ul>
<li>Recieved OSHA 10 certification.
<li>Member of marching, symphonic, and jazz bands; recieved John Philip Sousa award in 2019.
</ul>
</section>
</section>
</div>
</div>
</article>
</main>
<section id="education">
<header>
<h2>Education</h2>
</header>
<section id="hazen" class="experience">
<header>
<h3><a href="https://hazen.rentonschools.us/">Hazen High School</a></h3>
<span class="experience-duration">
<time datetime="2015-09-02">2015</time>
to <time datetime="2019-06-13">2019</time>
</span>
</header>
<ul>
<li>Recieved OSHA 10 certification.
<li>Member of marching, symphonic, and jazz bands; recieved John Philip Sousa award in 2019.
</ul>
</section>
</section>

View File

@ -1,2 +1,4 @@
User-agent: *
Disallow:
Host: jamestmartin.me
Sitemap: https://jamestmartin.me/sitemap.xml