Initial commit

main
Graham 1 year ago
commit 6d877f5100

@ -0,0 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
draft: true
---

@ -0,0 +1,35 @@
title = "Your_Site_Name"
baseURL = "https://yoursite.com"
relativeURLs = true
theme = "smore"
enableEmoji = true
# Change me if you use google analytics
googleAnalytics = "UA-123456789"
# Sets the amount of blog posts that appear before creating a new page
paginate = 15
# Set the parameters for your site
[params]
author = "Your Name"
description = "Site Description"
# path to a .ico to use as favicon
favicon = "favicon.ico"
# Define syntax highlighting
[markup]
[markup.highlight]
anchorLineNos = false
codeFences = true
guessSyntax = false
hl_Lines = ''
hl_inline = false
lineAnchors = ''
lineNoStart = 1
lineNos = true
lineNumbersInTable = false
noClasses = true
noHl = false
# Syntax style. Choose themes from here
style = 'gruvbox'
tabWidth = 4

@ -0,0 +1,27 @@
---
title: "Homepage Title"
date: 2022-10-08
draft: false
description: "Graham Helton"
---
Brief "about you" section.
# Education
- Bachelors of Science in Cybersecurity (current)
# Job Experience
- Intern @ xyz company
# Side Projects
- Built active directory homelab for testing attacks and how to defend agaisnt them
- Volunteer at Wild West Hacking Fest Deadwood
- Released open source tool XYZ on github - [Link to tool]()
# Certifications & Accomplishment
- CompTIA Security+
- Tryhackme top 1% - [Link to Tryhackme profile]()
- XYZ ctf 3rd place winner - [Link to CTF]()
- Cybersecurity club memeber

@ -0,0 +1,27 @@
---
title: "Homepage Title"
date: 2022-10-08
draft: false
description: "Graham Helton"
---
Brief "about you" section.
# Education
- Bachelors of Science in Cybersecurity (current)
# Job Experience
- Intern @ xyz company
# Side Projects
- Built active directory homelab for testing attacks and how to defend agaisnt them
- Volunteer at Wild West Hacking Fest Deadwood
- Released open source tool XYZ on github - [Link to tool]()
# Certifications & Accomplishment
- CompTIA Security+
- Tryhackme top 1% - [Link to Tryhackme profile]()
- XYZ ctf 3rd place winner - [Link to CTF]()
- Cybersecurity club memeber

@ -0,0 +1,144 @@
---
title: "Blog title: researching the XYZ"
date: 2021-12-06
tags: ["Homelab","Security","Research"]
description: "Short description of post."
draft: false
type: page
---
# Title
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
# Title
In vel sapien a justo condimentum finibus. Fusce non magna a leo suscipit fringilla nec in magna. Vestibulum viverra dapibus magna in placerat. Pellentesque sed sodales ex. Vivamus blandit eu justo ac luctus. Etiam nec tellus molestie, suscipit velit ut, lacinia velit. Quisque libero tellus, hendrerit ac dignissim et, faucibus ac nulla. Vestibulum finibus posuere varius. Maecenas finibus est non egestas aliquet. Cras venenatis metus sed iaculis fermentum. In ipsum dui, sagittis ac augue id, feugiat bibendum dui. Sed pellentesque orci orci, quis mollis massa tempor mattis.
```python
#! /bin/python3.10
import re
import requests
import os
from os.path import exists
from bs4 import BeautifulSoup
from colorama import Fore, Style
company_list = ['scythe','dragos']
company_url = {'scythe':'https://www.scythe.io/about/careers','dragos':'https://jobs.lever.co/dragos'}
# Define formatting
reset = Style.RESET_ALL
green = Fore.GREEN
purple = Fore.MAGENTA
sep = Fore.BLUE + "---------------------------" + reset
def get_format(response,company_name):
'''Return the HTML attribute needed for each site'''
match company_name:
case "scythe":
soup = BeautifulSoup(response.text, 'html.parser').findAll("h3",attrs={"id": "w-node-_6a3848d7-bd9c-4061-be22-05d0c32b7a82-c32b7a81"})
return soup
case "dragos":
soup = BeautifulSoup(response.text, 'html.parser').findAll("h5",attrs={"data-qa": "posting-name"})
return soup
def parse(posting_location,company_name):
'''Issue the HTML request for job posting page'''
# Issue request to scyhte careers page
response = requests.get(posting_location,company_name)
# Get the format of the specific site to parse
parsed_response = get_format(response,company_name)
return parsed_response
def parse_html(html_response):
'''Takes list of HTML strings and parses them to contain just the job posting'''
# for each job posting
postings_list = []
for i in html_response:
# Remove HTML from job posting
postings_list.append(re.sub('<[^<]+?>', '', str(i)))
return postings_list
def get_new(postings_list,old_list,company_name):
'''Get the difference in the new job postings and the old ones'''
new_post = list(set(postings_list) - set(old_list)) + list(set(old_list) - set(postings_list))
path = './data/'+company_name
# Save job posting to file
with open(path, 'w') as f:
for listing in postings_list:
f.write("%s \n" % listing)
if new_post:
return company_name,new_post
def get_old(company_name):
'''Get the previous job postings and add them to a list'''
# If data file does not exist, create it
path = './data/'+company_name
if not exists(path):
open(path, 'a').close()
with open(path) as file:
lines = file.readlines()
old_list = []
for i in lines:
# for each job posting, strip out the characters we don't need
old_list.append(i.rstrip())
return old_list
def print_results(company_name,new_post):
'''print the job postings'''
company_name = str(new_post[0]).upper()
print(f"{green}{company_name} has new job postings!")
print(sep)
new_post = new_post[1:]
job_postings = list(new_post)
for i in job_postings:
print(f"{purple}",*i,sep="\n")
print(sep)
pass
def select_company():
'''Select the company passed in list and then call the function required for that specific job'''
# Get the company name from the index number passed in through the function
for company in range(len(company_list)):
company_name = list(company_url.keys())[company]
posting_location = list(company_url.values())[company]
html_response = parse(posting_location,company_name)
old_list = get_old(company_name)
postings_list = parse_html(html_response)
new_post = get_new(postings_list,old_list,company_name)
if new_post:
print_results(company_name,new_post)
else:
print(f"{green}{company_name}{purple} has no new job postings")
print(f"{green}Ear2Ground:{purple} A Program to help you keep tabs on the job postings of infosec companies")
print(sep)
def main():
path = './data/'
if not os.path.exists(path):
os.makedirs(path)
select_company()
if __name__ == "__main__":
main()
```
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquam, urna a ultricies dictum, mi arcu commodo eros, dictum vulputate leo magna ac orci. Quisque ultricies molestie nibh, eget sagittis est commodo ut. Cras fermentum, lectus eu interdum rhoncus, erat tortor aliquam velit, eu iaculis purus ex sed lorem. Nunc maximus nisi eu mauris ultricies, non placerat nisl fringilla. Quisque dignissim tellus enim, ut faucibus diam iaculis sit amet. Aenean vestibulum et nunc tempor elementum. Mauris vel augue id justo tempor euismod. Nunc elementum vulputate ante sit amet pulvinar. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce vitae faucibus lectus.
1. This
2. Is
3. A
4. List
## Smaller Title 2
- This
- Is
- Also
- A
- List
Sed imperdiet metus at porta blandit. Proin aliquet fringilla fringilla. In eu mi tempus, condimentum leo in, fermentum purus. Fusce eget dignissim quam. Nulla faucibus elit vel ligula laoreet tempor. Phasellus sed magna velit. Donec at euismod mi. Cras suscipit interdum ligula.
> This is a block quote. Groovy.
In ac euismod diam, quis vehicula tellus. Duis mollis, nulla quis egestas congue, eros enim tempor urna, ac pretium elit mi quis nulla. Nunc id vestibulum felis. Aliquam quis massa at dui posuere mattis. Curabitur fermentum rutrum nisl, nec hendrerit velit vestibulum ut. Donec varius euismod ex, eget lacinia odio scelerisque eget. Cras posuere, massa tincidunt tristique semper, tellus felis porta lorem, eu pulvinar velit lacus sit amet orci. Ut finibus dolor ac lectus tristique, non condimentum justo tristique. Pellentesque consectetur mollis tincidunt. Praesent dapibus, dui sed rhoncus luctus, erat ligula posuere eros, quis ullamcorper justo leo id tellus.

@ -0,0 +1,27 @@
---
title: "Homepage Title"
date: 2022-10-08
draft: false
description: "Graham Helton"
---
Brief "about you" section.
# Education
- Bachelors of Science in Cybersecurity (current)
# Job Experience
- Intern @ xyz company
# Side Projects
- Built active directory homelab for testing attacks and how to defend agaisnt them
- Volunteer at Wild West Hacking Fest Deadwood
- Released open source tool XYZ on github - [Link to tool]()
# Certifications & Accomplishment
- CompTIA Security+
- Tryhackme top 1% - [Link to Tryhackme profile]()
- XYZ ctf 3rd place winner - [Link to CTF]()
- Cybersecurity club memeber

