Update jekyll config and rearrange files

pull/1/head
jowj 5 years ago
parent 8e34e282ac
commit 7f88b97a2a

@ -0,0 +1,2 @@
source 'https://rubygems.org'
gem 'github-pages', group: :jekyll_plugins

@ -0,0 +1,248 @@
GEM
remote: https://rubygems.org/
specs:
activesupport (4.2.10)
i18n (~> 0.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.5.2)
public_suffix (>= 2.0.2, < 4.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.11.1)
colorator (1.1.0)
commonmarker (0.17.13)
ruby-enum (~> 0.5)
concurrent-ruby (1.1.5)
dnsruby (1.61.2)
addressable (~> 2.5)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
ethon (0.12.0)
ffi (>= 1.3.0)
eventmachine (1.2.7-x64-mingw32)
execjs (2.7.0)
faraday (0.15.4)
multipart-post (>= 1.2, < 3)
ffi (1.10.0-x64-mingw32)
forwardable-extended (2.6.0)
gemoji (3.0.0)
github-pages (197)
activesupport (= 4.2.10)
github-pages-health-check (= 1.16.1)
jekyll (= 3.7.4)
jekyll-avatar (= 0.6.0)
jekyll-coffeescript (= 1.1.1)
jekyll-commonmark-ghpages (= 0.1.5)
jekyll-default-layout (= 0.1.4)
jekyll-feed (= 0.11.0)
jekyll-gist (= 1.5.0)
jekyll-github-metadata (= 2.12.1)
jekyll-mentions (= 1.4.1)
jekyll-optional-front-matter (= 0.3.0)
jekyll-paginate (= 1.1.0)
jekyll-readme-index (= 0.2.0)
jekyll-redirect-from (= 0.14.0)
jekyll-relative-links (= 0.6.0)
jekyll-remote-theme (= 0.3.1)
jekyll-sass-converter (= 1.5.2)
jekyll-seo-tag (= 2.5.0)
jekyll-sitemap (= 1.2.0)
jekyll-swiss (= 0.4.0)
jekyll-theme-architect (= 0.1.1)
jekyll-theme-cayman (= 0.1.1)
jekyll-theme-dinky (= 0.1.1)
jekyll-theme-hacker (= 0.1.1)
jekyll-theme-leap-day (= 0.1.1)
jekyll-theme-merlot (= 0.1.1)
jekyll-theme-midnight (= 0.1.1)
jekyll-theme-minimal (= 0.1.1)
jekyll-theme-modernist (= 0.1.1)
jekyll-theme-primer (= 0.5.3)
jekyll-theme-slate (= 0.1.1)
jekyll-theme-tactile (= 0.1.1)
jekyll-theme-time-machine (= 0.1.1)
jekyll-titles-from-headings (= 0.5.1)
jemoji (= 0.10.2)
kramdown (= 1.17.0)
liquid (= 4.0.0)
listen (= 3.1.5)
mercenary (~> 0.3)
minima (= 2.5.0)
nokogiri (>= 1.8.5, < 2.0)
rouge (= 2.2.1)
terminal-table (~> 1.4)
github-pages-health-check (1.16.1)
addressable (~> 2.3)
dnsruby (~> 1.60)
octokit (~> 4.0)
public_suffix (~> 3.0)
typhoeus (~> 1.3)
html-pipeline (2.10.0)
activesupport (>= 2)
nokogiri (>= 1.4)
http_parser.rb (0.6.0)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
jekyll (3.7.4)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (~> 0.7)
jekyll-sass-converter (~> 1.0)
jekyll-watch (~> 2.0)
kramdown (~> 1.14)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (>= 1.7, < 4)
safe_yaml (~> 1.0)
jekyll-avatar (0.6.0)
jekyll (~> 3.0)
jekyll-coffeescript (1.1.1)
coffee-script (~> 2.2)
coffee-script-source (~> 1.11.1)
jekyll-commonmark (1.3.1)
commonmarker (~> 0.14)
jekyll (>= 3.7, < 5.0)
jekyll-commonmark-ghpages (0.1.5)
commonmarker (~> 0.17.6)
jekyll-commonmark (~> 1)
rouge (~> 2)
jekyll-default-layout (0.1.4)
jekyll (~> 3.0)
jekyll-feed (0.11.0)
jekyll (~> 3.3)
jekyll-gist (1.5.0)
octokit (~> 4.2)
jekyll-github-metadata (2.12.1)
jekyll (~> 3.4)
octokit (~> 4.0, != 4.4.0)
jekyll-mentions (1.4.1)
html-pipeline (~> 2.3)
jekyll (~> 3.0)
jekyll-optional-front-matter (0.3.0)
jekyll (~> 3.0)
jekyll-paginate (1.1.0)
jekyll-readme-index (0.2.0)
jekyll (~> 3.0)
jekyll-redirect-from (0.14.0)
jekyll (~> 3.3)
jekyll-relative-links (0.6.0)
jekyll (~> 3.3)
jekyll-remote-theme (0.3.1)
jekyll (~> 3.5)
rubyzip (>= 1.2.1, < 3.0)
jekyll-sass-converter (1.5.2)
sass (~> 3.4)
jekyll-seo-tag (2.5.0)
jekyll (~> 3.3)
jekyll-sitemap (1.2.0)
jekyll (~> 3.3)
jekyll-swiss (0.4.0)
jekyll-theme-architect (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-cayman (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-dinky (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-hacker (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-leap-day (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-merlot (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-midnight (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-minimal (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-modernist (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-primer (0.5.3)
jekyll (~> 3.5)
jekyll-github-metadata (~> 2.9)
jekyll-seo-tag (~> 2.0)
jekyll-theme-slate (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-tactile (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-theme-time-machine (0.1.1)
jekyll (~> 3.5)
jekyll-seo-tag (~> 2.0)
jekyll-titles-from-headings (0.5.1)
jekyll (~> 3.3)
jekyll-watch (2.2.1)
listen (~> 3.0)
jemoji (0.10.2)
gemoji (~> 3.0)
html-pipeline (~> 2.2)
jekyll (~> 3.0)
kramdown (1.17.0)
liquid (4.0.0)
listen (3.1.5)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
ruby_dep (~> 1.2)
mercenary (0.3.6)
mini_portile2 (2.4.0)
minima (2.5.0)
jekyll (~> 3.5)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
minitest (5.11.3)
multipart-post (2.0.0)
nokogiri (1.10.2-x64-mingw32)
mini_portile2 (~> 2.4.0)
octokit (4.14.0)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (3.0.3)
rb-fsevent (0.10.3)
rb-inotify (0.10.0)
ffi (~> 1.0)
rouge (2.2.1)
ruby-enum (0.7.2)
i18n
ruby_dep (1.5.0)
rubyzip (1.2.2)
safe_yaml (1.0.5)
sass (3.7.3)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
sawyer (0.8.1)
addressable (>= 2.3.5, < 2.6)
faraday (~> 0.8, < 1.0)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
typhoeus (1.3.1)
ethon (>= 0.9.0)
tzinfo (1.2.5)
thread_safe (~> 0.1)
unicode-display_width (1.5.0)
PLATFORMS
x64-mingw32
DEPENDENCIES
github-pages
BUNDLED WITH
2.0.1

@ -1 +1,2 @@
theme: jekyll-theme-hacker
theme: jekyll-theme-tactile
title: josiah ledbetter

@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
<link rel="stylesheet" type="text/css" href="{{ '/assets/css/print.css' | relative_url }}" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
{% seo %}
</head>
<body>
<div id="container">
<div class="inner">
<header>
<!-- <h1>{{ page.title | default: site.title | default: site.github.repository_name }}</h1> -->
<!-- <h2>{{ page.description | default: site.description | default: site.github.project_tagline }}</h2> -->
</header>
<section id="downloads" class="clearfix">
{% if site.show_downloads %}
<a href="{{ site.github.zip_url }}" id="download-zip" class="button"><span>Download .zip</span></a>
<a href="{{ site.github.tar_url }}" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a>
{% endif %}
{% if site.github.public %}
{% if site.github.is_project_page %}
<a href="{{ site.github.repository_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a>
{% else %}
<a href="{{ site.github.owner_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a>
{% endif %}
{% endif %}
</section>
<hr>
<section id="main_content">
{{ content }}
</section>
<footer>
{% if site.github.is_project_page %}
{{ site.title | default: site.github.repository_name }} is maintained by <a href="{{ site.github.owner_url }}">{{ site.github.owner_name }}</a><br>
Pages</a>.
</footer>
</div>
</div>
{% if site.google_analytics %}
<script>
(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','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="{{ site.lang | default: "en-US" }}">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}">
<link rel="stylesheet" type="text/css" href="{{ '/assets/css/print.css' | relative_url }}" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
{% seo %}
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>{{ page.title | default: site.title | default: site.github.repository_name }}</h1>
</header>
<section id="downloads" class="clearfix">
{% if site.show_downloads %}
<a href="{{ site.github.zip_url }}" id="download-zip" class="button"><span>Download .zip</span></a>
<a href="{{ site.github.tar_url }}" id="download-tar-gz" class="button"><span>Download .tar.gz</span></a>
{% endif %}
{% if site.github.public %}
{% if site.github.is_project_page %}
<a href="{{ site.github.repository_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a>
{% else %}
<a href="{{ site.github.owner_url }}" id="view-on-github" class="button"><span>View on GitHub</span></a>
{% endif %}
{% endif %}
</section>
<hr>
<section id="main_content">
{{ content }}
</section>
<footer>
</footer>
</div>
</div>
{% if site.google_analytics %}
<script>
(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','//www.google-analytics.com/analytics.js','ga');
ga('create', '{{ site.google_analytics }}', 'auto');
ga('send', 'pageview');
</script>
{% endif %}
</body>
</html>

@ -0,0 +1 @@
# me.jowj.net

@ -0,0 +1,228 @@
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
padding: 0;
margin: 0;
font: inherit;
font-size: 100%;
vertical-align: baseline;
border: 0;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-spacing: 0;
border-collapse: collapse;
}
body {
font-family: 'Helvetica Neue', Helvetica, Arial, serif;
font-size: 13px;
line-height: 1.5;
color: #000;
}
a {
font-weight: bold;
color: #d5000d;
}
header {
padding-top: 35px;
padding-bottom: 10px;
}
header h1 {
font-size: 48px;
font-weight: bold;
line-height: 1.2;
color: #303030;
letter-spacing: -1px;
}
header h2 {
font-size: 24px;
font-weight: normal;
line-height: 1.3;
color: #aaa;
letter-spacing: -1px;
}
#downloads {
display: none;
}
#main_content {
padding-top: 20px;
}
code, pre {
margin-bottom: 30px;
font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal;
font-size: 12px;
color: #222;
}
code {
padding: 0 3px;
}
pre {
padding: 20px;
overflow: auto;
border: solid 1px #ddd;
}
pre code {
padding: 0;
}
ul, ol, dl {
margin-bottom: 20px;
}
/* COMMON STYLES */
table {
width: 100%;
border: 1px solid #ebebeb;
}
th {
font-weight: 500;
}
td {
font-weight: 300;
text-align: center;
border: 1px solid #ebebeb;
}
form {
padding: 20px;
background: #f2f2f2;
}
/* GENERAL ELEMENT TYPE STYLES */
h1 {
font-size: 2.8em;
}
h2 {
margin-bottom: 8px;
font-size: 22px;
font-weight: bold;
color: #303030;
}
h3 {
margin-bottom: 8px;
font-size: 18px;
font-weight: bold;
color: #d5000d;
}
h4 {
font-size: 16px;
font-weight: bold;
color: #303030;
}
h5 {
font-size: 1em;
color: #303030;
}
h6 {
font-size: .8em;
color: #303030;
}
p {
margin-bottom: 20px;
font-weight: 300;
}
a {
text-decoration: none;
}
p a {
font-weight: 400;
}
blockquote {
padding: 0 0 0 30px;
margin-bottom: 20px;
font-size: 1.6em;
border-left: 10px solid #e9e9e9;
}
ul li {
list-style-position: inside;
list-style: disc;
padding-left: 20px;
}
ol li {
list-style-position: inside;
list-style: decimal;
padding-left: 3px;
}
dl dd {
font-style: italic;
font-weight: 100;
}
footer {
padding-top: 20px;
padding-bottom: 30px;
margin-top: 40px;
font-size: 13px;
color: #aaa;
}
footer a {
color: #666;
}
/* MISC */
.clearfix:after {
display: block;
height: 0;
clear: both;
visibility: hidden;
content: '.';
}
.clearfix {display: inline-block;}
* html .clearfix {height: 1%;}
.clearfix {display: block;}

@ -0,0 +1,185 @@
/* generated by rouge http://rouge.jneen.net/ original base16 by Chris Kempson (https://github.com/chriskempson/base16)
*/
@import url("https://fonts.googleapis.com/css?family=Chivo:900");
.highlight table td { padding: 5px; }
.highlight table pre { margin: 0; }
.highlight, .highlight .w { color: #d0d0d0; }
.highlight .err { color: #151515; background-color: #ac4142; }
.highlight .c, .highlight .cd, .highlight .cm, .highlight .c1, .highlight .cs { color: #888; }
.highlight .cp { color: #f4bf75; }
.highlight .nt { color: #f4bf75; }
.highlight .o, .highlight .ow { color: #d0d0d0; }
.highlight .p, .highlight .pi { color: #d0d0d0; }
.highlight .gi { color: #90a959; }
.highlight .gd { color: #ac4142; }
.highlight .gh { color: #6a9fb5; font-weight: bold; }
.highlight .k, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kv { color: #aa759f; }
.highlight .kc { color: #d28445; }
.highlight .kt { color: #d28445; }
.highlight .kd { color: #d28445; }
.highlight .s, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .s2, .highlight .sh, .highlight .sx, .highlight .s1 { color: #90a959; }
.highlight .sr { color: #75b5aa; }
.highlight .si { color: #8f5536; }
.highlight .se { color: #8f5536; }
.highlight .nn { color: #f4bf75; }
.highlight .nc { color: #f4bf75; }
.highlight .no { color: #f4bf75; }
.highlight .na { color: #6a9fb5; }
.highlight .m, .highlight .mf, .highlight .mh, .highlight .mi, .highlight .il, .highlight .mo, .highlight .mb, .highlight .mx { color: #90a959; }
.highlight .ss { color: #90a959; }
/* http://meyerweb.com/eric/tools/css/reset/ v2.0 | 20110126 License: none (public domain)
*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video { padding: 0; margin: 0; font: inherit; font-size: 100%; vertical-align: baseline; border: 0; }
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { display: block; }
body { line-height: 1; }
ol, ul { list-style: none; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after, q:before, q:after { content: ''; content: none; }
table { border-spacing: 0; border-collapse: collapse; }
/* LAYOUT STYLES */
body { font-family: 'Helvetica Neue', Helvetica, Arial, serif; font-size: 1em; line-height: 1.5; color: #6d6d6d; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.8); background: #e7e7e7 url(../images/body-bg.png) 0 0 repeat; }
a { color: #d5000d; }
a:hover { color: #c5000c; }
header { padding-top: 35px; padding-bottom: 25px; }
header h1 { font-family: 'Chivo', 'Helvetica Neue', Helvetica, Arial, serif; font-size: 48px; font-weight: 900; line-height: 1.2; color: #303030; letter-spacing: -1px; }
header h2 { font-size: 24px; font-weight: normal; line-height: 1.3; color: #aaa; letter-spacing: -1px; }
#container { min-height: 595px; background: transparent url(../images/highlight-bg.jpg) 50% 0 no-repeat; }
.inner { width: 620px; margin: 0 auto; }
#container .inner img { max-width: 100%; }
#downloads { margin-bottom: 40px; }
a.button { display: block; float: left; width: 179px; padding: 12px 8px 12px 8px; margin-right: 14px; font-size: 15px; font-weight: bold; line-height: 25px; color: #303030; background: #fdfdfd; /* Old browsers */ background: -moz-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd), color-stop(100%, #f2f2f2)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #fdfdfd 0%, #f2f2f2 100%); /* IE10+ */ background: linear-gradient(to top, #fdfdfd 0%, #f2f2f2 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f2f2f2',GradientType=0 ); /* IE6-9 */ border-top: solid 1px #cbcbcb; border-right: solid 1px #b7b7b7; border-bottom: solid 1px #b3b3b3; border-left: solid 1px #b7b7b7; border-radius: 30px; -webkit-box-shadow: 10px 10px 5px #888; -moz-box-shadow: 10px 10px 5px #888; box-shadow: 0px 1px 5px #e8e8e8; -moz-border-radius: 30px; -webkit-border-radius: 30px; }
a.button:hover { background: #fafafa; /* Old browsers */ background: -moz-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* FF3.6+ */ background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fdfdfd), color-stop(100%, #f6f6f6)); /* Chrome,Safari4+ */ background: -webkit-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* Chrome10+,Safari5.1+ */ background: -o-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* Opera 11.10+ */ background: -ms-linear-gradient(top, #fdfdfd 0%, #f6f6f6 100%); /* IE10+ */ background: linear-gradient(to top, #fdfdfd 0%, #f6f6f6, 100%); /* W3C */ filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fdfdfd', endColorstr='#f6f6f6',GradientType=0 ); /* IE6-9 */ border-top: solid 1px #b7b7b7; border-right: solid 1px #b3b3b3; border-bottom: solid 1px #b3b3b3; border-left: solid 1px #b3b3b3; }
a.button span { display: block; height: 23px; padding-left: 50px; }
#download-zip span { background: transparent url(../images/zip-icon.png) 12px 50% no-repeat; }
#download-tar-gz span { background: transparent url(../images/tar-gz-icon.png) 12px 50% no-repeat; }
#view-on-github span { background: transparent url(../images/octocat-icon.png) 12px 50% no-repeat; }
#view-on-github { margin-right: 0; }
code, pre { margin-bottom: 30px; font-family: Monaco, "Bitstream Vera Sans Mono", "Lucida Console", Terminal; font-size: 14px; color: #222; }
code { padding: 0 3px; background-color: #f2f2f2; border: solid 1px #ddd; }
pre { padding: 20px; overflow: auto; color: #f2f2f2; text-shadow: none; background: #303030; }
pre code { padding: 0; color: #f2f2f2; background-color: #303030; border: none; }
ul, ol, dl { margin-bottom: 20px; }
/* COMMON STYLES */
hr { height: 1px; padding-bottom: 1em; margin-top: 1em; line-height: 1px; background: transparent url("../images/hr.png") 50% 0 no-repeat; border: none; }
strong { font-weight: bold; }
em { font-style: italic; }
table { width: 100%; border: 1px solid #ebebeb; }
th { font-weight: 500; }
td { font-weight: 300; text-align: center; border: 1px solid #ebebeb; }
form { padding: 20px; background: #f2f2f2; }
/* GENERAL ELEMENT TYPE STYLES */
h1 { font-size: 32px; }
h2 { margin-bottom: 8px; font-size: 22px; font-weight: bold; color: #303030; }
h3 { margin-bottom: 8px; font-size: 18px; font-weight: bold; color: #d5000d; }
h4 { font-size: 16px; font-weight: bold; color: #303030; }
h5 { font-size: 1em; color: #303030; }
h6 { font-size: .8em; color: #303030; }
p { margin-bottom: 20px; font-weight: 300; }
a { text-decoration: none; }
p a { font-weight: 400; }
blockquote { padding: 0 0 0 30px; margin-bottom: 20px; font-size: 1.6em; border-left: 10px solid #e9e9e9; }
ul li { list-style-position: inside; list-style: disc; padding-left: 20px; }
ol li { list-style-position: inside; list-style: decimal; padding-left: 3px; }
dl dt { color: #303030; }
footer { padding-top: 20px; padding-bottom: 30px; margin-top: 40px; font-size: 13px; color: #aaa; background: transparent url("../images/hr.png") 0 0 no-repeat; }
footer a { color: #666; }
footer a:hover { color: #444; }
/* MISC */
.clearfix:after { display: block; height: 0; clear: both; visibility: hidden; content: '.'; }
.clearfix { display: inline-block; }
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* #Media Queries
================================================== */
/* Smaller than standard 960 (devices and browsers) */
/* Tablet Portrait size to standard 960 (devices and browsers) */
/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) { header { padding-top: 10px; padding-bottom: 10px; }
#downloads { margin-bottom: 25px; }
#download-zip, #download-tar-gz { display: none; }
.inner { width: 94%; margin: 0 auto; } }
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 130 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 477 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 741 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 735 B

@ -0,0 +1,59 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>josiah ledbetter | Public Blog</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="josiah ledbetter" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebSite","headline":"josiah ledbetter","url":"/","name":"josiah ledbetter","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>josiah ledbetter</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<p>hi you have reached the landingpage of me, the person whose name is above this text. please click a link below if you are curious about me:</p>
<ul>
<li><a href="/projects.html">projects</a></li>
<li><a href="/personal.html">personal</a></li>
<li><a href="/josiah-resume.pdf">resume</a></li>
</ul>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,5 @@
hi you have reached the landingpage of me, the person whose name is above this text. please click a link below if you are curious about me:
* [projects](/projects.md)
* [personal](/personal.md)
* [resume](/josiah-resume.pdf)

Binary file not shown.

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>josiah ledbetter | Public Blog</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="josiah ledbetter" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"josiah ledbetter","url":"/personal.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>josiah ledbetter</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<p>personal posts are here:</p>
<ul>
<li><a href="/personal/friendsgiving.html">friendsgiving</a></li>
<li><a href="/personal/lt-thanksgiving.html">thanksgiving in seattle</a></li>
<li><a href="/personal/rad-boys-only.html">rad boys only</a></li>
</ul>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,4 @@
personal posts are here:
* [friendsgiving](/personal/friendsgiving.md)
* [thanksgiving in seattle](/personal/lt-thanksgiving.md)
* [rad boys only](/personal/rad-boys-only.md)

@ -0,0 +1,65 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>friendsgiving | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="friendsgiving" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"friendsgiving","url":"/personal/friendsgiving.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>friendsgiving</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<p><img src="/photos/friendsgiving/friendsgiving-header.jpeg" alt="the best table " /></p>
<h1 id="look-at-how-pretty-this-fucking-table-is">look at how pretty this fucking table is</h1>
<p>my sister made a bunch of that stuff there; the candles were all melted on to the wood and the gourds that they were resting on; the wreathes of Whatever Plant were picked from her garden; even the table it all sat on was made by my sister and her family</p>
<p>its lovely and makes me feel fucking warm to have been there.</p>
<h1 id="heres-some-photos">heres some photos</h1>
<p><img src="/photos/friendsgiving/avery.jpeg" alt="avery" /></p>
<p><img src="/photos/friendsgiving/micah.jpeg" alt="micah" /></p>
<p><img src="/photos/friendsgiving/eli-and-jillian.jpeg" alt="eli-and-jillian" /></p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,70 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>lt-friendsgiving | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="lt-friendsgiving" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"lt-friendsgiving","url":"/personal/lt-thanksgiving.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>lt-friendsgiving</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="seattle">seattle</h1>
<p>we flew in to seattle from austin at 845 am. dont take that flight it was fucking horrible but it did give us a full day there despite flying for 4 hours.</p>
<h2 id="sheris-house">sheris house</h2>
<p>we drove around a bunch, but we started the night at sheris. we saw new (baby!) cats and ate good food and had our photo taken by a family friend.
<img src="/photos/lt-thanksgiving/sheris-house.jpeg" alt="sheris house" /></p>
<h2 id="jills-house">jills house</h2>
<p>i forgot to take pictures this trip so heres some from last year:
<img src="/photos/lt-thanksgiving/josiah.jpeg" alt="josiah" />
this is jills back porch and it feels fake to me. so many trees its stunning.</p>
<p><img src="/photos/lt-thanksgiving/mule.jpeg" alt="mule" />
we played a lot of mule, an old atari 800 game. its a lot of fun; laura hates computer games but since this is just a board game with calculations and tabulations done by a computer she sorta fell in love</p>
<h2 id="food-at-marthas">food at marthas</h2>
<p>i forgot to take pictures of food. and also forgot to take a lot of other pictures. i did get a funny picture of lauras family though, it was great:
<img src="/photos/lt-thanksgiving/family-sit-time.jpeg" alt="family sit time" /></p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,80 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>rad boys only | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="rad boys only" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"rad boys only","url":"/personal/rad-boys-only.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>rad boys only</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="rad-boys-only">rad boys only</h1>
<p>we are boys and we are rad
sometimes our cooking makes us sad</p>
<p>but not this time, this time we made ceviche and it was fucking bomb</p>
<h2 id="we-were-gonna-play-games-first-tho">we were gonna play games first tho</h2>
<p><img src="/photos/rad-boys-only/noah-desk.JPG" alt="noahs monstrous desk" /></p>
<p>noahs desk, was so large
it was, like, the size of a barge</p>
<p><img src="/photos/rad-boys-only/micah-desk.JPG" alt="micahs smol desk" /></p>
<p>micahs desk was very sad
it was so small
and so lonely</p>
<p><img src="/photos/rad-boys-only/josiah-desk.JPG" alt="my desk" /></p>
<p>my desk is the perfect size and my laptop is totally a normal weight why do you ask</p>
<h2 id="we-forgot-to-play-games">we forgot to play games</h2>
<p>and made ceviche and watched tv</p>
<p><img src="/photos/rad-boys-only/kitchen1.JPG" alt="kitchen1" />
<img src="/photos/rad-boys-only/kitchen2.JPG" alt="kitchen2" />
<img src="/photos/rad-boys-only/salt.JPG" alt="salt salt salt" /></p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 293 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 787 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

@ -0,0 +1,58 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>josiah ledbetter | Public Blog</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="josiah ledbetter" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"josiah ledbetter","url":"/projects.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>josiah ledbetter</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<ul>
<li><a href="/projects/hostingStaticSitesOnS3.html">hosting static sites on s3</a></li>
<li><a href="/projects/mojojojo-bot.html">building a slack bot</a></li>
<li><a href="/projects/agares.html">agares, the multi-armed demon</a></li>
<li><a href="/projects/workingcopy.html">using git on iPhone</a></li>
</ul>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,4 @@
* [hosting static sites on s3](/projects/hostingStaticSitesOnS3.md)
* [building a slack bot](/projects/mojojojo-bot.md)
* [agares, the multi-armed demon](/projects/agares.md)
* [using git on iPhone](/projects/workingcopy.md)

@ -0,0 +1,111 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>agares | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="agares" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"agares","url":"/projects/agares.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>agares</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="agares-a-multi-armed-demon">agares, a multi armed demon</h1>
<p>well, originally i dont think the multi armed part was mentioned in the “list of demons” i found on the internet. now, though, agares is absolutely multi armed because I keep adding so much bullshit to this project.</p>
<ul>
<li>sync my dot files. .emacs, bash, powershell, etc.</li>
<li>configure windows devices. install software, some minor software configuration, remove windows bullshit.</li>
<li>sync my keyboard config; this involves updating a .png as well as a folder of .json an .kll files to apply firmware to ergodox.</li>
<li>house deployments for home projects</li>
</ul>
<p>Up next is configuring an Mac device, and then whatever else I get to throw at it.</p>
<h2 id="dot-file-sync">dot file sync</h2>
<p>I think Im doing this poorly. So far all im really doing is configuring all devices <em>actual</em> dot files to load these <code class="highlighter-rouge">agares/</code> dotfiles.</p>
<ul>
<li>powershell: make sure you dont have powershell, vscode /ise, and pwsh.exe all looking for the same profile. youll hate yourself. split them up.</li>
<li>.emacs: this is pretty straightforward unless you use more emacs features than me (easy to do). I leave in just a single .emacs file.</li>
<li>.bashrc: theres a complicated set of rules that determines, at least on mac, when different .bash* files get loaded. be careful that yours only loads when you want it</li>
<li>.tmux: straight forward.</li>
<li>conemu: i dont have an elegant solve for this. I just import this file whenever I set up a new machine. there is likely a better way.</li>
</ul>
<h3 id="further-bashrc-info">further .bashrc info</h3>
<p>I found <a href="http://hayne.net/MacDev/Notes/unixFAQ.html#shellStartup">this</a> link very useful, quoted below:<br />
When a “login shell” starts up, it reads the file “/etc/profile” and then “~/.bash_profile” or “~/.bash_login” or “~/.profile” (whichever one exists - it only reads one of these, checking for them in the order mentioned).</p>
<p>When a “non-login shell” starts up, it reads the file “/etc/bashrc” and then the file “~/.bashrc”.</p>
<p>Note that when bash is invoked with the name “sh”, it tries to mimic the startup sequence of the Bourne shell (“sh”). In particular, a non-login shell invoked as “sh” does not read any dot files by default. See the bash man page for details.</p>
<p>What this means is that you dont want to link or load the agares .bashrc file from .bashrc <em>necessarily</em>. It depends on your usage. youll likely wanna call it from .bash_profile instead, if youre on a mac.</p>
<h2 id="configure-windows-devices">configure windows devices</h2>
<p>3rd party app install is all handled through chocolatey. this is a great / terrible tool for this. great because it actually exists (wonderful!). Terrible because of certain usability problems. some packages install very weirdly through. emacs, for instance; do you want emacs? or emacs64? Those are not just optimized for different cpus, but are actually different versions of emacs (24 vs 25) that have different features shipped natively.</p>
<h3 id="removing-windows-kruft">removing windows kruft</h3>
<p>windows, particularly windows10, now ships with a bunch of bullshit that no sane person wants on their fucking computer. fucking 3rd party games are my favorite. thanks msft, get the fuck out. I stole a bunch of functions from <a href="https://gist.github.com/alirobe/7f3b34ad89a159e6daa1">this</a> gist (which stole them from another). I definitely recommend perusing powershell module file i made before running the functions therein. Some are easy wins, or simple “get started” features, like removing a game or unpinning stuff from the start menu. Some are more hit or miss, like disabling the windows store; great 90% of the time IME, but if you didnt have WSL you <em>must</em> have the windows store or you cant install it.</p>
<h3 id="a-note-on-hypervisors">a note on hypervisors</h3>
<p>i do a lot of work on hyper-v, especially recently, because theres a great suite of automation tools that work natively on that platform. hyperv is a fine tool for many things, particularly home labbing, but far less useful as a “need to run second OS without dual boot” utility. If you need that youll likely need something like vmware workstation or virtualbox. the bad news is <em>you cannot have hyperv and another hypervisor active on the same machine at the same time</em>. hyperv blocks other hypervisors from working because its petty and rude (something about the way it operates does this. for more information on this check out <a href="https://superuser.com/questions/1208850/why-vitualbox-or-vmware-can-not-run-with-hyper-v-enabled-windows-10">this superuser answer</a>).</p>
<h2 id="keyboard-firmware-sync">keyboard firmware sync</h2>
<p>i use an <a href="https://www.massdrop.com/buy/infinity-ergodox">infinity ergodox</a> at home. this is a fun entry level diy project that taught me to solder (badly) and introduced me to QMK and TMK. I avoid having to dive very deep into those and instead use input.clubs online <a href="https://input.club/configurator-ergodox/">configurator tool</a>. i download the output and put them into the keyboard dir of <code class="highlighter-rouge">agares</code>, along with a screenshot of the configurator tool, so that I know how everything is <em>currently</em> configured. this helps especially early on when youre tweaking the keymap every few days trying to remember “where the fuck did i put the _ sign??”.</p>
<p>Once thats downloaded you still have to flash your ergodox. do yourself a favor and keep a “flash” keybinding easily accessible on both sides of your keyboard or you will hate yourself.</p>
<p>Some guides say you only need to flash one side of the keyboard as long as they are plugged into each other. That has never worked for me and I <em>must</em> flash both sides or the keymap will be incorrect.</p>
<h3 id="flashing-the-keyboard-on-windows">flashing the keyboard on windows</h3>
<p>i absolutely can not get this to work unless im running a linux guest in virtualbox. instead, I flash from a mac or other *nix computer because its just hilariously easy and I dont have to fuck with loading a new driver first. sorry for this terrible answer, but for the infinity ergodox this is literally the easiest way. if anyone knows one for the love of god please <a href="mailto:me@jowj.net">email me</a>.</p>
<h3 id="flashing-the-keyboard-on-nix">flashing the keyboard on *nix</h3>
<p><a href="https://www.reddit.com/r/MechanicalKeyboards/comments/5bjtt8/guide_infinity_ergodox_linux_guide_modifying/">read this here poast</a></p>
<h2 id="deployments-for-home-projects">deployments for home projects</h2>
<p>right now this is really just a spot for my deployment of <code class="highlighter-rouge">mojojojo-bot</code>, my slackbot. you can read more about it (in an out of date blog post) <a href="/blogposts/mojojojo-bot.md">here</a>.</p>
<p>I deploy it using ansible targeting one of my few docker hosts. right now those are all local. eventually, i hope to build out a spot, or a deployment mechanism, for pushing it to Azure or AWS. I call <code class="highlighter-rouge">mojo.yml</code> with ansible-playbook, referencing a custom inventory file of <code class="highlighter-rouge">hosts.yml</code>, with <code class="highlighter-rouge">--ask-vault-pass</code> to prompt for password to decrypt <code class="highlighter-rouge">mojo-vault-vars.yml</code>, containing the slack-bot API token. this allows me to sync the actual API token via github, encrypted, without worrying about everyone and their dog fucking with my slack server.</p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,66 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>Hosting static sites on S3 | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="Hosting static sites on S3" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"Hosting static sites on S3","url":"/projects/hostingStaticSitesOnS3.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>Hosting static sites on S3</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="hosting-static-sites-on-s3">Hosting static sites on S3</h1>
<p>Turns out this was pretty straightforward. The steps are basically:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>* decide on a dns name for your static page
* create an S3 bucket using that name (bullshit.jowj.net)
* upload at least one file to your bucket
* change bucket to enable hosting static pages (ensure you set the file you uploaded to be your index)
* copy fully qied aws name of endpoint and point cname (bullshit) to that endpoint
* boom done.
</code></pre></div></div>
<p>Id had this as a “thing to do” for forever, but I guess I thought itd be more involved. this was just really straight forward.</p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,137 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>mojojojo-bot | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="mojojojo-bot" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"mojojojo-bot","url":"/projects/mojojojo-bot.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>mojojojo-bot</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="mojojojo-bot">mojojojo-bot</h1>
<p>this was relatively easy to build initially (straight from a template), but building any functionality that I wanted into was, as expected, hard. because i am garbage at python.</p>
<h2 id="learnings">learnings</h2>
<h3 id="1-import-pdb-python-debugger">1. import pdb (python debugger)</h3>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>pdb.set_trace
SETS A BREAK POINT IN CODE AND I CAN WRITE CODE THERE AND INTERACT WITH IT HOOOO MY GOD
</code></pre></div></div>
<p>this is probably the biggest thing i learned; para exemplar say you have a bit of code that defines a variable eq to individual objects you iterate through one at a time:</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>events = slack_client.rtm_read()
for event in events:
thing = event.property
thing2 = event.otherproperty
do stuff with thing / thing2
</code></pre></div></div>
<p>sometimes (all the time) you run into problems where maybe one of the variables you defined doesnt have the data you expect. so in order to troubleshoot you open you repl and try and do some adhoc definitions of variables and tokens so you can see what the deal is. as you might expect, thats bad and doesnt work very well. but with pdb.set_trace you can define a break point in your code that will give you a prompt, and then you can type “interact” into the prompt and it will let you type python into a repl provided with the state inherent in that point in your code! how fucking cool is that??</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>import pdb
events = slack_client.rtm_read()
for event in events:
thing = event.property
thing2 = event.otherproperty
pdb.set_trace
do stuff with thing / thing2
</code></pre></div></div>
<p>now the code looks like this and you can just call dir(events) and view its properties!!</p>
<h3 id="2-accessing-data-in-dict-of-dicts">2. accessing data in dict of dicts</h3>
<p>python is not powershell python is not powershell python is not powershell python is no</p>
<p>so in powershell if youre given a dict you can access its indexes using dot params. like</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>PS /&gt; $dict = @{}
PS /&gt; $dict.Add('firstname','jowj')
PS /&gt; $dict.Add('pet','metroid')
PS /&gt; $dict
Name Value
---- -----
pet metroid
firstname jowj
PS /&gt; $dict.pet
metroid
PS /&gt;
</code></pre></div></div>
<p>in python you cannot do this. in python, in order to pull data for a particular key/value pair, you must index using they key value.</p>
<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&gt;&gt;&gt; dict = {}
&gt;&gt;&gt; dict
{}
&gt;&gt;&gt; dict = {"firstname" : "jowj", "pet" : "metroid"}
&gt;&gt;&gt; dict
{'firstname': 'jowj', 'pet': 'metroid'}
&gt;&gt;&gt; dict.firstname
Traceback (most recent call last):
File "&lt;stdin&gt;", line 1, in &lt;module&gt;
AttributeError: 'dict' object has no attribute 'firstname'
&gt;&gt;&gt; dict[0]
Traceback (most recent call last):
File "&lt;stdin&gt;", line 1, in &lt;module&gt;
KeyError: 0
&gt;&gt;&gt; dict["firstname"]
'jowj'
&gt;&gt;&gt;
</code></pre></div></div>
<p>it took me. so. so. so. long.</p>
<h2 id="whats-next">whats next:</h2>
<p>i gotta finish fixing this bot to get everything i want into 1 file (right now i have some of the functionality i want in two different scripts). then maybe add some extra functionality like:</p>
<ul>
<li>commanding to my twitter bot</li>
<li>…other stuff.</li>
</ul>
<h2 id="resources">resources:</h2>
<ul>
<li>basic tutorial / code i stole - https://www.fullstackpython.com/blog/build-first-slack-bot-python.html</li>
<li>to set an environment variable in powershell in userscope, you gotta go out to .net - [Environment]::SetEnvironmentVariable(“SLACK_BOT_TOKEN”, “Test value.”, “User”)</li>
<li>responding to messages with specific text - http://pfertyk.me/2016/11/automatically-respond-to-slack-messages-containing-specific-text/</li>
<li>api docs - https://github.com/slackapi/python-slackclient</li>
</ul>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -0,0 +1,60 @@
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset='utf-8'>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<link rel="stylesheet" href="/assets/css/style.css?v=8e34e282acb2cd964124eb60125f1bf9c948c591">
<link rel="stylesheet" type="text/css" href="/assets/css/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<!-- Begin Jekyll SEO tag v2.5.0 -->
<title>editing files tracked in gif while on your phone | josiah ledbetter</title>
<meta name="generator" content="Jekyll v3.7.4" />
<meta property="og:title" content="editing files tracked in gif while on your phone" />
<meta property="og:locale" content="en_US" />
<meta name="description" content="Public Blog" />
<meta property="og:description" content="Public Blog" />
<meta property="og:site_name" content="josiah ledbetter" />
<script type="application/ld+json">
{"@type":"WebPage","headline":"editing files tracked in gif while on your phone","url":"/projects/workingcopy.html","description":"Public Blog","@context":"http://schema.org"}</script>
<!-- End Jekyll SEO tag -->
</head>
<body>
<div id="container">
<div class="inner">
<header>
<h1>editing files tracked in gif while on your phone</h1>
</header>
<section id="downloads" class="clearfix">
</section>
<hr>
<section id="main_content">
<h1 id="editing-files-tracked-in-gif-while-on-your-phone">editing files tracked in gif while on your phone</h1>
<p>i open it in “working copy” and then send it to your markdown editor. then you sent it back to working copy.</p>
<h2 id="so-writing-this-is-not-bad">so writing this is not bad</h2>
<p>really, its a lot better than i expected it to be. im writing this on my phone for christ sake, but its still really straight forward to add a list, insert images, whatever</p>
<p>that is so fucking great tbh</p>
</section>
<footer>
</footer>
</div>
</div>
</body>
</html>

@ -1,11 +1,5 @@
you can read some of the bullshit i'm working on:
hi you have reached the landingpage of me, the person whose name is above this text. please click a link below if you are curious about me:
* [hosting static sites on s3](/blogposts/hostingStaticSitesOnS3.md)
* [building a slack bot](/blogposts/mojojojo-bot.md)
* [agares, the multi-armed demon](/blogposts/agares.md)
* [using git on iPhone](/blogposts/workingcopy.md)
i am also experimenting with posting terrible pictures here. you can view them:
* [friendsgiving](/blogposts/personal/friendsgiving.md)
* [thanksgiving in seattle](/blogposts/personal/lt-thanksgiving.md)
* [rad boys only](/blogposts/personal/rad-boys-only.md)
* [projects](/projects.md)
* [personal](/personal.md)
* [resume](/josiah-resume.pdf)

Binary file not shown.

@ -0,0 +1,4 @@
personal posts are here:
* [friendsgiving](/personal/friendsgiving.md)
* [thanksgiving in seattle](/personal/lt-thanksgiving.md)
* [rad boys only](/personal/rad-boys-only.md)

@ -1,3 +1,7 @@
---
title: friendsgiving
categories: personal
---
![the best table ](/photos/friendsgiving/friendsgiving-header.jpeg)
# look at how pretty this fucking table is
my sister made a bunch of that stuff there; the candles were all melted on to the wood and the gourds that they were resting on; the wreathes of Whatever Plant were picked from her garden; even the table it all sat on was made by my sister and her family

@ -1,3 +1,7 @@
---
title: lt-friendsgiving
categories: personal
---
# seattle
we flew in to seattle from austin at 845 am. dont take that flight it was fucking horrible but it did give us a full day there despite flying for 4 hours.
@ -15,4 +19,4 @@ we played a lot of mule, an old atari 800 game. its a lot of fun; laura hates
## food at marthas
i forgot to take pictures of food. and also forgot to take a lot of other pictures. i did get a funny picture of lauras family though, it was great:
![family sit time](/photos/lt-thanksgiving/family-sit-time.jpeg)
![family sit time](/photos/lt-thanksgiving/family-sit-time.jpeg)

@ -1,3 +1,7 @@
---
title: rad boys only
categories: personal
---
# rad boys only
we are boys and we are rad
sometimes our cooking makes us sad
@ -25,4 +29,4 @@ and made ceviche and watched tv
![kitchen1](/photos/rad-boys-only/kitchen1.JPG)
![kitchen2](/photos/rad-boys-only/kitchen2.JPG)
![salt salt salt](/photos/rad-boys-only/salt.JPG)
![salt salt salt](/photos/rad-boys-only/salt.JPG)

@ -0,0 +1,4 @@
* [hosting static sites on s3](/projects/hostingStaticSitesOnS3.md)
* [building a slack bot](/projects/mojojojo-bot.md)
* [agares, the multi-armed demon](/projects/agares.md)
* [using git on iPhone](/projects/workingcopy.md)

@ -1,3 +1,7 @@
---
title: agares
categories: projects
---
# agares, a multi armed demon
well, originally i don't think the multi armed part was mentioned in the "list of demons" i found on the internet. now, though, agares is absolutely multi armed because I keep adding so much bullshit to this project.
@ -52,4 +56,4 @@ i absolutely can not get this to work unless i'm running a linux guest in virtua
## deployments for home projects
right now this is really just a spot for my deployment of `mojojojo-bot`, my slackbot. you can read more about it (in an out of date blog post) [here](/blogposts/mojojojo-bot.md).
I deploy it using ansible targeting one of my few docker hosts. right now those are all local. eventually, i hope to build out a spot, or a deployment mechanism, for pushing it to Azure or AWS. I call `mojo.yml` with ansible-playbook, referencing a custom inventory file of `hosts.yml`, with `--ask-vault-pass` to prompt for password to decrypt `mojo-vault-vars.yml`, containing the slack-bot API token. this allows me to sync the actual API token via github, encrypted, without worrying about everyone and their dog fucking with my slack server.
I deploy it using ansible targeting one of my few docker hosts. right now those are all local. eventually, i hope to build out a spot, or a deployment mechanism, for pushing it to Azure or AWS. I call `mojo.yml` with ansible-playbook, referencing a custom inventory file of `hosts.yml`, with `--ask-vault-pass` to prompt for password to decrypt `mojo-vault-vars.yml`, containing the slack-bot API token. this allows me to sync the actual API token via github, encrypted, without worrying about everyone and their dog fucking with my slack server.

@ -1,14 +1,18 @@
# Hosting static sites on S3
Turns out this was pretty straightforward. The steps are basically:
* decide on a dns name for your static page
* create an S3 bucket using that name (bullshit.jowj.net)
* upload at least one file to your bucket
* change bucket to enable hosting static pages (ensure you set the file you uploaded to be your index)
* copy fully qied aws name of endpoint and point cname (bullshit) to that endpoint
* boom done.
I'd had this as a "thing to do" for forever, but I guess I thought it'd be more involved. this was just really straight forward.
---
title: Hosting static sites on S3
categories: projects
---
# Hosting static sites on S3
Turns out this was pretty straightforward. The steps are basically:
* decide on a dns name for your static page
* create an S3 bucket using that name (bullshit.jowj.net)
* upload at least one file to your bucket
* change bucket to enable hosting static pages (ensure you set the file you uploaded to be your index)
* copy fully qied aws name of endpoint and point cname (bullshit) to that endpoint
* boom done.
I'd had this as a "thing to do" for forever, but I guess I thought it'd be more involved. this was just really straight forward.

@ -1,3 +1,7 @@
---
title: mojojojo-bot
categories: projects
---
# mojojojo-bot
this was relatively easy to build initially (straight from a template), but building any functionality that I wanted into was, as expected, hard. because i am garbage at python.

@ -1,3 +1,7 @@
---
title: editing files tracked in gif while on your phone
categories: projects
---
# editing files tracked in gif while on your phone
i open it in “working copy” and then send it to your markdown editor. then you sent it back to working copy.
@ -5,4 +9,4 @@ i open it in “working copy” and then send it to your markdown editor. then y
## so writing this is not bad
really, its a lot better than i expected it to be. im writing this on my phone for christ sake, but its still really straight forward to add a list, insert images, whatever
that is so fucking great tbh
that is so fucking great tbh
Loading…
Cancel
Save