Merge branch 'hugo'

pull/6/head
commit ea782bac7e

@ -0,0 +1,48 @@
name: Build and Deploy Site
on:
push:
branches:
- master
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v2
with:
submodules: true
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version: lts/*
cache: npm
cache-dependency-path: assets/package-lock.json
- name: Setup Hugo
uses: peaceiris/actions-hugo@v2
with:
hugo-version: "latest"
extended: true
- name: Configure npm
run: |
npm config set "@fortawesome:registry" https://npm.fontawesome.com/
npm config set "//npm.fontawesome.com/:_authToken" ${{ secrets.FONTAWESOME_TOKEN }}
- name: Install global npm packages
run: |
npm -g install
- name: Install local npm packages
run: |
cd assets
npm install
cd ..
- name: Run Hugo
run: |
hugo
cp ${GITHUB_WORKSPACE}/{CNAME,.nojekyll} public
- name: Deploy to gh-pages
uses: rdarida/simple-github-pages-deploy-action@v1
with:
git-user: "MillironX"
git-email: "25492070+MillironX@users.noreply.github.com"
git-base-folder: "public"
commit-message: "Build and deploy"
branch: "gh-pages"

149
.gitignore vendored

@ -1,4 +1,153 @@
### Jekyll gitignore ###
_site/
.sass-cache/
.jekyll-cache/
.jekyll-metadata
### Hugo gitignore ###
# Generated files by hugo
/public/
/resources/_gen/
/assets/jsconfig.json
hugo_stats.json
# Executable may be added to repository
hugo.exe
hugo.darwin
hugo.linux
# Temporary lock file while building
/.hugo_build.lock
### Node gitignore ###
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Optional stylelint cache
.stylelintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variable files
.env
.env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# vuepress v2.x temp and cache directory
.temp
.cache
# Docusaurus cache and generated files
.docusaurus
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*

3
.gitmodules vendored

@ -0,0 +1,3 @@
[submodule "themes/ananke"]
path = themes/ananke
url = https://github.com/theNewDynamic/gohugo-theme-ananke.git

@ -0,0 +1,2 @@
node_modules
themes

@ -0,0 +1,6 @@
"$schema": "http://json.schemastore.org/prettierrc"
proseWrap: always
overrides:
- files: "*.html"
options:
parser: "go-template"

@ -1 +0,0 @@
2.7.2

@ -1,10 +0,0 @@
---
title: 404 Error - Page Not Found
imageUrl: /img/404.jpg
blurImageUrl: /img/404_blur.jpg
motto: HTTP 404 Error
imageTitle: The End of Paradise
imageDescription: The Paradise Creek Trail seems to lead straight into ... a construction zone?
---
<p><em>That's geek speak for</em> "this page doesn't exist anymore, and maybe it never did!"</p>

@ -1,14 +0,0 @@
---
title: Artificial Insemination Services
description: An advertisement for my services as an AI tech.
imageUrl: /img/Ai-calf.jpg
imageTitle: Bull calf
imageDescription: I can't remember if this calf was, in fact, an AI baby, but he's sure cute enough to sell something, anyway.
blurImageUrl: /img/Ai-calf_blur.jpg
motto: Artificial Insemination
---
<p>
I am licensed in the Great State of Wyoming as a food animal artificial insemination technician, which means I can legally AI cows, goats, and sheep.
Practically speaking, I have only ever AIed cows, but my conception rates are very good for both beef and dairy cows.
When (if?) I standardize my rates, I will include them here. Until then, you will have to <a href="Contact">contact me</a> directly and we can negotiate prices then.
</p>

@ -1,212 +0,0 @@
---
title: Academic Achievements
description: A list of various publications, presentations and posters that I've given in the name of academia, including abstracts, links to proof that I did them, as well as full-text links when available.
imageUrl: /img/library.jpg
blurImageUrl: /img/library_blur.jpg
motto: Academic Publications and Presentations
imageTitle: University of Idaho Library
imageDescription: Personally, I preferred the Owen Library in Pullman seven miles west
---
<!-- Thesis -->
<dl id="thesis">
<dt>Polyoxometalate Incorporation and Effects on Proton Transport in
Hydrogel Polymers</dt>
<dd>
A Thesis Presented for the Degree of Master of Science of Chemical
Engineering in the University of Idaho by Thomas Allen Christensen II
<br />
Major Professor: James G. Moberly, Ph.D.
<br />
Committee Members: Kristopher Waynant, Ph.D.; Mark Roll, Ph.D.
<br />
August 2020
<br />
<a data-toggle="collapse" data-target="#thesis-abstract" role="button">Abstract <span class="caret"></span></a>
&emsp;
<a href="https://www.proquest.com/dissertations-theses/polyoxometalate-incorporation-effects-on-proton/docview/2502214356/se-2"><i class="fas fa-file-alt"></i>&ensp;Full Text</a>
<div class="collapse" id="thesis-abstract">
<p class="font-serif">
Polyoxometalate clusters embedded into hydrogel biobeads may be able to solve
the challenges posed by free proton generation during remediation of
trichloroethylene by acting as buffers and reducing protons to hydrogen gas. In
this thesis, the challenges posed by systems that contain both diffusion and
reaction processes for protons are considered mathematically, and a computer
simulation to was developed to prove the relationship between diaphragm cell lag
period and reactive capabilities of membranes. Two polyoxometalate compounds,
sodium decavanadate and alumina sulfate, were successfully incorporated into a
poly(vinyl alcohol) hydrogel membrane, and the diffusivity changes associated
with each compound was determined. It was found that the diffusivity of protons
through an unmodified 10% w/v poly(vinyl alcohol) membrane was 1.76 &times;
10<sup>-5</sup> cm<sup>2</sup> s<sup>-1</sup>, the diffusivity through a 10%/2%
w/w/v poly(vinyl alcohol)/sodium decavanadate membrane was 3.10 &times; 10<sup>-6</sup>
cm<sup>2</sup> s<sup>-1</sup>, and the diffusivity through a 10%/2% w/w/v
poly(vinyl alcohol)/alumina sulfate membrane was 3.32 &times; 10<sup>-7</sup>
cm<sup>2</sup> s<sup>-1</sup>. Through analysis of the diaphragm cell lag
period, it was found the incorporation of sodium decavanadate did not increase
the reactivity of a poly(vinyl alcohol) hydrogel, and incorporation of alumina
sulfate lowered the reactivity. These results indicate that polyoxometalate
integration into hydrogel membranes is feasible, but does not provide any
advantage to a bioremediation scenario.
</p>
</div>
</dd>
</dl>
<hr />
<!-- Rumen metagenomics -->
<dl id="metagenomics">
<dt>Metagenomic analysis of rumen populations in week-old calves as
altered by maternal late gestational nutrition and mode of delivery</dt>
<dd>
T. A. Christensen II, K.J. Austin, K. M. Cammack, and H. C. Cunningham-Hollinger
<br />
Westion Section American Society of Animal Science Annual Meeting &#9679; Boise, ID &#9679; June 12, 2019
<br />
1<sup>st</sup> Place Undergraduate Poster Competition
<br />
<a data-toggle="collapse" data-target="#metagenomics-abstract" role="button">Abstract <span
class="caret"></span></a>
&emsp;
<a href="https://github.com/MillironX/cowcalf-rumen-metagenomic-pipeline"><i class="fas fa-code"></i>&ensp;Source Code</a>
&emsp;
<a href="/blob/metagenomics_analysis_of_rumen_populations.pdf"><i class="fas fa-chart-pie"></i>&ensp;Full Text</a>
<div class="collapse" id="metagenomics-abstract">
<p class="font-serif">Early colonization of the rumen microbiome is critical to host health and long term
performance. Factors that influence early colonization include maternal factors such as gestational
nutrition and mode of delivery. Therefore, we hypothesized that late gestational nutrition and mode of
delivery would influence the calf rumen microbiome. Our objectives were to determine if nutrient
restriction during late gestation alters the calf rumen microbiome and determine if ruminal microbiome
composition differs in calves born vaginally versus caesarean. Late gestating Angus cows were randomly
allocated to one of three treatment groups: control (<b>CON</b>; n = 6), caesarean section (<b>CS</b>; n
= 4), and nutrient restricted (<b>NR</b>; n = 5), where CON were fed DDGS and hay to meet NRC
requirements and calved naturally; CS were fed similarly to CON and calves were born via caesarean
section; and NR were fed at a level to reduce BCS by 1.5-2.0 points over the last trimester compared to
CON and calved naturally. Rumen fluid was collected via oral lavage prior to partition from cows and at
d 7 from calves. Microbial DNA was isolated from the rumen fluid and metagenomic shotgun sequencing was
performed using the Illumina HiSeq 2500 platform. Sequence data were analyzed using Metaxa2 for
taxonomic assignment followed by QIIME1 and QIIME2 to determine differential abundance and alpha- and
beta-diversity differences. There were no significant differences in alpha-diversity as measured by
shannon index across treatment groups for cows (<em>P</em> = 0.239), but there were significant
differences for calves (<em>P</em> = 0.015). Similarly, there were no significant differences in
beta-diversity as measured by the bray-curtis dissimilarity matrix for cows (<em>P</em> = 0.059), but
there were significant differences for calves (<em>P</em> = 0.007). Alpha-diversity differed (<em>P</em>
< 0.001) between cows and calves, with cows having increased species richness compared to calves.
Beta-diversity also differed (<em>P</em> = 0.001) between cows and calves. At total of 410 taxa were
differentially abundant (<em>P</em>
< 0.01) between cows and calves. These results suggest that the mature rumen microbiome of cows is
able to withstand changes in feed intake, however the calf microbiome is susceptible to
alteration by maternal factors. These data also suggest that there may be opportunities to
develop management strategies during late gestation that influence calf health and performance
long-term.</p>
<p><b>Key words</b>: gestation, metagenomics, microbiome, rumen</p>
</div>
</dd>
<hr />
<!-- ChemE Car -->
<dt id="cheme-car">The ChemE Car that Cud: Entry and Documentation Packet to AIChE ChemE Car Contest</dt>
<dd>
Thomas Christensen II, Andrew Halverson, Kennedee True, Seth Messick, Amanda Christensen, Caleb Richmond,
Alexander Brown, & Jake Maksin with Dr. David Bagley
<br />
Rocky Mountain Regional AIChE Student Conference &#9679; Golden, CO &#9679; April 6, 2019
<br />
2<sup>nd</sup> Place Poster Competition &#9679; 7<sup>th</sup> Place Performance Competition
<br />
<a data-toggle="collapse" data-target="#cheme-car-abstract" role="button">Abstract <span class="caret"></span></a>
&emsp;
<a href="https://hdl.handle.net/20.500.11919/3817"><i class="fas fa-file-alt"></i>&ensp;Full Text</a>
<div class="collapse" id="cheme-car-abstract">
<p class="font-serif">The ChemE Car That Cud showcases Wyoming&rsquo;s dominant industries of agriculture and
mining by utilizing rumen fluid from a cannulated beef cow to generate hydrogen to be used in a hydrogen
fuel cell and radioactive cesium, a byproduct of uranium that is often obtained from Wyoming&rsquo;s mines, to
time the car&rsquo;s stop. The concentration of cesium-137 source is measured using the radioactive decay of
cesium shielded by aluminum. The painted aluminum chassis was obtained from a previous team at UW, and
modified using plastic k&rsquo;nex toys to adapt to the current power source and stopping mechanism.</p>
</div>
</dd>
<hr />
<!-- AIChE Poster -->
<dt id="pva-aiche">Measuring Diffusion of Trichlorethylene Breakdown Products in Polyvinylalginate</dt>
<dd>
Thomas A. Christensen II, Samuel R. Wolfe, Jonathan Counts, Mark F. Roll, Kristopher V. Waynant, James G.
Moberly
<br />
AIChE Annual Meeting &#9679; Pittsburgh, PA &#9679; October 29, 2018
<br />
3<sup>rd</sup> Place Environmental III Division Undergraduate Poster Competition
<br />
<a data-toggle="collapse" data-target="#pva-aiche-abstract" role="button">Abstract <span class="caret"></span></a>
&emsp;
<a href="https://aiche.confex.com/aiche/2018/meetingapp.cgi/Paper/545790"><i class="fas fa-calendar-alt"></i>&ensp;Conference Schedule</a>
&emsp;
<a href="/blob/measuring_diffusion_of_trichloroethylene.pdf"><i class="fas fa-chart-pie"></i>&ensp;Full Text</a>
<div class="collapse" id="pva-aiche-abstract">
<p class="font-serif">Trichloroethylene (TCE), a toxic and carcinogenic contaminant, presents unique
challenges for cleanup because of its water solubility, density, and volatility. Bioremediation of TCE
is a promising cleanup method; however, metabolism of TCE results in acid generation that inhibits
remediating microorganisms. Calcium alginate(CA)-polyvinylalcohol (PVA) hydrogels show promise for
protecting remediating microbes, however diffusion of TCE or its byproducts through these polymers is
unknown. To measure the effective diffusion coefficient of TCE and byproducts through hydrogel
membranes, we used a modified diaphragm cell. Measured effective diffusion coefficient of each species
was (cm<sup>2</sup>/s ×10<sup>6</sup>): 14.0 ± 1.91 for H+ ions, 12.4 ± 1.64 for TCE, 7.83 ± 0.54 for
cis-1,2-dichloroethylene (DCE), and 4.68 ± 4.14 for vinyl chloride. These results aid in engineering
biobeads and suggest that CA-PVA hydrogel blends are effective in slowing diffusion of protons,
buffering acids produced by trichloroethylene metabolism, and remains suitable for encapsulation of
microorganisms involved in bioremediation.</p>
</div>
</dd>
<hr />
<!-- Fast Pitch speech -->
<dt>How to build a cow-cud fuel cell</dt>
<dd>
Thomas A. Christensen II
<br />
Idaho INBRE Summer Research Conference &#9679; Moscow, ID &#9679; August 1, 2018
<br />
3<sup>rd</sup> Place Fast-Pitch Science Presentation Contest
<br />
<a href="https://web.archive.org/web/20190928024416/https://inbre.uidaho.edu/research/research-conference/"><i class="fas fa-trophy"></i>&ensp;Awards
Listing</a>
</dd>
<hr />
<!-- INBRE Poster -->
<dt id="pva-inbre">Measuring diffusion of protons in polyvinylalginate</dt>
<dd>
Thomas A. Christensen II, Jonathan Counts, James G. Moberly
<br />
Idaho INBRE Summer Research Conference &#9679; Moscow, ID &#9679; July 31, 2018
<br />
Undergraduate Poster Competition
<br />
<a data-toggle="collapse" data-target="#pva-inbre-abstract" role="button">Abstract <span class="caret"></span></a>
&emsp;
<a
href="https://eventmobi.com/idahoinbre2018/people/c861bd6f-f4a7-4d67-a59a-199e34515776/387725dc-c893-44b6-b611-0abdf5fbcf6e"><i class="fas fa-calendar-alt"></i>&ensp;Conference
Schedule</a>
<div class="collapse" id="pva-inbre-abstract">
<p class="font-serif">Trichloroethylene (TCE) is a toxic and carcinogenic contaminant that presents unique
challenges for cleanup because of its density and volatility. Use of microorganisms may be a promising
remediation method, however metabolism of TCE results in acid buildup, which consequently impedes the
ability of microorganisms to perform this remediation. Polyvinylalginate (PVA) shows promise as a useful
shield for microorganisms carrying out bioremediation of TCE by surrounding them in a protective
biofilm-like layer, however, key information is missing which relates diffusion of TCE or its metabolic
products through PVA. To measure the effective diffusion coefficient of H+ ions through a PVA membrane
cross-linked with boric acid and calcium ions, we used a modified diaphragm cell. We found the effective
diffusion coefficient to be 1.40 × 10<sup>-5</sup> ± 1.91 × 10<sup>-6</sup> cm<sup>2</sup>/s, a nearly
seven-fold decrease in diffusivity compared to protons in water, with an unexpected significant but as
of yet unquantified adsorption capacity. These results suggest that polyvinylalginate is effective in
slowing diffusion of protons and buffering these acids produced by trichloroethylene metabolism, and
remains suitable for encapsulation of microorganisms involved in bioremediation.</p>
</div>
</dd>
</dl>

@ -1,54 +0,0 @@
---
title: Contact Me
description: Contact form to get ahold of me.
imageUrl: /img/venice-mailbox.jpg
imageTitle: Snitch box in Venice
imageDescription: This mailbox was used for reporting public health offenses in Venice. It survived the wrath of Napoleon because it didn't look enough like a lion.
blurImageUrl: /img/venice-mailbox_blur.jpg
motto: Contact Me
---
<form class="form-horizontal pageclip-form"
action="https://usebasin.com/f/787df7bfd22e"
method="post">
<fieldset>
<legend>Contact Me</legend>
<input type="hidden" name="_gotcha">
<div class="form-group">
<label for="name" class="col-lg-2 control-label">Name</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="name" name="name" placeholder="Jay Lush" required>
</div>
</div>
<div class="form-group">
<label for="email" class="col-lg-2 control-label">Email</label>
<div class="col-lg-10">
<input type="email" class="form-control" id="email" name="email" placeholder="jlush@iastate.edu" required>
</div>
</div>
<div class="form-group">
<label for="phone" class="col-lg-2 control-label">Phone number</label>
<div class="col-lg-10">
<input type="tel" class="form-control" id="phone" name="phone" placeholder="(515) 294-2160">
</div>
</div>
<div class="form-group">
<label for="subject" class="col-lg-2 control-label">Subject</label>
<div class="col-lg-10">
<input type="text" class="form-control" id="subject" name="subject" placeholder="Beef genetics" required>
</div>
</div>
<div class="form-group">
<label for="message" class="col-lg-2 control-label">Message</label>
<div class="col-lg-10">
<textarea rows="5" class="form-control font-sans" id="message" name="body" required style="min-height: 72pt;"></textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="reset" class="btn btn-default">Cancel</button>
<button type="submit" class="btn btn-primary pageclip-form__submit"><span>Submit</span></button>
</div>
</div>
</fieldset>
</form>

@ -1,30 +0,0 @@
source "https://rubygems.org"
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem "jekyll", "~> 4.0.0"
# This is the default theme for new Jekyll sites. You may change this to anything you like.
gem "minima", "~> 2.5"
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
# If you have any plugins, put them here!
group :jekyll_plugins do
gem "jekyll-feed", "~> 0.12"
end
# Windows and JRuby does not include zoneinfo files, so bundle the tzinfo-data gem
# and associated library.
install_if -> { RUBY_PLATFORM =~ %r!mingw|mswin|java! } do
gem "tzinfo", "~> 1.2"
gem "tzinfo-data"
end
# Performance-booster for watching directories on Windows
gem "wdm", "~> 0.1.1", :install_if => Gem.win_platform?

@ -1,91 +0,0 @@
GEM
remote: https://rubygems.org/
specs:
addressable (2.8.0)
public_suffix (>= 2.0.2, < 5.0)
colorator (1.1.0)
concurrent-ruby (1.1.6)
em-websocket (0.5.1)
eventmachine (>= 0.12.9)
http_parser.rb (~> 0.6.0)
eventmachine (1.2.7)
eventmachine (1.2.7-x64-mingw32)
ffi (1.13.1)
ffi (1.13.1-x64-mingw32)
forwardable-extended (2.6.0)
http_parser.rb (0.6.0)
i18n (1.8.5)
concurrent-ruby (~> 1.0)
jekyll (4.0.1)
addressable (~> 2.4)
colorator (~> 1.0)
em-websocket (~> 0.5)
i18n (>= 0.9.5, < 2)
jekyll-sass-converter (~> 2.0)
jekyll-watch (~> 2.0)
kramdown (~> 2.1)
kramdown-parser-gfm (~> 1.0)
liquid (~> 4.0)
mercenary (~> 0.3.3)
pathutil (~> 0.9)
rouge (~> 3.0)
safe_yaml (~> 1.0)
terminal-table (~> 1.8)
jekyll-feed (0.15.0)
jekyll (>= 3.7, < 5.0)
jekyll-sass-converter (2.1.0)
sassc (> 2.0.1, < 3.0)
jekyll-seo-tag (2.6.1)
jekyll (>= 3.3, < 5.0)
jekyll-watch (2.2.1)
listen (~> 3.0)
kramdown (2.3.1)
rexml
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
liquid (4.0.3)
listen (3.2.1)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
mercenary (0.3.6)
minima (2.5.1)
jekyll (>= 3.5, < 5.0)
jekyll-feed (~> 0.9)
jekyll-seo-tag (~> 2.1)
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (4.0.6)
rb-fsevent (0.10.4)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.5)
rouge (3.21.0)
safe_yaml (1.0.5)
sassc (2.4.0)
ffi (~> 1.9)
sassc (2.4.0-x64-mingw32)
ffi (~> 1.9)
terminal-table (1.8.0)
unicode-display_width (~> 1.1, >= 1.1.1)
thread_safe (0.3.6)
tzinfo (1.2.7)
thread_safe (~> 0.1)
tzinfo-data (1.2020.1)
tzinfo (>= 1.0.0)
unicode-display_width (1.7.0)
wdm (0.1.1)
PLATFORMS
ruby
x64-mingw32
DEPENDENCIES
jekyll (~> 4.0.0)
jekyll-feed (~> 0.12)
minima (~> 2.5)
tzinfo (~> 1.2)
tzinfo-data
wdm (~> 0.1.1)
BUNDLED WITH
2.1.4

@ -1,41 +0,0 @@
---
title: Videos
description: My videography portfolio including highlights of all my adventures in filmmaking.
imageUrl: /img/camera.jpg
imageTitle: Historical Kodak Camera
imageDescription: Isn't it a shame that the company that brought photography to the masses is basically out of business now?
blurImageUrl: /img/camera_blur.jpg
motto: Videography Portfolio
---
<h2>The culmination of all art forms is that of film.</h2>
<p> A good film must have the plot of a good novel, the legendary characters of sculpture, the tantalizing rhythm of poetry, the stellar composition of photography, and the swelling melodies of music.</p>
<p>But I digress. Most of my forays into the world of film are immortalized on <a href="https://vimeo.com/tchristensenii">my Vimeo account</a>, but I decided to share a few highlights here. Enjoy!</p>
<div class="well" id="albany-county-fair-2016">
<h3>If You Come Out to the Fair</h3>
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/191326975?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
<p>My extension agent asked me to make a promotional video for our county fair. This is the only film of mine that has drawn an emotional response. I think I retired after this.</p>
</div>
<hr />
<div class="well" id="ag-olympics">
<h3>Farm Bureau Ag Olympics Reel</h3>
<div class="embed-responsive embed-responsive-16by9">
<iframe width="560" height="315" src="https://www.youtube-nocookie.com/embed/jhLJp3OFsYM?rel=0" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>
</div>
<p>The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to come and shoot a highlight reel of the Ag Olympics booth they ran at the Wyoming Football Wyoming Needs Agriculture Day. I gave away all rights to this one except for bragging rights.</p>
</div>
<hr />
<div class="well" id="non-verum">
<h3>Non Verum: <small>The Mystery Killer</small></h3>
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/130557155?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
<p>My first <span class="strikethrough">documentary</span> mockumentary. This film won 2<sup>nd</sup> place at the <a href="http://4h.missouri.edu/filmfest4h/">2016 National 4-H Film Festival</a>, and I've been told that it's more polished than the pieces done by the local TV stations. No one seems to think it's funny, though, so I'm not sure how successful it was. Please do me a favor and google <strong>every</strong> term you don't understand while watching it, and perhaps you'll fare better.</p>
</div>
<hr />
<div class="well" id="in-the-hayfields">
<h3>In the Hayfields</h3>
<div style="padding:56.25% 0 0 0;position:relative;"><iframe src="https://player.vimeo.com/video/144811104?color=ffffff" style="position:absolute;top:0;left:0;width:100%;height:100%;" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>
<p>I always get the comment that our implements are <em>old</em> whenever I show this video off. I just ignore the naysayers, though, and good thing, too, because a version of this video won a <a href="https://gopro.com/awards">GoPro Award</a>. Still waiting to see my footage on their channel, though.</p>
</div>
<hr />
<p>Want to see more videos? Please petition Vimeo to loosen their overall storage limits. They used to be the coolest site for video uploading, but have priced me out now.</p>
<script src="https://player.vimeo.com/api/player.js"></script>

@ -1,137 +0,0 @@
---
title: My Websites
description: A listing of every website that I have ever contributed code to.
imageUrl: /img/eclipse.jpg
imageTitle: The 2017 Solar Eclipse
imageDescription: Did you know that the population of Wyoming quadrupled for one day in 2017?
blurImageUrl: /img/eclipse_blur.jpg
motto: Websites
---
<p>
I do occasionally build websites for myself and other people.
Here is a list of websites I have contributed code to directly, in a vain attempt to gain each of them some <a href="https://en.wikipedia.org/wiki/Search_engine_optimization">search engine cred</a>
</p>
<br />
<div class="well row">
<div class="col-md-3">
<a href="https://vedauwoogoats.azurewebsites.net">
<img src="/img/vedauwoo-goats-thumbnail.png" alt="Thumbnail of Vedauwoo Goats homepage" class="img-responsive img-thumbnail" />
</a>
</div>
<div class="col-md-9">
<h4 class="small-margins">Vedauwoo Goats</h4>
<h5><a href="https://vedauwoogoats.azurewebsites.net">https://vedauwoogoats.azurewebsites.net</a></h5>
<p>
Lists all the goats owned by my friend over at Vedauwoo Goats. I built the site to act as a
<a href="https://en.wikipedia.org/wiki/Content_management_system">content management system</a>
, meaning that I'm responsible for the design, and someone else is responsible for the mistakes,
I mean, content. Sometimes, I will put my two cents on the blog under the moniker "The Web Guru,"
but only when important web stuff is going on.
</p>
<div class="row">
<div class="col-xs-4">
<a href="https://asp.net/mvc">
<img src="/shapes/mvc-hero.png" class="float-left web-logo" height="32" alt="ASP.NET MVC Logo" />
<span class="visible-md visible-lg">ASP.NET MVC 5.0</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://visualstudio.com">
<img src="/shapes/Visual-Studio-2012.svg" class="float-left web-logo" height="32" alt="Visual Studio Logo" />
<span class="visible-lg visible-md">Visual Studio 2019</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://bootswatch.com/3/readable/">
<img src="/shapes/bootswatch.png" class="float-left web-logo" height="32" alt="Bootswatch Logo" />
<span class="visible-md visible-lg">Bootswatch Readable 3.x</span>
</a>
</div>
</div>
</div>
</div>
<hr />
<div class="row well">
<div class="col-md-3">
<a href="https://millironx.azurewebsites.net">
<img src="/img/milliron-x-thumbnail.png" alt="Thumbnail of Milliron X website" class="img-thumbnail img-responsive" />
</a>
</div>
<div class="col-md-9">
<h4 class="small-margins">Milliron X</h4>
<h5><a href="https://millironx.com">https://millironx.com</a></h5>
<p>
Lo and behold: I made my own website!
</p>
<div class="row">
<div class="col-xs-4">
<a href="https://jekyllrb.com">
<img src="/shapes/jekyll.png" class="float-left web-logo" height="32" alt="Visual Studio Logo" />
<span class="visible-md visible-lg">Jekyll</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://code.visualstudio.com">
<img src="/shapes/Visual-Studio-code.svg" class="float-left web-logo" height="32" alt="Visual Studio Code Logo" />
<span class="visible-lg visible-md">Visual Studio Code</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://www.creative-tim.com/product/get-shit-done-kit">
<img src="/shapes/gsdk.png" class="float-left img-thumbnail web-logo" height="32" width="32" alt="GSD Kit image" />
<span class="visible-md visible-lg">GSD Kit</span>
</a>
<br />
<div style="text-align: center">
<i class="fas fa-plus"></i>
</div>
<br />
<a href="https://web.archive.org/web/20140302232556/http://www.jonathanbriehl.com/2014/01/17/vertical-menu-for-bootstrap-3">
<img src="/shapes/Reading-panel-WF.svg" class="float-left web-logo" height="32" alt="Sidebar rendering" />
<span class="visible-md visible-lg">Vertical Menu for Bootstrap</span>
</a>
</div>
</div>
</div>
</div>
<hr />
<div class="row well">
<div class="col-md-3">
<img src="/img/recordbooks-thumbnail.png" alt="Thumbnail of Albany County 4-H Record Book website" class="img-thumbnail img-responsive" />
</div>
<div class="col-md-9">
<h4 class="small-margins">Albany County 4-H Record Books</h4>
<h5><a href="http://wyoming4h.org/albany4h/record-book/">http://wyoming4h.org/albany4h/record-book/</a></h5>
<p>
I constructed this site to hold the record book helps of the rebellious Albany County, Wyoming.
Due to the bureaucratic lag that it takes to update, it got updated just in time for
Wyoming 4-H to ditch paper record books entirely. Oh, well.
</p>
<div class="row">
<div class="col-xs-4">
<a href="https://www.w3.org/html/">
<img src="/shapes/HTML5-Logo.svg" class="float-left web-logo" height="32" alt="HTML 5 Logo" />
<span class="visible-md visible-lg">Plain ol' HTML5</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://adobe.com/dreamweaver">
<img src="/shapes/Adobe-Dreamweaver.svg" class="float-left web-logo" height="32" alt="Dreamweaver Logo" />
<span class="visible-lg visible-md">Adobe Dreamweaver CC</span>
</a>
</div>
<div class="col-xs-4">
<a href="https://bootswatch.com/3/lumen/">
<img src="/shapes/bootswatch.png" class="float-left web-logo" height="32" alt="Bootswatch Logo" />
<span class="visible-md visible-lg">Bootswatch Lumen 3.x</span>
</a>
</div>
</div>
</div>
</div>

@ -1,57 +0,0 @@
# Welcome to Jekyll!
#
# This config file is meant for settings that affect your whole blog, values
# which you are expected to set up once and rarely edit after that. If you find
# yourself editing this file very often, consider using Jekyll's data files
# feature for the data you need to update frequently.
#
# For technical reasons, this file is *NOT* reloaded automatically when you use
# 'bundle exec jekyll serve'. If you change this file, please restart the server process.
# Site settings
# These are used to personalize your new site. If you look in the HTML files,
# you will see them accessed via {{ site.title }}, {{ site.email }}, and so on.
# You can create any custom variable you would like, and they will be accessible
# in the templates via {{ site.myvariable }}.
title: Milliron X
email: ""
description: >- # this means to ignore newlines until "baseurl:"
Thomas A. Christensen II's personal website and portfolio. It details
my work in academia as a Chemical Engineer, as a ranch kid in Wyoming,
and as filmmaker.
baseurl: "" # the subpath of your site, e.g. /blog
url: "https://millironx.com" # the base hostname & protocol for your site, e.g. http://example.com
twitter_username: ""
github_username: millironx
# Build settings
markdown: kramdown
theme: minima
plugins:
- jekyll-feed
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
# exclude:
# - Gemfile
# - Gemfile.lock
# - node_modules
# - vendor/bundle/
# - vendor/cache/
# - vendor/gems/
# - vendor/ruby/
defaults:
-
scope:
path: ""
type: "pages"
values:
layout: "default"
title: Milliron X
imageUrl: /img/saddles.jpg
blurImageUrl: /img/saddles_blur.jpg
motto: Milliron X
imageTitle: "Saddles After Roundup"
imageDescription: "After gathering all the cows and unsaddling the horses, the saddles wait for the cowboys to put the horses away"

@ -1,235 +0,0 @@
---
title: Keep EPDs Real
imageUrl: /img/cannulated-cows.jpg
blurImageUrl: /img/cannulated-cows_blur.jpg
motto: Keep EPDs Real
---
<p>
In the
<a href="https://podcasts.apple.com/us/podcast/selection-for-milk-in-the-cowherd-how-much-is-too-much/id964198047?i=1000431062519">March 4, 2019 episode of BeefWatch Podcast</a>,
Dr. Travis Mulliniks of the University of Nebraska-Lincoln presented the research he conducted and published in
<a href="https://academic.oup.com/tas">Translational Animal Science</a> titled
<a href="https://doi.org/10.2527/tas2016.0006">"High milk production decreases cow-calf productivity within a highly available feed resource environment."</a>
In the study, he discovered that fluid milk production in beef cattle has no correlation with calf weaning weights, but has a significant negative correlation with breedback rates.
Dr. Mulliniks' paper is in agreement with several others on this topic, and appears to be the largest and most conclusive study of this topic to-date.
</p>
<p>At the conclusion of the podcast episode, Dr. Mulliniks stated</p>
<blockquote>As producers looking at bulls: we highly suggest, in our environment in Nebraska, from an Angus standpoint, an EPD of 22 or lower.
&hellip;
Above that we start seeing an increase in that milking potential. But it's something that we really need to pay attention to,
'cause as [<em>sic</em>] our costs continue to go up, and we're not necessarily seeing an increase in the output.
&hellip;
We really need to manage and moderate milk in a lot of our cow-calf setups.</blockquote>
<p>Mathematically, he is saying:</p>
<img class="img img-responsive math"
src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production=Low\&space;MILK\&space;EPD\neq&space;Low\&space;Weaning\&space;Weights"
title="\small High\ Fertility=Low\ Milk\ Production=Low\ MILK\ EPD\neq Low\ Weaning\ Weights" />
<p><em><strong>WHAT!?!</strong></em></p>
<p>
His research did state that
</p>
<img class="img img-responsive math"
src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production\neq&space;Low\&space;Weaning\&space;Weights"
title="\small High\ Fertility=Low\ Milk\ Production\neq Low\ Weaning\ Weights" />
<p>
But the MILK EPD is calculated from calf weaning weights, and weaning weights only. The
<a href="https://www.angus.org/Nce/Definitions.aspx">Angus Association sort of admits it</a>,
the <a href="http://nbcec.org/producers/sire_selection/manual.pdf">National Beef Cattle Evaluation Consortium knows it</a>,
and professors in both <a href="https://www.worldcat.org/search?q=isbn%3A9781845939816">Scotland</a>
and <a href="https://www.worldcat.org/search?q=isbn%3A0646387138">Australia</a> teach students how to calculate it.
It is a maternal trait, and is not a &quot;direct&quot; predictor of weaning weights, but
<b><em>the only phenotype data that is incorporated into the calculation is that of weaning weight</em></b>.
Mathematically, that means:
</p>
<img class="img img-responsive math" src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;Low\&space;MILK\&space;EPD=&space;Low\&space;Weaning\&space;Weights" title="\small Low\ MILK\ EPD= Low\ Weaning\ Weights" />
<p>
So both of these pieces of information lead to something more like:
</p>
<img class="img img-responsive math" src="https://latex.codecogs.com/svg.latex?\inline&space;\small&space;High\&space;Fertility=Low\&space;Milk\&space;Production\neq&space;Low\&space;MILK\&space;EPD=Low\&space;Weaning\&space;Weights" title="\small High\ Fertility=Low\ Milk\ Production\neq Low\ MILK\ EPD=Low\ Weaning\ Weights" />
<p>I contacted Mulliniks and asked him if there was something I missed. He replied</p>
<blockquote>
The milk EPD is actually associated with milk production.
If you reread the description for milk EPD, <strong>it is a direct correlation between milk</strong> and mothering ability <strong>on weaning weight</strong>, which would be the maternal component of weaning weight.
So using bulls with high milk EPDs will increase milk production of your cowherd if you retain heifers out them.
<br />
&hellip;
<br />
Selecting for low milk EPD does not mean you will necessarily decrease calf weaning weight.
You can still select for growth through WW EPD that would be independent from maternal traits.
<br />
<em>[Emphasis mine]</em>
</blockquote>
<h2>This was the last straw</h2>
<p>
I was formally introduced to EPDs at the age of 13 by my local semen sales rep.
He gave a slide presentation with lots of pretty pictures: one had lots of bell curves to illustrate accuracies, another had colored bars in four colors to illustrate SNPs, and another one had little bull silhouettes in little pens to illustrate contemporary groups.
He even defined Expected Progeny Difference: <em>expected</em> means a statistical prediction, <em>progeny</em> means the offspring - not the animal itself, and <em>difference</em> means compared to &hellip; something.
Not the breed averages, though.
That's why you really need to compare your potential sires against the breed averages, which are handily published in every sire catalog.
</p>
<p>
At the end of the presentation, he asked for questions.
I had one.
</p>
<p>
<em>&quot;How are they calculated?&quot;</em>
</p>
<p>
He knew the answer to that, too. It turns out that EPDs are generated by computers that take into account <b>all</b> of an animal's relatives, from his sons and daughters to his distant cousins.
That answer didn't satisfy me.
If you're reading this, I'm guessing that answer doesn't satisfy you, either.
</p>
<p>
I knew some extension agents and professors through 4-H and started making phone calls to get a real handle on how EPDs are calculated.
One of these calls yielded the name and phone number of a professor (both of which I have now forgotten) at Colorado State University who specialized in these things.
I eagerly called him.
</p>
<blockquote>
<table>
<tr>
<th>Professor</th>
<td>Hello?</td>
</tr>
<tr>
<th>Me</th>
<td>Hello, my name is Thomas Christensen. I'm a 4-H member interested in learning about EPDs.</td>
</tr>
<tr>
<th>
Professor
</th>
<td>
<em>(Repeat slideshow presentation from semen rep, except exclude the pretty pictures, because FaceTime wasn't a thing, yet.)</em>
</td>
</tr>
<tr>
<th>Professor</th>
<td>
Does that answer your questions?
</td>
</tr>
<tr>
<th>Me</th>
<td>Well, I was really looking for information on how they're calculated.</td>
</tr>
<tr>
<th>Professor <small>(indignantly)</small></th>
<td>You can't possibly understand that. The Angus Association has all the resource you need to understand EPDs as a producer: you don't need to know how they're calculated.</td>
</tr>
<tr>
<td></td>
<td><em>Click</em></td>
</tr>
</table>
</blockquote>
<p>
Maybe it's a good thing that I've forgotten his name, after all.
</p>
<p>
From that day forward, I read everything I could get my hands on about EPDs, and asked anyone who might know something about how they were calculated.
Every time it was the same non-answers that the semen rep had used: usually his exact language.
What they all amounted to was &quot;you don't need to know <b>how</b> EPDs are calculated, you just need to know that they work.&quot;
It sounded like I had stumbled into a cult.
Every time I was rebuffed, I grew even more upset at those who perpetuated these hand-waving definitions..
</p>
<p>
I eventually learned how EPDs were calculated after all. In a chance encounter at a library in a far-away state, I read <a href="https://www.worldcat.org/search?q=isbn%3A0646387138"><em>Animal Breeding: Use of New Technologies</em> by Brian Kinghorn, Julius van der Werf and Margaret Ryan</a>.
(I highly recommend this book, but it's extremely hard to find a copy.)
I learned the truths that the sire rep and the BIF had omitted the entire time.
It wasn't that mysterious or difficult, after all.
Most of the things that had been said were, false, but only because they had been deprived of their mathematical context.
Knowing the truth became a whole new burden, though, as I became more upset every time I heard someone abusing EPDs.
And one day I heard an academic who should have known better, and who had a great amount of sway among ranchers getting it blatantly wrong in a way that could directly hurt cow-calf producers.
As <a href="https://youtu.be/YLgqgh7qAbU?t=116">Marty Robbins put it</a>, &quot;I couldn't stand no more.&quot;
</p>
<h2>Something had to be done</h2>
<div class="row">
<div class="col-md-3">
<img class="img img-responsive img-rounded" src="/img/milk-is-not-milk-button.jpg" alt="MILK &ne; Milk" />
</div>
<div class="col-md-9">
<p>
So I founded the #KeepEPDsReal movement.
The movement officially launched at the Albany County Fair 2019
<sup><a type="button" data-toggle="tooltip" rel="tooltip" data-placement="top" title="" data-original-title="I was originally going to get them printed and hand them out at an animal science conference that Mulliniks and I were both attending, but thought that might have been too harsh">*</a></sup>,
where my colleagues and I wore and gave out buttons with the message MILK &ne; Milk.
I know that the message went over most people's heads, but there were a few that understood and heartily agreed.
The premise of the movement is simple:
</p>
</div>
</div>
<h3>Ranchers can do math, too</h3>
<p>
EPDs are an excellent tool, and they aren't that hard to understand, but as long as sire reps, extension agents and professors continue to
shroud them in an air of infallibility, <a href="https://blog.steakgenomics.org/2019/02/epds-and-reasonable-expectations-in.html">people aren't going to trust EPDs</a>.
What with matrix algebra built into most scientific calculators, there is no technical reason ranchers shouldn't be taught how to create their own EPDs.
I'm convinced that as scientists (and engineers and statstitians and mathematicians), being open and transparent about the methods used to make EPDs will give producers more realistic expectations, wider acceptance, and lower skepticism of EPDs and genomic tools.
That means no more defining
<a href="https://blog.steakgenomics.org/2019/03/epds-101-use-information-to-improve.html">EPD by defining the individual words</a>,
and no more throwing around words like
<a href="https://blog.steakgenomics.org/2018/06/experiences-with-implementation-of.html">single-step BLUP without context</a>.
<br />
<small><em>Sorry, Dr. Decker, your blog was just too available and had all the key phrases: it was too hard to pass up.</em></small>
</p>
<p>
In addition to creating the buttons and this rant,
I have also created a <a href="https://github.com/millironx/beefblup">computer program for ranchers to be able to calculate their own EPDs</a>
and a corresponding <a href="https://github.com/MillironX/beefblup/wiki/How-does-beefblup-find-breeding-values%3F">help document on the statistics that make it work</a> using high school-level math.
With the creation of #KeepEPDsReal, maybe &mdash; just maybe &mdash; we can end all the misinformation surrounding EPDs and start using them to make
reliable breeding decisions that actually produce the desired outcomes of animal breeders across America.
</p>
<h2>Get Involved</h2>
<div class="row">
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<h4><i class="fas fa-medal"></i>&emsp;Get some buttons!</h4>
</div>
<div class="panel-body">
<p>
I have a stash of buttons that are crying out for people to wear them.
If you happen to run into me at something to do with livestock, I will likely have a few of them
and can give you some. If you are only acquainted with me through the Internet, you will have to
get your own buttons printed. Here's how:
</p>
<ol>
<li>
Download the button artwork:
<br />
<a href="/blob/Milk-is-Not-Milk.psd"><i class="fas fa-file-alt"></i>&emsp;MILK &NotEqual; Milk Button Artwork</a>
</li>
<li>
Order 1 &frac34;&quot; round buttons with the artwork on them.
<br />
I got mine from <a href="https://www.purebuttons.com/product/175-custom-buttons">Pure Buttons</a>, but you can get them anywhere that has the right size.
</li>
</ol>
</div>
</div>
</div>
<div class="col-md-6">
<div class="panel panel-primary">
<div class="panel-heading">
<h4><i class="fas fa-laptop-code"></i>&emsp;Write some code (or docs)</h4>
</div>
<div class="panel-body">
<p>
My vision is to have the <a href="https://github.com/millironx/beefblup">beefblup repository</a> become a full-fledged suite
of programs to calculate all kinds of EBVs with documentation that explains everything that's going on a a high school math level.
I would appreciate help through coding and pull requests on the git repo, from those who know more about EPDs than I do.
More details can be found there.
</p>
</div>
</div>
</div>
</div>
<p>
Through this movement, we hope to stop seeing the MILK EPD used for fertility and milk selection, docility treated as a &quot;quantitative&quot;
trait, economic indices used in zero-based profit calculations, and &mdash; well, you get the picture. Join me, and together let's <b>#KeepEPDsReal</b>!
</p>
<h5 class="float-right">&mdash; <em>Thomas Christensen</em></h5>
<br />

@ -1,336 +0,0 @@
<!DOCTYPE html>
<html lang="en-us">
<head>
<!-- A LOT of this code comes from
https://www.jonathanbriehl.com/2014/01/17/vertical-menu-for-bootstrap-3/ -->
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="{{ page.description }}">
<meta name="author" content="">
<!-- Search engine ownership verification -->
<meta name="google-site-verification" content="3fvDu8JjIAk9qOUVYKcS3jLoev77-QQa3mmm6VlMfDo" />
<meta name="msvalidate.01" content="91286D33BFA1A447001733E8680C4A63" />
<title>MILLIRON X - {{ page.title }}</title>
<!-- Styles -->
<!-- Development styles: full toolkits for use in writing web pages -->
<!-- dev: bootstrap -->
<!-- <link href="https://stackpath.bootstrapcdn.com/bootstrap/3.0.2/css/bootstrap.min.css" rel="stylesheet"
integrity="sha384-eumbg33EfHRpbzLIm0lGs0JresLNj7c+5beuRW4d11/vF3Wv3YYmuudfOwMsCmp5" crossorigin="anonymous"
type="text/css"> -->
<!-- dev: GSDK -->
<!-- <link href="/css/gsdk-main.css" rel="stylesheet" type="text/css"> -->
<!-- <link href="/css/gsdk-demo.css" rel="stylesheet" type="text/css"> -->
<!-- dev: Customcss -->
<!-- <link href="/css/millironx_customstyles.css" rel="stylesheet" type="text/css"> -->
<!-- Release styles: bundled using purifycss from the dev sources -->
<link href="/css/bundle.css" rel="stylesheet" type="text/css">
{% if page.title == 'Contact Me' %}
<!-- Immutible styles: library styles that can't be bundled -->
<!-- Pageclip -->
<link rel="stylesheet" href="https://s.pageclip.co/v1/pageclip.css" media="screen">
{% endif %}
</head>
<body>
<div class="modal fade" id="legal-modal" tabindex="-1" role="dialog" aria-labelledby="legal-label">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
<h4 class="modal-title" id="legal-label">Additional Info</h4>
</div>
<div class="modal-body">
<ul class="nav nav-tabs">
<li class="active"><a href="#desc" data-toggle="tab" aria-expanded="true">Description</a></li>
<li><a href="#copyright" data-toggle="tab" aria-expanded="false">Copyright</a></li>
<li><a href="#oss" data-toggle="tab" aria-expanded="false">Open Source</a></li>
<li><a href="#privacy" data-toggle="tab" aria-expanded="false">Privacy</a></li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="desc">
<h4>{{ page.title }}</h4>
<p>{{ page.description }}</p>
<h6>Header image: <em>{{ page.imageTitle }}</em></h6>
<p>{{ page.imageDescription }}</p>
</div>
<div class="tab-pane fad in" id="copyright">
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">
<img class="img img-responsive" alt="Creative Commons License" style="border-width:0; display: block; margin: 0 auto"
src="https://i.creativecommons.org/l/by/4.0/88x31.png" />
</a>
<br />
<span class="text-center" style="display: block;">&#169; 2021 Thomas A. Christensen II</span>
<br />
<p>
All my pages are licensed under
<a rel="license" href="http://creativecommons.org/licenses/by/4.0/">Creative Commons
Attribution 4.0</a>
</p>
<p>
Most of my multimedia (photos, music, videos) are licensed under
<a href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
Attribution-No Derivatives 4.0</a>, instead.
</p>
<p>
The source for this site is licensed under the
<a href="https://opensource.org/licenses/MIT">MIT License</a>.
</p>
<div class="sr-only">
<span xmlns:dct="http://purl.org/dc/terms/" href="http://purl.org/dc/dcmitype/Text"
property="dct:title" rel="dct:type">{{ page.title }}</span> by <a
xmlns:cc="http://creativecommons.org/ns#" href="https://millironx.com"
property="cc:attributionName" rel="cc:attributionURL">Thomas A. Christensen
II</a> is licensed under a <a rel="license"
href="http://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution
4.0</a>
</div>
</div>
<div class="tab-pane fade in" id="oss">
<p>
This site is open source!
<br />
<a class="btn btn-fill" href="https://github.com/millironx/millironx.github.io">
<i class="fab fa-github"></i>&emsp;Get the code! &raquo;
</a>
</p>
<p>
In addition, I used a number of excellent open-source libraries and toolkits in building
it.
I dedicate this space to acknowledging them all.
</p>
<table class="table table-condensed table-responsive table-striped">
<tr>
<td>Jekyll 4</td>
<td><a href="https://jekyllrb.com/">jekyllrb.com</a></td>
<td><a href="https://github.com/jekyll/jekyll/blob/master/LICENSE">MIT License</a>
</td>
</tr>
<tr>
<td>Bootstrap 3</td>
<td><a href="https://getbootstrap.com/">getbootstrap.com</a></td>
<td><a href="https://github.com/twbs/bootstrap/blob/main/LICENSE">MIT License</a>
</td>
</tr>
<tr>
<td>JQuery 3</td>
<td><a href="https://jquery.com/">jquery.com</a></td>
<td><a href="https://jquery.org/license">MIT License</a></td>
</tr>
<tr>
<td>Font Awesome 5</td>
<td><a href="https://fontawesome.com/">fontawesome.com</a></td>
<td><a href="https://fontawesome.com/license/free">MIT/CC-BY License</a></td>
</tr>
<tr>
<td>Get S*** Done Toolkit</td>
<td><a
href="https://www.creative-tim.com/product/get-shit-done-kit">creative-tim.com</a>
</td>
<td><a href="https://github.com/timcreative/freebies/blob/master/LICENSE.md">MIT
License</a></td>
</tr>
<tr>
<td>Vertical Menu for Bootstrap 3</td>
<td><a
href="https://jonathanbriehl.com/posts/vertical-menu-for-bootstrap-3">jonathanbriehl.com</a>
</td>
<td><a href="#">No license</a></td>
</tr>
<tr>
<td>FitText</td>
<td><a href="http://fittextjs.com/">fittextjs.com</a></td>
<td><a href="http://www.wtfpl.net/">WTFPL License</a></td>
</tr>
<tr>
<td>PurifyCSS</td>
<td><a href="https://github.com/purifycss/purifycss">github.com/purifycss</a></td>
<td><a href="https://github.com/purifycss/purifycss/blob/master/LICENSE">MIT
License</a></td>
</tr>
<tr>
<td>jQuery Mask Plugin</td>
<td><a href="https://igorescobar.github.io/jQuery-Mask-Plugin/">igorescobar.github.io</a></td>
<td><a href="https://github.com/igorescobar/jQuery-Mask-Plugin/blob/master/LICENSE">MIT License</a></td>
</tr>
</table>
</div>
<div class="tab-pane fade in" id="privacy">
<p>
I take privacy very seriously. That said, I do need <i>some</i> info on how many people
visit.
As a compromise, this site uses <a href="https://simpleanalytics.com">Simple
Analytics</a>, a
privacy-friendly (as much as possible) web analytics library.
</p>
<p>
You may view all analytics gathered at <a
href="https://simpleanalytics.com/millironx.com">simpleanalytics.com/millironx.com</a>.
</p>
<p>
If you do not wish to participate in my site's analytics, there are two ways to opt-out.
</p>
<h6>Do Not Track Request</h6>
<p>
This site is programmed to disable all analytics if a Do Not Track request is sent from
the browser.
For more information on how to setup Do Not Track requests, please visit
<a href="https://allaboutdnt.com/">allaboutdnt.com</a>.
</p>
<h6>Use an Ad-Blocking Extension</h6>
<p>
You may also install a content-blocking extension into your browser and block the domain
<code>simpleanalyticscdn.com</code>. I recommend either
<a href="https://github.com/gorhill/uBlock">uBlock Origin</a> (instructions <a
href="https://github.com/gorhill/uBlock/wiki/Dashboard:-My-filters">here</a>)
or <a href="https://noscript.net">NoScript</a> for this purpose.
</p>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="container" id="top-container">
<header class="hidden-xs text-center">
<h1 class="font-serif font-small-caps"><object data="/img/MillironX-title.svg"><img
src="/img/MillironX-title.svg" alt="Milliron X" /></object>&emsp;Milliron X</h1>
</header>
<div class="row">
<div class="col-sm-3">
<div class="sidebar-nav">
<nav class="navbar navbar-inverse" role="navigation" id="nav-link-container">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse"
data-target=".sidebar-navbar-collapse">
<span class="sr-only">Toggle Navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<div class="visible-xs navbar-brand">
<object style="filter: invert(100%)" data="/img/MillironX-title.svg"><img
src="/img/MillironX-title.svg" alt="Milliron X" /></object>
</div>
</div>
<div class="navbar-collapse collapse sidebar-navbar-collapse">
<ul class="nav navbar-nav" id="nav-link-list">
<li class="nav-item"><a href="index" class="nav-link">Home</a></li>
<li class="nav-item"><a href="Contact" class="nav-link">Contact</a></li>
<li class="nav-item"><a href="Academia" class="nav-link">Academia</a></li>
<li class="nav-item"><a href="AI">Artificial Insemination</a></li>
<li class="nav-item"><a href="Videos">Videos</a></li>
<li class="nav-item"><a href="Websites" class="nav-link">Websites</a></li>
</ul>
</div>
</div>
</nav>
</div>
</div>
<div class="col-sm-9">
<div class="tim-container">
<div class="blurred-container">
<div class="motto">
<h1 id="motto">
{{ page.motto }}
</h1>
</div>
<div class="img-src" style="background-image: url({{ page.imageUrl }})"></div>
<div class="img-src blur" style="background-image: url({{ page.blurImageUrl }})"></div>
</div>
<br />
<div class="main" id="main-content">
{{ content }}
</div>
</div>
</div>
</div>
</div>
<footer style="background-color: whitesmoke;">
<div class="container" style="position: relative;">
<img src="/img/brandedbull.png" alt="Branded bull" style="max-height: 72pt;" />
<button type="button" class="btn btn-success vertical-center" data-toggle="modal" data-target="#legal-modal"
style="position: absolute; right: 0">
<i class="fas fa-hat-cowboy-side"></i>&emsp;Page info &amp;<br />other legal stuff&hellip;
</button>
</div>
</div>
</footer>
<!-- Script Bundle: JQuery -->
<script src="https://code.jquery.com/jquery-3.4.1.min.js" type="text/javascript"></script>
<!-- Script Bundle: FitText -->
<script src="/js/jquery.fittext.js" type="text/javascript"></script>
<!-- Script Bundle: Bootstrap -->
<script src="https://stackpath.bootstrapcdn.com/bootstrap/3.0.2/js/bootstrap.min.js"
integrity="sha384-DKoN2gpE9Yt/u0fuNvcJBn4n7wjnKFKjg4+Iz4ORs52lUc0Qp++smhHtWwHeapVW" crossorigin="anonymous"
type="text/javascript"></script>
<!-- Script Bundle: Font Awesome -->
<script src="https://kit.fontawesome.com/0bbd6c0ef3.js" crossorigin="anonymous"></script>
<!-- Script Bundle: Custom -->
<script src="/js/MillironX_CustomScripts.js" type="text/javascript"></script>
<!-- Simple Analytics -->
<script type='text/javascript'>
// Enables app insights IF AND ONLY IF user does not send a DNT request
// Shamelessly stolen from https://dev.to/spekulatius1984/how-to-check-do-not-track-dnt-in-javascript-57g1
let dntActive = () => {
// get the value from the various browser implementations.
let dnt_active = parseInt(
// Internet Explorer 9 and 10 vendor prefix
navigator.msDoNotTrack ||
// IE 11 uses window.doNotTrack
window.doNotTrack ||
// W3C
navigator.doNotTrack,
10
);
// If this comes to exactly 1 DNT is set.
return (dnt_active === 1);
}
// Check if DNT is active.
if (dntActive()) {
// active
console.log("Simple Analytics has been disabled due to user's Do Not Track request")
} else {
// inactive
console.log("Simple Analytics is active")
document.write("<script async defer src=\"https://scripts.simpleanalyticscdn.com/latest.js\"><\/script>")
}
</script>
{% if page.title == 'Contact Me' %}
<!-- Script Bundle: JQuery Masks -->
<script src="https://cdn.jsdelivr.net/npm/jquery-mask-plugin@1.14.16/dist/jquery.mask.min.js" integrity="sha256-Kg2zTcFO9LXOc7IwcBx1YeUBJmekycsnTsq2RuFHSZU=" crossorigin="anonymous"></script>
<!-- Script Bundle: Pageclip -->
<script type="text/javascript">
$('#phone').mask('(000) 000-0000')
</script>
{% endif %}
</body>
</html>

@ -0,0 +1,20 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
cardImage: library
draft: true
featured: false
keywords:
- smart
- profound
type: "Journal Article"
authors:
- Christensen, Thomas Allen, II
link: 'https://dx.doi.org/...'
journal: "Journal of Hard Knocks"
location: "Life"
awards:
- 'Everything is Awesome 2020'
---
Abstract goes here

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Before

Width:  |  Height:  |  Size: 256 KiB

After

Width:  |  Height:  |  Size: 256 KiB

Before

Width:  |  Height:  |  Size: 458 KiB

After

Width:  |  Height:  |  Size: 458 KiB

Before

Width:  |  Height:  |  Size: 158 KiB

After

Width:  |  Height:  |  Size: 158 KiB

Before

Width:  |  Height:  |  Size: 365 KiB

After

Width:  |  Height:  |  Size: 365 KiB

Before

Width:  |  Height:  |  Size: 343 KiB

After

Width:  |  Height:  |  Size: 343 KiB

Before

Width:  |  Height:  |  Size: 101 KiB

After

Width:  |  Height:  |  Size: 101 KiB

Before

Width:  |  Height:  |  Size: 199 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Before

Width:  |  Height:  |  Size: 379 KiB

After

Width:  |  Height:  |  Size: 379 KiB

Before

Width:  |  Height:  |  Size: 584 KiB

After

Width:  |  Height:  |  Size: 584 KiB

@ -0,0 +1,38 @@
{
"name": "millironx.github.io",
"version": "0.0.0",
"lockfileVersion": 1,
"requires": true,
"dependencies": {
"@fortawesome/fontawesome-pro": {
"version": "5.15.4",
"resolved": "https://npm.fontawesome.com/@fortawesome/fontawesome-pro/-/5.15.4/fontawesome-pro-5.15.4.tgz",
"integrity": "sha512-ApOqpDdKgA79xfLZH3B5PucZxj+TZyQUSrZ4bKkbJCR+zjmveQ4/gp/uXc5bNNhsdtJUy16BYJ/lAVydca2Y5Q=="
},
"@popperjs/core": {
"version": "2.11.2",
"resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.2.tgz",
"integrity": "sha512-92FRmppjjqz29VMJ2dn+xdyXZBrMlE42AV6Kq6BwjWV7CNUW1hs2FtxSNLQE+gJhaZ6AAmYuO9y8dshhcBl7vA=="
},
"bootstrap": {
"version": "5.1.3",
"resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.1.3.tgz",
"integrity": "sha512-fcQztozJ8jToQWXxVuEyXWW+dSo8AiXWKwiSSrKWsRB/Qt+Ewwza+JWoLKiTuQLaEPhdNAJ7+Dosc9DOIqNy7Q=="
},
"fittext.js": {
"version": "1.2.0",
"resolved": "https://registry.npmjs.org/fittext.js/-/fittext.js-1.2.0.tgz",
"integrity": "sha1-51PVJjI5I30o8wFeipaUVpu0PLY="
},
"jquery": {
"version": "3.6.0",
"resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz",
"integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw=="
},
"jquery-mask-plugin": {
"version": "1.14.16",
"resolved": "https://registry.npmjs.org/jquery-mask-plugin/-/jquery-mask-plugin-1.14.16.tgz",
"integrity": "sha512-reywdHlYEkPbzWjTpcc1fk9XQ3PLvO5dzEAVqy8zI7NTF22tB1HbeU3iboZTLdkBEPaWAqeI2HtEjsGQ4roZKw=="
}
}
}

@ -0,0 +1,24 @@
{
"name": "millironx.github.io",
"version": "0.0.0",
"description": "My personal website",
"devDependencies": {},
"repository": {
"type": "git",
"url": "git+https://github.com/MillironX/millironx.github.io.git"
},
"author": "Thomas A. Christensen II",
"license": "MIT",
"bugs": {
"url": "https://github.com/MillironX/millironx.github.io/issues"
},
"homepage": "https://github.com/MillironX/millironx.github.io#readme",
"dependencies": {
"@fortawesome/fontawesome-pro": "^5.15.4",
"@popperjs/core": "^2.11.2",
"bootstrap": "^5.1.3",
"fittext.js": "^1.2.0",
"jquery": "^3.6.0",
"jquery-mask-plugin": "^1.14.16"
}
}

@ -0,0 +1 @@
$("#phone").mask("(000) 000-0000");

@ -0,0 +1,5 @@
$(window).scroll(function (e) {
oVal = $(window).scrollTop() / 170;
$(".blur").css("opacity", oVal);
});
$("#motto").fitText();

@ -0,0 +1,6 @@
var tooltipTriggerList = [].slice.call(
document.querySelectorAll('[data-bs-toggle="tooltip"]')
);
var tooltipList = tooltipTriggerList.map(function (tooltipTriggerEl) {
return new bootstrap.Tooltip(tooltipTriggerEl);
});

@ -0,0 +1,115 @@
.blurred-container {
position: relative;
width: 100%;
min-height: 35vh;
height: 350px;
top: 0;
left: 0;
}
.blurred-container .motto {
color: #fff;
font-size: 76px;
font-weight: 600;
text-align: center;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
text-transform: uppercase;
top: 7.5vh;
z-index: 3;
display: block;
margin: 0 auto;
position: relative;
width: 60%;
height: 0;
}
.motto h1 {
background: #0000007d;
}
.blurred-container .img-src {
position: fixed;
width: 100%;
min-height: 35vh;
height: 350px;
background-repeat: no-repeat;
background-size: cover;
background-position: center center;
}
.blur {
opacity: 0;
}
main {
position: relative;
background-color: #fff;
}
/* Gives me greater control over fonts */
.font-serif {
font-family: Georgia, "Times New Roman", Times, serif;
}
.font-sans {
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.font-mono {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
.font-small-caps {
font-variant-caps: small-caps;
}
.strikethrough {
text-decoration: line-through;
}
.sfTable {
margin: 0 auto;
}
.text-align-left {
text-align: left;
}
.text-align-right {
text-align: right;
}
.float-left {
float: left;
}
.float-right {
float: right;
}
.media-object {
max-height: 100%;
max-width: 100%;
}
@media (min-width: 768px) {
.pull-left {
max-width: 25%;
}
}
h1 small {
font-size: 60%;
color: #9a9a9a;
font-weight: 300;
line-height: 1.5;
}
h1 {
font-weight: 400;
margin: 30px 0 15px;
}
.dogear {
clip-path: polygon(0 0, 0 100%, 100% 100%, 100% 25%, 75% 0);
}

@ -0,0 +1,12 @@
baseURL = "https://millironx.com"
languageCode = "en-us"
title = "MillironX"
paginate = 5
theme = "ananke"
[build]
writeStats = true
[Params]
cardImage = "saddles"
motto = ""

@ -0,0 +1,35 @@
---
title: Home
cardImage: charolette
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
description: The homepage of Thomas A. Christensen II
---
## Milliron X - The homepage of Thomas A. Christensen II
I am an engineer by training, a rancher by upbringing, a techie by experience,
and a filmmaker at heart. I've got a soft spot for Brown Swiss dairy cows (just
in case you couldn't tell by the background image), and am sometimes called "one
of those crazy, Wyoming dairy cow people." I love anything to do with cattle or
technology, but especially anything to do with both of them.
_Christian, American, Conservative, Pro-gun, Heterosexual - any questions?_
### What is a "Milliron X"?
#### It's a [cattle brand], of course! My cattle brand!
The **milliron** is the bar with a bend in the middle. It does not represent
anything physical or textual _per se_, and is therefore a rather unique element
in cattle brands. Millirons are difficult to modify into another brand, and
provide a guarantee of authentic ownership.
**X** is the letter of mystery and mystique. For nerds, it's the unknown in any
algebra problem. Ranchers and cowboys will associate it with big names like the
"Bar X" and the "Double X." In either case, it lends itself to a sense of
withholding, prestige, and power.
Together, these two symbols represent the qualities I strive for in each of my
works: authenticity, originality, power, depth, and prestige.
[cattle brand]: https://en.wikipedia.org/wiki/Livestock_branding

@ -0,0 +1,7 @@
---
title: Academic Publications and Presentations
motto: Academic Publications and Presentations
cardImage: library
---
### Academic Papers

@ -0,0 +1,28 @@
---
title: "The ChemE Car that Cud: AIChE ChemE Car Engineering Design Proposal"
date: 2019-05-14
cardImage: cannulated-cows
draft: false
featured: true
keywords:
- chemical engineering
- AIChE
- radiation
- rumen
- microbial electrolysis cells
type: thesis
authors:
- Thomas A. Christensen II
link: "https://hdl.handle.net/20.500.11919/3817"
journal: "University of Wyoming Honors Program"
location: "Laramie, Wyoming"
---
The ChemE Car That Cud showcases Wyoming's dominant industries of agriculture
and mining by utilizing rumen fluid from a cannulated beef cow to generate
hydrogen to be used in a hydrogen fuel cell and radioactive cesium, a byproduct
of uranium that is often obtained from Wyoming's mines, to time the car's stop.
The concentration of cesium-137 source is measured using the radioactive decay
of cesium shielded by aluminum. The painted aluminum chassis was obtained from a
previous team at UW, and modified using plastic k'nex toys to adapt to the
current power source and stopping mechanism.

@ -0,0 +1,14 @@
---
title: "How to Build a Cow-Cud Fuel Cell"
date: 2018-08-01
cardImage: library
draft: false
featured: false
type: presentation
authors:
- Thomas A. Christensen II
journal: "Idaho INBRE Summer Research Conference"
location: "Moscow, Idaho"
awards:
- "3rd Place Fast-Pitch Science Presentation Contest"
---

@ -0,0 +1,56 @@
---
title: "Metagenomic analysis of rumen populations in week-old calves as altered by maternal late gestational nutrition and mode of delivery"
date: 2019-06-12
cardImage: cannulated-cows
draft: false
featured: true
keywords:
- gestation
- metagenomics
- microbiome
- rumen
type: poster
authors:
- Thomas A. Christensen II
- Kathy J. Austin
- Kristi M. Cammack
- Hannah C. Cunningham-Hollinger
link: "/academia/metagenomics/metagenomics_analysis_of_rumen_populations.pdf"
journal: "Westion Section American Society of Animal Science Annual Meeting"
location: "Boise, Idaho"
awards:
- "1st Place Undergraduate Poster Competition"
---
Early colonization of the rumen microbiome is critical to host health and long
term performance. Factors that influence early colonization include maternal
factors such as gestational nutrition and mode of delivery. Therefore, we
hypothesized that late gestational nutrition and mode of delivery would
influence the calf rumen microbiome. Our objectives were to determine if
nutrient restriction during late gestation alters the calf rumen microbiome and
determine if ruminal microbiome composition differs in calves born vaginally
versus caesarean. Late gestating Angus cows were randomly allocated to one of
three treatment groups: control (**CON**; n = 6), caesarean section (**CS**; n =
4), and nutrient restricted (**NR**; n = 5), where CON were fed DDGS and hay to
meet NRC requirements and calved naturally; CS were fed similarly to CON and
calves were born via caesarean section; and NR were fed at a level to reduce BCS
by 1.5-2.0 points over the last trimester compared to CON and calved naturally.
Rumen fluid was collected via oral lavage prior to partition from cows and at d
7 from calves. Microbial DNA was isolated from the rumen fluid and metagenomic
shotgun sequencing was performed using the Illumina HiSeq 2500 platform.
Sequence data were analyzed using Metaxa2 for taxonomic assignment followed by
QIIME1 and QIIME2 to determine differential abundance and alpha- and
beta-diversity differences. There were no significant differences in
alpha-diversity as measured by shannon index across treatment groups for cows
(_P_ = 0.239), but there were significant differences for calves (_P_ = 0.015).
Similarly, there were no significant differences in beta-diversity as measured
by the bray-curtis dissimilarity matrix for cows (_P_ = 0.059), but there were
significant differences for calves (_P_ = 0.007). Alpha-diversity differed (_P_
< 0.001) between cows and calves, with cows having increased species richness
compared to calves. Beta-diversity also differed (_P_ = 0.001) between cows and
calves. At total of 410 taxa were differentially abundant (_P_ < 0.01) between
cows and calves. These results suggest that the mature rumen microbiome of cows
is able to withstand changes in feed intake, however the calf microbiome is
susceptible to alteration by maternal factors. These data also suggest that
there may be opportunities to develop management strategies during late
gestation that influence calf health and performance long-term.

@ -0,0 +1,42 @@
---
title: "Measuring Diffusion of Trichlorethylene Breakdown Products in Polyvinylalginate"
date: 2018-10-29
cardImage: library
draft: false
featured: false
keywords:
- bioremediation
- polyoxometalate
- hydrogel polymers
- proton transport
- chemical engineering
type: poster
authors:
- Thomas A. Christensen II
- Samuel R. Wolfe
- Jonathan Counts
- Mark F. Roll
- Kristopher V. Waynant
- James G. Moberly
journal: "AIChE Annual Meeting"
location: "Pittsburgh, Pennsylvania"
awards:
- "3rd Place Environmental III Division Undergraduate Poster Competition"
link: /academia/pva-aiche/measuring_diffusion_of_trichloroethylene.pdf
---
Trichloroethylene (TCE), a toxic and carcinogenic contaminant, presents unique
challenges for cleanup because of its water solubility, density, and volatility.
Bioremediation of TCE is a promising cleanup method; however, metabolism of TCE
results in acid generation that inhibits remediating microorganisms. Calcium
alginate(CA)-polyvinylalcohol (PVA) hydrogels show promise for protecting
remediating microbes, however diffusion of TCE or its byproducts through these
polymers is unknown. To measure the effective diffusion coefficient of TCE and
byproducts through hydrogel membranes, we used a modified diaphragm cell.
Measured effective diffusion coefficient of each species was (cm {{< sup 2 >}}/s
× 10{{< sup 6 >}}): 14.0 ± 1.91 for H{{< sup "+" >}} ions, 12.4 ± 1.64 for TCE,
7.83 ± 0.54 for cis-1,2-dichloroethylene (DCE), and 4.68 ± 4.14 for vinyl
chloride. These results aid in engineering biobeads and suggest that CA-PVA
hydrogel blends are effective in slowing diffusion of protons, buffering acids
produced by trichloroethylene metabolism, and remains suitable for encapsulation
of microorganisms involved in bioremediation.

@ -0,0 +1,32 @@
---
title: "Measuring diffusion of protons in polyvinyalginate"
date: 2018-07-31
cardImage: library
draft: false
featured: false
type: poster
authors:
- Thomas A. Christensen II
- Jonathan Counts
- James G. Moberly
journal: "Idaho INBRE Summer Research Conference"
location: "Moscow, Idaho"
---
Trichloroethylene (TCE) is a toxic and carcinogenic contaminant that presents
unique challenges for cleanup because of its density and volatility. Use of
microorganisms may be a promising remediation method, however metabolism of TCE
results in acid buildup, which consequently impedes the ability of
microorganisms to perform this remediation. Polyvinylalginate (PVA) shows
promise as a useful shield for microorganisms carrying out bioremediation of TCE
by surrounding them in a protective biofilm-like layer, however, key information
is missing which relates diffusion of TCE or its metabolic products through PVA.
To measure the effective diffusion coefficient of H{{< sup "+" >}} ions through a PVA membrane
cross-linked with boric acid and calcium ions, we used a modified diaphragm
cell. We found the effective diffusion coefficient to be 1.40 &times; 10{{< sup -5 >}}
± 1.91 &times; 10{{<sup -6 >}} cm{{< sup 2 >}}s, a nearly seven-fold decrease in
diffusivity compared to protons in water, with an unexpected significant but as
of yet unquantified adsorption capacity. These results suggest that
polyvinylalginate is effective in slowing diffusion of protons and buffering
these acids produced by trichloroethylene metabolism, and remains suitable for
encapsulation of microorganisms involved in bioremediation.

@ -0,0 +1,41 @@
---
title: "Polyoxometalate Incorporation and Effects on Proton Transport in Hydrogel Polymers"
date: 2020-08-07
cardImage: library
draft: false
featured: true
keywords:
- bioremediation
- polyoxometalate
- hydrogel polymers
- proton transport
- chemical engineering
type: thesis
authors:
- Thomas A. Christensen II
link: "https://www.proquest.com/dissertations-theses/polyoxometalate-incorporation-effects-on-proton/docview/2502214356/se-2"
journal: "University of Idaho"
location: "Moscow, Idaho"
---
Polyoxometalate clusters embedded into hydrogel biobeads may be able to solve
the challenges posed by free proton generation during remediation of
trichloroethylene by acting as buffers and reducing protons to hydrogen gas. In
this thesis, the challenges posed by systems that contain both diffusion and
reaction processes for protons are considered mathematically, and a computer
simulation to was developed to prove the relationship between diaphragm cell lag
period and reactive capabilities of membranes. Two polyoxometalate compounds,
sodium decavanadate and alumina sulfate, were successfully incorporated into a
poly(vinyl alcohol) hydrogel membrane, and the diffusivity changes associated
with each compound was determined. It was found that the diffusivity of protons
through an unmodified 10% w/v poly(vinyl alcohol) membrane was 1.76 ×
10{{< sup -5 >}} cm{{< sup 2 >}} s{{< sup -1 >}}, the diffusivity through a
10%/2% w/w/v poly(vinyl alcohol)/sodium decavanadate membrane was 3.10 ×
10{{< sup -6 >}} cm{{< sup 2 >}} s{{< sup -1 >}}, and the diffusivity through
a 10%/2% w/w/v poly(vinyl alcohol)/alumina sulfate membrane was 3.32 ×
10{{< sup -7 >}} cm{{< sup 2 >}} s{{< sup -1 >}}. Through analysis of the
diaphragm cell lag period, it was found the incorporation of sodium
decavanadate did not increase the reactivity of a poly(vinyl alcohol)
hydrogel, and incorporation of alumina sulfate lowered the reactivity. These
results indicate that polyoxometalate integration into hydrogel membranes is
feasible, but does not provide any advantage to a bioremediation scenario.

@ -0,0 +1,12 @@
---
title: Artificial Insemination
cardImage: Ai-calf
motto: Artificial Insemination
---
I am licensed in the Great State of Wyoming as a food animal artificial
insemination technician, which means I can legally AI cows, goats, and sheep.
Practically speaking, I have only ever AIed cows, but my conception rates are
very good for both beef and dairy cows. When (if?) I standardize my rates, I
will include them here. Until then, you will have to [contact me](/contact)
directly and we can negotiate prices then.

@ -0,0 +1,88 @@
---
title: Contact Me
cardImage: venice-mailbox
motto: Contact Me
---
<form
class="form-horizontal"
action="https://usebasin.com/f/787df7bfd22e"
method="post"
>
<fieldset>
<legend>Contact Me</legend>
<input type="hidden" name="_gotcha" />
<div class="form-group">
<label for="name" class="col-lg-2 control-label">Name</label>
<div class="col-lg-10">
<input
type="text"
class="form-control"
id="name"
name="name"
placeholder="Jay Lush"
required
/>
</div>
</div>
<div class="form-group">
<label for="email" class="col-lg-2 control-label">Email</label>
<div class="col-lg-10">
<input
type="email"
class="form-control"
id="email"
name="email"
placeholder="jlush@iastate.edu"
required
/>
</div>
</div>
<div class="form-group">
<label for="phone" class="col-lg-2 control-label">Phone number</label>
<div class="col-lg-10">
<input
type="tel"
class="form-control"
id="phone"
name="phone"
placeholder="(515) 294-2160"
/>
</div>
</div>
<div class="form-group">
<label for="subject" class="col-lg-2 control-label">Subject</label>
<div class="col-lg-10">
<input
type="text"
class="form-control"
id="subject"
name="subject"
placeholder="Beef genetics"
required
/>
</div>
</div>
<div class="form-group">
<label for="message" class="col-lg-2 control-label">Message</label>
<div class="col-lg-10">
<textarea
rows="5"
class="form-control font-sans"
id="message"
name="body"
required
style="min-height: 72pt;"
></textarea>
</div>
</div>
<div class="form-group">
<div class="col-lg-10 col-lg-offset-2">
<button type="reset" class="btn btn-default">Cancel</button>
<button type="submit" class="btn btn-primary pageclip-form__submit">
<span>Submit</span>
</button>
</div>
</div>
</fieldset>
</form>

@ -0,0 +1,7 @@
---
title: "New Site"
date: 2022-01-13T19:09:50-06:00
draft: true
---
I have a new website! Narf!

@ -0,0 +1,16 @@
---
title: Videos
cardImage: camera
motto: Videography Portfolio
---
> ### The culmination of all art forms is that of film.
A good film must have the plot and language of a good novel, characters as bold
and stunning as sculpture, a rhythm as driving and delicate as poetry, frame
compositions more stellar that those of photography, and music that speaks to
the souls of both the characters on screen and the viewers off.
But I digress. Most of my forays into the world of film are immortalized on [my
Vimeo account](https://vimeo.com/tchristensenii), but I decided to share a few
highlights here. Enjoy!

@ -0,0 +1,12 @@
---
title: "Farm Bureau Ag Olympics Reel"
date: 2017-02-16
storage: yt
storageId: jhLJp3OFsYM
thumbnail: https://i.ytimg.com/vi_webp/jhLJp3OFsYM/maxresdefault.webp
---
The Albany County Farm Bureau Young Farmer's and Rancher's committee asked me to
come and shoot a highlight reel of the Ag Olympics booth they ran at the Wyoming
Football Wyoming Needs Agriculture Day. I gave away all rights to this one
except for bragging rights.

@ -0,0 +1,11 @@
---
title: If You Come Out to the Fair
date: 2016-10-13
storage: vimeo
storageId: 191326975
thumbnail: https://i.vimeocdn.com/video/604398739-ad61494f60c56836508e11001b39ad5228c2cc41c2b7ab1ca6f1bc8255a173e2-d?mw=1200&mh=675&q=70
---
My extension agent asked me to make a promotional video for our county fair.
This is the only film of mine that has drawn an emotional response. I think I
retired after this.

@ -0,0 +1,12 @@
---
title: In The Hayfields
date: 2015-10-05
storage: vimeo
storageId: 144811104
thumbnail: https://i.vimeocdn.com/video/542754357-e316fb6ef98be3ed442c582ff2982f9a00c79c854c3afd2a07ed17f985bde60d-d?mw=1200&mh=675&q=70
---
I always get the comment that our implements are _old_ whenever I show this
video off. I just ignore the naysayers, though, and good thing, too, because a
version of this video won a [GoPro Award](https://gopro.com/awards). Still
waiting to see my footage on their channel, though.

@ -0,0 +1,14 @@
---
title: "Non. Verum: The Mystery Killer"
date: 2015-06-12
storage: vimeo
storageId: 130557155
thumbnail: https://i.vimeocdn.com/video/522472352-4e0adaa9150464843aff5ffd20540b1cf98912536bcd847892a759fa82fe1725-d?mw=1200&mh=675&q=70
---
My first ~~documentary~~ mockumentary. This film won 2{{< sup nd >}} place at
the [2016 National 4-H Film Festival](http://4h.missouri.edu/filmfest4h/), and
I've been told that it's more polished than the pieces done by the local TV
stations. No one seems to think it's funny, though, so I'm not sure how
successful it was. Please do me a favor and google **every** term you don't
understand while watching it, and perhaps you'll fare better.

@ -0,0 +1,10 @@
---
title: My Websites
cardImage: eclipse
motto: Websites
---
I do occasionally build websites for myself and other people. Here is a list of
websites I have contributed code to directly, in a vain attempt to gain each of
them some
[search engine cred](https://en.wikipedia.org/wiki/Search_engine_optimization).

@ -0,0 +1,11 @@
---
title: Milliron X
date: 2022-03-01
platform: Hugo
platformIcon: fab fa-golang
platformURL: https://gohugo.io/
deployURL: https://millironx.com
sourceURL: https://github.com/MillironX/millironx.github.io
---
Lo and behold: I made my own website!

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

@ -0,0 +1,14 @@
---
title: Albany County 4-H Record Books
date: 2019-08-10
platform: Plain ol' HTML5
platformIcon: fab fa-html5
platformURL: https://www.w3.org/html/
deployURL: http://wyoming4h.org/albany4h/record-book
sourceURL: https://github.com/MillironX/4h-record-books
---
I constructed this site to hold the record book helps of the rebellious Albany
County, Wyoming. Due to the bureaucratic lag that it takes to update, it got
updated just in time for Wyoming 4-H to ditch paper record books entirely. Oh,
well.

Binary file not shown.

After

Width:  |  Height:  |  Size: 420 KiB

@ -1,110 +0,0 @@
---
title: The Problem with Coronavirus
motto: Thoughts on the Coronavirus
---
<p>
Under the pretense of saving people from the devistation of 2019 Novel Coronavirus (nCoV 2019),
Republicans have justified bribing voters with their own tax money,
and Democrats have praised the halt of all meaningful activity.
<b>This power grabbing and fearmongering must come to an end.</b>
Here are just a few points on how the actions taken in the name of the Coronavirus violate Christian principles.
</p>
<div class="panel panel-primary">
<div class="panel-heading">
<h3><i>God says</i> &ldquo;Go ye&rdquo;</h3>
</div>
<div class="panel-body">
<blockquote>
And he said unto them, Go ye into all the world, and preach the gospel to every creature.
<small>
Mark 16:15 (KJV)
</small>
</blockquote>
<h4 class="text-align-right">But <i>&lsquo;they&rsquo; say</i> &ldquo;Stay home.&rdquo;</h4>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3><i>God says</i> &ldquo;Assemble&rdquo;</h3>
</div>
<div class="panel-body">
<blockquote>
Not forsaking the assembling of ourselves together, as the manner of some <i>is</i>;
but exhorting <i>one another</i>: and so much the more, as ye see the day approaching.
<small>
Hebrews 10:25 (KJV)
</small>
</blockquote>
<h4 class="text-align-right">But <i>&lsquo;they&rsquo; say</i> &ldquo;No groups.&rdquo;</h4>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3><i>God says</i> &ldquo;The fear of man bringeth a snare.&rdquo;</h3>
</div>
<div class="panel-body">
<blockquote>
The fear of man bringeth a snare: but whoso putteth his trust in the LORD shall be safe.
<small>
Proverbs 29:25 (KJV)
</small>
</blockquote>
<h4 class="text-align-right">But <i>&lsquo;they&rsquo; say</i> &ldquo;Wear a mask so you don't offend anyone.&rdquo;</h4>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3><i>God says</i> &ldquo;Greet one another&rdquo;</h3>
</div>
<div class="panel-body">
<blockquote>
Greet one another with an holy kiss.
<small>
II Corinthians 13:12 (KJV)
</small>
</blockquote>
<h4 class="text-align-right">But <i>&lsquo;they&rsquo; say</i> &ldquo;No contact.&rdquo;</h4>
</div>
</div>
<div class="panel panel-primary">
<div class="panel-heading">
<h3><i>God says</i> &ldquo;Visit the fatherless and widows&rdquo;</h3>
</div>
<div class="panel-body">
<blockquote>
Pure religion and undefiled before God and the Father is this,
To visit the fatherless and widows in their affliction,
<i>and</i> to keep himself unspotted from the world.
<small>
James 1:27 (KJV)
</small>
</blockquote>
<h4 class="text-align-right">But <i>&lsquo;they&rsquo; say</i> &ldquo;Isolate the vulnerable.&rdquo;</h4>
</div>
</div>
<p>
Who are &lsquo;they?&rsquo; The CDC, the WHO, congress, legislatures, city councils, schoolteachers, pastors, your coworkers, your neighbors, that guy you met in the park.
Anyone who preaches &ldquo;social distancing,&rdquo; and demands compliance with the gods of &ldquo;science falsely so called&rdquo; (I Timothy 6:20, KJV).
It's time for born&ndash;again believers to ignore the bullies, scoffers, and regulators and reclaim the &ldquo;liberty which we have in Christ Jesus&rdquo; (Galatians 2:4, KJV),
and get out of their homes and work the works of God.
</p>
<p>
Still not convinced? Listen to this pastor who's from California (of all places), who has way more skin in the game than I do.
</p>
<iframe async="" src="https://www.podcastone.com/episodewidget?episodeID=1ac42dba-4cc8-4e98-a4e6-1d4163e12188&amp;logo=true" width="100%" height="70" frameborder="0" scrolling="no"></iframe>
<br />
<hr />
<p>
Oh, and by the way, if there are any web designers reading, please take down the big red banners proving just how much you care about the &lsquo;Rona.
They're just plain annoying, and I've had to start writing custom uBlock filters to get rid of them.
</p>

@ -1,5 +0,0 @@
#!/bin/sh
# The command I use to shrink the CSS is so long, I saved it here
purifycss ./css/bootstrap.css ./css/gsdk-main.css ./css/gsdk-demo.css ./css/millironx_customstyles.css \
./*.html ./_layouts/*.html ./js/jquery.fittext.js ./js/MillironX_CustomScripts.js \
--min --out ./css/bundle.css --whitelist collapsing

7098
css/bootstrap.css vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

@ -1,403 +0,0 @@
.tim-container{
background: #ffffff;
}
.tim-row{
margin-bottom: 20px;
}
.tim-title{
margin-top: 30px;
margin-bottom: 15px;
}
.tim-typo{
padding-left: 25%;
margin-bottom: 40px;
position: relative;
}
.tim-typo .tim-note{
bottom: 10px;
color: #c0c1c2;
display: block;
font-weight: 400;
font-size: 13px;
line-height: 13px;
left: 0;
margin-left: 20px;
position: absolute;
width: 260px;
}
.tim-row{
margin-top: 50px;
}
.tim-row h3{
margin-top: 0;
}
.switch{
margin-right: 20px;
}
#navbar-full .navbar{
border-radius: 0 !important;
margin-bottom: 0;
}
.navigation-example{
margin-top: 0px;
}
.space{
height: 130px;
display: block;
}
.navigation-example .img-src{
background-attachment: scroll;
}
.main{
background-color: #FFFFFF;
}
.navigation-example{
height: 660px;
background-image: url('../img/bg.jpg');
background-position: center center;
background-size: cover;
position: relative;
}
#notifications{
background-color: #FFFFFF;
display: block;
width: 100%;
position: relative;
}
.tim-note{
text-transform: capitalize;
}
.card{
background-color: #FFFFFF;
padding: 10px 0 20px;
width: 100%;
}
.card h3{
margin-bottom: 20px;
}
.card button{
margin-top: 30px;
}
.subscribe-form{
padding-top: 20px;
}
.subscribe-form .form-control{
}
.space-100{
height: 100px;
display: block;
width: 100%;
}
.be-social{
padding-bottom: 20px;
/* border-bottom: 1px solid #aaa; */
margin: 0 auto 40px;
}
.txt-white{
color: #FFFFFF;
}
.txt-gray{
color: #ddd !important;
}
.footer{
background-color: #DDDDDD;
background-image: url('../img/cover_4_blur.jpg');
background-attachment: fixed;
position: relative;
}
.heart{
color: #FF3B30;
}
.footer .overlayer{
background-color: rgba(27, 27, 27, 0.7);
position: relative;
}
.footer .credits {
margin-top: 25px;
padding: 20px 0 15px;
text-align: center;
color: #EEE;
}
.footer .credits a{
color: #FFFFFF;
}
.social-share{
float: left;
margin-right: 8px;
}
.social-share a{
color: #FFFFFF;
}
#subscribe_email{
border-radius: 0;
border-left: 0;
border-right: 0;
}
.pick-class-label{
border-radius: 8px;
color: #ffffff;
cursor: pointer;
display: inline;
font-size: 75%;
font-weight: bold;
line-height: 1;
margin-right: 10px;
padding: 15px 23px;
text-align: center;
vertical-align: baseline;
white-space: nowrap;
}
.parallax-pro{
width:100%;
display: block;
position: relative;
background-color: #000;
}
.parallax-pro > .img-src{
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
position: absolute;
width: 100%;
height: 100%;
z-index: 0;
}
.parallax-pro:after{
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
background-color: rgba(0,0,0,.3);
display: block;
content: "";
z-index: 0;
}
.parallax-pro .container{
padding-top: 20px;
z-index: 1;
position: relative;
}
.parallax-pro .hello a{
color: #fff;
text-decoration: none;
}
.parallax-pro .hello{
font-size: 48px;
font-weight: 300;
position: relative;
/* width: 430px; */
margin: 30px auto 50px;
}
.parallax-pro .label{
font-size: 18px;
position: absolute;
text-transform: uppercase;
background-color: #FF9500;
color: #FFFFFF;
width: 60px;
margin-top: 10px;
margin-left: 10px;
padding: 0;
line-height: 30px;
text-align: center;
font-weight: 500;
letter-spacing: 0;
}
.parallax-pro small{
padding-top: 15px;
font-size: 20px;
display: block;
color: #fff;
}
.parallax-pro ul{
width: 280px;
margin: 0 auto;
}
.parallax-pro li{
padding: 9px 0;
border-bottom: 1px solid #777;
}
.parallax-pro .actions{
margin-top: 40px;
}
.parallax-pro .actions{
margin-left: 10px;
}
.parallax-pro .motto{
color: #FFFFFF;
font-size: 64px;
font-weight: 600;
position: relative;
text-align: center;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.27);
text-transform: uppercase;
z-index: 3;
margin: 0 auto;
top: 22%;
width: 285px;
}
.parallax-pro .motto .pro{
position: absolute;
font-size: 18px;
background-color: #FFFFFF;
width: 70px;
height: 70px;
border-radius: 50%;
text-align: center;
line-height: 70px;
color: #333333;
text-shadow: 0 0 0;
}
.parallax-pro .motto .square{
padding: 7px 14px;
height: auto;
width: auto;
line-height: inherit;
border-radius: 6px;
bottom: 22px;
right: -25px;
color: #FFFFFF;
background-color: #ff9500;
font-weight: 300;
background-color: #ff9500;
}
.social-share{
margin-right: 0px;
margin-top: 10px;
}
.footer h4{
margin: 0px 0 20px;
}
.space-30{
height: 30px;
display: block;
}
.credits{
display: block;
margin: 15px 0;
color: #ddd;
opacity: .8;
}
.credits a{
color: #FFFFFF;
}
.sharing-title{
margin: 10px;
line-height: 40px;
}
.social-line{
padding: 5px 0;
}
.section-gray{
padding: 10px 0;
background-color: #EEE;
}
.section-gray h5{
margin: 0;
line-height: 40px;
}
/* EXTRA SHIT */
/* @cristina: fisier singular, folosit pentru efectul de blur la parallax in header */
.blurred-container{
position:relative;
width:100%;
height:440px;
top:0;
left:0;
}
.blurred-container > .img-src{
position:fixed;
width:100%;
/*Modified from original to adapt to my sidebar layout better*/
height:440px;
background-repeat:no-repeat;
background-size:cover;
background-position: center center;
}
.blur{
opacity:0;
}
.logo-container{
margin-top: 10px;
}
.logo-container .logo{
overflow: hidden;
border-radius: 50%;
border: 1px solid #333333;
height: 50px;
width: 50px;
float: left;
}
.logo-container .logo img{
width: 100%;
}
.logo-container .brand{
font-size: 18px;
color: #FFFFFF;
float: left;
height: 50px;
line-height: 20px;
margin-left: 10px;
margin-top: 5px;
width: 60px;
}
.blurred-container .motto{
color: #FFFFFF;
font-size: 76px;
font-weight: 600;
text-align: center;
text-shadow: 0 0 10px rgba(0, 0, 0, 0.33);
text-transform: uppercase;
/*Modified from the original to suit my sidebar layout*/
top: 120px;
z-index: 3;
display: block;
margin: 0 auto;
position: relative;
width: 80%;
height: 0;
}
.blurred-container .motto .border{
float: left;
border: 3px solid #FFFFFF;
padding: 0px 30px;
text-align: center;
}
.blurred-container .motto .no-right-border{
border-right: none;
}
@media (max-width: 768px){
.blurred-container .motto{
font-size: 60px;
width: 268px;
/*Modified from original to suit my sidebar layout*/
top: 75px;
}
}
.main{
background-color: #FFFFFF;
position: relative;
}
#buttons .btn, #tooltips .btn{
margin-bottom: 15px;
}
.img-dog{
display: inline-block;
margin-bottom: 25px;
}

File diff suppressed because it is too large Load Diff

@ -1,208 +0,0 @@
/* Used for making the vertical bootstrap menu work */
@media (min-width: 768px) {
.sidbar-nav .navbar .navbar-collapse {
padding: 0;
max-height: none;
}
.sidebar-nav .navbar ul {
float: none;
}
.sidebar-nav .navbar ul:not {
display: block;
}
.sidebar-nav .navbar li {
float: none;
display: block;
}
.sidebar-nav .navbar li a {
padding-top: 12px;
padding-bottom: 12px;
}
}
/* Gives me greater control over fonts */
.font-serif {
font-family: Georgia, "Times New Roman", Times, serif;
}
.font-sans {
font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.font-mono {
font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
.font-small-caps {
font-variant-caps: small-caps;
}
.strikethrough {
text-decoration: line-through;
}
.sfTable {
margin: 0 auto;
}
.text-align-left {
text-align: left
}
.text-align-right {
text-align: right;
}
.float-left {
float: left;
}
.float-right {
float: right;
}
.media-object {
max-height: 100%;
max-width: 100%;
}
@media (min-width: 768px) {
.pull-left {
max-width: 25%;
}
}
/* This embed responsive stuff is included in future versions of Bootstrap, but I am using
an old version because of other toolkit compatibilities, so I will need to add it here
*/
.embed-responsive {
position: relative;
display: block;
height: 0;
padding: 0;
overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
position: absolute;
top: 0;
bottom: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
.embed-responsive-16by9 {
padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
padding-bottom: 75%;
}
.math {
margin: 8px auto;
text-align: center;
vertical-align: middle;
}
@media (min-width: 768px) {
.small-margins {
margin: inherit !important;
}
}
body {
word-wrap: break-word;
}
.web-logo {
margin: 0 5pt;
}
.motto > h1 {
background: #0000007d;
}
h1 {
word-wrap: normal;
}
dl {
font-size: 16px;
}
.btn-black {
background-color: #222222;
border-color: #080808;
}
.btn-black:hover,
.btn-black:focus,
.btn-black:active,
.btn-black.active,
.open .dropdown-toggle.btn-black {
color: #ffffff;
background-color: #3276b1;
border-color: #285e8e;
}
.btn-black:active,
.btn-black.active,
.open .dropdown-toggle.btn-black {
background-image: none;
}
.btn-black.disabled,
.btn-black[disabled],
fieldset[disabled] .btn-black,
.btn-black.disabled:hover,
.btn-black[disabled]:hover,
fieldset[disabled] .btn-black:hover,
.btn-black.disabled:focus,
.btn-black[disabled]:focus,
fieldset[disabled] .btn-black:focus,
.btn-black.disabled:active,
.btn-black[disabled]:active,
fieldset[disabled] .btn-black:active,
.btn-black.disabled.active,
.btn-black[disabled].active,
fieldset[disabled] .btn-black.active {
background-color: #428bca;
border-color: #357ebd;
}
.tooltip-inner {
min-width: 300px;
}
/* Give tab contents a bit more room to breathe */
.tab-pane {
margin-top: 20px;
}
.vertical-center {
margin: 0;
position: absolute;
top: 50%;
-ms-transform: translateY(-50%);
transform: translateY(-50%);
}
footer {
position: relative;
}
/* Give forms elements style */
input.invalid {
border-color: red;
}

@ -1,10 +0,0 @@
<!DOCTYPE html>
<body>
<code id="dname"></code>
<script src="/js/docker-names.min.js"></script>
<script>
namediv = document.getElementById('dname');
namediv.innerHTML = generateNameWithDate()
</script>
</body>

@ -1,7 +0,0 @@
<!DOCTYPE html>
<head>
<link rel="search" type="application/opensearchdescription+xml" href="duckduckpost.xml" title="DuckDuckPost">
</head>
<body>
<p>Check your search bar for the DuckDuckGo using POST requests search provider</p>
</body>

@ -1,10 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>DuckDuckPost</ShortName>
<Description>Search DuckDuckGo using POST requests</Description>
<InputEncoding>UTF-8</InputEncoding>
<Image height="16" width="16">https://duckduckgo.com/favicon.ico</Image>
<Url type="text/html" method="POST" template="https://duckduckgo.com/">
<Param name="q" value="{searchTerms}"/></Url>
<Url type="application/x-suggestions+json" method="GET" template="https://duckduckgo.com/ac/?q={searchTerms}&amp;type=list"/>
</OpenSearchDescription>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 243 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 280 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 281 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 642 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

@ -1,51 +0,0 @@
---
title: Home
imageUrl: /img/charolette.jpg
imageTitle: Swiss Cow in the hayyard
imageDescription: She almost looks like she's in her native country again.
blurImageUrl: /img/charolette_blur.jpg
motto: <small>My name is Thomas Christensen</small><br />I am Milliron X
description: The homepage of Thomas A. Christensen II
---
<h2>Milliron X - The homepage of Thomas A. Christensen II</h2>
<p>
I am an engineer by training, a rancher by upbringing, a techie by experience, and a filmmaker at heart.
I've got a soft spot for Brown Swiss dairy cows (just in case you couldn't tell by the background image),
and am sometimes called &quot;one of those crazy, Wyoming dairy cow people.&quot;
I love anything to do with cattle or technology, but especially anything to do with both of them.
</p>
<p>
<em>Christian, American, Conservative, Pro-gun, Heterosexual - any questions?</em>
</p>
<h3>What is a &OpenCurlyDoubleQuote;Milliron X&CloseCurlyDoubleQuote;?</h3>
<h5>It's a <a href="https://en.wikipedia.org/wiki/Livestock_branding">cattle brand</a>, of course! My cattle brand!</h5>
<p>
<span style="font-size: larger; font-weight: bolder">The milliron</span>
is the bar with a bend in the middle. It does not represent anything physical
or textual <em>per se</em>, and is therefore a rather unique element in cattle brands.
Millirons are difficult to modify into another brand, and provide a guarantee of
authentic ownership.
</p>
<p>
<span style="font-size: larger; font-weight: bolder">X</span> is the letter of mystery and
mystique. For nerds, it's the unknown in any algebra problem. Ranchers and cowboys will associate
it with big names like the "Bar X" and the "Double X." In either case, it lends itself to a
sense of withholding, prestige, and power.
</p>
<p>
Together, these two symbols represent the qualities I strive for in each of my works: authenticity, originality, power, depth, and prestige.
</p>
<hr />
<div class="panel panel-warning">
<div class="panel-heading">
<h5><i class="fas fa-hard-hat"></i> Warning: Construction Zone!</h3>
</div>
<div class="panel-body">
<p>This is sort of my landing page, but it also doubles as my internet workshop.
I'm always testing things here that I want to put in other sites I'm working on,
and its code isn't always the cleanest.
Please forgive any layout or content mistakes you find here. </p>
</div>
</div>

@ -1,58 +0,0 @@
/*!
* Custom scripts for millironx.github.io
*/
// Resize the window image on first page load
$(".img-src").width($("#main-content").width());
if ($("#top-container").width() > 768) {
$("#nav-link-container").height($("#nav-link-list").height());
}
// Resize the window image if the screen size changes
$(window).resize(function () {
$(".img-src").width($("#main-content").width());
if ($("#top-container").width() > 768) {
$("#nav-link-container").height($("#nav-link-list").height());
}
else {
$("#nav-link-container").css('height', '');
}
});
// Squeeze the heading text into the proper box
$("#motto").fitText();
$("[rel='tooltip']").tooltip();
// Animate the transparency for the glossy scroll effect
var transparentDemo = true;
var fixedTop = false;
$(window).scroll(function(e) {
oVal = ($(window).scrollTop() / 170);
$(".blur").css("opacity", oVal);
if (oVal >= 3) {
$(".img-src").css("visibility", "hidden")
}
else {
$(".img-src").css("visibility", "")
}
});
// Add class to invalid elements
var invalidClassName = 'invalid'
var inputs = document.querySelectorAll('input, select, textarea')
inputs.forEach(function (input) {
// Add a css class on submit when the input is invalid.
input.addEventListener('invalid', function () {
input.classList.add(invalidClassName)
})
// Remove the class when the input becomes valid.
// 'input' will fire each time the user types
input.addEventListener('input', function () {
if (input.validity.valid) {
input.classList.remove(invalidClassName)
}
})
})

2002
js/bootstrap.js vendored

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

@ -1,249 +0,0 @@
/* ============================================================
* bootstrapSwitch v1.3 by Larentis Mattia @spiritualGuru
* http://www.larentis.eu/switch/
* ============================================================
* Licensed under the Apache License, Version 2.0
* http://www.apache.org/licenses/LICENSE-2.0
* ============================================================ */
!function ($) {
"use strict";
$.fn['bootstrapSwitch'] = function (method) {
var methods = {
init: function () {
return this.each(function () {
var $element = $(this)
, $div
, $switchLeft
, $switchRight
, $label
, myClasses = ""
, classes = $element.attr('class')
, color
, moving
, onLabel = "ON"
, offLabel = "OFF"
, icon = false;
$.each(['switch-mini', 'switch-small', 'switch-large'], function (i, el) {
if (classes.indexOf(el) >= 0)
myClasses = el;
});
$element.addClass('has-switch');
if ($element.data('on') !== undefined)
color = "switch-" + $element.data('on');
if ($element.data('on-label') !== undefined)
onLabel = $element.data('on-label');
if ($element.data('off-label') !== undefined)
offLabel = $element.data('off-label');
if ($element.data('icon') !== undefined)
icon = $element.data('icon');
$switchLeft = $('<span>')
.addClass("switch-left")
.addClass(myClasses)
.addClass(color)
.html(onLabel);
color = '';
if ($element.data('off') !== undefined)
color = "switch-" + $element.data('off');
$switchRight = $('<span>')
.addClass("switch-right")
.addClass(myClasses)
.addClass(color)
.html(offLabel);
$label = $('<label>')
.html("&nbsp;")
.addClass(myClasses)
.attr('for', $element.find('input').attr('id'));
if (icon) {
$label.html('<i class="' + icon + '"></i>');
}
$div = $element.find(':checkbox').wrap($('<div>')).parent().data('animated', false);
if ($element.data('animated') !== false)
$div.addClass('switch-animate').data('animated', true);
$div
.append($switchLeft)
.append($label)
.append($switchRight);
$element.find('>div').addClass(
$element.find('input').is(':checked') ? 'switch-on' : 'switch-off'
);
if ($element.find('input').is(':disabled'))
$(this).addClass('deactivate');
var changeStatus = function ($this) {
$this.siblings('label').trigger('mousedown').trigger('mouseup').trigger('click');
};
$element.on('keydown', function (e) {
if (e.keyCode === 32) {
e.stopImmediatePropagation();
e.preventDefault();
changeStatus($(e.target).find('span:first'));
}
});
$switchLeft.on('click', function (e) {
changeStatus($(this));
});
$switchRight.on('click', function (e) {
changeStatus($(this));
});
$element.find('input').on('change', function (e) {
var $this = $(this)
, $element = $this.parent()
, thisState = $this.is(':checked')
, state = $element.is('.switch-off');
e.preventDefault();
$element.css('left', '');
if (state === thisState) {
if (thisState)
$element.removeClass('switch-off').addClass('switch-on');
else $element.removeClass('switch-on').addClass('switch-off');
if ($element.data('animated') !== false)
$element.addClass("switch-animate");
$element.parent().trigger('switch-change', {'el': $this, 'value': thisState})
}
});
$element.find('label').on('mousedown touchstart', function (e) {
var $this = $(this);
moving = false;
e.preventDefault();
e.stopImmediatePropagation();
$this.closest('div').removeClass('switch-animate');
if ($this.closest('.has-switch').is('.deactivate'))
$this.unbind('click');
else {
$this.on('mousemove touchmove', function (e) {
var $element = $(this).closest('.switch')
, relativeX = (e.pageX || e.originalEvent.targetTouches[0].pageX) - $element.offset().left
, percent = (relativeX / $element.width()) * 100
, left = 25
, right = 75;
moving = true;
if (percent < left)
percent = left;
else if (percent > right)
percent = right;
$element.find('>div').css('left', (percent - right) + "%")
});
$this.on('click touchend', function (e) {
var $this = $(this)
, $target = $(e.target)
, $myCheckBox = $target.siblings('input');
e.stopImmediatePropagation();
e.preventDefault();
$this.unbind('mouseleave');
if (moving)
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25));
else $myCheckBox.prop("checked", !$myCheckBox.is(":checked"));
moving = false;
$myCheckBox.trigger('change');
});
$this.on('mouseleave', function (e) {
var $this = $(this)
, $myCheckBox = $this.siblings('input');
e.preventDefault();
e.stopImmediatePropagation();
$this.unbind('mouseleave');
$this.trigger('mouseup');
$myCheckBox.prop('checked', !(parseInt($this.parent().css('left')) < -25)).trigger('change');
});
$this.on('mouseup', function (e) {
e.stopImmediatePropagation();
e.preventDefault();
$(this).unbind('mousemove');
});
}
});
}
);
},
toggleActivation: function () {
$(this).toggleClass('deactivate');
},
isActive: function () {
return !$(this).hasClass('deactivate');
},
setActive: function (active) {
if (active)
$(this).removeClass('deactivate');
else $(this).addClass('deactivate');
},
toggleState: function (skipOnChange) {
var $input = $(this).find('input:checkbox');
$input.prop('checked', !$input.is(':checked')).trigger('change', skipOnChange);
},
setState: function (value, skipOnChange) {
$(this).find('input:checkbox').prop('checked', value).trigger('change', skipOnChange);
},
status: function () {
return $(this).find('input:checkbox').is(':checked');
},
destroy: function () {
var $div = $(this).find('div')
, $checkbox;
$div.find(':not(input:checkbox)').remove();
$checkbox = $div.children();
$checkbox.unwrap().unwrap();
$checkbox.unbind('change');
return $checkbox;
}
};
if (methods[method])
return methods[method].apply(this, Array.prototype.slice.call(arguments, 1));
else if (typeof method === 'object' || !method)
return methods.init.apply(this, arguments);
else
$.error('Method ' + method + ' does not exist!');
};
}(jQuery);

@ -1,109 +0,0 @@
!function ($) {
/* CHECKBOX PUBLIC CLASS DEFINITION
* ============================== */
var Checkbox = function (element, options) {
this.init(element, options);
}
Checkbox.prototype = {
constructor: Checkbox
, init: function (element, options) {
var $el = this.$element = $(element)
this.options = $.extend({}, $.fn.checkbox.defaults, options);
$el.before(this.options.template);
this.setState();
}
, setState: function () {
var $el = this.$element
, $parent = $el.closest('.checkbox');
$el.prop('disabled') && $parent.addClass('disabled');
$el.prop('checked') && $parent.addClass('checked');
}
, toggle: function () {
var ch = 'checked'
, $el = this.$element
, $parent = $el.closest('.checkbox')
, checked = $el.prop(ch)
, e = $.Event('toggle')
if ($el.prop('disabled') == false) {
$parent.toggleClass(ch) && checked ? $el.removeAttr(ch) : $el.prop(ch, ch);
$el.trigger(e).trigger('change');
}
}
, setCheck: function (option) {
var d = 'disabled'
, ch = 'checked'
, $el = this.$element
, $parent = $el.closest('.checkbox')
, checkAction = option == 'check' ? true : false
, e = $.Event(option)
$parent[checkAction ? 'addClass' : 'removeClass' ](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
$el.trigger(e).trigger('change');
}
}
/* CHECKBOX PLUGIN DEFINITION
* ======================== */
var old = $.fn.checkbox
$.fn.checkbox = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('checkbox')
, options = $.extend({}, $.fn.checkbox.defaults, $this.data(), typeof option == 'object' && option);
if (!data) $this.data('checkbox', (data = new Checkbox(this, options)));
if (option == 'toggle') data.toggle()
if (option == 'check' || option == 'uncheck') data.setCheck(option)
else if (option) data.setState();
});
}
$.fn.checkbox.defaults = {
template: '<span class="icons"><span class="first-icon fa fa-square-o"></span><span class="second-icon fa fa-check-square-o"></span></span>'
}
/* CHECKBOX NO CONFLICT
* ================== */
$.fn.checkbox.noConflict = function () {
$.fn.checkbox = old;
return this;
}
/* CHECKBOX DATA-API
* =============== */
$(document).on('click.checkbox.data-api', '[data-toggle^=checkbox], .checkbox', function (e) {
var $checkbox = $(e.target);
if (e.target.tagName != "A") {
e && e.preventDefault() && e.stopPropagation();
if (!$checkbox.hasClass('checkbox')) $checkbox = $checkbox.closest('.checkbox');
$checkbox.find(':checkbox').checkbox('toggle');
}
});
$(function () {
$('[data-toggle="checkbox"]').each(function () {
var $checkbox = $(this);
$checkbox.checkbox();
});
});
}(window.jQuery);