@ -0,0 +1,23 @@
---
title: "Social Links"
images: ["/libraryCard.png"]
date: 2022-11-06
description: "A collection of links to my social media accounts and pages"
draft: false
---
# Social Media Links
**Email** -> your(at)email@provider.com
[Mastodon]() -> This is where the cool infosec people hang out. :)
[Twitter]() -> I check my DM's fairly often.
[Linkedin]() -> I check my DM's everyone once and a while.
[Youtube]() -> Sometimes I post things that I'm working on.
[Blog]() -> Research and long form content.
[Roundup]() -> Weekly "What have I been working on" geared toward helping people see what they can do to get experience without paying for certs/degrees.

@ -0,0 +1,27 @@
---
title: "Weekly Roundups"
date: 2022-10-08
draft: false
description: "Graham Helton"
---
Brief "about you" section.
# Education
- Bachelors of Science in Cybersecurity (current)
# Job Experience
- Intern @ xyz company
# Side Projects
- Built active directory homelab for testing attacks and how to defend agaisnt them
- Volunteer at Wild West Hacking Fest Deadwood
- Released open source tool XYZ on github - [Link to tool]()
# Certifications & Accomplishment
- CompTIA Security+
- Tryhackme top 1% - [Link to Tryhackme profile]()
- XYZ ctf 3rd place winner - [Link to CTF]()
- Cybersecurity club memeber