@ -1,9 +0,0 @@
var transparentDemo = true;
var fixedTop = false;
$(window).scroll(function(e) {
oVal = ($(window).scrollTop() / 170);
$(".blur").css("opacity", oVal);
});

@ -1,126 +0,0 @@
/*!
=========================================================
* Get Shit Done Kit - v1.4.1.0
=========================================================
* Product Page: http://www.creative-tim.com/product/get-shit-done-kit
* Copyright 2017 Creative Tim (http://www.creative-tim.com)
* Licensed under MIT (https://github.com/timcreative/get-shit-done/blob/master/LICENSE.md)
=========================================================
* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
*/
searchVisible = 0;
transparent = true;
$(document).ready(function(){
/* Activate the switches with icons */
$('.switch')['bootstrapSwitch']();
/* Activate regular switches */
$("[data-toggle='switch']").wrap('<div class="switch" />').parent().bootstrapSwitch();
$('[data-toggle="search"]').click(function(){
if(searchVisible == 0){
searchVisible = 1;
$(this).parent().addClass('active');
$('.navbar-search-form').fadeIn(function(){
$('.navbar-search-form input').focus();
});
} else {
searchVisible = 0;
$(this).parent().removeClass('active');
$(this).blur();
$('.navbar-search-form').fadeOut(function(){
$('.navbar-search-form input').blur();
});
}
});
$('[data-toggle="gsdk-collapse"]').hover(
function(){
console.log('on hover');
var thisdiv = $(this).attr("data-target");
if(!$(this).hasClass('state-open')){
$(this).addClass('state-hover');
$(thisdiv).css({
'height':'30px'
});
}
},
function(){
var thisdiv = $(this).attr("data-target");
$(this).removeClass('state-hover');
if(!$(this).hasClass('state-open')){
$(thisdiv).css({
'height':'0px'
});
}
}
);
$('[data-toggle="gsdk-collapse"]').click(
function(event){
event.preventDefault();
var thisdiv = $(this).attr("data-target");
var height = $(thisdiv).children('.panel-body').height();
if($(this).hasClass('state-open')){
$(thisdiv).css({
'height':'0px',
});
$(this).removeClass('state-open');
} else {
$(thisdiv).css({
'height':height,
});
$(this).addClass('state-open');
}
}
);
});
$(function () {
$('[data-toggle="gsdk-collapse"]').each(function () {
var thisdiv = $(this).attr("data-target");
$(thisdiv).addClass("gsdk-collapse");
});
});
/* Remove the transparent navbar controls, because they get in the way of my cooler sidebar nav */
/*
$(document).scroll(function() {
if( $(this).scrollTop() > 260 ) {
if(transparent) {
transparent = false;
$('nav[role="navigation"]').removeClass('navbar-transparent');
}
} else {
if( !transparent ) {
transparent = true;
$('nav[role="navigation"]').addClass('navbar-transparent');
}
}
});
*/