@ -0,0 +1,85 @@
---
title: "Weekly Roundup #1: December 12-19th 2021"
date: 2021-12-19
tags: ["Security","Roundup"]
description: "The first roundup!"
draft: false
---
# What is this?
This is the first of a weekly "round up" that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a *footprint* for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. Some weeks will have have more content than others depending on the amount of free time I have.
# 12/12/2021
- Went over SANS GSEC certification notes
- Spent entirely too long getting [git.grahamhelton.com](http://git.grahamhelton.com) and [twitter.grahamhelton.com](http://twitter.grahamhelton.com) to point to my twitter and github using DNS...
- Rebuilt homelab into a snazzy new case.
![](/Pasted-image-20211214203659.png)
- Compiled some information about how to get started with docker to go through once I finish my SANS GSEC material
```bash
# Docker learning resources
https://www.youtube.com/watch?v=wCTTHhehJbU
https://www.youtube.com/watch?v=3c-iBn73dDE&feature=youtu.be
https://www.youtube.com/watch?v=MnUtHSpcdLQ&feature=youtu.be
```
# 12/13/2021
- Watched Black hills information security's [emergency log4j webcast](https://www.youtube.com/watch?v=igoDXnkYDy8)
- Studied SANS GSEC notes
- Spent forever researching [searx](https://searx.github.io/searx/) and borking installs.
- Fiddled with my [recipe website](https://level99cooking.com) to fix some formatting issues.
# 12/14/2021
- Studied SANS GSEC notes
- Fixed searx install from previous day
- Wrote [Thou Shall Not Snoop Our Searches - Searx Installation and Discussion](https://www.grahamhelton.com/blog/searx/)
- Added some android VMs to my lab for future projects
# 12/15/2021
- Discovered [Unsupervised Learning](https://danielmiessler.com/podcast/) by [Daniel Miessler](https://twitter.com/DanielMiessler)
- Watched [A Tale of Two Johns (John hammond and John strand interview)](https://www.youtube.com/watch?v=7LXfBSuaFFE)
- Set up rsyslog server in my home lab via [this tutorial](https://www.techrepublic.com/article/how-to-install-and-configure-rsyslog-for-a-centralized-linux-log-server/) (This was very easy)
- Noticed some weird things going on in my network. The first being some very strange pings every few minutes to some random IPs. After some researching I found a reddit post where someone described the same problem. Looks like its a part of [PIA's code](https://github.com/pia-foss/desktop/blob/master/daemon/src/latencytracker.cpp#L64-L101) to check the latency to their servers.
![](/Pasted-image-20211215161851.png)
- Noticed UFW was blocking some more traffic that happened to beacon every 2 minutes and 6 seconds...
![](/Pasted-image-20211215162540.png)
- Investigated further with wireshark and found out it was an IGMP query packet to refresh the IPs of multicast group memberships. This was sent out by my router.
```bash
sudo tcpdump -i <interface> -s 65535 -w sketchy.pcap
```
- Added [pushRsyslog.sh](https://github.com/grahamhelton/smallscripts/blob/main/pushRsyslog.sh) to my [smallScripts github repot](https://github.com/grahamhelton/smallscripts)
# 12/16/2021
- Listened to [The Privacy, Security, and OSINT show](https://www.inteltechniques.com/podcast.html) episodes 242 and 243
- Discovered [Privacy.sexy](https://privacy.sexy/) which is a collection of scripts to disable windows / mac features that reduce privacy
- Verified with PIA VPN that they do send out pings to all their servers every couple minutes to "verify connectivity" (This still makes me feel uneasy...)
![](/Pasted-image-20211219153745.png)
- Went over GSEC notes.
# 12/17/2021
- Studied GSEC
- Finished indexing GSEC books
- Formally accepted the agreement for the SANS Masters degree program (🎉 🎉🎉)
# 12/18/2021
- Got sick :/
- Binged like 20 [John Hammond videos](https://www.youtube.com/c/JohnHammond010)
- Learned a little bit about [web3](https://www.youtube.com/watch?v=l44z35vabvA&t), [filecoin](https://docs.filecoin.io/about-filecoin/what-is-filecoin/#for-users), and [IPFS](https://www.youtube.com/watch?v=5Uj6uR3fp-U&t)
# 12/19/2021
- Listened to [darknet diaries #106](https://darknetdiaries.com/episode/106/)
- Published this round-up
- Began looking for some open source asset management tool.
- [@snipeyhead](https://twitter.com/snipeyhead) on twitter linked me to [snipe-it](https://snipeitapp.com/)
# Have any questions
Do you have any questions? Feel free to [reach out to me on twitter](http://twitter.grahamhelton.com). See you next Sunday. :)

@ -0,0 +1,85 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="./css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="404 Page not found &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/404.html">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="./">Graham Helton</a>
</div>
<div class="">
<a href="./roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./pages/">Other</a>
</div>
</nav>
</header>
<main>
<link rel="stylesheet" href="./css/style.css" type="text/css" media="all" />
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">404 Page not found - Idk how you even got here</h1>
<div class="blog__details">
<div class="blog__info">
<p>
My bad. I guess while you're here, check out my latest blog post:
<br>
<p>
<br>
Other than that? I've got nothing for ya. Maybe go outside or something?
</p>
</div>
</div>
<div class="content">
</div>
</div>
</article>
</section>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Homepage Title &middot; Graham Helton">
<meta property="og:description" content="Brief &amp;amp;ldquo;about you&amp;amp;rdquo; section.
Education Bachelors of Science in Cybersecurity (current) Job Experience Intern @ xyz company Side Projects Built active directory homelab for testing attacks and how to defend agaisnt them Volunteer at Wild West Hacking Fest Deadwood Released open source tool XYZ on github - Link to tool Certifications &amp;amp;amp; Accomplishment CompTIA Security&#43; Tryhackme top 1% - Link to Tryhackme profile XYZ ctf 3rd place winner - Link to CTF Cybersecurity club memeber ">
<meta property="og:url" content="https://grahamhelton.com/blog/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2022-10-08T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../">Graham Helton</a>
</div>
<div class="">
<a href="../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Homepage Title </h1>
<a href="https://grahamhelton.com/blog/sampleblog/"> December 6, 2021 | Blog title: researching the XYZ</a>
<br>
<code>//</code> Short description of post.
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Homepage Title on Graham Helton</title>
<link>https://grahamhelton.com/blog/</link>
<description>Recent content in Homepage Title on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sat, 08 Oct 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/blog/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Blog title: researching the XYZ</title>
<link>https://grahamhelton.com/blog/sampleblog/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/blog/sampleblog/</guid>
<description>Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/blog/</title>
<link rel="canonical" href="https://grahamhelton.com/blog/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/blog/">
</head>
</html>

@ -0,0 +1,213 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="Blog title: researching the XYZ &middot; Graham Helton">
<meta property="og:description" content="Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.">
<meta property="og:url" content="https://grahamhelton.com/blog/sampleblog/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2021-12-06T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">Blog title: researching the XYZ</h1>
<p> Short description of post. </p>
<p>Published: December 6, 2021</p>
<p>Reading Time: 5 minutes <p>
<div class="blog__details">
<div class="blog__info">
</div>
</div>
<div class="content">
<h1 id="title">Title</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.</p>
<h1 id="title-1">Title</h1>
<p>In vel sapien a justo condimentum finibus. Fusce non magna a leo suscipit fringilla nec in magna. Vestibulum viverra dapibus magna in placerat. Pellentesque sed sodales ex. Vivamus blandit eu justo ac luctus. Etiam nec tellus molestie, suscipit velit ut, lacinia velit. Quisque libero tellus, hendrerit ac dignissim et, faucibus ac nulla. Vestibulum finibus posuere varius. Maecenas finibus est non egestas aliquet. Cras venenatis metus sed iaculis fermentum. In ipsum dui, sagittis ac augue id, feugiat bibendum dui. Sed pellentesque orci orci, quis mollis massa tempor mattis.</p>
<div class="highlight"><pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-python" data-lang="python"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 1</span><span><span style="color:#928374;font-style:italic">#! /bin/python3.10</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 2</span><span><span style="color:#fe8019">import</span> re
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 3</span><span><span style="color:#fe8019">import</span> requests
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 4</span><span><span style="color:#fe8019">import</span> os
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 5</span><span><span style="color:#fe8019">from</span> os.path <span style="color:#fe8019">import</span> exists
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 6</span><span><span style="color:#fe8019">from</span> bs4 <span style="color:#fe8019">import</span> BeautifulSoup
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 7</span><span><span style="color:#fe8019">from</span> colorama <span style="color:#fe8019">import</span> Fore, Style
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 8</span><span>company_list <span style="color:#fe8019">=</span> [<span style="color:#b8bb26">&#39;scythe&#39;</span>,<span style="color:#b8bb26">&#39;dragos&#39;</span>]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 9</span><span>company_url <span style="color:#fe8019">=</span> {<span style="color:#b8bb26">&#39;scythe&#39;</span>:<span style="color:#b8bb26">&#39;https://www.scythe.io/about/careers&#39;</span>,<span style="color:#b8bb26">&#39;dragos&#39;</span>:<span style="color:#b8bb26">&#39;https://jobs.lever.co/dragos&#39;</span>}
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 10</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 11</span><span><span style="color:#928374;font-style:italic"># Define formatting</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 12</span><span>reset <span style="color:#fe8019">=</span> Style<span style="color:#fe8019">.</span>RESET_ALL
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 13</span><span>green <span style="color:#fe8019">=</span> Fore<span style="color:#fe8019">.</span>GREEN
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 14</span><span>purple <span style="color:#fe8019">=</span> Fore<span style="color:#fe8019">.</span>MAGENTA
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 15</span><span>sep <span style="color:#fe8019">=</span> Fore<span style="color:#fe8019">.</span>BLUE <span style="color:#fe8019">+</span> <span style="color:#b8bb26">&#34;---------------------------&#34;</span> <span style="color:#fe8019">+</span> reset
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 16</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 17</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">get_format</span>(response,company_name):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 18</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Return the HTML attribute needed for each site&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 19</span><span> match company_name:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 20</span><span> case <span style="color:#b8bb26">&#34;scythe&#34;</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 21</span><span> soup <span style="color:#fe8019">=</span> BeautifulSoup(response<span style="color:#fe8019">.</span>text, <span style="color:#b8bb26">&#39;html.parser&#39;</span>)<span style="color:#fe8019">.</span>findAll(<span style="color:#b8bb26">&#34;h3&#34;</span>,attrs<span style="color:#fe8019">=</span>{<span style="color:#b8bb26">&#34;id&#34;</span>: <span style="color:#b8bb26">&#34;w-node-_6a3848d7-bd9c-4061-be22-05d0c32b7a82-c32b7a81&#34;</span>})
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 22</span><span> <span style="color:#fe8019">return</span> soup
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 23</span><span> case <span style="color:#b8bb26">&#34;dragos&#34;</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 24</span><span> soup <span style="color:#fe8019">=</span> BeautifulSoup(response<span style="color:#fe8019">.</span>text, <span style="color:#b8bb26">&#39;html.parser&#39;</span>)<span style="color:#fe8019">.</span>findAll(<span style="color:#b8bb26">&#34;h5&#34;</span>,attrs<span style="color:#fe8019">=</span>{<span style="color:#b8bb26">&#34;data-qa&#34;</span>: <span style="color:#b8bb26">&#34;posting-name&#34;</span>})
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 25</span><span> <span style="color:#fe8019">return</span> soup
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 26</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 27</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">parse</span>(posting_location,company_name):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 28</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Issue the HTML request for job posting page&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 29</span><span> <span style="color:#928374;font-style:italic"># Issue request to scyhte careers page </span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 30</span><span> response <span style="color:#fe8019">=</span> requests<span style="color:#fe8019">.</span>get(posting_location,company_name)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 31</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 32</span><span> <span style="color:#928374;font-style:italic"># Get the format of the specific site to parse</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 33</span><span> parsed_response <span style="color:#fe8019">=</span> get_format(response,company_name)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 34</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 35</span><span> <span style="color:#fe8019">return</span> parsed_response
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 36</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 37</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">parse_html</span>(html_response):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 38</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Takes list of HTML strings and parses them to contain just the job posting&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 39</span><span> <span style="color:#928374;font-style:italic"># for each job posting</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 40</span><span> postings_list <span style="color:#fe8019">=</span> []
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 41</span><span> <span style="color:#fe8019">for</span> i <span style="color:#fe8019">in</span> html_response:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 42</span><span> <span style="color:#928374;font-style:italic"># Remove HTML from job posting </span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 43</span><span> postings_list<span style="color:#fe8019">.</span>append(re<span style="color:#fe8019">.</span>sub(<span style="color:#b8bb26">&#39;&lt;[^&lt;]+?&gt;&#39;</span>, <span style="color:#b8bb26">&#39;&#39;</span>, <span style="color:#fabd2f">str</span>(i)))
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 44</span><span> <span style="color:#fe8019">return</span> postings_list
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 45</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 46</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">get_new</span>(postings_list,old_list,company_name):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 47</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Get the difference in the new job postings and the old ones&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 48</span><span> new_post <span style="color:#fe8019">=</span> <span style="color:#fabd2f">list</span>(<span style="color:#fabd2f">set</span>(postings_list) <span style="color:#fe8019">-</span> <span style="color:#fabd2f">set</span>(old_list)) <span style="color:#fe8019">+</span> <span style="color:#fabd2f">list</span>(<span style="color:#fabd2f">set</span>(old_list) <span style="color:#fe8019">-</span> <span style="color:#fabd2f">set</span>(postings_list))
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 49</span><span> path <span style="color:#fe8019">=</span> <span style="color:#b8bb26">&#39;./data/&#39;</span><span style="color:#fe8019">+</span>company_name
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 50</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 51</span><span> <span style="color:#928374;font-style:italic"># Save job posting to file</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 52</span><span> <span style="color:#fe8019">with</span> <span style="color:#fabd2f">open</span>(path, <span style="color:#b8bb26">&#39;w&#39;</span>) <span style="color:#fe8019">as</span> f:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 53</span><span> <span style="color:#fe8019">for</span> listing <span style="color:#fe8019">in</span> postings_list:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 54</span><span> f<span style="color:#fe8019">.</span>write(<span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">%s</span><span style="color:#b8bb26"> </span><span style="color:#b8bb26">\n</span><span style="color:#b8bb26">&#34;</span> <span style="color:#fe8019">%</span> listing)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 55</span><span> <span style="color:#fe8019">if</span> new_post:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 56</span><span> <span style="color:#fe8019">return</span> company_name,new_post
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 57</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 58</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">get_old</span>(company_name):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 59</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Get the previous job postings and add them to a list&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 60</span><span> <span style="color:#928374;font-style:italic"># If data file does not exist, create it</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 61</span><span> path <span style="color:#fe8019">=</span> <span style="color:#b8bb26">&#39;./data/&#39;</span><span style="color:#fe8019">+</span>company_name
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 62</span><span> <span style="color:#fe8019">if</span> <span style="color:#fe8019">not</span> exists(path):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 63</span><span> <span style="color:#fabd2f">open</span>(path, <span style="color:#b8bb26">&#39;a&#39;</span>)<span style="color:#fe8019">.</span>close()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 64</span><span> <span style="color:#fe8019">with</span> <span style="color:#fabd2f">open</span>(path) <span style="color:#fe8019">as</span> file:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 65</span><span> lines <span style="color:#fe8019">=</span> file<span style="color:#fe8019">.</span>readlines()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 66</span><span> old_list <span style="color:#fe8019">=</span> []
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 67</span><span> <span style="color:#fe8019">for</span> i <span style="color:#fe8019">in</span> lines:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 68</span><span> <span style="color:#928374;font-style:italic"># for each job posting, strip out the characters we don&#39;t need </span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 69</span><span> old_list<span style="color:#fe8019">.</span>append(i<span style="color:#fe8019">.</span>rstrip())
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 70</span><span> <span style="color:#fe8019">return</span> old_list
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 71</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 72</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">print_results</span>(company_name,new_post):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 73</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;print the job postings&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 74</span><span> company_name <span style="color:#fe8019">=</span> <span style="color:#fabd2f">str</span>(new_post[<span style="color:#d3869b">0</span>])<span style="color:#fe8019">.</span>upper()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 75</span><span> <span style="color:#fabd2f">print</span>(<span style="color:#b8bb26">f</span><span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">{</span>green<span style="color:#b8bb26">}{</span>company_name<span style="color:#b8bb26">}</span><span style="color:#b8bb26"> has new job postings!&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 76</span><span> <span style="color:#fabd2f">print</span>(sep)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 77</span><span> new_post <span style="color:#fe8019">=</span> new_post[<span style="color:#d3869b">1</span>:]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 78</span><span> job_postings <span style="color:#fe8019">=</span> <span style="color:#fabd2f">list</span>(new_post)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 79</span><span> <span style="color:#fe8019">for</span> i <span style="color:#fe8019">in</span> job_postings:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 80</span><span> <span style="color:#fabd2f">print</span>(<span style="color:#b8bb26">f</span><span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">{</span>purple<span style="color:#b8bb26">}</span><span style="color:#b8bb26">&#34;</span>,<span style="color:#fe8019">*</span>i,sep<span style="color:#fe8019">=</span><span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">\n</span><span style="color:#b8bb26">&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 81</span><span> <span style="color:#fabd2f">print</span>(sep)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 82</span><span> <span style="color:#fe8019">pass</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 83</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 84</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">select_company</span>():
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 85</span><span> <span style="color:#b8bb26">&#39;&#39;&#39;Select the company passed in list and then call the function required for that specific job&#39;&#39;&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 86</span><span> <span style="color:#928374;font-style:italic"># Get the company name from the index number passed in through the function</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 87</span><span> <span style="color:#fe8019">for</span> company <span style="color:#fe8019">in</span> <span style="color:#fabd2f">range</span>(<span style="color:#fabd2f">len</span>(company_list)):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 88</span><span> company_name <span style="color:#fe8019">=</span> <span style="color:#fabd2f">list</span>(company_url<span style="color:#fe8019">.</span>keys())[company]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 89</span><span> posting_location <span style="color:#fe8019">=</span> <span style="color:#fabd2f">list</span>(company_url<span style="color:#fe8019">.</span>values())[company]
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 90</span><span> html_response <span style="color:#fe8019">=</span> parse(posting_location,company_name)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 91</span><span> old_list <span style="color:#fe8019">=</span> get_old(company_name)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 92</span><span> postings_list <span style="color:#fe8019">=</span> parse_html(html_response)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 93</span><span> new_post <span style="color:#fe8019">=</span> get_new(postings_list,old_list,company_name)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 94</span><span> <span style="color:#fe8019">if</span> new_post:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 95</span><span> print_results(company_name,new_post)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 96</span><span> <span style="color:#fe8019">else</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 97</span><span> <span style="color:#fabd2f">print</span>(<span style="color:#b8bb26">f</span><span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">{</span>green<span style="color:#b8bb26">}{</span>company_name<span style="color:#b8bb26">}{</span>purple<span style="color:#b8bb26">}</span><span style="color:#b8bb26"> has no new job postings&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 98</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59"> 99</span><span><span style="color:#fabd2f">print</span>(<span style="color:#b8bb26">f</span><span style="color:#b8bb26">&#34;</span><span style="color:#b8bb26">{</span>green<span style="color:#b8bb26">}</span><span style="color:#b8bb26">Ear2Ground:</span><span style="color:#b8bb26">{</span>purple<span style="color:#b8bb26">}</span><span style="color:#b8bb26"> A Program to help you keep tabs on the job postings of infosec companies&#34;</span>)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">100</span><span><span style="color:#fabd2f">print</span>(sep)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">101</span><span><span style="color:#fe8019">def</span> <span style="color:#fabd2f">main</span>():
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">102</span><span> path <span style="color:#fe8019">=</span> <span style="color:#b8bb26">&#39;./data/&#39;</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">103</span><span> <span style="color:#fe8019">if</span> <span style="color:#fe8019">not</span> os<span style="color:#fe8019">.</span>path<span style="color:#fe8019">.</span>exists(path):
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">104</span><span> os<span style="color:#fe8019">.</span>makedirs(path)
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">105</span><span> select_company()
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">106</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">107</span><span><span style="color:#fe8019">if</span> __name__ <span style="color:#fe8019">==</span> <span style="color:#b8bb26">&#34;__main__&#34;</span>:
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">108</span><span> main()
</span></span></code></pre></div><p>Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nunc aliquam, urna a ultricies dictum, mi arcu commodo eros, dictum vulputate leo magna ac orci. Quisque ultricies molestie nibh, eget sagittis est commodo ut. Cras fermentum, lectus eu interdum rhoncus, erat tortor aliquam velit, eu iaculis purus ex sed lorem. Nunc maximus nisi eu mauris ultricies, non placerat nisl fringilla. Quisque dignissim tellus enim, ut faucibus diam iaculis sit amet. Aenean vestibulum et nunc tempor elementum. Mauris vel augue id justo tempor euismod. Nunc elementum vulputate ante sit amet pulvinar. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Fusce vitae faucibus lectus.</p>
<ol>
<li>This</li>
<li>Is</li>
<li>A</li>
<li>List</li>
</ol>
<h2 id="smaller-title-2">Smaller Title 2</h2>
<ul>
<li>This</li>
<li>Is</li>
<li>Also</li>
<li>A</li>
<li>List</li>
</ul>
<p>Sed imperdiet metus at porta blandit. Proin aliquet fringilla fringilla. In eu mi tempus, condimentum leo in, fermentum purus. Fusce eget dignissim quam. Nulla faucibus elit vel ligula laoreet tempor. Phasellus sed magna velit. Donec at euismod mi. Cras suscipit interdum ligula.</p>
<blockquote>
<p>This is a block quote. Groovy.</p>
</blockquote>
<p>In ac euismod diam, quis vehicula tellus. Duis mollis, nulla quis egestas congue, eros enim tempor urna, ac pretium elit mi quis nulla. Nunc id vestibulum felis. Aliquam quis massa at dui posuere mattis. Curabitur fermentum rutrum nisl, nec hendrerit velit vestibulum ut. Donec varius euismod ex, eget lacinia odio scelerisque eget. Cras posuere, massa tincidunt tristique semper, tellus felis porta lorem, eu pulvinar velit lacus sit amet orci. Ut finibus dolor ac lectus tristique, non condimentum justo tristique. Pellentesque consectetur mollis tincidunt. Praesent dapibus, dui sed rhoncus luctus, erat ligula posuere eros, quis ullamcorper justo leo id tellus.</p>
</div>
</div>
</article>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Categories &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/categories/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../">Graham Helton</a>
</div>
<div class="">
<a href="../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1>Categories</h1>
<section>
<ul id="all-taxonomies">
<ul>
</ul>
</li>
<ul>
<h1>homelab</h1>
<ul>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
<h1>research</h1>
<ul>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
<h1>roundup</h1>
<ul>
<li hugo-nav="/roundup/roundup1/">
<a href="https://grahamhelton.com/roundup/roundup1/">Weekly Roundup #1: December 12-19th 2021</a>
</li>
</ul>
<h1>security</h1>
<ul>
<li hugo-nav="/roundup/roundup1/">
<a href="https://grahamhelton.com/roundup/roundup1/">Weekly Roundup #1: December 12-19th 2021</a>
</li>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Categories on Graham Helton</title>
<link>https://grahamhelton.com/categories/</link>
<description>Recent content in Categories on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator><atom:link href="https://grahamhelton.com/categories/index.xml" rel="self" type="application/rss+xml" />
</channel>
</rss>

@ -0,0 +1,161 @@
body {
background-color: #171717;
color: #fff;
line-height: 1.5;
padding: 0em 2rem;
margin: .6rem 0 1.0rem 0;
font-family: Inconsolata;
font-size: 1rem;
font-weight: 400;
}
.content {
margin: .6rem 0 1.0rem 0;
max-width: {{ .Param "style.pageWidth" | default "900px;" }};
}
h1, h2, h3, h4, h5, h6 {
color: #fcf9de;
font-size: large;
font-weight: bold;
border-bottom: solid #202020 1px;
}
article{
max-width: 900px;
margin: auto;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #ebe6d5;
}
.navbar{
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
max-width: 900px;
margin: auto;
}
.navbar__right{
display: flex;
}
a{
text-decoration: none !important;
color: black;
color: #689d6a;
}
.navbar__right a{
font-size: 14px;
margin-right: 10px;
transition: all 100ms;
}
.navbar__right a:hover{
text-decoration: underline;
font-weight: bold;
}
main{
max-width: {{ .Param "style.pageWidth" | default "900px;" }};
max-width: 900px;
margin: auto;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #c2c2c2;
}
.author-image{
object-fit: cover;
border-radius: 50%;
width: 48px;
height: 48px;
}
.blog__title{
font-size: 32px !important;
font-weight: bolder;
}
.blog__details{
display: flex;
align-items: center;
}
.blog__info{
margin-left: 20px;
flex: 1;
}
.blog__info p{
margin-block-start: 2px;
margin-block-end: 2px;
font-size: 14px;
}
.blog__image > img{
height: auto;
width: 100%;
object-fit: contain;
margin: 10px 0;
}
.blog__categories{
display: flex;
align-items: center;
}
.category{
padding: 5px 5px;
background: #f07979;
font-size: 12px;
border-radius: 5px;
width: auto;
margin-right: 5px;
}
.category a{
color: #fff;
}
.content img{
height: auto;
width: 100%;
object-fit: contain;
margin: 10px 0;
}
blockquote {
border-left: 4px solid;
font-style: italic;
margin: $y-medium 0;
padding: 8px 8px;
}
code {
color: #83a598;
background-color: #171717;
padding: 0px 4px;
font-style: italic;
}
pre code{
white-space:pre-wrap !important;
all: unset;
}
.highlight {
margin: 0rem 1rem;
background-color: #000;
}
.highlight pre {
background-color: #171717 !important;
padding: 1.5rem;
}
.footer_class {
margin: auto;
margin-top: 10rem;
text-align: center;
max-width: 900px;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #ebe6d5;
bottom: 0%;
}
.page-select{
color: #696969;
}

@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="./css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Graham Helton">
<meta property="og:description" content="Graham Helton">
<meta property="og:url" content="https://grahamhelton.com/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2022-10-08T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="./">Graham Helton</a>
</div>
<div class="">
<a href="./roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="./pages/">Other</a>
</div>
</nav>
</header>
<main>
<p>Brief &ldquo;about you&rdquo; section.</p>
<h1 id="education">Education</h1>
<ul>
<li>Bachelors of Science in Cybersecurity (current)</li>
</ul>
<h1 id="job-experience">Job Experience</h1>
<ul>
<li>Intern @ xyz company</li>
</ul>
<h1 id="side-projects">Side Projects</h1>
<ul>
<li>Built active directory homelab for testing attacks and how to defend agaisnt them</li>
<li>Volunteer at Wild West Hacking Fest Deadwood</li>
<li>Released open source tool XYZ on github - <a href="">Link to tool</a></li>
</ul>
<h1 id="certifications--accomplishment">Certifications &amp; Accomplishment</h1>
<ul>
<li>CompTIA Security+</li>
<li>Tryhackme top 1% - <a href="">Link to Tryhackme profile</a></li>
<li>XYZ ctf 3rd place winner - <a href="">Link to CTF</a></li>
<li>Cybersecurity club memeber</li>
</ul>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Homepage Title on Graham Helton</title>
<link>https://grahamhelton.com/</link>
<description>Recent content in Homepage Title on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sat, 08 Oct 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Social Links</title>
<link>https://grahamhelton.com/pages/links/</link>
<pubDate>Sun, 06 Nov 2022 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/pages/links/</guid>
<description>Social Media Links Email -&amp;gt; your(at)email@provider.com
Mastodon -&amp;gt; This is where the cool infosec people hang out. :)
Twitter -&amp;gt; I check my DM&amp;rsquo;s fairly often.
Linkedin -&amp;gt; I check my DM&amp;rsquo;s everyone once and a while.
Youtube -&amp;gt; Sometimes I post things that I&amp;rsquo;m working on.
Blog -&amp;gt; Research and long form content.
Roundup -&amp;gt; Weekly &amp;ldquo;What have I been working on&amp;rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees.</description>
</item>
<item>
<title>Weekly Roundup #1: December 12-19th 2021</title>
<link>https://grahamhelton.com/roundup/roundup1/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/roundup/roundup1/</guid>
<description>What is this? This is the first of a weekly &amp;ldquo;round up&amp;rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques.</description>
</item>
<item>
<title>Blog title: researching the XYZ</title>
<link>https://grahamhelton.com/blog/sampleblog/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/blog/sampleblog/</guid>
<description>Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.</description>
</item>
</channel>
</rss>

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Homepage Title &middot; Graham Helton">
<meta property="og:description" content="Brief &amp;amp;ldquo;about you&amp;amp;rdquo; section.
Education Bachelors of Science in Cybersecurity (current) Job Experience Intern @ xyz company Side Projects Built active directory homelab for testing attacks and how to defend agaisnt them Volunteer at Wild West Hacking Fest Deadwood Released open source tool XYZ on github - Link to tool Certifications &amp;amp;amp; Accomplishment CompTIA Security&#43; Tryhackme top 1% - Link to Tryhackme profile XYZ ctf 3rd place winner - Link to CTF Cybersecurity club memeber ">
<meta property="og:url" content="https://grahamhelton.com/pages/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2022-10-08T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../">Graham Helton</a>
</div>
<div class="">
<a href="../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Homepage Title </h1>
<a href="https://grahamhelton.com/pages/links/"> November 6, 2022 | Social Links</a>
<br>
<code>//</code> A collection of links to my social media accounts and pages
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Homepage Title on Graham Helton</title>
<link>https://grahamhelton.com/pages/</link>
<description>Recent content in Homepage Title on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sat, 08 Oct 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/pages/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Social Links</title>
<link>https://grahamhelton.com/pages/links/</link>
<pubDate>Sun, 06 Nov 2022 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/pages/links/</guid>
<description>Social Media Links Email -&amp;gt; your(at)email@provider.com
Mastodon -&amp;gt; This is where the cool infosec people hang out. :)
Twitter -&amp;gt; I check my DM&amp;rsquo;s fairly often.
Linkedin -&amp;gt; I check my DM&amp;rsquo;s everyone once and a while.
Youtube -&amp;gt; Sometimes I post things that I&amp;rsquo;m working on.
Blog -&amp;gt; Research and long form content.
Roundup -&amp;gt; Weekly &amp;ldquo;What have I been working on&amp;rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees.</description>
</item>
</channel>
</rss>

@ -0,0 +1,94 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="Social Links &middot; Graham Helton">
<meta property="og:description" content="Social Media Links Email -&amp;amp;gt; your(at)email@provider.com
Mastodon -&amp;amp;gt; This is where the cool infosec people hang out. :)
Twitter -&amp;amp;gt; I check my DM&amp;amp;rsquo;s fairly often.
Linkedin -&amp;amp;gt; I check my DM&amp;amp;rsquo;s everyone once and a while.
Youtube -&amp;amp;gt; Sometimes I post things that I&amp;amp;rsquo;m working on.
Blog -&amp;amp;gt; Research and long form content.
Roundup -&amp;amp;gt; Weekly &amp;amp;ldquo;What have I been working on&amp;amp;rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees.">
<meta property="og:url" content="https://grahamhelton.com/pages/links/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="[/libraryCard.png]">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2022-11-06T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">Social Links</h1>
<p> A collection of links to my social media accounts and pages </p>
<p>Published: November 6, 2022</p>
<p>Reading Time: 1 minute <p>
<div class="blog__details">
<div class="blog__info">
</div>
</div>
<div class="content">
<h1 id="social-media-links">Social Media Links</h1>
<p><strong>Email</strong> -&gt; your(at)email@provider.com</p>
<p><a href="">Mastodon</a> -&gt; This is where the cool infosec people hang out. :)</p>
<p><a href="">Twitter</a> -&gt; I check my DM&rsquo;s fairly often.</p>
<p><a href="">Linkedin</a> -&gt; I check my DM&rsquo;s everyone once and a while.</p>
<p><a href="">Youtube</a> -&gt; Sometimes I post things that I&rsquo;m working on.</p>
<p><a href="">Blog</a> -&gt; Research and long form content.</p>
<p><a href="">Roundup</a> -&gt; Weekly &ldquo;What have I been working on&rdquo; geared toward helping people see what they can do to get experience without paying for certs/degrees.</p>
</div>
</div>
</article>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/pages/</title>
<link rel="canonical" href="https://grahamhelton.com/pages/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/pages/">
</head>
</html>

@ -0,0 +1,75 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Weekly Roundups &middot; Graham Helton">
<meta property="og:description" content="Brief &amp;amp;ldquo;about you&amp;amp;rdquo; section.
Education Bachelors of Science in Cybersecurity (current) Job Experience Intern @ xyz company Side Projects Built active directory homelab for testing attacks and how to defend agaisnt them Volunteer at Wild West Hacking Fest Deadwood Released open source tool XYZ on github - Link to tool Certifications &amp;amp;amp; Accomplishment CompTIA Security&#43; Tryhackme top 1% - Link to Tryhackme profile XYZ ctf 3rd place winner - Link to CTF Cybersecurity club memeber ">
<meta property="og:url" content="https://grahamhelton.com/roundup/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2022-10-08T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../">Graham Helton</a>
</div>
<div class="">
<a href="../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Weekly Roundups </h1>
<a href="https://grahamhelton.com/roundup/roundup1/"> December 19, 2021 | Weekly Roundup #1: December 12-19th 2021</a>
<br>
<code>//</code> The first roundup!
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Weekly Roundups on Graham Helton</title>
<link>https://grahamhelton.com/roundup/</link>
<description>Recent content in Weekly Roundups on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sat, 08 Oct 2022 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/roundup/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Weekly Roundup #1: December 12-19th 2021</title>
<link>https://grahamhelton.com/roundup/roundup1/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/roundup/roundup1/</guid>
<description>What is this? This is the first of a weekly &amp;ldquo;round up&amp;rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/roundup/</title>
<link rel="canonical" href="https://grahamhelton.com/roundup/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/roundup/">
</head>
</html>

@ -0,0 +1,176 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="article">
<meta property="og:title" content="Weekly Roundup #1: December 12-19th 2021 &middot; Graham Helton">
<meta property="og:description" content="What is this? This is the first of a weekly &amp;amp;ldquo;round up&amp;amp;rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques.">
<meta property="og:url" content="https://grahamhelton.com/roundup/roundup1/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<meta property="article:published_time" content="2021-12-19T00:00:00Z">
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">Weekly Roundup #1: December 12-19th 2021</h1>
<p> The first roundup! </p>
<p>Published: December 19, 2021</p>
<p>Reading Time: 3 minutes <p>
<div class="blog__details">
<div class="blog__info">
</div>
</div>
<div class="content">
<h1 id="what-is-this">What is this?</h1>
<p>This is the first of a weekly &ldquo;round up&rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a <em>footprint</em> for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques. Some weeks will have have more content than others depending on the amount of free time I have.</p>
<h1 id="12122021">12/12/2021</h1>
<ul>
<li>Went over SANS GSEC certification notes</li>
<li>Spent entirely too long getting <a href="http://git.grahamhelton.com">git.grahamhelton.com</a> and <a href="http://twitter.grahamhelton.com">twitter.grahamhelton.com</a> to point to my twitter and github using DNS&hellip;</li>
<li>Rebuilt homelab into a snazzy new case.</li>
</ul>
<p><img src="../../Pasted-image-20211214203659.png" alt=""></p>
<ul>
<li>Compiled some information about how to get started with docker to go through once I finish my SANS GSEC material</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">1</span><span><span style="color:#928374;font-style:italic"># Docker learning resources</span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">2</span><span>https://www.youtube.com/watch?v<span style="color:#fe8019">=</span>wCTTHhehJbU
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">3</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">4</span><span>https://www.youtube.com/watch?v<span style="color:#fe8019">=</span>3c-iBn73dDE&amp;feature<span style="color:#fe8019">=</span>youtu.be
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">5</span><span>
</span></span><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">6</span><span>https://www.youtube.com/watch?v<span style="color:#fe8019">=</span>MnUtHSpcdLQ&amp;feature<span style="color:#fe8019">=</span>youtu.be
</span></span></code></pre></div><h1 id="12132021">12/13/2021</h1>
<ul>
<li>Watched Black hills information security&rsquo;s <a href="https://www.youtube.com/watch?v=igoDXnkYDy8">emergency log4j webcast</a></li>
<li>Studied SANS GSEC notes</li>
<li>Spent forever researching <a href="https://searx.github.io/searx/">searx</a> and borking installs.</li>
<li>Fiddled with my <a href="https://level99cooking.com">recipe website</a> to fix some formatting issues.</li>
</ul>
<h1 id="12142021">12/14/2021</h1>
<ul>
<li>Studied SANS GSEC notes</li>
<li>Fixed searx install from previous day</li>
<li>Wrote <a href="https://www.grahamhelton.com/blog/searx/">Thou Shall Not Snoop Our Searches - Searx Installation and Discussion</a></li>
<li>Added some android VMs to my lab for future projects</li>
</ul>
<h1 id="12152021">12/15/2021</h1>
<ul>
<li>
<p>Discovered <a href="https://danielmiessler.com/podcast/">Unsupervised Learning</a> by <a href="https://twitter.com/DanielMiessler">Daniel Miessler</a></p>
</li>
<li>
<p>Watched <a href="https://www.youtube.com/watch?v=7LXfBSuaFFE">A Tale of Two Johns (John hammond and John strand interview)</a></p>
</li>
<li>
<p>Set up rsyslog server in my home lab via <a href="https://www.techrepublic.com/article/how-to-install-and-configure-rsyslog-for-a-centralized-linux-log-server/">this tutorial</a> (This was very easy)</p>
<ul>
<li>Noticed some weird things going on in my network. The first being some very strange pings every few minutes to some random IPs. After some researching I found a reddit post where someone described the same problem. Looks like its a part of <a href="https://github.com/pia-foss/desktop/blob/master/daemon/src/latencytracker.cpp#L64-L101">PIA&rsquo;s code</a> to check the latency to their servers.</li>
</ul>
<p><img src="../../Pasted-image-20211215161851.png" alt=""></p>
<ul>
<li>Noticed UFW was blocking some more traffic that happened to beacon every 2 minutes and 6 seconds&hellip;
<img src="../../Pasted-image-20211215162540.png" alt=""></li>
</ul>
</li>
<li>
<p>Investigated further with wireshark and found out it was an IGMP query packet to refresh the IPs of multicast group memberships. This was sent out by my router.</p>
</li>
</ul>
<div class="highlight"><pre tabindex="0" style="color:#ebdbb2;background-color:#282828;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"><code class="language-bash" data-lang="bash"><span style="display:flex;"><span style="white-space:pre;user-select:none;margin-right:0.4em;padding:0 0.4em 0 0.4em;color:#756d59">1</span><span>sudo tcpdump -i &lt;interface&gt; -s <span style="color:#d3869b">65535</span> -w sketchy.pcap
</span></span></code></pre></div><ul>
<li>Added <a href="https://github.com/grahamhelton/smallscripts/blob/main/pushRsyslog.sh">pushRsyslog.sh</a> to my <a href="https://github.com/grahamhelton/smallscripts">smallScripts github repot</a></li>
</ul>
<h1 id="12162021">12/16/2021</h1>
<ul>
<li>Listened to <a href="https://www.inteltechniques.com/podcast.html">The Privacy, Security, and OSINT show</a> episodes 242 and 243</li>
<li>Discovered <a href="https://privacy.sexy/">Privacy.sexy</a> which is a collection of scripts to disable windows / mac features that reduce privacy</li>
<li>Verified with PIA VPN that they do send out pings to all their servers every couple minutes to &ldquo;verify connectivity&rdquo; (This still makes me feel uneasy&hellip;)</li>
</ul>
<p><img src="../../Pasted-image-20211219153745.png" alt=""></p>
<ul>
<li>Went over GSEC notes.</li>
</ul>
<h1 id="12172021">12/17/2021</h1>
<ul>
<li>Studied GSEC
<ul>
<li>Finished indexing GSEC books</li>
</ul>
</li>
<li>Formally accepted the agreement for the SANS Masters degree program (🎉 🎉🎉)</li>
</ul>
<h1 id="12182021">12/18/2021</h1>
<ul>
<li>Got sick :/</li>
<li>Binged like 20 <a href="https://www.youtube.com/c/JohnHammond010">John Hammond videos</a></li>
<li>Learned a little bit about <a href="https://www.youtube.com/watch?v=l44z35vabvA&amp;t">web3</a>, <a href="https://docs.filecoin.io/about-filecoin/what-is-filecoin/#for-users">filecoin</a>, and <a href="https://www.youtube.com/watch?v=5Uj6uR3fp-U&amp;t">IPFS</a></li>
</ul>
<h1 id="12192021">12/19/2021</h1>
<ul>
<li>Listened to <a href="https://darknetdiaries.com/episode/106/">darknet diaries #106</a></li>
<li>Published this round-up</li>
<li>Began looking for some open source asset management tool.
<ul>
<li><a href="https://twitter.com/snipeyhead">@snipeyhead</a> on twitter linked me to <a href="https://snipeitapp.com/">snipe-it</a></li>
</ul>
</li>
</ul>
<h1 id="have-any-questions">Have any questions</h1>
<p>Do you have any questions? Feel free to <a href="http://twitter.grahamhelton.com">reach out to me on twitter</a>. See you next Sunday. :)</p>
</div>
</div>
</article>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,43 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>https://grahamhelton.com/pages/links/</loc>
<lastmod>2022-11-06T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/</loc>
<lastmod>2022-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/blog/</loc>
<lastmod>2022-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/pages/</loc>
<lastmod>2022-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/roundup/</loc>
<lastmod>2022-10-08T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/tags/roundup/</loc>
<lastmod>2021-12-19T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/tags/security/</loc>
<lastmod>2021-12-19T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/tags/</loc>
<lastmod>2021-12-19T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/roundup/roundup1/</loc>
<lastmod>2021-12-19T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/blog/sampleblog/</loc>
<lastmod>2021-12-06T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/tags/homelab/</loc>
<lastmod>2021-12-06T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/tags/research/</loc>
<lastmod>2021-12-06T00:00:00+00:00</lastmod>
</url><url>
<loc>https://grahamhelton.com/categories/</loc>
</url>
</urlset>

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Homelab &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/tags/homelab/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Homelab </h1>
<a href="https://grahamhelton.com/blog/sampleblog/"> December 6, 2021 | Blog title: researching the XYZ</a>
<br>
<code>//</code> Short description of post.
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Homelab on Graham Helton</title>
<link>https://grahamhelton.com/tags/homelab/</link>
<description>Recent content in Homelab on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Mon, 06 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/tags/homelab/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Blog title: researching the XYZ</title>
<link>https://grahamhelton.com/blog/sampleblog/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/blog/sampleblog/</guid>
<description>Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/tags/homelab/</title>
<link rel="canonical" href="https://grahamhelton.com/tags/homelab/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/tags/homelab/">
</head>
</html>

@ -0,0 +1,124 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Tags &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/tags/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../">Graham Helton</a>
</div>
<div class="">
<a href="../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1>Tags</h1>
<section>
<ul id="all-taxonomies">
<ul>
</ul>
</li>
<ul>
<h1>homelab</h1>
<ul>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
<h1>research</h1>
<ul>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
<h1>roundup</h1>
<ul>
<li hugo-nav="/roundup/roundup1/">
<a href="https://grahamhelton.com/roundup/roundup1/">Weekly Roundup #1: December 12-19th 2021</a>
</li>
</ul>
<h1>security</h1>
<ul>
<li hugo-nav="/roundup/roundup1/">
<a href="https://grahamhelton.com/roundup/roundup1/">Weekly Roundup #1: December 12-19th 2021</a>
</li>
<li hugo-nav="/blog/sampleblog/">
<a href="https://grahamhelton.com/blog/sampleblog/">Blog title: researching the XYZ</a>
</li>
</ul>
</ul>
</li>
</ul>
</section>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,46 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Tags on Graham Helton</title>
<link>https://grahamhelton.com/tags/</link>
<description>Recent content in Tags on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sun, 19 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/tags/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Roundup</title>
<link>https://grahamhelton.com/tags/roundup/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/tags/roundup/</guid>
<description></description>
</item>
<item>
<title>Security</title>
<link>https://grahamhelton.com/tags/security/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/tags/security/</guid>
<description></description>
</item>
<item>
<title>Homelab</title>
<link>https://grahamhelton.com/tags/homelab/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/tags/homelab/</guid>
<description></description>
</item>
<item>
<title>Research</title>
<link>https://grahamhelton.com/tags/research/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/tags/research/</guid>
<description></description>
</item>
</channel>
</rss>

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Research &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/tags/research/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Research </h1>
<a href="https://grahamhelton.com/blog/sampleblog/"> December 6, 2021 | Blog title: researching the XYZ</a>
<br>
<code>//</code> Short description of post.
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Research on Graham Helton</title>
<link>https://grahamhelton.com/tags/research/</link>
<description>Recent content in Research on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Mon, 06 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/tags/research/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Blog title: researching the XYZ</title>
<link>https://grahamhelton.com/blog/sampleblog/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/blog/sampleblog/</guid>
<description>Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/tags/research/</title>
<link rel="canonical" href="https://grahamhelton.com/tags/research/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/tags/research/">
</head>
</html>

@ -0,0 +1,74 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Roundup &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/tags/roundup/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Roundup </h1>
<a href="https://grahamhelton.com/roundup/roundup1/"> December 19, 2021 | Weekly Roundup #1: December 12-19th 2021</a>
<br>
<code>//</code> The first roundup!
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Roundup on Graham Helton</title>
<link>https://grahamhelton.com/tags/roundup/</link>
<description>Recent content in Roundup on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sun, 19 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/tags/roundup/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Weekly Roundup #1: December 12-19th 2021</title>
<link>https://grahamhelton.com/roundup/roundup1/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/roundup/roundup1/</guid>
<description>What is this? This is the first of a weekly &amp;ldquo;round up&amp;rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/tags/roundup/</title>
<link rel="canonical" href="https://grahamhelton.com/tags/roundup/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/tags/roundup/">
</head>
</html>

@ -0,0 +1,82 @@
<!DOCTYPE html>
<html lang=""><link rel="stylesheet" href="../../css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="website">
<meta property="og:title" content="Security &middot; Graham Helton">
<meta property="og:description" content="">
<meta property="og:url" content="https://grahamhelton.com/tags/security/">
<meta property="og:site_name" content="Graham Helton">
<meta property="og:image" content="">
<meta property="og:image:secure_url" content="">
<script type="application/javascript">
var doNotTrack = false;
if (!doNotTrack) {
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-211014781-1', 'auto');
ga('send', 'pageview');
}
</script>
<body><header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="../../">Graham Helton</a>
</div>
<div class="">
<a href="../../roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="../../pages/">Other</a>
</div>
</nav>
</header>
<main>
<div class="container">
<h1> Security </h1>
<a href="https://grahamhelton.com/roundup/roundup1/"> December 19, 2021 | Weekly Roundup #1: December 12-19th 2021</a>
<br>
<code>//</code> The first roundup!
<br>
<br>
<a href="https://grahamhelton.com/blog/sampleblog/"> December 6, 2021 | Blog title: researching the XYZ</a>
<br>
<code>//</code> Short description of post.
<br>
<br>
</div>
</main>
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>
</body>
</html>

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
<title>Security on Graham Helton</title>
<link>https://grahamhelton.com/tags/security/</link>
<description>Recent content in Security on Graham Helton</description>
<generator>Hugo -- gohugo.io</generator>
<lastBuildDate>Sun, 19 Dec 2021 00:00:00 +0000</lastBuildDate><atom:link href="https://grahamhelton.com/tags/security/index.xml" rel="self" type="application/rss+xml" />
<item>
<title>Weekly Roundup #1: December 12-19th 2021</title>
<link>https://grahamhelton.com/roundup/roundup1/</link>
<pubDate>Sun, 19 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/roundup/roundup1/</guid>
<description>What is this? This is the first of a weekly &amp;ldquo;round up&amp;rdquo; that aims to summarize the security or IT related concepts I have worked on this week during my free time. My goal is to create a footprint for others to follow in if they so desire. When I was first learning the basics of security I struggled to find projects that I could work on to help me learn useful security practices and techniques.</description>
</item>
<item>
<title>Blog title: researching the XYZ</title>
<link>https://grahamhelton.com/blog/sampleblog/</link>
<pubDate>Mon, 06 Dec 2021 00:00:00 +0000</pubDate>
<guid>https://grahamhelton.com/blog/sampleblog/</guid>
<description>Title Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla eu sem viverra, blandit justo in, ullamcorper nisl. Aliquam maximus lorem et molestie pretium. In luctus facilisis eros id finibus. Nam ac lectus lacus. Nullam quis egestas risus. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Fusce id elit gravida sem gravida sollicitudin. Sed congue nulla elit, id cursus nibh viverra vitae.
Title In vel sapien a justo condimentum finibus.</description>
</item>
</channel>
</rss>

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>https://grahamhelton.com/tags/security/</title>
<link rel="canonical" href="https://grahamhelton.com/tags/security/">
<meta name="robots" content="noindex">
<meta charset="utf-8">
<meta http-equiv="refresh" content="0; url=https://grahamhelton.com/tags/security/">
</head>
</html>

@ -0,0 +1,20 @@
The MIT License (MIT)
Copyright (c) 2022 YOUR_NAME_HERE
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in
the Software without restriction, including without limitation the rights to
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
the Software, and to permit persons to whom the Software is furnished to do so,
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

@ -0,0 +1,31 @@
{{ define "main" }}
<link rel="stylesheet" href="/css/style.css" type="text/css" media="all" />
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">{{ .Title }} - Idk how you even got here</h1>
<div class="blog__details">
<div class="blog__info">
<p>
My bad. I guess while you're here, check out my latest blog post:
{{ range ( where .Site.RegularPages "Type" "blog" | first 1 ) }}
<a href="{{ .Permalink }}">{{ .Title }}</a>{{end}}
<br>
<p>
<br>
Other than that? I've got nothing for ya. Maybe go outside or something?
</p>
</div>
</div>
<div class="content">
{{ .Content }}
</div>
</div>
</article>
</section>
{{ end }}

@ -0,0 +1,12 @@
<!DOCTYPE html>
<html lang="{{ .Site.LanguageCode }}">
{{- partial "head.html" . -}}
<body>
{{- partial "header.html" . -}}
<main>
{{- block "main" . }}{{- end }}
</main>
{{- partial "footer.html" . -}}
</body>
</html>

@ -0,0 +1,17 @@
{{ define "main" }}
<div class="container">
<h1> {{ .Title }} </h1>
{{ range (.Paginate .RegularPagesRecursive).Pages }}
<a href="{{ .Permalink }}"> {{ .PublishDate.Format "January 2, 2006" }} | {{ .Title }}</a>
<br>
<code>//</code> {{ .Description }}
<br>
<br>
{{ end }}
</div>
{{- partial "pagination.html" . -}}
{{ end }}

@ -0,0 +1,24 @@
{{ define "main" }}
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">{{ .Title }}</h1>
<p> {{ .Description}} </p>
<p>Published: {{ .PublishDate.Format "January 2, 2006" }}</p>
<p>Reading Time: {{ .ReadingTime }} {{ if eq .ReadingTime 1 }} minute {{ else }} minutes {{ end }}<p>
<div class="blog__details">
<div class="blog__info">
</div>
</div>
<div class="content">
{{ .Content }}
</div>
</div>
</article>
{{ end }}

@ -0,0 +1,29 @@
{{ define "main" }}
<div class="container">
<h1>{{ .Title }}</h1>
<section>
<ul id="all-taxonomies">
{{ range $taxonomy_term, $taxonomy := .Site.Taxonomies }}
{{ with $.Site.GetPage (printf "/%s" $taxonomy_term) }}
<ul>
{{ range $key, $value := $taxonomy }}
<h1>{{ $key }}</h1>
<ul>
{{ range $value.Pages }}
<li hugo-nav="{{ .RelPermalink}}">
<a href="{{ .Permalink}}">{{ .LinkTitle }}</a>
</li>
{{ end }}
</ul>
{{ end }}
</ul>
</li>
{{ end }}
{{ end }}
</ul>
</section>
</div>
{{ end }}

@ -0,0 +1,23 @@
{{ define "main" }}
<section class="section">
<article>
<div class="blog__container">
<h1 class="blog__title">{{ .Title }}</h1>
<p> {{ .Description}} </p>
<p>Published: {{ .PublishDate.Format "January 2, 2006" }}</p>
<p>Reading Time: {{ .ReadingTime }} {{ if eq .ReadingTime 1 }} minute {{ else }} minutes {{ end }}<p>
<div class="blog__details">
<div class="blog__info">
</div>
</div>
<div class="content">
{{ .Content }}
</div>
</div>
</article>
{{ end }}

@ -0,0 +1,4 @@
{{ define "main" }}
{{ .Content }}
{{ end }}

@ -0,0 +1,10 @@
<footer>
<div class="footer_class">
<p>
<a href="https://grahamhelton.com/links" title="Reach out to me">Have Questions? Reach out to me.</a>
</p>
</div>
</footer>

@ -0,0 +1,15 @@
<link rel="stylesheet" href="/css/style.css" type="text/css" media="all" />
<meta property="og:locale" content="en_US">
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}">
<meta property="og:title" content="{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ .Title }} &middot; {{ .Site.Title }}{{ end }}">
<meta property="og:description" content="{{ if .IsHome }}{{ .Description }}{{ else }}{{ htmlEscape .Summary }}{{ end }}">
<meta property="og:url" content="{{ .Permalink }}">
<meta property="og:site_name" content="{{ .Site.Title }}">
<meta property="og:image" content="{{ .Params.images}}">
<meta property="og:image:secure_url" content="{{ .Params.featured_image }}">
<!-- Generates google analytics info, be sure to add googleAnalytics = "G-1234567890" in config.toml -->
{{ template "_internal/google_analytics.html" . }}
{{ range .Params.categories }}<meta property="article:section" content="{{ . }}">{{ end }}
{{ if isset .Params "date" }}<meta property="article:published_time" content="{{ (time .Date).Format "2006-01-02T15:04:05Z" }}">{{ end }}

@ -0,0 +1,16 @@
<header>
<nav class="navbar" role="navigation">
<div class="navbar__left">
<a href="/">Graham Helton</a>
</div>
<div class="">
<a href="/roundup">Roundup</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="/blog">Blogs</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="/tags/">Tags</a>
<span class ="nav-item navbar-text mx-1">&emsp;/&emsp;</span>
<a href="/pages/">Other</a>
</div>
</nav>
</header>

@ -0,0 +1,15 @@
{{ $paginator := .Paginator }}
{{ if gt $paginator.TotalPages 1 }}
<section class="page-select">
<h4>
{{ if $paginator.HasPrev }}
<a class="pagination-previous" href="{{ $paginator.Prev.URL }}"><- Previous Page</a> |
{{ end }}
{{ if $paginator.HasNext }}
<a class="pagination-next" href="{{ $paginator.Next.URL }}">Next page -> </a></h4>
{{ end }}
</section>
{{ end }}

@ -0,0 +1,161 @@
body {
background-color: #171717;
color: #fff;
line-height: 1.5;
padding: 0em 2rem;
margin: .6rem 0 1.0rem 0;
font-family: Inconsolata;
font-size: 1rem;
font-weight: 400;
}
.content {
margin: .6rem 0 1.0rem 0;
max-width: {{ .Param "style.pageWidth" | default "900px;" }};
}
h1, h2, h3, h4, h5, h6 {
color: #fcf9de;
font-size: large;
font-weight: bold;
border-bottom: solid #202020 1px;
}
article{
max-width: 900px;
margin: auto;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #ebe6d5;
}
.navbar{
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px;
max-width: 900px;
margin: auto;
}
.navbar__right{
display: flex;
}
a{
text-decoration: none !important;
color: black;
color: #689d6a;
}
.navbar__right a{
font-size: 14px;
margin-right: 10px;
transition: all 100ms;
}
.navbar__right a:hover{
text-decoration: underline;
font-weight: bold;
}
main{
max-width: {{ .Param "style.pageWidth" | default "900px;" }};
max-width: 900px;
margin: auto;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #c2c2c2;
}
.author-image{
object-fit: cover;
border-radius: 50%;
width: 48px;
height: 48px;
}
.blog__title{
font-size: 32px !important;
font-weight: bolder;
}
.blog__details{
display: flex;
align-items: center;
}
.blog__info{
margin-left: 20px;
flex: 1;
}
.blog__info p{
margin-block-start: 2px;
margin-block-end: 2px;
font-size: 14px;
}
.blog__image > img{
height: auto;
width: 100%;
object-fit: contain;
margin: 10px 0;
}
.blog__categories{
display: flex;
align-items: center;
}
.category{
padding: 5px 5px;
background: #f07979;
font-size: 12px;
border-radius: 5px;
width: auto;
margin-right: 5px;
}
.category a{
color: #fff;
}
.content img{
height: auto;
width: 100%;
object-fit: contain;
margin: 10px 0;
}
blockquote {
border-left: 4px solid;
font-style: italic;
margin: $y-medium 0;
padding: 8px 8px;
}
code {
color: #83a598;
background-color: #171717;
padding: 0px 4px;
font-style: italic;
}
pre code{
white-space:pre-wrap !important;
all: unset;
}
.highlight {
margin: 0rem 1rem;
background-color: #000;
}
.highlight pre {
background-color: #171717 !important;
padding: 1.5rem;
}
.footer_class {
margin: auto;
margin-top: 10rem;
text-align: center;
max-width: 900px;
font-family: SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
font-size: 1rem;
line-height: 1.15;
color: #ebe6d5;
bottom: 0%;
}
.page-select{
color: #696969;
}

@ -0,0 +1,21 @@
# theme.toml template for a Hugo theme
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
name = "Smore"
license = "MIT"
licenselink = "https://github.com/yourname/yourtheme/blob/master/LICENSE"
description = ""
homepage = "http://example.com/"
tags = []
features = []
min_version = "0.41.0"
[author]
name = "Graham Helton"
homepage = "https://grahamhelton.com"
# If porting an existing theme
[original]
name = ""
homepage = ""
repo = ""
Loading…
Cancel
Save