@ -1,140 +0,0 @@
/* =============================================================
* flatui-radio v0.0.3
* ============================================================ */
!function ($) {
/* RADIO PUBLIC CLASS DEFINITION
* ============================== */
var Radio = function (element, options) {
this.init(element, options);
}
Radio.prototype = {
constructor: Radio
, init: function (element, options) {
var $el = this.$element = $(element)
this.options = $.extend({}, $.fn.radio.defaults, options);
$el.before(this.options.template);
this.setState();
}
, setState: function () {
var $el = this.$element
, $parent = $el.closest('.radio');
$el.prop('disabled') && $parent.addClass('disabled');
$el.prop('checked') && $parent.addClass('checked');
}
, toggle: function () {
var d = 'disabled'
, ch = 'checked'
, $el = this.$element
, checked = $el.prop(ch)
, $parent = $el.closest('.radio')
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
, $elemGroup = $parentWrap.find(':radio[name="' + $el.attr('name') + '"]')
, e = $.Event('toggle')
if ($el.prop(d) == false) {
$elemGroup.not($el).each(function () {
var $el = $(this)
, $parent = $(this).closest('.radio');
if ($el.prop(d) == false) {
$parent.removeClass(ch) && $el.removeAttr(ch).trigger('change');
}
});
if (checked == false) $parent.addClass(ch) && $el.prop(ch, true);
$el.trigger(e);
if (checked !== $el.prop(ch)) {
$el.trigger('change');
}
}
}
, setCheck: function (option) {
var ch = 'checked'
, $el = this.$element
, $parent = $el.closest('.radio')
, checkAction = option == 'check' ? true : false
, checked = $el.prop(ch)
, $parentWrap = $el.closest('form').length ? $el.closest('form') : $el.closest('body')
, $elemGroup = $parentWrap.find(':radio[name="' + $el['attr']('name') + '"]')
, e = $.Event(option)
$elemGroup.not($el).each(function () {
var $el = $(this)
, $parent = $(this).closest('.radio');
$parent.removeClass(ch) && $el.removeAttr(ch);
});
$parent[checkAction ? 'addClass' : 'removeClass'](ch) && checkAction ? $el.prop(ch, ch) : $el.removeAttr(ch);
$el.trigger(e);
if (checked !== $el.prop(ch)) {
$el.trigger('change');
}
}
}
/* RADIO PLUGIN DEFINITION
* ======================== */
var old = $.fn.radio
$.fn.radio = function (option) {
return this.each(function () {
var $this = $(this)
, data = $this.data('radio')
, options = $.extend({}, $.fn.radio.defaults, $this.data(), typeof option == 'object' && option);
if (!data) $this.data('radio', (data = new Radio(this, options)));
if (option == 'toggle') data.toggle()
if (option == 'check' || option == 'uncheck') data.setCheck(option)
else if (option) data.setState();
});
}
$.fn.radio.defaults = {
template: '<span class="icons"><span class="first-icon fa fa-circle-o"></span><span class="second-icon fa fa-dot-circle-o"></span></span>'
}
/* RADIO NO CONFLICT
* ================== */
$.fn.radio.noConflict = function () {
$.fn.radio = old;
return this;
}
/* RADIO DATA-API
* =============== */
$(document).on('click.radio.data-api', '[data-toggle^=radio], .radio', function (e) {
var $radio = $(e.target);
e && e.preventDefault() && e.stopPropagation();
if (!$radio.hasClass('radio')) $radio = $radio.closest('.radio');
$radio.find(':radio').radio('toggle');
});
$(function () {
$('[data-toggle="radio"]').each(function () {
var $radio = $(this);
$radio.radio();
});
});
}(window.jQuery);

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

10253
js/jquery-3.2.1.js vendored

File diff suppressed because it is too large Load Diff

18706
js/jquery-ui-1.12.1.js vendored

File diff suppressed because it is too large Load Diff

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save