initial push

This commit is contained in:
Jesse Harris 2020-07-21 06:49:32 +10:00
commit 7633402843
345 changed files with 29322 additions and 0 deletions

142
.config Normal file
View File

@ -0,0 +1,142 @@
global_software_name="BashBlog"
global_software_version="2.8"
# Blog title
global_title="zigford.org"
# The typical subtitle for each blog
global_description='<a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br>'
#global_description="Sharing linux/windows scripts and tips"
# The public base URL for this blog
global_url="http://zigford.org"
# Your name
global_author="Jesse Harris"
# You can use twitter or facebook or anything for global_author_url
global_author_url="http://twitter.com/zigford_org"
# Your email
global_email="jesse@zigford.org"
# CC by-nc-nd is a good starting point, you can change this to "&copy;" for Copyright
global_license="&copy"
# If you have a Google Analytics ID (UA-XXXXX) and wish to use the standard
# embedding code, put it on global_analytics
# If you have custom analytics code (i.e. non-google) or want to use the Universal
# code, leave global_analytics empty and specify a global_analytics_file
global_analytics=""
global_analytics_file=""
# Leave this empty (i.e. "") if you don't want to use feedburner,
# or change it to your own URL
global_feedburner=""
# Change this to your username if you want to use twitter for comments
global_twitter_username=""
# Set this to false for a Twitter button with share count. The cookieless version
# is just a link.
global_twitter_cookieless="false"
# Default search page, where tweets more than a week old are hidden
global_twitter_search="twitter"
# Change this to your disqus username to use disqus for comments
global_disqus_username=""
# Blog generated files
# index page of blog (it is usually good to use "index.html" here)
index_file="index.html"
number_of_index_articles="5"
# global archive
archive_index="all_posts.html"
tags_index="all_tags.html"
# Non blogpost files. Bashblog will ignore these. Useful for static pages and custom content
# Add them as a bash array, e.g. non_blogpost_files=("news.html" "test.html")
non_blogpost_files=("about.html" "links.html" "gnu-linux.html" "macos.html" "the-bsds.html" "my-setup.html" "todo.html" "visitors.html" "christmas-2018.html")
# feed file (rss in this case)
blog_feed="feed.rss"
number_of_feed_articles="10"
# "cut" blog entry when putting it to index page. Leave blank for full articles in front page
# i.e. include only up to first '<hr>', or '----' in markdown
cut_do="cut"
# When cutting, cut also tags? If "no", tags will appear in index page for cut articles
cut_tags="yes"
# Regexp matching the HTML line where to do the cut
# note that slash is regexp separator so you need to prepend it with backslash
cut_line='<hr ?\/?>'
# save markdown file when posting with "bb post -m". Leave blank to discard it.
save_markdown="yes"
# prefix for tags/categories files
# please make sure that no other html file starts with this prefix
prefix_tags="tag_"
# personalized header and footer (only if you know what you're doing)
# DO NOT name them .header.html, .footer.html or they will be overwritten
# leave blank to generate them, recommended
header_file=""
footer_file=""
# extra content to add just after we open the <body> tag
# and before the actual blog content
body_begin_file=""
# extra content to add just before we cloese <body tag (just before
# </body>)
body_end_file=""
# CSS files to include on every page, f.ex. css_include=('main.css' 'blog.css')
# leave empty to use generated
css_include=()
# HTML files to exclude from index, f.ex. post_exclude=('imprint.html 'aboutme.html')
html_exclude=("windows.html" "scripts.html" "visitors.html")
# Localization and i18n
# "Comments?" (used in twitter link after every post)
template_comments="Comments?"
# "Read more..." (link under cut article on index page)
template_read_more="Read more..."
# "View more posts" (used on bottom of index page as link to archive)
template_archive="View more posts"
# "All posts" (title of archive page)
template_archive_title="All posts"
# "All tags"
template_tags_title="All tags"
# "posts" (on "All tags" page, text at the end of each tag line, like "2. Music - 15 posts")
template_tags_posts="posts"
template_tags_posts_2_4="posts" # Some slavic languages use a different plural form for 2-4 items
template_tags_posts_singular="post"
# "Posts tagged" (text on a title of a page with index of one tag, like "My Blog - Posts tagged "Music"")
template_tag_title="Posts tagged"
# "Tags:" (beginning of line in HTML file with list of all tags for this article)
template_tags_line_header="Tags:"
# "Back to the index page" (used on archive page, it is link to blog index)
template_archive_index_page="Back to the index page"
# "Subscribe" (used on bottom of index page, it is link to RSS feed)
template_subscribe="Subscribe"
# "Subscribe to this page..." (used as text for browser feed button that is embedded to html)
template_subscribe_browser_button="Subscribe to this page..."
# "Tweet" (used as twitter text button for posting to twitter)
template_twitter_button="Tweet"
template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"
# The locale to use for the dates displayed on screen
date_format="%B %d, %Y"
date_locale="C"
date_inpost="bashblog_timestamp"
# Don't change these dates
date_format_full="%a, %d %b %Y %H:%M:%S %z"
date_format_timestamp="%Y%m%d%H%M.%S"
date_allposts_header="%B %Y"
# Perform the post title -> filename conversion
# Experts only. You may need to tune the locales too
# Leave empty for no conversion, which is not recommended
# This default filter respects backwards compatibility
convert_filename="iconv -f utf-8 -t ascii//translit | sed 's/^-*//' | tr [:upper:] [:lower:] | tr ' ' '-' | tr -dc '[:alnum:]-'"
# URL where you can view the post while it's being edited
# same as global_url by default
# You can change it to path on your computer, if you write posts locally
# before copying them to the server
preview_url=""
# Markdown location. Trying to autodetect by default.
# The invocation must support the signature 'markdown_bin in.md > out.html'
markdown_bin=/usr/local/bin/markdown

50
about.html Normal file
View File

@ -0,0 +1,50 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>About</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="about.html">
About
</a></h3>
<!-- bashblog_timestamp: #201809022028.39# -->
<div class="subtitle">September 02, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>"Hi, my name is Jesse Harris. I'm a self professed operating systems nerd.
I actively use current versions of <a href="windows.html">Windows</a>,
<a href="gnu-linux.html">GNU/Linux</a>, <a href="macos.html">Macos</a> and dabble in
<a href="the-bsds.html">the BSDs</a>.</p>
<p>I work for a <a href="https://usc.edu.au">University</a> in the client systems area, where
I do a fair amount of scripting.</p>
<p>Read about:</p>
<ul>
<li><a href="my-setup.html">My setup</a></li>
</ul>
<p>I want to use this site to share my insites about the differences in the
operating systems in an unbiased way."</p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

16
about.md Normal file
View File

@ -0,0 +1,16 @@
About
"Hi, my name is Jesse Harris. I'm a self professed operating systems nerd.
I actively use current versions of [Windows](windows.html),
[GNU/Linux](gnu-linux.html), [Macos](macos.html) and dabble in
[the BSDs](the-bsds.html).
I work for a [University](https://usc.edu.au) in the client systems area, where
I do a fair amount of scripting.
Read about:
* [My setup](my-setup.html)
I want to use this site to share my insites about the differences in the
operating systems in an unbiased way."

133
all_posts.html Normal file
View File

@ -0,0 +1,133 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>zigford.org &mdash; All posts</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<h3>All posts</h3>
<h4 class='allposts_header'>July 2020</h4>
<ul>
<li><a href="./transfer-btfs-snapshots-with-netcat.html">Transfer BTFS snapshots with netcat</a> &mdash; July 19, 2020</li>
</ul>
<h4 class='allposts_header'>June 2020</h4>
<ul>
<li><a href="./screen-sharing-and-capture-in-wayland-on-gentoo.html">Screen sharing and capture in Wayland on Gentoo</a> &mdash; June 01, 2020</li>
</ul>
<h4 class='allposts_header'>April 2020</h4>
<ul>
<li><a href="./scrubbing-my-data---btrfs.html">Scrubbing my data - BTRFS</a> &mdash; April 23, 2020</li>
<li><a href="./defragging-files-in-btrfs---oneliner.html">Defragging files in btrfs - Oneliner</a> &mdash; April 10, 2020</li>
</ul>
<h4 class='allposts_header'>March 2020</h4>
<ul>
<li><a href="./lets-encrypt-kerfuffle.html">Lets encrypt kerfuffle</a> &mdash; March 10, 2020</li>
<li><a href="./firewalld-kernel-requirements.html">Firewalld kernel requirements</a> &mdash; March 06, 2020</li>
</ul>
<h4 class='allposts_header'>February 2020</h4>
<ul>
<li><a href="./nagios-core-on-gentooraspberry-pi-with-nginx.html">Nagios Core on Gentoo/Raspberry Pi with Nginx</a> &mdash; February 29, 2020</li>
</ul>
<h4 class='allposts_header'>October 2019</h4>
<ul>
<li><a href="./precision-5510---gentoo-gnulinux.html">Precision 5510 - Gentoo GNU/Linux</a> &mdash; October 12, 2019</li>
<li><a href="./trying-out-a-pull-request.html">Trying out a pull request</a> &mdash; October 06, 2019</li>
<li><a href="./video-editing-from-the-command-line.html">Video editing from the command line</a> &mdash; October 05, 2019</li>
</ul>
<h4 class='allposts_header'>September 2019</h4>
<ul>
<li><a href="./cascadia-code.html">Cascadia Code</a> &mdash; September 20, 2019</li>
<li><a href="./snapd-repository-for-gentoo.html">Snapd Repository for Gentoo</a> &mdash; September 07, 2019</li>
</ul>
<h4 class='allposts_header'>August 2019</h4>
<ul>
<li><a href="./vim-quickfix-and-powershell-revisited.html">Vim Quickfix and PowerShell revisited</a> &mdash; August 21, 2019</li>
<li><a href="./making-a-release-on-github.html">Making a release on GitHub</a> &mdash; August 20, 2019</li>
<li><a href="./live-on-64-bit-raspberry-pi-4-with-gentoo.html">Live on 64-bit Raspberry Pi 4 with Gentoo</a> &mdash; August 15, 2019</li>
<li><a href="./git---working-with-branches.html">Git - Working with branches</a> &mdash; August 06, 2019</li>
</ul>
<h4 class='allposts_header'>July 2019</h4>
<ul>
<li><a href="./raspberry-pi-4.html">Raspberry Pi 4</a> &mdash; July 02, 2019</li>
</ul>
<h4 class='allposts_header'>June 2019</h4>
<ul>
<li><a href="./dynamic-colorscheme-in-vim.html">Dynamic colorscheme in Vim</a> &mdash; June 15, 2019</li>
<li><a href="./vim-quickfix-and-powershell.html">Vim Quickfix and PowerShell</a> &mdash; June 02, 2019</li>
</ul>
<h4 class='allposts_header'>May 2019</h4>
<ul>
<li><a href="./converting-vhs-and-dv-to-modern-formats---part-1.html">Converting VHS and DV to Modern Formats - Part 1</a> &mdash; May 26, 2019</li>
</ul>
<h4 class='allposts_header'>April 2019</h4>
<ul>
<li><a href="./nginx-as-a-file-server.html">Nginx as a file server</a> &mdash; April 21, 2019</li>
<li><a href="./speed-up-your-shell-game.html">Speed up your shell game</a> &mdash; April 21, 2019</li>
<li><a href="./powershell-syntax-now-supported-by-ale-vim-plugin.html">Powershell syntax now supported by ALE (Vim) plugin</a> &mdash; April 15, 2019</li>
</ul>
<h4 class='allposts_header'>March 2019</h4>
<ul>
<li><a href="./vim-and-powershell.html">Vim and Powershell</a> &mdash; March 31, 2019</li>
<li><a href="./vim-odd-jobs-1.html">Vim Odd Jobs 1</a> &mdash; March 30, 2019</li>
<li><a href="./powershell-links.html">Powershell Links</a> &mdash; March 29, 2019</li>
<li><a href="./troubleshooting-office-365-login-loop.html">Troubleshooting: Office 365 login loop</a> &mdash; March 29, 2019</li>
<li><a href="./vim-links.html">Vim Links</a> &mdash; March 28, 2019</li>
</ul>
<h4 class='allposts_header'>February 2019</h4>
<ul>
<li><a href="./snaps-on-gentoo---the-saga-continues.html">Snaps on Gentoo - The saga continues</a> &mdash; February 10, 2019</li>
</ul>
<h4 class='allposts_header'>January 2019</h4>
<ul>
<li><a href="./the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.html">The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet</a> &mdash; January 08, 2019</li>
<li><a href="./introducing-pwshblog.html">Introducing PwshBlog</a> &mdash; January 01, 2019</li>
</ul>
<h4 class='allposts_header'>December 2018</h4>
<ul>
<li><a href="./burning-a-cd-cli-style.html">Burning a CD CLI Style</a> &mdash; December 18, 2018</li>
<li><a href="./setting-powershell-as-default-on-macos.html">Setting Powershell as default on MacOS</a> &mdash; December 18, 2018</li>
</ul>
<h4 class='allposts_header'>October 2018</h4>
<ul>
<li><a href="./ansi-vt100-colors-in-powershell-core-prompt.html">ANSI VT100 colors in Powershell Core prompt</a> &mdash; October 19, 2018</li>
</ul>
<h4 class='allposts_header'>September 2018</h4>
<ul>
<li><a href="./gentoo-local-overlay.html">Gentoo local overlay</a> &mdash; September 18, 2018</li>
<li><a href="./first-look-at-powershell-610.html">First look at powershell 6.1.0</a> &mdash; September 15, 2018</li>
<li><a href="./manage-a-hosts-file.html">Manage a hosts file</a> &mdash; September 11, 2018</li>
<li><a href="./write-information--write-host.html">Write-Information > Write-Host</a> &mdash; September 06, 2018</li>
<li><a href="./replacing-bash-scripting-with-powershell.html">Replacing bash scripting with powershell</a> &mdash; September 04, 2018</li>
<li><a href="./vim-tip-edit-macro.html">Vim tips, macro's</a> &mdash; September 02, 2018</li>
<li><a href="./ip-addresses-on-your-subnet-with-xargs.html">Ip addresses on your subnet with xargs</a> &mdash; September 01, 2018</li>
</ul>
<h4 class='allposts_header'>August 2018</h4>
<ul>
<li><a href="./xargs-tips.html">Xargs tips</a> &mdash; August 31, 2018</li>
<li><a href="./win32-openssh-package.html">Win32 OpenSSH Package</a> &mdash; August 14, 2018</li>
<li><a href="./snaps-on-gentoo.html">Snaps on Gentoo</a> &mdash; August 12, 2018</li>
<li><a href="./downgrade-gentoo-from-testing-to-stable.html">Downgrade Gentoo from testing to stable</a> &mdash; August 05, 2018</li>
</ul>
<h4 class='allposts_header'>May 2018</h4>
<ul>
<li><a href="./ripping-an-album-from-youtube---cli-style.html">Ripping an album from youtube - CLI Style</a> &mdash; May 28, 2018</li>
<li><a href="./how-i-code.html">How I Code</a> &mdash; May 24, 2018</li>
<li><a href="./using-the-latest-vim-on-gentoo.html">Using the latest vim on Gentoo</a> &mdash; May 22, 2018</li>
<li><a href="./compiling-vim-on-ubuntu-with-wsl.html">Compiling VIM on Ubuntu with WSL</a> &mdash; May 21, 2018</li>
<li><a href="./burning-a-dvd-video-on-gentoo.html">Burning a DVD Video on Gentoo</a> &mdash; May 15, 2018</li>
</ul>
<div id="all_posts"><a href="./index.html">Back to the index page</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

88
all_tags.html Normal file
View File

@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>zigford.org &mdash; All tags</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<h3>All tags</h3>
<ul>
<li><a href="tag_ale.html">ale</a> &mdash; 2 posts</li>
<li><a href="tag_awk.html">awk</a> &mdash; 2 posts</li>
<li><a href="tag_backup.html">backup</a> &mdash; 1 post</li>
<li><a href="tag_bash.html">bash</a> &mdash; 7 posts</li>
<li><a href="tag_bash-tips.html">bash-tips</a> &mdash; 2 posts</li>
<li><a href="tag_bash-v-powershell.html">bash-v-powershell</a> &mdash; 3 posts</li>
<li><a href="tag_btrfs.html">btrfs</a> &mdash; 4 posts</li>
<li><a href="tag_burn-a-cd.html">burn-a-cd</a> &mdash; 1 post</li>
<li><a href="tag_burn-a-dvd.html">burn-a-dvd</a> &mdash; 1 post</li>
<li><a href="tag_certs.html">certs</a> &mdash; 1 post</li>
<li><a href="tag_cli.html">cli</a> &mdash; 3 posts</li>
<li><a href="tag_coding.html">coding</a> &mdash; 2 posts</li>
<li><a href="tag_dd.html">dd</a> &mdash; 1 post</li>
<li><a href="tag_ebuild.html">ebuild</a> &mdash; 1 post</li>
<li><a href="tag_ffmpeg.html">ffmpeg</a> &mdash; 5 posts</li>
<li><a href="tag_firewalld.html">firewalld</a> &mdash; 1 post</li>
<li><a href="tag_fonts.html">fonts</a> &mdash; 1 post</li>
<li><a href="tag_gentoo.html">gentoo</a> &mdash; 14 posts</li>
<li><a href="tag_git.html">git</a> &mdash; 4 posts</li>
<li><a href="tag_github.html">github</a> &mdash; 2 posts</li>
<li><a href="tag_gnome.html">gnome</a> &mdash; 1 post</li>
<li><a href="tag_hostsfile.html">hostsfile</a> &mdash; 1 post</li>
<li><a href="tag_intune.html">intune</a> &mdash; 1 post</li>
<li><a href="tag_kernel.html">kernel</a> &mdash; 1 post</li>
<li><a href="tag_lets-encrypt.html">lets-encrypt</a> &mdash; 1 post</li>
<li><a href="tag_link-lists.html">link-lists</a> &mdash; 1 post</li>
<li><a href="tag_links.html">links</a> &mdash; 1 post</li>
<li><a href="tag_linux.html">linux</a> &mdash; 10 posts</li>
<li><a href="tag_macos.html">macos</a> &mdash; 3 posts</li>
<li><a href="tag_mp3.html">mp3</a> &mdash; 2 posts</li>
<li><a href="tag_music.html">music</a> &mdash; 2 posts</li>
<li><a href="tag_nagios.html">nagios</a> &mdash; 1 post</li>
<li><a href="tag_netcat.html">netcat</a> &mdash; 1 post</li>
<li><a href="tag_nginx.html">nginx</a> &mdash; 1 post</li>
<li><a href="tag_obs.html">obs</a> &mdash; 1 post</li>
<li><a href="tag_Office365.html">Office365</a> &mdash; 1 post</li>
<li><a href="tag_openssh.html">openssh</a> &mdash; 1 post</li>
<li><a href="tag_overlay.html">overlay</a> &mdash; 1 post</li>
<li><a href="tag_ping.html">ping</a> &mdash; 1 post</li>
<li><a href="tag_portage.html">portage</a> &mdash; 2 posts</li>
<li><a href="tag_portage-overlay.html">portage-overlay</a> &mdash; 1 post</li>
<li><a href="tag_powershell.html">powershell</a> &mdash; 15 posts</li>
<li><a href="tag_powershell-links.html">powershell-links</a> &mdash; 1 post</li>
<li><a href="tag_profile.html">profile</a> &mdash; 1 post</li>
<li><a href="tag_pscore.html">pscore</a> &mdash; 1 post</li>
<li><a href="tag_pwshblog.html">pwshblog</a> &mdash; 1 post</li>
<li><a href="tag_python.html">python</a> &mdash; 1 post</li>
<li><a href="tag_raspberry-pi.html">raspberry-pi</a> &mdash; 3 posts</li>
<li><a href="tag_scripting.html">scripting</a> &mdash; 3 posts</li>
<li><a href="tag_shells.html">shells</a> &mdash; 3 posts</li>
<li><a href="tag_snapd.html">snapd</a> &mdash; 3 posts</li>
<li><a href="tag_streams.html">streams</a> &mdash; 1 post</li>
<li><a href="tag_Troubleshooting.html">Troubleshooting</a> &mdash; 1 post</li>
<li><a href="tag_vim.html">vim</a> &mdash; 8 posts</li>
<li><a href="tag_vim-macros.html">vim-macros</a> &mdash; 1 post</li>
<li><a href="tag_vim-odd-jobs.html">vim-odd-jobs</a> &mdash; 1 post</li>
<li><a href="tag_vim-tips.html">vim-tips</a> &mdash; 4 posts</li>
<li><a href="tag_vt100.html">vt100</a> &mdash; 1 post</li>
<li><a href="tag_wayland.html">wayland</a> &mdash; 1 post</li>
<li><a href="tag_windows.html">windows</a> &mdash; 2 posts</li>
<li><a href="tag_xargs.html">xargs</a> &mdash; 2 posts</li>
<li><a href="tag_youtube.html">youtube</a> &mdash; 2 posts</li>
<li><a href="tag_zoom.html">zoom</a> &mdash; 1 post</li>
</ul>
<div id="all_posts"><a href="./index.html">Back to the index page</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,117 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>ANSI VT100 colors in Powershell Core prompt</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="ansi-vt100-colors-in-powershell-core-prompt.html">
ANSI VT100 colors in Powershell Core prompt
</a></h3>
<!-- bashblog_timestamp: #201810192238.23# -->
<div class="subtitle">October 19, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Sometime ago I was searching the interwebs for inspiration to spruce up my
powershell prompt. I came across someone's prompt they shared on
<a href="https://stackoverflow.com">stackoverflow</a> or <a href="https://superuser.com">superuser</a> and unfortunatly I could not find the link
again to give proper credit.</p>
<hr />
<p>Today, I'm essentially using the same prompt but I've had to adjust it to work
on <a href="windows.html">Windows</a> and <a href="macos.html">MacOS</a> with the two areas of compatability being that
Windows uses backslash <code>\</code> and Unixes like <a href="gnu-linux.html">GNU/Linux</a> and MacOS use
forwardslash <code>/</code>.</p>
<p>With Windows powershell, in order to get colorized text, you had to use the
<code>Write-Host</code> commandlet, but when switching to PSCore, the same code produced
strange results. Initially the prompt would look fine, but if you were in a
deep path, as soon as you typed a key, much of the prompt would be overwritten
or word or some letters would be duplicated.</p>
<p>After a bit of research I found the Windows Console had had VT100 escape
sequence support added. You could, in theory, enable any Windows 10 1607+
console to support VT100, but you would need to use the WinAPI
<a href="https://docs.microsoft.com/en-us/windows/console/setconsolemode">SetConsoleMode</a></p>
<p>It turns out, that PSCore on Windows, does this very thing, and so without any
extra work, VT100 escape sequences work out of the box on this.</p>
<pre><code> function ConvertTo-ShortPath {
Param([string]$Path)
# Replace Home with ~ symbol
$Location = $Path.Replace($HOME, '~')
# Remove prefix for UNC paths
$Location = $Location -replace '^[^:]+::', ''
# Handle paths starting with \\ and . correctly
# For paths not the current directory, display only a single
# character for each directory in the tree
If ($IsMacOS -or $IsLinux) {
# Systems with / paths
$Location = $Location -replace '(.?)([^/])[^/]*(?=/)','$1$2'
} else {
# Systems with \ paths
$Location = $Location -replace '\\(\.?)([^\\])[^\\]*(?=\\)','\$1$2'
}
return $Location
}
function prompt {
If ($PSEdition -eq "Core") {
$BC = "`e[96m" #Bright Cyan
$C = "`e[36m" #Cyan
$G = "`e[32m" #Green
$N = "`e[0m" #No Color
} else {
$C = [ConsoleColor]::DarkCyan
$G = [ConsoleColor]::Green
$BC = [ConsoleColor]::Cyan
}
$root = [char]0x0E3
$nonroot = [char]0x0A7
$H = $([net.dns]::GetHostName())
if (Test-CurrentAdminRights) {
$priv = $root
} else {
$priv = $nonroot
}
if ($PSEdition -eq "Core"){
# PSCore doesn't like a prompt using Write-Host
# thankfully, using VT100 signals works fine
"${BC}${priv} $G$H $C{ $BC$(ConvertTo-ShortPath ((pwd).Path)) $C }$N "
} else {
Write-Host "$priv " -NoNewline -ForegroundColor $BC
Write-Host $H -NoNewline -ForegroundColor $G
Write-Host ' {' -NoNewline -ForegroundColor $C
Write-Host (ConvertTo-ShortPath (pwd).Path) -NoNewline -ForegroundColor $BC
Write-Host '}' -NoNewline -ForegroundColor $C
return ' '
}
}
</code></pre>
<p>Tags: <a href='tag_vt100.html'>vt100</a>, <a href='tag_powershell.html'>powershell</a>, <a href='tag_profile.html'>profile</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,91 @@
ANSI VT100 colors in Powershell Core prompt
Sometime ago I was searching the interwebs for inspiration to spruce up my
powershell prompt. I came across someone's prompt they shared on
[stackoverflow][1] or [superuser][2] and unfortunatly I could not find the link
again to give proper credit.
---
Today, I'm essentially using the same prompt but I've had to adjust it to work
on [Windows][3] and [MacOS][4] with the two areas of compatability being that
Windows uses backslash `\` and Unixes like [GNU/Linux][5] and MacOS use
forwardslash `/`.
With Windows powershell, in order to get colorized text, you had to use the
`Write-Host` commandlet, but when switching to PSCore, the same code produced
strange results. Initially the prompt would look fine, but if you were in a
deep path, as soon as you typed a key, much of the prompt would be overwritten
or word or some letters would be duplicated.
After a bit of research I found the Windows Console had had VT100 escape
sequence support added. You could, in theory, enable any Windows 10 1607+
console to support VT100, but you would need to use the WinAPI
[SetConsoleMode][6]
It turns out, that PSCore on Windows, does this very thing, and so without any
extra work, VT100 escape sequences work out of the box on this.
function ConvertTo-ShortPath {
Param([string]$Path)
# Replace Home with ~ symbol
$Location = $Path.Replace($HOME, '~')
# Remove prefix for UNC paths
$Location = $Location -replace '^[^:]+::', ''
# Handle paths starting with \\ and . correctly
# For paths not the current directory, display only a single
# character for each directory in the tree
If ($IsMacOS -or $IsLinux) {
# Systems with / paths
$Location = $Location -replace '(.?)([^/])[^/]*(?=/)','$1$2'
} else {
# Systems with \ paths
$Location = $Location -replace '\\(\.?)([^\\])[^\\]*(?=\\)','\$1$2'
}
return $Location
}
function prompt {
If ($PSEdition -eq "Core") {
$BC = "`e[96m" #Bright Cyan
$C = "`e[36m" #Cyan
$G = "`e[32m" #Green
$N = "`e[0m" #No Color
} else {
$C = [ConsoleColor]::DarkCyan
$G = [ConsoleColor]::Green
$BC = [ConsoleColor]::Cyan
}
$root = [char]0x0E3
$nonroot = [char]0x0A7
$H = $([net.dns]::GetHostName())
if (Test-CurrentAdminRights) {
$priv = $root
} else {
$priv = $nonroot
}
if ($PSEdition -eq "Core"){
# PSCore doesn't like a prompt using Write-Host
# thankfully, using VT100 signals works fine
"${BC}${priv} $G$H $C{ $BC$(ConvertTo-ShortPath ((pwd).Path)) $C }$N "
} else {
Write-Host "$priv " -NoNewline -ForegroundColor $BC
Write-Host $H -NoNewline -ForegroundColor $G
Write-Host ' {' -NoNewline -ForegroundColor $C
Write-Host (ConvertTo-ShortPath (pwd).Path) -NoNewline -ForegroundColor $BC
Write-Host '}' -NoNewline -ForegroundColor $C
return ' '
}
}
Tags: vt100, powershell, profile
[1]:https://stackoverflow.com
[2]:https://superuser.com
[3]:windows.html
[4]:macos.html
[5]:gnu-linux.html
[6]:https://docs.microsoft.com/en-us/windows/console/setconsolemode

76
blog.css Normal file
View File

@ -0,0 +1,76 @@
#title{
font-size: x-large;
color:#d65d0e;
text-align: center
}
a.ablack{
/* headings n the like */
color:#d65d0e !important;
}
a.gbrown{
color:#3c3836 !important;
}
li{
margin-bottom:8px;
}
ul,ol{
margin-left:24px;
margin-right:24px;
}
#all_posts{
margin-top:24px;
text-align:center;
}
.subtitle{
font-size:small;
margin:12px 0px;
}
.content p{
margin-left:24px;
margin-right:24px;
}
h1{
color:#fe8019;
margin-bottom:12px !important;
}
#description{
font-size:large;
margin-bottom:12px;
}
h3{
color:#fe8019;
margin-top:42px;
margin-bottom:8px;
}
h4{
color:#fe8019;
margin-left:24px;
margin-right:24px;
}
hr{
border-color:#665c54
}
img{
max-width:100%;
}
#twitter{
line-height:20px;
vertical-align:top;
text-align:right;
font-style:italic;
color:#ebdbb2;
margin-top:24px;
font-size:14px;
}
pre{
white-space: pre-wrap,
-moz-pre-wrap,
-pre-wrap
-o-pre-wrap;
word-wrap: break-word;
}
table,th,td{
border: 1px solid #d65d0e;
border-collapse: collapse;
padding: 5px;
}

View File

@ -0,0 +1,80 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Burning a CD CLI Style</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="burning-a-cd-cli-style.html">
Burning a CD CLI Style
</a></h3>
<!-- bashblog_timestamp: #201812182246.18# -->
<div class="subtitle">December 18, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I've written about <a href="ripping-an-album-from-youtube---cli-style.html">ripping an album cli style</a>, and sometimes it still
makes sense to have older tech around. Like for example if you have 6 kids,
you can't exactly afford to buy them all iPods. Or, maybe you can't afford
the latest cars, and your car still has cd audio.</p>
<p>Thanksfully with Linux we don't have to resort to some clunky UI. We can do
anything on the good ole' command line</p>
<hr />
<p>So, you got your Audio files. They may not be titled with nice numbers so
that the list well with <code>ls</code> or a <code>*</code> glob. Not to worry. You probably
downloaded them in order. We can fix this in bash. The <code>ls</code> command sorts
files by default in alphabetical order. <code>ls -U</code> on the other hand, disables
sorting and they should be shown in order they were added to the filesystem
:</p>
<pre><code> i=1
ls -U | while read f
do
mv "${f}" "$(printf %02d $i)_${f}"
i=$((i+1));
done
</code></pre>
<p>With this touch of cli magic, we have prepended a 01..etc number to each
file.</p>
<p>Next we need to ensure the files are in the right format for cdrecord to
burn. The command line tool cdrecord, needs files to be in WAV, stereo at
44100hz. ffmpeg to the rescue! <em>PS, you might need to adjust for file ext</em></p>
<pre><code> mkdir burn
for i in *.webm
do
ffmpeg -i "${i}" -ar 44100 burn/"${i}".wav
done
</code></pre>
<p>Now we are ready to burn those files to disc with cdrecord:</p>
<pre><code> cdrecord -v -nofix -audio -pad *.wav
</code></pre>
<p>And finally we need to finalize the disc if we want any hope of reading it
on a regular old cd player</p>
<pre><code> cdrecord -v -fix -eject
</code></pre>
<p>Tags: <a href='tag_ffmpeg.html'>ffmpeg</a>, <a href='tag_cli.html'>cli</a>, <a href='tag_burn-a-cd.html'>burn-a-cd</a>, <a href='tag_linux.html'>linux</a>, <a href='tag_mp3.html'>mp3</a>, <a href='tag_music.html'>music</a>, <a href='tag_bash.html'>bash</a>, <a href='tag_youtube.html'>youtube</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

51
burning-a-cd-cli-style.md Normal file
View File

@ -0,0 +1,51 @@
Burning a CD CLI Style
I've written about [ripping an album cli style][1], and sometimes it still
makes sense to have older tech around. Like for example if you have 6 kids,
you can't exactly afford to buy them all iPods. Or, maybe you can't afford
the latest cars, and your car still has cd audio.
Thanksfully with Linux we don't have to resort to some clunky UI. We can do
anything on the good ole' command line
---
So, you got your Audio files. They may not be titled with nice numbers so
that the list well with `ls` or a `*` glob. Not to worry. You probably
downloaded them in order. We can fix this in bash. The `ls` command sorts
files by default in alphabetical order. `ls -U` on the other hand, disables
sorting and they should be shown in order they were added to the filesystem
:
i=1
ls -U | while read f
do
mv "${f}" "$(printf %02d $i)_${f}"
i=$((i+1));
done
With this touch of cli magic, we have prepended a 01..etc number to each
file.
Next we need to ensure the files are in the right format for cdrecord to
burn. The command line tool cdrecord, needs files to be in WAV, stereo at
44100hz. ffmpeg to the rescue! _PS, you might need to adjust for file ext_
mkdir burn
for i in *.webm
do
ffmpeg -i "${i}" -ar 44100 burn/"${i}".wav
done
Now we are ready to burn those files to disc with cdrecord:
cdrecord -v -nofix -audio -pad *.wav
And finally we need to finalize the disc if we want any hope of reading it
on a regular old cd player
cdrecord -v -fix -eject
Tags: ffmpeg, cli, burn-a-cd, linux, mp3, music, bash, youtube
[1]:ripping-an-album-from-youtube---cli-style.html

View File

@ -0,0 +1,78 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Burning a DVD Video on Gentoo</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="burning-a-dvd-video-on-gentoo.html">
Burning a DVD Video on Gentoo
</a></h3>
<!-- bashblog_timestamp: #201805151427.11# -->
<div class="subtitle">May 15, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Quick note for my future self</p>
<hr />
<h1 id="overview">Overview</h1>
<ol>
<li>Convert media to dvd compatible format</li>
<li>Author DVD title</li>
<li>Author DVD Table of Contents</li>
<li>Convert DVD folder to ISO</li>
<li>(Optional) Loopback mount ISO and test.</li>
<li>Burn ISO to DVD</li>
</ol>
<h1 id="packages-required">Packages Required</h1>
<p>media-video/ffmpeg<br />
media-video/dvdauthor<br />
app-cdr/dvd+rw-tools</p>
<h1 id="commands">Commands</h1>
<p>Start by using ffmpeg to convert the media to a dvd compatible format:</p>
<pre><code> ffmpeg -i Big\ Buck\ Bunny.mp4 -target pal-dvd BigBuckBunny.mpg
</code></pre>
<p>Now use dvdauthor to author a title</p>
<pre><code> dvdauthor -t -o dvd --video=pal -f BigBuckBunny.mpg
</code></pre>
<p>Add a table of contents</p>
<pre><code> dvdauthor -T -o dvd
</code></pre>
<p>Create the ISO file</p>
<pre><code> mkisofs -dvd-video -o BigBuckBunny.iso dvd/
</code></pre>
<p>(Optional) Mount to a loopback for testing</p>
<pre><code> mkdir mount
mount -o loop BigBuckBunny.iso mount/
</code></pre>
<p>Play the video using VLC or some other tool to check it, then unmount</p>
<pre><code> umount mount/
</code></pre>
<p>Burn to a disc</p>
<pre><code> growisofs -dvd-compat -Z /dev/sr0=BigBuckBunny.iso
</code></pre>
<p>Credit to <a href="https://ubuntuforums.org/showthread.php?t=2121309">andrew.46 over at the ubuntuforums</a></p>
<p>Tags: <a href='tag_burn-a-dvd.html'>burn-a-dvd</a>, <a href='tag_gentoo.html'>gentoo</a>, <a href='tag_ffmpeg.html'>ffmpeg</a>, <a href='tag_linux.html'>linux</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,56 @@
Burning a DVD Video on Gentoo
Quick note for my future self
---
Overview
========
1. Convert media to dvd compatible format
2. Author DVD title
3. Author DVD Table of Contents
4. Convert DVD folder to ISO
5. (Optional) Loopback mount ISO and test.
6. Burn ISO to DVD
Packages Required
=================
media-video/ffmpeg
media-video/dvdauthor
app-cdr/dvd+rw-tools
Commands
================
Start by using ffmpeg to convert the media to a dvd compatible format:
ffmpeg -i Big\ Buck\ Bunny.mp4 -target pal-dvd BigBuckBunny.mpg
Now use dvdauthor to author a title
dvdauthor -t -o dvd --video=pal -f BigBuckBunny.mpg
Add a table of contents
dvdauthor -T -o dvd
Create the ISO file
mkisofs -dvd-video -o BigBuckBunny.iso dvd/
(Optional) Mount to a loopback for testing
mkdir mount
mount -o loop BigBuckBunny.iso mount/
Play the video using VLC or some other tool to check it, then unmount
umount mount/
Burn to a disc
growisofs -dvd-compat -Z /dev/sr0=BigBuckBunny.iso
Credit to [andrew.46 over at the ubuntuforums](https://ubuntuforums.org/showthread.php?t=2121309)
Tags: burn-a-dvd,gentoo,ffmpeg,linux

55
cascadia-code.html Normal file
View File

@ -0,0 +1,55 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Cascadia Code</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="cascadia-code.html">
Cascadia Code
</a></h3>
<!-- bashblog_timestamp: #201909201312.15# -->
<div class="subtitle">September 20, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Microsoft released a new open source font yesterday to go along with their
Windows Terminal project. I wipped up a quick ebuild to use it on my Gentoo
systems.</p>
<hr />
<p>My first thoughts are that it is very refeshing to a have a nice new font to
look at. I particularly like the letter spacing. While I've been using <a href="https://github.com/tonsky/FiraCode">Fira
Code</a> for a while, I've felt it takes just a tad too much spacing between
letters. <a href="https://github.com/microsoft/cascadia-code">Cascadia Code</a> on the other hand feels tight and fun.</p>
<p>The font also supports <a href="https://www.hanselman.com/blog/MonospacedProgrammingFontsWithLigatures.aspx">ligatures</a> which allows specific combinations of
characters (commonly used in programming) to join together to and become a
single character symbolic of its function.</p>
<p>Unfortunatly, the terminal and editor apps I use on Gentoo don't currently
support ligatures. Regardless, I think it looks quite nice at the moment.</p>
<p>Here is a screenshot: <img src="images/cascadiacode.png" alt="screenshot" /></p>
<p>And you can find my ebuild <a href="https://github.com/zigford/gentoo-zigford/tree/master/media-fonts/cascadia-code">here</a></p>
<p>Tags: <a href='tag_fonts.html'>fonts</a>, <a href='tag_gentoo.html'>gentoo</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

31
cascadia-code.md Normal file
View File

@ -0,0 +1,31 @@
Cascadia Code
Microsoft released a new open source font yesterday to go along with their
Windows Terminal project. I wipped up a quick ebuild to use it on my Gentoo
systems.
---
My first thoughts are that it is very refeshing to a have a nice new font to
look at. I particularly like the letter spacing. While I've been using [Fira
Code][1] for a while, I've felt it takes just a tad too much spacing between
letters. [Cascadia Code][2] on the other hand feels tight and fun.
The font also supports [ligatures][5] which allows specific combinations of
characters (commonly used in programming) to join together to and become a
single character symbolic of its function.
Unfortunatly, the terminal and editor apps I use on Gentoo don't currently
support ligatures. Regardless, I think it looks quite nice at the moment.
Here is a screenshot: ![screenshot][3]
And you can find my ebuild [here][4]
Tags: fonts, gentoo
[1]: https://github.com/tonsky/FiraCode
[2]: https://github.com/microsoft/cascadia-code
[3]: images/cascadiacode.png
[4]: https://github.com/zigford/gentoo-zigford/tree/master/media-fonts/cascadia-code
[5]: https://www.hanselman.com/blog/MonospacedProgrammingFontsWithLigatures.aspx

38
christmas-2018.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Christmas 2018</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="christmas-2018.html">
Christmas 2018
</a></h3>
<!-- bashblog_timestamp: #201812271910.53# -->
<div class="subtitle">December 27, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Video my amazing wife made about Christmas 2018 Harris family</p>
<p><video width="640" height="480" controls>
<source src="1080.mp4" type="video/mp4">
Your browser does not support the video tag.
</video> </p>
<p>Tags: <a href='tag_Personal.html'>Personal</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

10
christmas-2018.md Normal file
View File

@ -0,0 +1,10 @@
Christmas 2018
Video my amazing wife made about Christmas 2018 Harris family
<video width="640" height="480" controls>
<source src="1080.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
Tags: Personal

View File

@ -0,0 +1,75 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Compiling VIM on Ubuntu with WSL</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="compiling-vim-on-ubuntu-with-wsl.html">
Compiling VIM on Ubuntu with WSL
</a></h3>
<!-- bashblog_timestamp: #201805212155.32# -->
<div class="subtitle">May 21, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>As a Windows Admin by day, but a longtime vim and linux user, I've flocked to
Microsoft's <a href="https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux">WSL</a>
like a moth to the flame. </p>
<p>Being a heavy vim user with a distaste for tmux (due to the incompatible
keybindings, PS, I know they can be changed to somewhat match vim), I was very
excited to hear about vim's new terminal feature in version 8.1!! I immediatley
installed the latest vim in Windows and it's cool. However I want a matching
linux version in the WSL, so I thought I'd write this quick article on compiling
for Ubuntu 18.04.</p>
<h1>Preperation</h1>
<p>You will need to install a few dev packages and build tools
before we get started. The WSL file-system isn't known for
it's speed, so do this prep work in the background while doing
something else.</p>
<p><em>Note, this build is doesn't contain any
requiremnts to build with the gui. If your looking for that,
try <a href="https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source">here</a></em></p>
<p><code>sudo apt-get update sudo apt-get install libncurses5-dev libatk1.0-dev python3-dev ruby-dev lua5.3-0 lua5.3-dev libperl-dev git build-essential</code></p>
<p>Clone the vim source tree </p>
<p><code>mkdir src cd src git clone https://github.com/vim/vim</code></p>
<p>Configure the source </p>
<p><code>./configure --with-compiledby="${USER}@$(hostname)" --enable-terminal --enable-python3interp --enable-perlinterp --enable-luainterp --disable-gui make</code></p>
<p>Install vim </p>
<p><code>sudo make install</code></p>
<p>Now go off into the sunset and happily vim.</p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,49 @@
Compiling VIM on Ubuntu with WSL
As a Windows Admin by day, but a longtime vim and linux user, I've flocked to
Microsoft's [WSL](https://en.wikipedia.org/wiki/Windows_Subsystem_for_Linux)
like a moth to the flame.
Being a heavy vim user with a distaste for tmux (due to the incompatible
keybindings, PS, I know they can be changed to somewhat match vim), I was very
excited to hear about vim's new terminal feature in version 8.1!! I immediatley
installed the latest vim in Windows and it's cool. However I want a matching
linux version in the WSL, so I thought I'd write this quick article on compiling
for Ubuntu 18.04.
# Preperation
You will need to install a few dev packages and build tools
before we get started. The WSL file-system isn't known for
it's speed, so do this prep work in the background while doing
something else.
_Note, this build is doesn't contain any
requiremnts to build with the gui. If your looking for that,
try [here](https://github.com/Valloric/YouCompleteMe/wiki/Building-Vim-from-source)_
```
sudo apt-get update sudo apt-get install libncurses5-dev libatk1.0-dev python3-dev ruby-dev lua5.3-0 lua5.3-dev libperl-dev git build-essential
```
Clone the vim source tree
```
mkdir src cd src git clone https://github.com/vim/vim
```
Configure the source
```
./configure --with-compiledby="${USER}@$(hostname)" --enable-terminal --enable-python3interp --enable-perlinterp --enable-luainterp --disable-gui make
```
Install vim
```
sudo make install
```
Now go off into the sunset and happily vim.
Tags: vim, ubuntu, wsl

View File

@ -0,0 +1,205 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Converting VHS and DV to Modern Formats - Part 1</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="converting-vhs-and-dv-to-modern-formats---part-1.html">
Converting VHS and DV to Modern Formats - Part 1
</a></h3>
<!-- bashblog_timestamp: #201905261936.31# -->
<div class="subtitle">May 26, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Over the past 10 years I've been meaning to convert my family's VHS tapes to a
modern format. Originally that would have been DVD, but as it seems that DVD
and Blu-Ray would have a limited lifespan, I've opted to go directly to modern
encoding formats.</p>
<hr />
<p>This will be a multi-part series stepping through all the challenges with
converting these formats using Linux. This post, focuses around getting Video
Grabber's (USB Dongles) to work under Linux.</p>
<hr />
<p>In order to get VHS content to a modern video format, you will need a compatible
USB capture device, a VHS Player and a PC. </p>
<p>The process should be fairly straight forward, but there were a number of issues
which made the task difficult to achieve without compromise.</p>
<p>Conceptually it should be as follows:</p>
<ol>
<li>Connect VHS Player to USB Capture Device</li>
<li>Connect USB Capture Device to PC</li>
<li>Install->Launch Capture software</li>
<li>Press Record in the Software</li>
<li>Press Play on the VHS player</li>
</ol>
<p>Step 2 is where it get's tricky on Linux. While there are a significant number
of capture devices supported on Linux, it is still <em>luck-of-the-draw</em> when
purchasing a device with Linux in mind. </p>
<p>From what I have found many devices are rebranded. E.g. Four same branded
devices may contain 4 different chipsets. Maybe only 2 of them contain the Linux
supported chipset. To make matters worse, vendors don't typically list the
chipset on their site or packaging.</p>
<p>The following is a description of my journey to get a couple of different
capture devices to work on Linux. Your mileage may vary.</p>
<p>In my case, I had two USB capture devices. One was very old <em>Pinnacle Dazzle</em>
obtained from my Dad that he was throwing out and the other was purchased at
<a href="https://www.aldi.com.au/">Aldi</a> by my Mother-In-Law. This one had no label on
the device, but the box stated:<br />
<em>Bauhn DVD Maker</em></p>
<h3>Dazzle</h3>
<p>I started with the Dazzle. This unit looked very old. Sometimes with Linux, Old=
Good. As devices age, the likelihood that some enthusiastic Linux hacker will
add driver support goes up (I don't actually know this and cannot prove it, but
you probably can't disprove it either, so there).</p>
<p>So, I plugged it in and typed <code>lsusb</code></p>
<pre><code> Bus 003 Device 007: ID 2304:021d Pinnacle Systems, Inc. Dazzle DVC130
</code></pre>
<p><em>Figure 1. Content snipped for brevity</em></p>
<p>The important part of the <code>lsusb</code> output is the ID <code>2304:021d</code></p>
<p>We now know what this beast is. Let's check if the kernel has already recognized
it. You can usually do this by checking your kernel messages and see if a driver
module loaded and told you it registered anything. Therefore: <code>dmesg</code></p>
<pre><code> [14842.638559] usb 3-11.3: new high-speed USB device number 7 using xhci_hcd
[14842.714905] usb 3-11.3: New USB device found, idVendor=2304, idProduct=021d, bcdDevice= 0.00
[14842.714907] usb 3-11.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14842.714908] usb 3-11.3: Product: DVC 130
[14842.714909] usb 3-11.3: Manufacturer: Pinnacle Systems, Inc.
[14843.570702] usb 3-11.2: reset low-speed USB device number 5 using xhci_hcd
</code></pre>
<p><em>Figure 2</em></p>
<p>The output shows the <code>idVendor</code> and <code>idProduct</code> match the ID from the output of
<code>lsusb</code> in <em>Figure 1</em></p>
<p>Essentially, the kernel is reporting the USB device, but the absence of messages
from drivers other than <code>usb</code> are not a good sign.</p>
<p>We know by the output of <code>dmesg</code> that a kernel module has not loaded. It is time
to check that the kernel modules we need are indeed compiled and available.
Luckily for me, I'm running <a href="https://gentoo.org">Gentoo</a> so always have the
kernel source at hand. With video capture devices, these parts of the kernel are
referred to as the Video For Linux subsystem.
<em>(Technically, Video for Linux 2)</em></p>
<p>These kernel modules can be found under: Drivers->Media->USB. </p>
<pre><code> Device Drivers ---&gt;
&lt;*&gt; Multimedia support ---&gt;
[*] Analog TV support
[*] Media USB Adapters ---&gt;
&lt;M&gt; USB video devices based on Nogatech NT1003/1004/1005
&lt;M&gt; STK1160 USB video capture support
&lt;M&gt; WIS GO7007 MPEG encoder support
&lt;M&gt; WIS GO7007 USB support
&lt;M&gt; WIS GO7007 Loader support
&lt;M&gt; Conexant cx231xx USB video capture support
&lt;M&gt; Empia EM28xx USB devices support
</code></pre>
<p><em>Figure 3 shows kernel options to enable video capture</em></p>
<p>After enabling all the relevant looking ones, I compiled them all and unplugged
and re plugged my device, then checked <code>dmesg</code> again. Still no luck.</p>
<p>This is the point I recommend most people give up. I myself am not a big fan of
giving up. So what do I do? I bust out my trusty screw driver and pop that
sucker open to see whats <em>inside</em>. Under the magnifying glass I read out and
google all the names on the chips. One of them catches my eye:</p>
<p><em>go7007</em></p>
<p>Well would you look at that. There is a module for this chipset. Perhaps all we
need to do, is <em>teach</em> it to use my USB device. I start exploring the <code>.c</code> files
to find which one of them contains definitions looking like USB device and
product IDs. I began poking around in the source files looking for a <code>struct</code>
recording all the supported USB Product and Device ID's.</p>
<p>Here is the <code>struct</code> I found in <code>go7007-usb.c</code></p>
<pre><code> static const struct usb_device_id go7007_usb_id_table[] = {
{
.match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION |
USB_DEVICE_ID_MATCH_INT_INFO,
.idVendor = 0x0eb1, /* Vendor ID of WIS Technologies */
.idProduct = 0x7007, /* Product ID of GO7007SB chip */
.bcdDevice_lo = 0x200, /* Revision number of XMen */
.bcdDevice_hi = 0x200,
.bInterfaceClass = 255,
.bInterfaceSubClass = 0,
.bInterfaceProtocol = 255,
.driver_info = (kernel_ulong_t)GO7007_BOARDID_XMEN,
},
{}
};
</code></pre>
<p><em>Figure 4</em></p>
<p>The figure above is one device in the <code>struct,</code> so in <code>vim</code> of course, I yank
yank a bit of text here and there and try to add support for my own USB device.
The main thing to get right, is to substitute the <code>idVendor</code> and <code>idProduct</code>
from the <code>struct</code> with the ID's we discovered in <em>Figure 1 and Figure 2</em>.</p>
<p>For other interfaces of the <code>struct</code> I'm mostly guessing, but hoping I can just
copy some of the other devices, recompile and it might work. But if it doesn't
work, change things around a bit, like some of the other cards and try again. </p>
<p>If done correctly, the kernel module should load automatically when the device
is plugged in.</p>
<p>Sadly, I tried many combinations, caused a couple of kernel panics and sometimes
the card would load and I could get to see a blue screen when viewing the
device, but no content :( I was also able to setup a USB trace and see that the
driver was successfully uploading the firmware to the device.</p>
<p>In the end, I gave up on this device.</p>
<p>PS, I tried to capture using this device from a Windows VM. The device was so
old it would only work on 32-bit Windows 7 or older. While I was able to get
a driver, I could not find the original special software required to capture
and regular DirectShow capture to VirtualDub or OBS didn't work either.</p>
<h3>Bauhn DVD Maker</h3>
<p>This devices seemed a tad more modern. It has cables for capturing Component
and Composite. It came with a CD with drivers and software for Windows. Other
than that, there was little evidence online of this device. No-one mentioned
this model and certainly not in relation to Linux. I tried the obvious tests
(lsusb, dmesg) but didn't spend too much time trying to make it work for Linux.</p>
<p>On my Windows 7 VM though, I did have some luck. I got the software working
and was able to capture some VHS tapes. Although the capture was successful
there was no flexibility with the file format. The files came out in MPEG 2
(essentially DVD type files), which are okay, but if I wanted these files to
be online, I would need to re-encode them. That would mean a potential
degradation in quality. I mean, come on! Haven't these videos degraded in
quality enough!</p>
<p>What I wanted to do, was for the videos to be captured in a near lossless format
and then re-encode to 2 files. 1 for showing on the internets (so that means
smallish file size, optimized for streaming and compatibility) and 2 for
archival purposes (use the most forward leaning tech available large close to
lossless).</p>
<p>My thinking is that future generations will be having to convert historical
videos to another format and I want to make a large lossless file available
for that purpose.</p>
<p>I decided to crack open the Bauhn DVD maker and see what makes it tick.</p>
<p><img alt="Close up picture of circuit board" src="images/connexent.jpeg" /></p>
<p>Okay, I know how to do this, google all the little numbers and words. It didn't
take long to discover the chip and the existing Linux module for this baby.
Like the <code>go7007</code>, the <code>cx231xx</code> module supports many devices that use this
chip. Again, I had a crack at setting up the .c driver and adding in the Product
and Device ID's to make it work. And guess what?</p>
<p><em>Boom</em> It worked. And that, my friends is joy. I tested using VLC --&gt; Media --&gt;
Open Capture Device..., then click the 'Video device name' dropdown box and
choose /dev/video0</p>
<p>You can download my <a href="files/cx231xx.patch">patch file</a> against kernel 4.19.44</p>
<p>Now onto the task of actually doing something with the video files which I will
cover in my next post.</p>
<p>Tags: <a href='tag_linux.html'>linux</a>, <a href='tag_ffmpeg.html'>ffmpeg</a>, <a href='tag_gentoo.html'>gentoo</a>, <a href='tag_kernel.html'>kernel</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,211 @@
Converting VHS and DV to Modern Formats - Part 1
Over the past 10 years I've been meaning to convert my family's VHS tapes to a
modern format. Originally that would have been DVD, but as it seems that DVD
and Blu-Ray would have a limited lifespan, I've opted to go directly to modern
encoding formats.
---
This will be a multi-part series stepping through all the challenges with
converting these formats using Linux. This post, focuses around getting Video
Grabber's (USB Dongles) to work under Linux.
---
In order to get VHS content to a modern video format, you will need a compatible
USB capture device, a VHS Player and a PC.
The process should be fairly straight forward, but there were a number of issues
which made the task difficult to achieve without compromise.
Conceptually it should be as follows:
1. Connect VHS Player to USB Capture Device
2. Connect USB Capture Device to PC
3. Install-\>Launch Capture software
4. Press Record in the Software
5. Press Play on the VHS player
Step 2 is where it get's tricky on Linux. While there are a significant number
of capture devices supported on Linux, it is still *luck-of-the-draw* when
purchasing a device with Linux in mind.
From what I have found many devices are rebranded. E.g. Four same branded
devices may contain 4 different chipsets. Maybe only 2 of them contain the Linux
supported chipset. To make matters worse, vendors don't typically list the
chipset on their site or packaging.
The following is a description of my journey to get a couple of different
capture devices to work on Linux. Your mileage may vary.
In my case, I had two USB capture devices. One was very old *Pinnacle Dazzle*
obtained from my Dad that he was throwing out and the other was purchased at
[Aldi](https://www.aldi.com.au/) by my Mother-In-Law. This one had no label on
the device, but the box stated:
*Bauhn DVD Maker*
### Dazzle
I started with the Dazzle. This unit looked very old. Sometimes with Linux, Old=
Good. As devices age, the likelihood that some enthusiastic Linux hacker will
add driver support goes up (I don't actually know this and cannot prove it, but
you probably can't disprove it either, so there).
So, I plugged it in and typed `lsusb`
Bus 003 Device 007: ID 2304:021d Pinnacle Systems, Inc. Dazzle DVC130
*Figure 1. Content snipped for brevity*
The important part of the `lsusb` output is the ID `2304:021d`
We now know what this beast is. Let's check if the kernel has already recognized
it. You can usually do this by checking your kernel messages and see if a driver
module loaded and told you it registered anything. Therefore: `dmesg`
[14842.638559] usb 3-11.3: new high-speed USB device number 7 using xhci_hcd
[14842.714905] usb 3-11.3: New USB device found, idVendor=2304, idProduct=021d, bcdDevice= 0.00
[14842.714907] usb 3-11.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[14842.714908] usb 3-11.3: Product: DVC 130
[14842.714909] usb 3-11.3: Manufacturer: Pinnacle Systems, Inc.
[14843.570702] usb 3-11.2: reset low-speed USB device number 5 using xhci_hcd
*Figure 2*
The output shows the `idVendor` and `idProduct` match the ID from the output of
`lsusb` in *Figure 1*
Essentially, the kernel is reporting the USB device, but the absence of messages
from drivers other than `usb` are not a good sign.
We know by the output of `dmesg` that a kernel module has not loaded. It is time
to check that the kernel modules we need are indeed compiled and available.
Luckily for me, I'm running [Gentoo](https://gentoo.org) so always have the
kernel source at hand. With video capture devices, these parts of the kernel are
referred to as the Video For Linux subsystem.
_(Technically, Video for Linux 2)_
These kernel modules can be found under: Drivers-\>Media-\>USB.
Device Drivers --->
<*> Multimedia support --->
[*] Analog TV support
[*] Media USB Adapters --->
<M> USB video devices based on Nogatech NT1003/1004/1005
<M> STK1160 USB video capture support
<M> WIS GO7007 MPEG encoder support
<M> WIS GO7007 USB support
<M> WIS GO7007 Loader support
<M> Conexant cx231xx USB video capture support
<M> Empia EM28xx USB devices support
*Figure 3 shows kernel options to enable video capture*
After enabling all the relevant looking ones, I compiled them all and unplugged
and re plugged my device, then checked `dmesg` again. Still no luck.
This is the point I recommend most people give up. I myself am not a big fan of
giving up. So what do I do? I bust out my trusty screw driver and pop that
sucker open to see whats _inside_. Under the magnifying glass I read out and
google all the names on the chips. One of them catches my eye:
*go7007*
Well would you look at that. There is a module for this chipset. Perhaps all we
need to do, is _teach_ it to use my USB device. I start exploring the `.c` files
to find which one of them contains definitions looking like USB device and
product IDs. I began poking around in the source files looking for a `struct`
recording all the supported USB Product and Device ID's.
Here is the `struct` I found in `go7007-usb.c`
static const struct usb_device_id go7007_usb_id_table[] = {
{
.match_flags = USB_DEVICE_ID_MATCH_DEVICE_AND_VERSION |
USB_DEVICE_ID_MATCH_INT_INFO,
.idVendor = 0x0eb1, /* Vendor ID of WIS Technologies */
.idProduct = 0x7007, /* Product ID of GO7007SB chip */
.bcdDevice_lo = 0x200, /* Revision number of XMen */
.bcdDevice_hi = 0x200,
.bInterfaceClass = 255,
.bInterfaceSubClass = 0,
.bInterfaceProtocol = 255,
.driver_info = (kernel_ulong_t)GO7007_BOARDID_XMEN,
},
{}
};
*Figure 4*
The figure above is one device in the `struct,` so in `vim` of course, I yank
yank a bit of text here and there and try to add support for my own USB device.
The main thing to get right, is to substitute the `idVendor` and `idProduct`
from the `struct` with the ID's we discovered in *Figure 1 and Figure 2*.
For other interfaces of the `struct` I'm mostly guessing, but hoping I can just
copy some of the other devices, recompile and it might work. But if it doesn't
work, change things around a bit, like some of the other cards and try again.
If done correctly, the kernel module should load automatically when the device
is plugged in.
Sadly, I tried many combinations, caused a couple of kernel panics and sometimes
the card would load and I could get to see a blue screen when viewing the
device, but no content :( I was also able to setup a USB trace and see that the
driver was successfully uploading the firmware to the device.
In the end, I gave up on this device.
PS, I tried to capture using this device from a Windows VM. The device was so
old it would only work on 32-bit Windows 7 or older. While I was able to get
a driver, I could not find the original special software required to capture
and regular DirectShow capture to VirtualDub or OBS didn't work either.
### Bauhn DVD Maker
This devices seemed a tad more modern. It has cables for capturing Component
and Composite. It came with a CD with drivers and software for Windows. Other
than that, there was little evidence online of this device. No-one mentioned
this model and certainly not in relation to Linux. I tried the obvious tests
(lsusb, dmesg) but didn't spend too much time trying to make it work for Linux.
On my Windows 7 VM though, I did have some luck. I got the software working
and was able to capture some VHS tapes. Although the capture was successful
there was no flexibility with the file format. The files came out in MPEG 2
(essentially DVD type files), which are okay, but if I wanted these files to
be online, I would need to re-encode them. That would mean a potential
degradation in quality. I mean, come on! Haven't these videos degraded in
quality enough!
What I wanted to do, was for the videos to be captured in a near lossless format
and then re-encode to 2 files. 1 for showing on the internets (so that means
smallish file size, optimized for streaming and compatibility) and 2 for
archival purposes (use the most forward leaning tech available large close to
lossless).
My thinking is that future generations will be having to convert historical
videos to another format and I want to make a large lossless file available
for that purpose.
I decided to crack open the Bauhn DVD maker and see what makes it tick.
![Close up picture of circuit board](images/connexent.jpeg)
Okay, I know how to do this, google all the little numbers and words. It didn't
take long to discover the chip and the existing Linux module for this baby.
Like the `go7007`, the `cx231xx` module supports many devices that use this
chip. Again, I had a crack at setting up the .c driver and adding in the Product
and Device ID's to make it work. And guess what?
*Boom* It worked. And that, my friends is joy. I tested using VLC --> Media -->
Open Capture Device..., then click the 'Video device name' dropdown box and
choose /dev/video0
You can download my [patch file](files/cx231xx.patch) against kernel 4.19.44
Now onto the task of actually doing something with the video files which I will
cover in my next post.
Tags: linux, ffmpeg, gentoo, kernel

View File

@ -0,0 +1,79 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Defragging files in btrfs - Oneliner</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="defragging-files-in-btrfs---oneliner.html">
Defragging files in btrfs - Oneliner
</a></h3>
<!-- bashblog_timestamp: #202004101301.14# -->
<div class="subtitle">April 10, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Sometimes, small databasey files get a bit fragmented over time on a COW
filesystem. This touch of shell is a goodone to clean them up every now and
then.</p>
<hr />
<pre><code> find -size +1024k -size 50000k -type f -exec filefrag {} \; |
awk '{a=NF-2; if ($a&gt;50) {sub(/:.*/,&quot;&quot;);print$0}}'|
xargs -I{} btrfs fi defrag &quot;{}&quot;
</code></pre>
<h1 id="pulling-it-apart">Pulling it apart</h1>
<h2 id="find">find</h2>
<pre><code> -size +1024k -size -50000k
# this tells find to only show files between 1mb and 50mb
-type f
# only find files
-exec filefrag {} ;\
# run filefrag on each file, which shows a count of fragments on each
# file
</code></pre>
<h2 id="awk">awk</h2>
<pre><code> a=NF-2
# files may have spaces in the name and filefrag lists the filename
# first, instead lets look the second from the last field number (NF =
Number of fields in a given line)
if ($a&gt;50)
# only work on files with frags over 50
sub(/:.*/,&quot;&quot;)
# from $0 (the whole line), substitue anything past : with nothing,
# making $0 reference the filename, spaces and all
</code></pre>
<h2 id="xargs">xargs</h2>
<pre><code> -I{}
# in the following command substitue {} with the incoming stdin (ie the
# filename
btrfs fi defrag &quot;{}&quot;
# defrag the file.
</code></pre>
<p>Tags: <a href='tag_btrfs.html'>btrfs</a>, <a href='tag_bash.html'>bash</a>, <a href='tag_bash-tips.html'>bash-tips</a>, <a href='tag_awk.html'>awk</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,54 @@
Defragging files in btrfs - Oneliner
Sometimes, small databasey files get a bit fragmented over time on a COW
filesystem. This touch of shell is a goodone to clean them up every now and
then.
---
find -size +1024k -size 50000k -type f -exec filefrag {} \; |
awk '{a=NF-2; if ($a>50) {sub(/:.*/,"");print$0}}'|
xargs -I{} btrfs fi defrag "{}"
Pulling it apart
================
find
----
-size +1024k -size -50000k
# this tells find to only show files between 1mb and 50mb
-type f
# only find files
-exec filefrag {} ;\
# run filefrag on each file, which shows a count of fragments on each
# file
awk
---
a=NF-2
# files may have spaces in the name and filefrag lists the filename
# first, instead lets look the second from the last field number (NF =
Number of fields in a given line)
if ($a>50)
# only work on files with frags over 50
sub(/:.*/,"")
# from $0 (the whole line), substitue anything past : with nothing,
# making $0 reference the filename, spaces and all
xargs
-----
-I{}
# in the following command substitue {} with the incoming stdin (ie the
# filename
btrfs fi defrag "{}"
# defrag the file.
Tags: btrfs, bash, bash-tips, awk

View File

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Downgrade Gentoo from testing to stable</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="downgrade-gentoo-from-testing-to-stable.html">
Downgrade Gentoo from testing to stable
</a></h3>
<!-- bashblog_timestamp: #201808051006.29# -->
<div class="subtitle">August 05, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>At some point in my main Gentoo boxes life I added the ~amd64 keyword into
my make.conf. I don't remeber why I did this, but I can't think of a reason
I need my entire install to be bleeding edge.</p>
<hr />
<p>I did some googling around on the best approach to achieve this and from
what I read on forums, having a bunch of testing packages downgrade to
stable is not such a good idea.</p>
<p>One reason might be that per app config files are usually only designed to
be backward compatible, not forward compatible.</p>
<p>At any rate, the idea is to gather a list of currently installed testing
packages and add them to package.keywords for their current version.</p>
<p>With this method, eventually those packages will become stable.</p>
<p>The method I used is basically from the <a href="https://wiki.sabayon.org/index.php?title=HOWTO:_Switch_from_Test_to_Stable_Packages">sabayon wiki</a> with a few
tweaks.</p>
<ol>
<li><p>First, edit make.conf ACCEPT_KEYWORDS to:</p>
<pre><code> ACCEPT_KEYWORDS=amd64
</code></pre>
</li>
<li><p>Now use equery, sed and grep to construct a new packge.keywords</p>
<pre><code> equery -C -N list -F '=$cpv $mask2' '*' | \
grep \~ | sed 's/\[~amd64 keyword\]/~amd64/' &gt; \
/etc/portage/package.keywords/testpackages
</code></pre>
</li>
</ol>
<p><em>Basically I added '-C' to remove colours and grep</em></p>
<ol start="3">
<li><p>Examine testpackages for sanity, and then test with a world upgrade.</p>
<pre><code> emerge --ask --update --newuse --deep --with-bdeps=y @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Nothing to merge; quitting.
</code></pre>
</li>
</ol>
<h2 id="update">Update</h2>
<p>18 months since making this change I thought I'd see how many of the original
testing packages are still on my system. This little shell snippit uses equery
to check if a package listed in the <code>testpackages</code> portage file made earlier is
still installed on the system, and if not, update the file with a <code>#</code> in front.</p>
<pre><code> for i in $(awk '/=/ {print $1}' testpackages)
do
if ! equery l &quot;$i&quot; &gt; /dev/null;
then
sudo sed -ie &quot;s/\(${i/\//\\/}\)/#\1/&quot; \
testpackages
fi
done
</code></pre>
<p>After running this <code>grep -c '^#' testpackages</code> shows 368 packages no longer
needed in here and conversely 118 are still required.</p>
<p>Tags: <a href='tag_gentoo.html'>gentoo</a>, <a href='tag_portage.html'>portage</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,65 @@
Downgrade Gentoo from testing to stable
At some point in my main Gentoo boxes life I added the ~amd64 keyword into
my make.conf. I don't remeber why I did this, but I can't think of a reason
I need my entire install to be bleeding edge.
---
I did some googling around on the best approach to achieve this and from
what I read on forums, having a bunch of testing packages downgrade to
stable is not such a good idea.
One reason might be that per app config files are usually only designed to
be backward compatible, not forward compatible.
At any rate, the idea is to gather a list of currently installed testing
packages and add them to package.keywords for their current version.
With this method, eventually those packages will become stable.
The method I used is basically from the [sabayon wiki](https://wiki.sabayon.org/index.php?title=HOWTO:_Switch_from_Test_to_Stable_Packages) with a few
tweaks.
1. First, edit make.conf ACCEPT_KEYWORDS to:
ACCEPT_KEYWORDS=amd64
2. Now use equery, sed and grep to construct a new packge.keywords
equery -C -N list -F '=$cpv $mask2' '*' | \
grep \~ | sed 's/\[~amd64 keyword\]/~amd64/' > \
/etc/portage/package.keywords/testpackages
_Basically I added '-C' to remove colours and grep_
3. Examine testpackages for sanity, and then test with a world upgrade.
emerge --ask --update --newuse --deep --with-bdeps=y @world
These are the packages that would be merged, in order:
Calculating dependencies... done!
Nothing to merge; quitting.
Update
------
18 months since making this change I thought I'd see how many of the original
testing packages are still on my system. This little shell snippit uses equery
to check if a package listed in the `testpackages` portage file made earlier is
still installed on the system, and if not, update the file with a `#` in front.
for i in $(awk '/=/ {print $1}' testpackages)
do
if ! equery l "$i" > /dev/null;
then
sudo sed -ie "s/\(${i/\//\\/}\)/#\1/" \
testpackages
fi
done
After running this `grep -c '^#' testpackages` shows 368 packages no longer
needed in here and conversely 118 are still required.
Tags: gentoo, portage

View File

@ -0,0 +1,73 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Dynamic colorscheme in Vim</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="dynamic-colorscheme-in-vim.html">
Dynamic colorscheme in Vim
</a></h3>
<!-- bashblog_timestamp: #201906151035.45# -->
<div class="subtitle">June 15, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Most folk know about <code>:colorscheme</code> in Vim. In this post I will show how I setup
my vimrc to change the colorscheme based on the time of day.</p>
<hr />
<p>This method is quite simple. It checks the time when my vimrc is loaded and
depending on the result set's the colorscheme accordingly. There may be smarter
ways to achieve this, by setting a timer to check periodically. However I find
this approach good enough for me.</p>
<p>This approach will work on Linux, macOS and Windows. In the example below, I use
the colorscheme <a href="https://github.com/gruvbox-community/gruvbox">gruvbox</a> and
simply switch between light and dark background modes.</p>
<pre><code> " Format the *nix output same as windows for simplicity
let s:time = has('win32') ? system('time /t') : system('date "+%I:%M %p"')
let s:hour = split(s:time, ':')[0]
let s:PM = split(s:time)[1]
if (s:PM ==? 'PM' &amp;&amp;
(s:hour &gt; 7 &amp;&amp; s:hour != 12)) ||
(s:PM ==? 'AM' &amp;&amp;
(s:hour &lt; 8 || s:hour == 12))
set background=dark
else
set background=light
endif
colorscheme gruvbox
</code></pre>
<p>In this example, I have dark mode enabled from 8pm until 8am. Outside these
hours, light background is set.</p>
<p>As you can see, in order to only have one method of parsing the systems
date/time, I simply use the <code>*nix</code> flexible date formatting to make it appear
similar to Windows, and then I only need 1 parsing function.</p>
<p>Tags: <a href='tag_vim-tips.html'>vim-tips</a>, <a href='tag_vim.html'>vim</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,40 @@
Dynamic colorscheme in Vim
Most folk know about `:colorscheme` in Vim. In this post I will show how I setup
my vimrc to change the colorscheme based on the time of day.
---
This method is quite simple. It checks the time when my vimrc is loaded and
depending on the result set's the colorscheme accordingly. There may be smarter
ways to achieve this, by setting a timer to check periodically. However I find
this approach good enough for me.
This approach will work on Linux, macOS and Windows. In the example below, I use
the colorscheme [gruvbox](https://github.com/gruvbox-community/gruvbox) and
simply switch between light and dark background modes.
" Format the *nix output same as windows for simplicity
let s:time = has('win32') ? system('time /t') : system('date "+%I:%M %p"')
let s:hour = split(s:time, ':')[0]
let s:PM = split(s:time)[1]
if (s:PM ==? 'PM' &&
(s:hour > 7 && s:hour != 12)) ||
(s:PM ==? 'AM' &&
(s:hour < 8 || s:hour == 12))
set background=dark
else
set background=light
endif
colorscheme gruvbox
In this example, I have dark mode enabled from 8pm until 8am. Outside these
hours, light background is set.
As you can see, in order to only have one method of parsing the systems
date/time, I simply use the `*nix` flexible date formatting to make it appear
similar to Windows, and then I only need 1 parsing function.
Tags: vim-tips, vim

9
elijah-and-amelia.md Normal file
View File

@ -0,0 +1,9 @@
Elijah and Amelia
> Plus sophie too!
Such Cool Kids!!
##They are rad.
Tags: keep-this-tag-format, tags-are-optional, beware-with-underscores-in-markdown, example

124
feed.rss Normal file
View File

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel><title>zigford.org</title><link>http://zigford.org/index.html</link>
<description><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></description><language>en</language>
<lastBuildDate>Sun, 19 Jul 2020 22:57:31 +1000</lastBuildDate>
<pubDate>Sun, 19 Jul 2020 22:57:31 +1000</pubDate>
<atom:link href="http://zigford.org/feed.rss" rel="self" type="application/rss+xml" />
<item><title>
Transfer BTFS snapshots with netcat
</title><description><![CDATA[
<p>Netcat, the swiss army knife of TCP/IP can be used for many tasks.
Today, I'll breifly demonstrate sending btrfs snapshots between computers
with it's assistance.</p>
<hr />
]]></description><link>http://zigford.org/transfer-btfs-snapshots-with-netcat.html</link>
<guid>http://zigford.org/./transfer-btfs-snapshots-with-netcat.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sun, 19 Jul 2020 22:57:11 +1000</pubDate></item>
<item><title>
Screen sharing and capture in Wayland on Gentoo
</title><description><![CDATA[
<p>The article shows the tweaks I had to make to my system in order to
be able to share my screen in Zoom, and capture my screen in
OBS under Gnome on Wayland on Gentoo.</p>
<hr />
]]></description><link>http://zigford.org/screen-sharing-and-capture-in-wayland-on-gentoo.html</link>
<guid>http://zigford.org/./screen-sharing-and-capture-in-wayland-on-gentoo.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Mon, 01 Jun 2020 21:05:46 +1000</pubDate></item>
<item><title>
Scrubbing my data - BTRFS
</title><description><![CDATA[
<p>It's no secret I use BTRFS, so I have a fair amount of data stored on this
filesystem. With most popular filesystems you have no way of knowing if your
data is the same read as was originally written. A few modern filesystems
support a function known as scrubbing.</p>
<hr />
]]></description><link>http://zigford.org/scrubbing-my-data---btrfs.html</link>
<guid>http://zigford.org/./scrubbing-my-data---btrfs.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Thu, 23 Apr 2020 21:49:01 +1000</pubDate></item>
<item><title>
Defragging files in btrfs - Oneliner
</title><description><![CDATA[
<p>Sometimes, small databasey files get a bit fragmented over time on a COW
filesystem. This touch of shell is a goodone to clean them up every now and
then.</p>
<hr />
]]></description><link>http://zigford.org/defragging-files-in-btrfs---oneliner.html</link>
<guid>http://zigford.org/./defragging-files-in-btrfs---oneliner.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Fri, 10 Apr 2020 13:01:14 +1000</pubDate></item>
<item><title>
Lets encrypt kerfuffle
</title><description><![CDATA[
<p>Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS
records of domains it had requests for.</p>
<hr />
]]></description><link>http://zigford.org/lets-encrypt-kerfuffle.html</link>
<guid>http://zigford.org/./lets-encrypt-kerfuffle.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Tue, 10 Mar 2020 20:35:26 +1000</pubDate></item>
<item><title>
Firewalld kernel requirements
</title><description><![CDATA[
<p>I wanted to work out the minimum kernel requirements to run Firewalld with
nftables backend running in Gentoo. Here I've documented my findings.</p>
<hr />
]]></description><link>http://zigford.org/firewalld-kernel-requirements.html</link>
<guid>http://zigford.org/./firewalld-kernel-requirements.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Fri, 06 Mar 2020 22:16:53 +1000</pubDate></item>
<item><title>
Nagios Core on Gentoo/Raspberry Pi with Nginx
</title><description><![CDATA[
<p>I haven't posted in a while due to a change in my work. I'm currently working in
the Server and Storage team at my workplace for a 6 month secondment. The role
is much more aligned with my enjoyment of using GNU/Linux.</p>
<hr />
]]></description><link>http://zigford.org/nagios-core-on-gentooraspberry-pi-with-nginx.html</link>
<guid>http://zigford.org/./nagios-core-on-gentooraspberry-pi-with-nginx.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sat, 29 Feb 2020 23:06:38 +1000</pubDate></item>
<item><title>
Precision 5510 - Gentoo GNU/Linux
</title><description><![CDATA[
<p>This documents all configurations, apps and tweaks to get a nicely working Linux
machine.</p>
<hr />
]]></description><link>http://zigford.org/precision-5510---gentoo-gnulinux.html</link>
<guid>http://zigford.org/./precision-5510---gentoo-gnulinux.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sat, 12 Oct 2019 22:44:07 +1000</pubDate></item>
<item><title>
Trying out a pull request
</title><description><![CDATA[
<p>You've received a pull request on your repo. Before merging you want to see what
it looks like in your code base. Perhaps you will run some manual test or some
diffs from the command line here and there.</p>
<hr />
]]></description><link>http://zigford.org/trying-out-a-pull-request.html</link>
<guid>http://zigford.org/./trying-out-a-pull-request.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sun, 06 Oct 2019 12:10:45 +1000</pubDate></item>
<item><title>
Video editing from the command line
</title><description><![CDATA[
<p>I previously posted about <a href="converting-vhs-and-dv-to-modern-formats---part-1.html">capturing video in
Linux</a>. While this isn't
exactly part 2 of that post there is enough crossover to warrant a link. This
post is about how I have strangely found video editing to be much easier from
the command line than a gui app.</p>
<hr />
]]></description><link>http://zigford.org/video-editing-from-the-command-line.html</link>
<guid>http://zigford.org/./video-editing-from-the-command-line.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sat, 05 Oct 2019 12:03:16 +1000</pubDate></item>
</channel></rss>

73
files/cx231xx.patch Normal file
View File

@ -0,0 +1,73 @@
diff --git a/cx231xx-cards.c b/cx231xx-cards.c
index a431a99..66df4d5 100644
--- a/cx231xx-cards.c
+++ b/cx231xx-cards.c
@@ -1001,6 +1001,37 @@ struct cx231xx_board cx231xx_boards[] = {
.gpio = NULL,
} },
},
+ [CX231XX_BOARD_BAUHN_DVD_MAKER] = {
+ .name = "Bauhn DVD Maker",
+ .tuner_type = TUNER_ABSENT,
+ .decoder = CX231XX_AVDECODER,
+ .output_mode = OUT_MODE_VIP11,
+ .ctl_pin_status_mask = 0xFFFFFFC4,
+ .agc_analog_digital_select_gpio = 0x1c,
+ .gpio_pin_status_mask = 0x4001000,
+ .norm = V4L2_STD_PAL,
+ .no_alt_vanc = 1,
+ .external_av = 1,
+ /* Actually, it has a 417, but it isn't working correctly.
+ * So set to 0 for now until someone can manage to get this
+ * to work reliably. */
+ .has_417 = 0,
+
+ .input = {{
+ .type = CX231XX_VMUX_COMPOSITE1,
+ .vmux = CX231XX_VIN_2_1,
+ .amux = CX231XX_AMUX_LINE_IN,
+ .gpio = NULL,
+ }, {
+ .type = CX231XX_VMUX_SVIDEO,
+ .vmux = CX231XX_VIN_1_1 |
+ (CX231XX_VIN_1_2 << 8) |
+ CX25840_SVIDEO_ON,
+ .amux = CX231XX_AMUX_LINE_IN,
+ .gpio = NULL,
+ }
+ },
+ }
};
const unsigned int cx231xx_bcount = ARRAY_SIZE(cx231xx_boards);
@@ -1081,6 +1112,8 @@ struct usb_device_id cx231xx_id_table[] = {
.driver_info = CX231XX_BOARD_ASTROMETA_T2HYBRID},
{USB_DEVICE(0x199e, 0x8002),
.driver_info = CX231XX_BOARD_THE_IMAGING_SOURCE_DFG_USB2_PRO},
+ {USB_DEVICE(0x1d19, 0x6108),
+ .driver_info = CX231XX_BOARD_BAUHN_DVD_MAKER},
{},
};
@@ -1442,7 +1475,8 @@ static int cx231xx_init_dev(struct cx231xx *dev, struct usb_device *udev,
/*To workaround error number=-71 on EP0 for VideoGrabber,
need set alt here.*/
if (dev->model == CX231XX_BOARD_CNXT_VIDEO_GRABBER ||
- dev->model == CX231XX_BOARD_HAUPPAUGE_USBLIVE2) {
+ dev->model == CX231XX_BOARD_HAUPPAUGE_USBLIVE2 ||
+ dev->model == CX231XX_BOARD_BAUHN_DVD_MAKER) {
cx231xx_set_alt_setting(dev, INDEX_VIDEO, 3);
cx231xx_set_alt_setting(dev, INDEX_VANC, 1);
}
diff --git a/cx231xx.h b/cx231xx.h
index fa640bf..75a51ff 100644
--- a/cx231xx.h
+++ b/cx231xx.h
@@ -82,6 +82,7 @@
#define CX231XX_BOARD_THE_IMAGING_SOURCE_DFG_USB2_PRO 25
#define CX231XX_BOARD_HAUPPAUGE_935C 26
#define CX231XX_BOARD_HAUPPAUGE_975 27
+#define CX231XX_BOARD_BAUHN_DVD_MAKER 28
/* Limits minimum and default number of buffers */
#define CX231XX_MIN_BUF 4

View File

@ -0,0 +1,223 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Firewalld kernel requirements</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="firewalld-kernel-requirements.html">
Firewalld kernel requirements
</a></h3>
<!-- bashblog_timestamp: #202003062216.53# -->
<div class="subtitle">March 06, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I wanted to work out the minimum kernel requirements to run Firewalld with
nftables backend running in Gentoo. Here I've documented my findings.</p>
<hr />
<h2 id="update">Update</h2>
<p>After running with this config a couple of days I finally got to starting a vm
under libvirtd which failed miserably. Additional modules required:</p>
<pre><code> CONFIG_NETFILTER_INGRESS=y
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
</code></pre>
<h2 id="original-post">Original post</h2>
<p>My laptop is running Gentoo with luks/dmcrypt encrypted root/home, btrfs hourly
snapshots and backed up to an encrypted external drive, systemd and linux kernel
5.4. The last step in becoming a fully secure enterprise desktop is the
firewall.</p>
<p>For a time I ran my own iptables script, but that quickly became difficult to
manage when libvirtd (managing my VMs for KVM) would add rules overtop and make
an ugly mess in the iptables.</p>
<p>nftables is the modern replacement to iptables and I had tried to merge
firewalld onto my system in the past with horrible results. The problem has
always being identifying the correct kernel configuration. Firewalld ebuild
itself identifies a few components, but even <a href="https://bugs.gentoo.org/692944">those are not
correct</a></p>
<p>Sometimes the wrong configuration combination would lead to the system not
booting or nftables hanging. After much trial and error I've found the right
combo. If you don't want to read about which config options solve which problem,
I'll provide a list of all required configurations at the end.</p>
<h2 id="the-base">The base</h2>
<p>The following options got me a bootable kernel and firewalld attempting to start</p>
<pre><code> CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_TABLES=m
CONFIG_NFT_CT=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_NAT=m
CONFIG_NFT_NET=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_NF_TABLES_IPV4=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
</code></pre>
<h2 id="the-errors">The errors</h2>
<p>After booting up and starting firewalld, I checked the status of the service and
was greeted with this:</p>
<pre><code>ERROR: '/sbin/nft add chain inet firewalld raw_PREROUTING { type filter hook prerouting priority -290 ; }' \
failed: Error: Could not process rule: Operation not supported
</code></pre>
<p>Which was solved with <code>CONFIG_NF_TABLES_INET=y</code></p>
<p>After a kernel recompile and reboot, I checked the status of the firewalld
service and found that the nft command had hung. It was stuck on the following
command line:</p>
<pre><code>/sbin/nft --echo --handle add rule inet firewalld filter_INPUT reject with icmpx type admin-prohibited
</code></pre>
<p>This took a lot of trial and error but boiled down to the following
configurations:</p>
<pre><code> CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
</code></pre>
<p>As the previous fix only required new modules, I was able to simple restart the
service to see the next problem. Again, another hung nft command line:</p>
<pre><code>/sbin/nft --echo --handle insert rule inet firewalld raw_PREROUTING meta nfproto ipv6 fib saddr . \
iif oif missing drop
</code></pre>
<p>And again, hours of trial and error</p>
<pre><code> CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
</code></pre>
<p>Again, restart the service to find another hung command line:</p>
<pre><code>ERROR: '/sbin/nft insert rule inet firewalld raw_PREROUTING icmpv6 type \
{ nd-router-advert, nd-neighbor-solicit } accept
</code></pre>
<p>This time, a single module needed to be compiled: <code>CONFIG_NF_TABLES_SET=m</code></p>
<p>Finally the last hang was the following command line:</p>
<pre><code>/sbin/nft --echo --handle add rule inet firewalld filter_IN_home_allow udp dport 137 ct helper set \
&quot;helper-netbios-ns-udp&quot;
</code></pre>
<p>This one took the longest to solve and contains the most configurations of any
fix:</p>
<pre><code> CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_TUNNEL=m
CONFIG_NFT_OBJREF=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_XFRM=m
CONFIG_NFT_SOCKET=m
CONFIG_NFT_OSF=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
</code></pre>
<p>Some of those may not have been totally nessecary, but I was getting tired and
just enabled the main nft modules.</p>
<h2 id="the-final-total-config">The final total config</h2>
<p>My complete kernel can be found
<a href="https://github.com/zigford/kernel-configs/blob/master/Precision%205510/Precision%205510">here</a>
but here are the nftables bits in their entirity.</p>
<pre><code> CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_TABLES=m
CONFIG_NFT_CT=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_NAT=m
CONFIG_NFT_NET=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_NF_TABLES_IPV4=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_NF_TABLES_INET=y
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_TABLES_SET
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS=m
</code></pre>
<p><strong>Note</strong> In my case I've configured many options as modules, but it should also
be fine to include them in the kernel as <code>=y</code></p>
<p>Tags: <a href='tag_gentoo.html'>gentoo</a>, <a href='tag_linux.html'>linux</a>, <a href='tag_firewalld.html'>firewalld</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,218 @@
Firewalld kernel requirements
I wanted to work out the minimum kernel requirements to run Firewalld with
nftables backend running in Gentoo. Here I've documented my findings.
---
Update
------
After running with this config a couple of days I finally got to starting a vm
under libvirtd which failed miserably. Additional modules required:
CONFIG_NETFILTER_INGRESS=y
CONFIG_NF_CONNTRACK_TFTP=m
CONFIG_NF_NAT_TFTP=m
CONFIG_NETFILTER_XT_NAT=m
CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m
CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m
CONFIG_NETFILTER_XT_MATCH_STATE=m
CONFIG_IP_NF_FILTER=m
CONFIG_IP_NF_TARGET_REJECT=m
CONFIG_IP_NF_NAT=m
CONFIG_IP_NF_TARGET_MASQUERADE=m
CONFIG_IP_NF_MANGLE=m
CONFIG_IP6_NF_FILTER=m
CONFIG_IP6_NF_TARGET_REJECT=m
CONFIG_IP6_NF_MANGLE=m
CONFIG_IP6_NF_NAT=m
CONFIG_IP6_NF_TARGET_MASQUERADE=m
Original post
-------------
My laptop is running Gentoo with luks/dmcrypt encrypted root/home, btrfs hourly
snapshots and backed up to an encrypted external drive, systemd and linux kernel
5.4. The last step in becoming a fully secure enterprise desktop is the
firewall.
For a time I ran my own iptables script, but that quickly became difficult to
manage when libvirtd (managing my VMs for KVM) would add rules overtop and make
an ugly mess in the iptables.
nftables is the modern replacement to iptables and I had tried to merge
firewalld onto my system in the past with horrible results. The problem has
always being identifying the correct kernel configuration. Firewalld ebuild
itself identifies a few components, but even [those are not
correct](https://bugs.gentoo.org/692944)
Sometimes the wrong configuration combination would lead to the system not
booting or nftables hanging. After much trial and error I've found the right
combo. If you don't want to read about which config options solve which problem,
I'll provide a list of all required configurations at the end.
The base
--------
The following options got me a bootable kernel and firewalld attempting to start
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_TABLES=m
CONFIG_NFT_CT=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_NAT=m
CONFIG_NFT_NET=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_NF_TABLES_IPV4=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
The errors
----------
After booting up and starting firewalld, I checked the status of the service and
was greeted with this:
ERROR: '/sbin/nft add chain inet firewalld raw_PREROUTING { type filter hook prerouting priority -290 ; }' \
failed: Error: Could not process rule: Operation not supported
Which was solved with `CONFIG_NF_TABLES_INET=y`
After a kernel recompile and reboot, I checked the status of the firewalld
service and found that the nft command had hung. It was stuck on the following
command line:
/sbin/nft --echo --handle add rule inet firewalld filter_INPUT reject with icmpx type admin-prohibited
This took a lot of trial and error but boiled down to the following
configurations:
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
As the previous fix only required new modules, I was able to simple restart the
service to see the next problem. Again, another hung nft command line:
/sbin/nft --echo --handle insert rule inet firewalld raw_PREROUTING meta nfproto ipv6 fib saddr . \
iif oif missing drop
And again, hours of trial and error
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
Again, restart the service to find another hung command line:
ERROR: '/sbin/nft insert rule inet firewalld raw_PREROUTING icmpv6 type \
{ nd-router-advert, nd-neighbor-solicit } accept
This time, a single module needed to be compiled: `CONFIG_NF_TABLES_SET=m`
Finally the last hang was the following command line:
/sbin/nft --echo --handle add rule inet firewalld filter_IN_home_allow udp dport 137 ct helper set \
"helper-netbios-ns-udp"
This one took the longest to solve and contains the most configurations of any
fix:
CONFIG_NETFILTER_NETLINK_QUEUE=m
CONFIG_NETFILTER_NETLINK_OSF=m
CONFIG_NETFILTER_CONNCOUNT=m
CONFIG_NF_CT_NETLINK_HELPER=m
CONFIG_NETFILTER_NETLINK_GLUE_CT=y
CONFIG_NF_NAT_REDIRECT=y
CONFIG_NF_NAT_MASQUERADE=y
CONFIG_NETFILTER_SYNPROXY=m
CONFIG_NFT_COUNTER=m
CONFIG_NFT_CONNLIMIT=m
CONFIG_NFT_LOG=m
CONFIG_NFT_LIMIT=m
CONFIG_NFT_MASQ=m
CONFIG_NFT_REDIR=m
CONFIG_NFT_TUNNEL=m
CONFIG_NFT_OBJREF=m
CONFIG_NFT_QUEUE=m
CONFIG_NFT_QUOTA=m
CONFIG_NFT_COMPAT=m
CONFIG_NFT_HASH=m
CONFIG_NFT_XFRM=m
CONFIG_NFT_SOCKET=m
CONFIG_NFT_OSF=m
CONFIG_NFT_TPROXY=m
CONFIG_NFT_SYNPROXY=m
CONFIG_NETFILTER_XT_CONNMARK=m
CONFIG_NF_SOCKET_IPV4=m
CONFIG_NF_TPROXY_IPV4=m
CONFIG_NF_SOCKET_IPV6=m
CONFIG_NF_TPROXY_IPV6=m
Some of those may not have been totally nessecary, but I was getting tired and
just enabled the main nft modules.
The final total config
----------------------
My complete kernel can be found
[here](https://github.com/zigford/kernel-configs/blob/master/Precision%205510/Precision%205510)
but here are the nftables bits in their entirity.
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_NETLINK=m
CONFIG_NF_CONNTRACK=m
CONFIG_NF_TABLES=m
CONFIG_NFT_CT=m
CONFIG_NF_DEFRAG_IPV4=m
CONFIG_NF_DEFRAG_IPV6=m
CONFIG_NF_CT_NETLINK=m
CONFIG_NF_NAT=m
CONFIG_NFT_NET=m
CONFIG_NETFILTER_XTABLES=m
CONFIG_IP_SET=m
CONFIG_IP_SET_MAX=256
CONFIG_NF_TABLES_IPV4=y
CONFIG_IP_NF_IPTABLES=m
CONFIG_IP_NF_RAW=m
CONFIG_IP_NF_SECURITY=m
CONFIG_NF_TABLES_IPV6=y
CONFIG_IP6_NF_IPTABLES=m
CONFIG_IP6_NF_RAW=m
CONFIG_IP6_NF_SECURITY=m
CONFIG_NF_TABLES_INET=y
CONFIG_NFT_REJECT=m
CONFIG_NFT_REJECT_INET=m
CONFIG_NFT_REJECT_IPV4=m
CONFIG_NF_REJECT_IPV4=m
CONFIG_NFT_REJECT_IPV6=m
CONFIG_NF_REJECT_IPV6=m
CONFIG_NFT_FIB=m
CONFIG_NFT_FIB_INET=m
CONFIG_NFT_FIB_IPV4=m
CONFIG_NFT_FIB_IPV6=m
CONFIG_NF_TABLES_SET
CONFIG_NF_CONNTRACK_BROADCAST=m
CONFIG_NF_CONNTRACK_NETBIOS=m
**Note** In my case I've configured many options as modules, but it should also
be fine to include them in the kernel as `=y`
Tags: gentoo, linux, firewalld

View File

@ -0,0 +1,158 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>First look at powershell 6.1.0</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="first-look-at-powershell-610.html">
First look at powershell 6.1.0
</a></h3>
<!-- bashblog_timestamp: #201809150832.39# -->
<div class="subtitle">September 15, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Powershell <a href="https://github.com/PowerShell/PowerShell/releases">6.1.0</a> dropped yesterday. Here is my quick look.</p>
<h2>New Commands</h2>
<p><code>Get-Command | Measure-Object</code> on each version:</p>
<p>Version 6.0.4 had 316 commands, while 6.1.0 has 323 commands. Comparing a list
of commands:</p>
<p>On 6.0.4: <code>gcm | select -exp name &gt; 6.0.4.txt</code> and the same on 6.1.0, then to
compare:</p>
<pre><code> compare-object (gc ./6.0.4.txt) (gc ./6.1.0.txt)
InputObject SideIndicator
----------- -------------
ConvertFrom-Markdown =&gt;
Get-ExperimentalFeature =&gt;
Get-MarkdownOption =&gt;
Set-MarkdownOption =&gt;
Show-Markdown =&gt;
Start-ThreadJob =&gt;
Test-Connection =&gt;
Test-Json =&gt;
more &lt;=
</code></pre>
<hr />
<p>Firstly, yay for <code>Test-Connection</code>. I had to reimplement that one by parsing
results from <code>ping</code> previously to make some of my windows modules work on PS
core. Start-ThreadJob looks interesting and I can't wait to see what the
Markdown cmdlets do.</p>
<p>I'll look more at these new commands later, but while I was running
Get-Command, I thought I'd see if there were any generic performance
improvements in 6.1.0 release.</p>
<p>On 6.0.4:</p>
<pre><code> PS /home/harrisj&gt; measure-command {gcm | select -exp name}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 718
Ticks : 7185832
TotalDays : 8.31693518518518E-06
TotalHours : 0.000199606444444444
TotalMinutes : 0.0119763866666667
TotalSeconds : 0.7185832
TotalMilliseconds : 718.5832
</code></pre>
<p>On 6.1.0:</p>
<pre><code> PS /home/harrisj&gt; measure-command {get-command | select -exp name }
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 455
Ticks : 4558407
TotalDays : 5.27593402777778E-06
TotalHours : 0.000126622416666667
TotalMinutes : 0.007597345
TotalSeconds : 0.4558407
TotalMilliseconds : 455.8407
</code></pre>
<p>A modest speed boost. Definitely appreciated on the old RPI 2 that hosts this
site.</p>
<h3>Kicking the tires on new command</h3>
<h2>Show-Markdown</h2>
<p>I gave this a quick try and it colour highlighted and shows a preview of the
markdown in the terminal window. It also had a -UseBrowser parameter which
writes a tmp html and open's it in the browser. Pretty neat.</p>
<h2>ConvertFrom-Markdown</h2>
<p>What you'd expect, this converts a Markdown file to html to stdout or to a
file if specified. Who knows, I might see if I can get this site to work using
this implementation of Markdown. Currently I'm using the Markdown.pl from
Gruber.</p>
<h2>Get-ExperimentalFeature</h2>
<p>Does nothing on the RPI and MacOS. Will have to spin this up on Windows and
update this article</p>
<h2>Test-Json</h2>
<p>Just ran this over a json file I use in one of my projects:</p>
<pre><code>Test-Json -Json (gc ./Template.json -raw)
True
</code></pre>
<h2>Start-ThreadJob</h2>
<p>This might take a bit more time to find the true value of it, but I quickly
tried my simultaneous ping test with this and it spawned a number of PSJobs
with a PSJobTypeName of ThreadJob.</p>
<h3>Closing thouhghts</h3>
<p>Thats it for now. I've heard this release focused alot on bringing Windows
cmdlets back for Windows, so not-so-much in this one for the *nixes. Still
an improvement either way</p>
<p>Tags: <a href='tag_powershell.html'>powershell</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,115 @@
First look at powershell 6.1.0
Powershell [6.1.0][1] dropped yesterday. Here is my quick look.
## New Commands
`Get-Command | Measure-Object` on each version:
Version 6.0.4 had 316 commands, while 6.1.0 has 323 commands. Comparing a list
of commands:
On 6.0.4: `gcm | select -exp name > 6.0.4.txt` and the same on 6.1.0, then to
compare:
compare-object (gc ./6.0.4.txt) (gc ./6.1.0.txt)
InputObject SideIndicator
----------- -------------
ConvertFrom-Markdown =>
Get-ExperimentalFeature =>
Get-MarkdownOption =>
Set-MarkdownOption =>
Show-Markdown =>
Start-ThreadJob =>
Test-Connection =>
Test-Json =>
more <=
---
Firstly, yay for `Test-Connection`. I had to reimplement that one by parsing
results from `ping` previously to make some of my windows modules work on PS
core. Start-ThreadJob looks interesting and I can't wait to see what the
Markdown cmdlets do.
I'll look more at these new commands later, but while I was running
Get-Command, I thought I'd see if there were any generic performance
improvements in 6.1.0 release.
On 6.0.4:
PS /home/harrisj> measure-command {gcm | select -exp name}
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 718
Ticks : 7185832
TotalDays : 8.31693518518518E-06
TotalHours : 0.000199606444444444
TotalMinutes : 0.0119763866666667
TotalSeconds : 0.7185832
TotalMilliseconds : 718.5832
On 6.1.0:
PS /home/harrisj> measure-command {get-command | select -exp name }
Days : 0
Hours : 0
Minutes : 0
Seconds : 0
Milliseconds : 455
Ticks : 4558407
TotalDays : 5.27593402777778E-06
TotalHours : 0.000126622416666667
TotalMinutes : 0.007597345
TotalSeconds : 0.4558407
TotalMilliseconds : 455.8407
A modest speed boost. Definitely appreciated on the old RPI 2 that hosts this
site.
### Kicking the tires on new command
## Show-Markdown
I gave this a quick try and it colour highlighted and shows a preview of the
markdown in the terminal window. It also had a -UseBrowser parameter which
writes a tmp html and open's it in the browser. Pretty neat.
## ConvertFrom-Markdown
What you'd expect, this converts a Markdown file to html to stdout or to a
file if specified. Who knows, I might see if I can get this site to work using
this implementation of Markdown. Currently I'm using the Markdown.pl from
Gruber.
## Get-ExperimentalFeature
Does nothing on the RPI and MacOS. Will have to spin this up on Windows and
update this article
## Test-Json
Just ran this over a json file I use in one of my projects:
Test-Json -Json (gc ./Template.json -raw)
True
## Start-ThreadJob
This might take a bit more time to find the true value of it, but I quickly
tried my simultaneous ping test with this and it spawned a number of PSJobs
with a PSJobTypeName of ThreadJob.
### Closing thouhghts
Thats it for now. I've heard this release focused alot on bringing Windows
cmdlets back for Windows, so not-so-much in this one for the \*nixes. Still
an improvement either way
Tags: powershell
[1]: https://github.com/PowerShell/PowerShell/releases

81
gentoo-local-overlay.html Normal file
View File

@ -0,0 +1,81 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Gentoo local overlay</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="gentoo-local-overlay.html">
Gentoo local overlay
</a></h3>
<!-- bashblog_timestamp: #201809180909.41# -->
<div class="subtitle">September 18, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I find myself having to create a local overlay to test/develop a new ebuild
without affecting my main system from time to time. I usually fire up a clean
kvm Gentoo guest to start working on, but I've usually forgotten the proceedure</p>
<p>This is a quick instruction on a straight-forward local overlay</p>
<ol>
<li><p>Create the local path tree where the overlay will reside:</p>
<pre><code>mkdir -p /usr/local/portage/overlay/{metadata,profiles}
</code></pre></li>
<li><p>Create the <code>layout.conf</code> file and <code>repo_name</code> file</p>
<pre><code>cd /usr/local/portage/overlay
echo "masters = gentoo" &gt; metadata/layout.conf
echo "$(hostname)" &gt; profiles/repo_name
</code></pre></li>
<li><p>Create a repos.conf file:</p>
<pre><code>cat &lt;&lt;EOF&gt;/etc/portage/repos.conf/$(hostname).conf
[$(hostname)]
location = /usr/local/portage/overlay
auto-sync = no
priority = 10
EOF
</code></pre></li>
</ol>
<h2>done.</h2>
<p>Now you can begin to populate the local repo with custom ebuilds. I usually do
this and then upload my new ebuild to my <a href="https://github.com/zigford/gentoo-zigford">github</a> repository.</p>
<p>See also:</p>
<p><a href="https://wiki.gentoo.org/wiki//etc/portage/repos.conf">repos.conf</a>, <a href="https://wiki.gentoo.org/wiki/Custom_repository">Custom Repository</a></p>
<p>Tags: <a href='tag_gentoo.html'>gentoo</a>, <a href='tag_portage-overlay.html'>portage-overlay</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

41
gentoo-local-overlay.md Normal file
View File

@ -0,0 +1,41 @@
Gentoo local overlay
I find myself having to create a local overlay to test/develop a new ebuild
without affecting my main system from time to time. I usually fire up a clean
kvm Gentoo guest to start working on, but I've usually forgotten the proceedure
This is a quick instruction on a straight-forward local overlay
1. Create the local path tree where the overlay will reside:
mkdir -p /usr/local/portage/overlay/{metadata,profiles}
2. Create the `layout.conf` file and `repo_name` file
cd /usr/local/portage/overlay
echo "masters = gentoo" > metadata/layout.conf
echo "$(hostname)" > profiles/repo_name
3. Create a repos.conf file:
cat <<EOF>/etc/portage/repos.conf/$(hostname).conf
[$(hostname)]
location = /usr/local/portage/overlay
auto-sync = no
priority = 10
EOF
## done.
Now you can begin to populate the local repo with custom ebuilds. I usually do
this and then upload my new ebuild to my [github][1] repository.
See also:
[repos.conf][2], [Custom Repository][3]
Tags: gentoo, portage-overlay
[1]: https://github.com/zigford/gentoo-zigford
[2]: https://wiki.gentoo.org/wiki//etc/portage/repos.conf
[3]: https://wiki.gentoo.org/wiki/Custom_repository

View File

@ -0,0 +1,98 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Git - Working with branches</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="git---working-with-branches.html">
Git - Working with branches
</a></h3>
<!-- bashblog_timestamp: #201908061724.51# -->
<div class="subtitle">August 06, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>In this quick article, I will:</p>
<ul>
<li>quickly create a branch on a git repository.</li>
<li>make some commits</li>
<li>push them to a remote branch</li>
<li>clone to a new location (to simulate working on another machine)</li>
<li>merge the new branch to master</li>
<li>delete the local and remote branches</li>
</ul>
<hr />
<p>Reminder - This site is mainly for my memory and reference. You can find this
information anywhere out on the web, but I find the best way to remember
something is to write it down yourself.</p>
<p>Firstly, clone a repo and cd into it.</p>
<p><strong>make a new local branch</strong></p>
<pre><code> git checkout -b updates/onedrive
</code></pre>
<p>Now, make some commits and we will push this to a new remote branch like this:</p>
<p><strong>push to remote branch</strong></p>
<pre><code> git push -u origin updates/onedrive
</code></pre>
<p><em>note, the remote and local branch names need not match</em><br />
<em>second note, <code>-u</code> stands for --set-upstream-to</em></p>
<p>Next, go to another computer where you will resume work. (or for the sake of
practice, just clone again to another directory)
On the new clone, we need to fetch all other branches</p>
<p><strong>download all branches</strong></p>
<pre><code> git fetch origin
</code></pre>
<p><strong>create a local branch, pull the remote branch to it</strong></p>
<pre><code> git checkout -b updates/onedrive
git pull origin updates/onedrive
</code></pre>
<p>Here we can examine the branch, continue to make changes and commits. If we want
to push back to the remote branch, we need to set the upstream:</p>
<pre><code> git push -u origin updates/onedrive
</code></pre>
<p>When we are done, perhaps we want to merge the changes back to master. In that case:</p>
<p><strong>merge changes to master</strong></p>
<pre><code> git checkout master
git merge updates/onedrive
</code></pre>
<p>Now would be a good time to push changes. Then you can delete the local and
remote branches.</p>
<p><strong>delete local branch</strong></p>
<pre><code> git branch -d updates/onedrive
</code></pre>
<p><strong>delete remote branch</strong></p>
<pre><code> git push --delete origin updates/onedrive
</code></pre>
<p>I hope this information helps me, let alone you!</p>
<p>Helpful links</p>
<p><a href="https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-locally-and-remotely">stackoverflow</a><br />
<a href="https://stackify.com/git-checkout-remote-branch/">stackify</a><br />
<a href="https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging">git-scm.com</a><br />
<a href="https://www.freecodecamp.org/forum/t/push-a-new-local-branch-to-a-remote-git-repository-and-track-it-too/13222">freecodecamp.org</a></p>
<p>Tags: <a href='tag_git.html'>git</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,78 @@
Git - Working with branches
In this quick article, I will:
* quickly create a branch on a git repository.
* make some commits
* push them to a remote branch
* clone to a new location (to simulate working on another machine)
* merge the new branch to master
* delete the local and remote branches
---
Reminder - This site is mainly for my memory and reference. You can find this
information anywhere out on the web, but I find the best way to remember
something is to write it down yourself.
Firstly, clone a repo and cd into it.
__make a new local branch__
git checkout -b updates/onedrive
Now, make some commits and we will push this to a new remote branch like this:
__push to remote branch__
git push -u origin updates/onedrive
_note, the remote and local branch names need not match_
_second note, `-u` stands for --set-upstream-to_
Next, go to another computer where you will resume work. (or for the sake of
practice, just clone again to another directory)
On the new clone, we need to fetch all other branches
__download all branches__
git fetch origin
__create a local branch, pull the remote branch to it__
git checkout -b updates/onedrive
git pull origin updates/onedrive
Here we can examine the branch, continue to make changes and commits. If we want
to push back to the remote branch, we need to set the upstream:
git push -u origin updates/onedrive
When we are done, perhaps we want to merge the changes back to master. In that case:
__merge changes to master__
git checkout master
git merge updates/onedrive
Now would be a good time to push changes. Then you can delete the local and
remote branches.
__delete local branch__
git branch -d updates/onedrive
__delete remote branch__
git push --delete origin updates/onedrive
I hope this information helps me, let alone you!
Helpful links
[stackoverflow](https://stackoverflow.com/questions/2003505/how-do-i-delete-a-git-branch-locally-and-remotely)
[stackify](https://stackify.com/git-checkout-remote-branch/)
[git-scm.com](https://git-scm.com/book/en/v2/Git-Branching-Basic-Branching-and-Merging)
[freecodecamp.org](https://www.freecodecamp.org/forum/t/push-a-new-local-branch-to-a-remote-git-repository-and-track-it-too/13222)
Tags: git

66
gnu-linux.html Normal file
View File

@ -0,0 +1,66 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>GNU Linux</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="gnu-linux.html">
GNU Linux
</a></h3>
<!-- bashblog_timestamp: #201809022045.56# -->
<div class="subtitle">September 02, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I've always used GNU/Linux distributions on my machines at home sing 1997.
A brief list of the distributions I've used:</p>
<ul>
<li>Slackware</li>
<li>RedHat</li>
<li>CentOS</li>
<li>Fedora Core</li>
<li>Ubuntu</li>
<li>Fedora</li>
<li>Raspbian</li>
<li>Gentoo</li>
</ul>
<p>Currently, I'm using Gentoo on a few different machines and as an operating
system nerd, it really ticks the boxes.</p>
<p>Many people who have used Gentoo in the past eventually say that maintaining a
Gentoo system is fun at first, but that they have different priorities and want
an 'OS' that just 'works'.</p>
<p>Knowing everything about a system is part of the joy of Gentoo. Think of it not
as a distributioin, but more as a distribution kit. You get to make your own
distro.</p>
<p>Aside from that, I used to run Raspbian on my Pi's but now run Gentoo on that
too.</p>
<p>Here are the things I can do in Gentoo:</p>
<ul>
<li>Connect to my work vpn</li>
<li>RDP to work machines</li>
<li>Use Citrix Receiever to connect to our Citrix environment</li>
<li>Use Snaps, to run the latest userland software (like teams for linux)</li>
<li>Compile the latest ffmpeg to use new <a href="converting-vhs-and-dv-to-modern-formats---part-1.html">video encoding tools</a></li>
<li>Contribute in the form of ebuilds e.g.
<a href="https://github.com/zigford/snapd">snapd</a></li>
</ul>
<p>For what I do with the raspberry pi, check out my <a href="raspberry-pi.html">raspberry pi post</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/zigford/PwshBlog">PwshBlog</a>, a powershell module to easily create blogs like this one</div>
</div></div>
</body></html>

41
gnu-linux.md Normal file
View File

@ -0,0 +1,41 @@
GNU Linux
I've always used GNU/Linux distributions on my machines at home sing 1997.
A brief list of the distributions I've used:
* Slackware
* RedHat
* CentOS
* Fedora Core
* Ubuntu
* Fedora
* Raspbian
* Gentoo
Currently, I'm using Gentoo on a few different machines and as an operating
system nerd, it really ticks the boxes.
Many people who have used Gentoo in the past eventually say that maintaining a
Gentoo system is fun at first, but that they have different priorities and want
an 'OS' that just 'works'.
Knowing everything about a system is part of the joy of Gentoo. Think of it not
as a distributioin, but more as a distribution kit. You get to make your own
distro.
Aside from that, I used to run Raspbian on my Pi's but now run Gentoo on that
too.
Here are the things I can do in Gentoo:
* Connect to my work vpn
* RDP to work machines
* Use Citrix Receiever to connect to our Citrix environment
* Use Snaps, to run the latest userland software (like teams for linux)
* Compile the latest ffmpeg to use new [video encoding tools](converting-vhs-and-dv-to-modern-formats---part-1.html)
* Contribute in the form of ebuilds e.g.
[snapd](https://github.com/zigford/snapd)
For what I do with the raspberry pi, check out my [raspberry pi post][1]
[1]: raspberry-pi.html

BIN
harris/.backup.tar.gz Normal file

Binary file not shown.

141
harris/.config Normal file
View File

@ -0,0 +1,141 @@
global_software_name="BashBlog"
global_software_version="2.8"
# Blog title
global_title="Harris Family Files"
# The typical subtitle for each blog
global_description='A place for family stuff'
# The public base URL for this blog
global_url="https://zigford.org/harris"
# Your name
global_author="Jesse Harris"
# You can use twitter or facebook or anything for global_author_url
global_author_url="http://twitter.com/zigford_org"
# Your email
global_email="jesse@zigford.org"
# CC by-nc-nd is a good starting point, you can change this to "&copy;" for Copyright
global_license="&copy"
# If you have a Google Analytics ID (UA-XXXXX) and wish to use the standard
# embedding code, put it on global_analytics
# If you have custom analytics code (i.e. non-google) or want to use the Universal
# code, leave global_analytics empty and specify a global_analytics_file
global_analytics=""
global_analytics_file=""
# Leave this empty (i.e. "") if you don't want to use feedburner,
# or change it to your own URL
global_feedburner=""
# Change this to your username if you want to use twitter for comments
global_twitter_username=""
# Set this to false for a Twitter button with share count. The cookieless version
# is just a link.
global_twitter_cookieless="false"
# Default search page, where tweets more than a week old are hidden
global_twitter_search="twitter"
# Change this to your disqus username to use disqus for comments
global_disqus_username=""
# Blog generated files
# index page of blog (it is usually good to use "index.html" here)
index_file="index.html"
number_of_index_articles="5"
# global archive
archive_index="all_posts.html"
tags_index="all_tags.html"
# Non blogpost files. Bashblog will ignore these. Useful for static pages and custom content
# Add them as a bash array, e.g. non_blogpost_files=("news.html" "test.html")
non_blogpost_files=("about.html" "links.html" "gnu-linux.html" "macos.html" "the-bsds.html" "my-setup.html" "todo.html" "visitors.html" "christmas-2018.html")
# feed file (rss in this case)
blog_feed="feed.rss"
number_of_feed_articles="10"
# "cut" blog entry when putting it to index page. Leave blank for full articles in front page
# i.e. include only up to first '<hr>', or '----' in markdown
cut_do="cut"
# When cutting, cut also tags? If "no", tags will appear in index page for cut articles
cut_tags="yes"
# Regexp matching the HTML line where to do the cut
# note that slash is regexp separator so you need to prepend it with backslash
cut_line='<hr ?\/?>'
# save markdown file when posting with "bb post -m". Leave blank to discard it.
save_markdown="yes"
# prefix for tags/categories files
# please make sure that no other html file starts with this prefix
prefix_tags="tag_"
# personalized header and footer (only if you know what you're doing)
# DO NOT name them .header.html, .footer.html or they will be overwritten
# leave blank to generate them, recommended
header_file=""
footer_file=""
# extra content to add just after we open the <body> tag
# and before the actual blog content
body_begin_file=""
# extra content to add just before we cloese <body tag (just before
# </body>)
body_end_file=""
# CSS files to include on every page, f.ex. css_include=('main.css' 'blog.css')
# leave empty to use generated
css_include=()
# HTML files to exclude from index, f.ex. post_exclude=('imprint.html 'aboutme.html')
html_exclude=("windows.html" "scripts.html" "visitors.html")
# Localization and i18n
# "Comments?" (used in twitter link after every post)
template_comments="Comments?"
# "Read more..." (link under cut article on index page)
template_read_more="Read more..."
# "View more posts" (used on bottom of index page as link to archive)
template_archive="View more posts"
# "All posts" (title of archive page)
template_archive_title="All posts"
# "All tags"
template_tags_title="All tags"
# "posts" (on "All tags" page, text at the end of each tag line, like "2. Music - 15 posts")
template_tags_posts="posts"
template_tags_posts_2_4="posts" # Some slavic languages use a different plural form for 2-4 items
template_tags_posts_singular="post"
# "Posts tagged" (text on a title of a page with index of one tag, like "My Blog - Posts tagged "Music"")
template_tag_title="Posts tagged"
# "Tags:" (beginning of line in HTML file with list of all tags for this article)
template_tags_line_header="Tags:"
# "Back to the index page" (used on archive page, it is link to blog index)
template_archive_index_page="Back to the index page"
# "Subscribe" (used on bottom of index page, it is link to RSS feed)
template_subscribe="Subscribe"
# "Subscribe to this page..." (used as text for browser feed button that is embedded to html)
template_subscribe_browser_button="Subscribe to this page..."
# "Tweet" (used as twitter text button for posting to twitter)
template_twitter_button="Tweet"
template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"
# The locale to use for the dates displayed on screen
date_format="%B %d, %Y"
date_locale="C"
date_inpost="bashblog_timestamp"
# Don't change these dates
date_format_full="%a, %d %b %Y %H:%M:%S %z"
date_format_timestamp="%Y%m%d%H%M.%S"
date_allposts_header="%B %Y"
# Perform the post title -> filename conversion
# Experts only. You may need to tune the locales too
# Leave empty for no conversion, which is not recommended
# This default filter respects backwards compatibility
convert_filename="iconv -f utf-8 -t ascii//translit | sed 's/^-*//' | tr [:upper:] [:lower:] | tr ' ' '-' | tr -dc '[:alnum:]-'"
# URL where you can view the post while it's being edited
# same as global_url by default
# You can change it to path on your computer, if you write posts locally
# before copying them to the server
preview_url=""
# Markdown location. Trying to autodetect by default.
# The invocation must support the signature 'markdown_bin in.md > out.html'
markdown_bin=/usr/local/bin/markdown

55
harris/.config.2 Normal file
View File

@ -0,0 +1,55 @@
$Script:archive_index="all_posts.html"
$Script:blog_feed="feed.rss"
$Script:body_begin_file=""
$Script:body_end_file=""
$Script:convert_filename="%{`$b=[system.text.encoding]::UTF8.GetBytes(`$_);`$c=[system.text.encoding]::convert([text.encoding]::UTF8,[text.encoding]::ASCII,`$b);(-join [system.text.encoding]::ASCII.GetChars(`$c)).ToLower() -replace ' ','-' -replace '[^a-z0-9-]',''}"
$Script:css_include=""
$Script:cut_do=$True
$Script:cut_line='<hr ?\/?>'
$Script:cut_tags="yes"
$Script:date_allposts_header="MMMM yyyy"
$Script:date_format_full="dddd, dd MMM yyyy HH:mm:ss zzzz"
$Script:date_format="MMMM dd, yyyy"
$Script:date_format_timestamp="yyyyMMddHHmm.ss"
$Script:date_inpost="bashblog_timestamp"
$Script:date_locale=""
$Script:footer_file=""
$Script:global_analytics=""
$Script:global_analytics_file=""
$Script:global_author="Jesse Harris"
$Script:global_author_url="http://twitter.com/zigford_org"
$Script:global_description='A place for family stuff'
$Script:global_disqus_username=""
$Script:global_email="jesse@zigford.org"
$Script:global_feedburner=""
$Script:global_license="&copy"
$Script:global_software_name="PwshBlog"
$Script:global_software_version="0.1"
$Script:global_title="Harris Family Files"
$Script:global_twitter_cookieless="false"
$Script:global_twitter_search="twitter"
$Script:global_twitter_username=""
$Script:global_url="https://zigford.org/harris"
$Script:header_file=""
$Script:index_file="index.html"
$Script:number_of_feed_articles="10"
$Script:number_of_index_articles="5"
$Script:prefix_tags="tag_"
$Script:preview_url=""
$Script:save_markdown="yes"
$Script:tags_index="all_tags.html"
$Script:template_archive_index_page="Back to the index page"
$Script:template_archive_title="All posts"
$Script:template_archive="View more posts"
$Script:template_comments="Comments?"
$Script:template_read_more="Read more..."
$Script:template_subscribe_browser_button="Subscribe to this page..."
$Script:template_subscribe="Subscribe"
$Script:template_tags_line_header="Tags:"
$Script:template_tags_posts_2_4="posts"
$Script:template_tags_posts="posts"
$Script:template_tags_posts_singular="post"
$Script:template_tags_title="All tags"
$Script:template_tag_title="Posts tagged"
$Script:template_twitter_button="Tweet"
$Script:template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"

142
harris/.config.backup Normal file
View File

@ -0,0 +1,142 @@
global_software_name="BashBlog"
global_software_version="2.8"
# Blog title
global_title="Harris Family Files"
# The typical subtitle for each blog
global_description='A place for family stuff'
#global_description="Sharing linux/windows scripts and tips"
# The public base URL for this blog
global_url="http://zigford.org/harris"
# Your name
global_author="Jesse Harris"
# You can use twitter or facebook or anything for global_author_url
global_author_url="http://twitter.com/zigford_org"
# Your email
global_email="jesse@zigford.org"
# CC by-nc-nd is a good starting point, you can change this to "&copy;" for Copyright
global_license="&copy"
# If you have a Google Analytics ID (UA-XXXXX) and wish to use the standard
# embedding code, put it on global_analytics
# If you have custom analytics code (i.e. non-google) or want to use the Universal
# code, leave global_analytics empty and specify a global_analytics_file
global_analytics=""
global_analytics_file=""
# Leave this empty (i.e. "") if you don't want to use feedburner,
# or change it to your own URL
global_feedburner=""
# Change this to your username if you want to use twitter for comments
global_twitter_username=""
# Set this to false for a Twitter button with share count. The cookieless version
# is just a link.
global_twitter_cookieless="false"
# Default search page, where tweets more than a week old are hidden
global_twitter_search="twitter"
# Change this to your disqus username to use disqus for comments
global_disqus_username=""
# Blog generated files
# index page of blog (it is usually good to use "index.html" here)
index_file="index.html"
number_of_index_articles="5"
# global archive
archive_index="all_posts.html"
tags_index="all_tags.html"
# Non blogpost files. Bashblog will ignore these. Useful for static pages and custom content
# Add them as a bash array, e.g. non_blogpost_files=("news.html" "test.html")
non_blogpost_files=()
# feed file (rss in this case)
blog_feed="feed.rss"
number_of_feed_articles="10"
# "cut" blog entry when putting it to index page. Leave blank for full articles in front page
# i.e. include only up to first '<hr>', or '----' in markdown
cut_do="cut"
# When cutting, cut also tags? If "no", tags will appear in index page for cut articles
cut_tags="yes"
# Regexp matching the HTML line where to do the cut
# note that slash is regexp separator so you need to prepend it with backslash
cut_line='<hr ?\/?>'
# save markdown file when posting with "bb post -m". Leave blank to discard it.
save_markdown="yes"
# prefix for tags/categories files
# please make sure that no other html file starts with this prefix
prefix_tags="tag_"
# personalized header and footer (only if you know what you're doing)
# DO NOT name them .header.html, .footer.html or they will be overwritten
# leave blank to generate them, recommended
header_file=""
footer_file=""
# extra content to add just after we open the <body> tag
# and before the actual blog content
body_begin_file=""
# extra content to add just before we cloese <body tag (just before
# </body>)
body_end_file=""
# CSS files to include on every page, f.ex. css_include=('main.css' 'blog.css')
# leave empty to use generated
css_include=()
# HTML files to exclude from index, f.ex. post_exclude=('imprint.html 'aboutme.html')
html_exclude=()
# Localization and i18n
# "Comments?" (used in twitter link after every post)
template_comments="Comments?"
# "Read more..." (link under cut article on index page)
template_read_more="Read more..."
# "View more posts" (used on bottom of index page as link to archive)
template_archive="View more posts"
# "All posts" (title of archive page)
template_archive_title="All posts"
# "All tags"
template_tags_title="All tags"
# "posts" (on "All tags" page, text at the end of each tag line, like "2. Music - 15 posts")
template_tags_posts="posts"
template_tags_posts_2_4="posts" # Some slavic languages use a different plural form for 2-4 items
template_tags_posts_singular="post"
# "Posts tagged" (text on a title of a page with index of one tag, like "My Blog - Posts tagged "Music"")
template_tag_title="Posts tagged"
# "Tags:" (beginning of line in HTML file with list of all tags for this article)
template_tags_line_header="Tags:"
# "Back to the index page" (used on archive page, it is link to blog index)
template_archive_index_page="Back to the index page"
# "Subscribe" (used on bottom of index page, it is link to RSS feed)
template_subscribe="Subscribe"
# "Subscribe to this page..." (used as text for browser feed button that is embedded to html)
template_subscribe_browser_button="Subscribe to this page..."
# "Tweet" (used as twitter text button for posting to twitter)
template_twitter_button="Tweet"
template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"
# The locale to use for the dates displayed on screen
date_format="%B %d, %Y"
date_locale="C"
date_inpost="bashblog_timestamp"
# Don't change these dates
date_format_full="%a, %d %b %Y %H:%M:%S %z"
date_format_timestamp="%Y%m%d%H%M.%S"
date_allposts_header="%B %Y"
# Perform the post title -> filename conversion
# Experts only. You may need to tune the locales too
# Leave empty for no conversion, which is not recommended
# This default filter respects backwards compatibility
convert_filename="iconv -f utf-8 -t ascii//translit | sed 's/^-*//' | tr [:upper:] [:lower:] | tr ' ' '-' | tr -dc '[:alnum:]-'"
# URL where you can view the post while it's being edited
# same as global_url by default
# You can change it to path on your computer, if you write posts locally
# before copying them to the server
preview_url=""
# Markdown location. Trying to autodetect by default.
# The invocation must support the signature 'markdown_bin in.md > out.html'
markdown_bin=/usr/local/bin/markdown

View File

@ -0,0 +1,6 @@
Title on this line
The rest of the text file is a **Markdown** blog post. The process will continue
as soon as you exit your editor.
Tags: keep-this-tag-format, tags-are-optional, beware-with-underscores-in-markdown, example

View File

@ -0,0 +1,6 @@
Title on this line
The rest of the text file is a **Markdown** blog post. The process will continue
as soon as you exit your editor.
Tags: keep-this-tag-format, tags-are-optional, beware-with-underscores-in-markdown, example

View File

@ -0,0 +1,22 @@
Dad's Birthday - 2007
I love coming across footage you didn't know was taken, let alone footage you
took yourself. That's the case here in this 2007 video in which the Harris boys
join Mum, Dad and their friends for a good ol'e family get-together late into
the evening.
The video has a couple of good speeches, guitars are busted out and we even get
a glimpse of Seb's bum crack! Classic!
<div id="video">
<video width="100%" controls>
<source src="https://f002.backblazeb2.com/file/BlogVideos/Harris/2007/12/2007_12_07_IansBirthday-Web-Deint.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and click 'save-as'
Tags: Ian, Ronnie, Grandad-Nev, Arnie, Alex, Seb, Sam, Georgia, Jesse
[1]:https://f002.backblazeb2.com/file/BlogVideos/Harris/2007/12/2007_12_07_IansBirthday-Web-Deint.mp4

BIN
harris/.yesterday.tar.gz Normal file

Binary file not shown.

View File

@ -0,0 +1,51 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>45 Hinkler Avenue - Circa 1994</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<hr />
<p>Featuring in this video is Dad (Ian) and Michael Hunt, giving the voiced guided tour.
Also making brief appearances are Sam, Myself (Jesse), Alex, Phoebe and Mum
(Ronnie)</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/1994/12/45HinklerAve-crf23-faststart-web-deint-veryslow-sharpen.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/1994/12/45HinklerAve-crf23-faststart-web-deint-veryslow-sharpen.mp4">here</a> and click &quot;save-as&quot;</p>
<p>Tags: <a href='tag_Ian.html'>Ian</a>, <a href='tag_Sam.html'>Sam</a>, <a href='tag_Ronnie.html'>Ronnie</a>, <a href='tag_Jesse.html'>Jesse</a>, <a href='tag_Alex.html'>Alex</a>, <a href='tag_Phoebe.html'>Phoebe</a>, <a href='tag_Le-Anne.html'>Le-Anne</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,26 @@
45 Hinkler Avenue - Circa 1994
Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.
---
Featuring in this video is Dad (Ian) and Michael Hunt, giving the voiced guided tour.
Also making brief appearances are Sam, Myself (Jesse), Alex, Phoebe and Mum
(Ronnie)
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/1994/12/45HinklerAve-crf23-faststart-web-deint-veryslow-sharpen.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and click "save-as"
Tags: Ian, Sam, Ronnie, Jesse, Alex, Phoebe, Le-Anne
[1]: https://f002.backblazeb2.com/file/BlogVideos/1994/12/45HinklerAve-crf23-faststart-web-deint-veryslow-sharpen.mp4

39
harris/all_posts.html Normal file
View File

@ -0,0 +1,39 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; All posts</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3>All posts</h3>
<h4 class='allposts_header'>June 2020</h4>
<ul>
<li><a href="./harris-family---1988.html">Harris Family - 1988</a> &mdash; June 22, 2020</li>
</ul>
<h4 class='allposts_header'>April 2020</h4>
<ul>
<li><a href="./dads-birthday---2007.html"></a> &mdash; April 22, 2020</li>
</ul>
<h4 class='allposts_header'>January 2020</h4>
<ul>
<li><a href="./45-hinkler-avenue---circa-1994.html">45 Hinkler Avenue - Circa 1994</a> &mdash; January 04, 2020</li>
</ul>
<h4 class='allposts_header'>October 2019</h4>
<ul>
<li><a href="./dv-mix-tape.html">DV Mix Tape</a> &mdash; October 04, 2019</li>
</ul>
<div id="all_posts"><a href="./index.html">Back to the index page</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

45
harris/all_tags.html Normal file
View File

@ -0,0 +1,45 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; All tags</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3>All tags</h3>
<ul>
<li><a href="tag_Alex.html">Alex</a> &mdash; 3 posts</li>
<li><a href="tag_Arnie.html">Arnie</a> &mdash; 1 post</li>
<li><a href="tag_Clarissa.html">Clarissa</a> &mdash; 1 post</li>
<li><a href="tag_Elijah.html">Elijah</a> &mdash; 1 post</li>
<li><a href="tag_Georgia.html">Georgia</a> &mdash; 1 post</li>
<li><a href="tag_Granddad.html">Granddad</a> &mdash; 1 post</li>
<li><a href="tag_Grandfather-Jack.html">Grandfather-Jack</a> &mdash; 1 post</li>
<li><a href="tag_Grandfather-Les.html">Grandfather-Les</a> &mdash; 1 post</li>
<li><a href="tag_Ian.html">Ian</a> &mdash; 3 posts</li>
<li><a href="tag_Jesse.html">Jesse</a> &mdash; 3 posts</li>
<li><a href="tag_Kitty.html">Kitty</a> &mdash; 1 post</li>
<li><a href="tag_Le-Anne.html">Le-Anne</a> &mdash; 1 post</li>
<li><a href="tag_Lila.html">Lila</a> &mdash; 1 post</li>
<li><a href="tag_Nanma.html">Nanma</a> &mdash; 1 post</li>
<li><a href="tag_Nanna-Powel.html">Nanna-Powel</a> &mdash; 1 post</li>
<li><a href="tag_Phoebe.html">Phoebe</a> &mdash; 3 posts</li>
<li><a href="tag_Ronnie.html">Ronnie</a> &mdash; 3 posts</li>
<li><a href="tag_Sam.html">Sam</a> &mdash; 2 posts</li>
<li><a href="tag_Seb.html">Seb</a> &mdash; 1 post</li>
<li><a href="tag_Stumpy.html">Stumpy</a> &mdash; 1 post</li>
</ul>
<div id="all_posts"><a href="./index.html">Back to the index page</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

76
harris/blog.css Normal file
View File

@ -0,0 +1,76 @@
#title{
font-size: x-large;
color:#d65d0e;
text-align: center
}
a.ablack{
/* headings n the like */
color:#d65d0e !important;
}
a.gbrown{
color:#3c3836 !important;
}
li{
margin-bottom:8px;
}
ul,ol{
margin-left:24px;
margin-right:24px;
}
#all_posts{
margin-top:24px;
text-align:center;
}
.subtitle{
font-size:small;
margin:12px 0px;
}
.content p{
margin-left:24px;
margin-right:24px;
}
h1{
color:#fe8019;
margin-bottom:12px !important;
}
#description{
font-size:large;
margin-bottom:12px;
}
h3{
color:#fe8019;
margin-top:42px;
margin-bottom:8px;
}
h4{
color:#fe8019;
margin-left:24px;
margin-right:24px;
}
hr{
border-color:#665c54
}
img{
max-width:100%;
}
#twitter{
line-height:20px;
vertical-align:top;
text-align:right;
font-style:italic;
color:#ebdbb2;
margin-top:24px;
font-size:14px;
}
pre{
white-space: pre-wrap,
-moz-pre-wrap,
-pre-wrap
-o-pre-wrap;
word-wrap: break-word;
}
table,th,td{
border: 1px solid #d65d0e;
border-collapse: collapse;
padding: 5px;
}

View File

@ -0,0 +1,52 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Christmas 2018</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="christmas-2018.html">
Christmas 2018
</a></h3>
<!-- bashblog_timestamp: #201909140953.08# -->
<div class="subtitle">September 14, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum, Dad and Phoebe's kids popped over for christmas in 2018. Here is the video:</p>
<hr />
<p>Highlights:</p>
<ul>
<li>Photo's of fun</li>
<li>Water bomb fight</li>
<li>Skating and scooting on the tennis court</li>
</ul>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/harrischristmas-coast.mp4"type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/harrischristmas-coast.mp4">here</a> and
click 'save-as'</p>
<p>Tags: <a href='tag_christmas.html'>christmas</a>, <a href='tag_Ronnie.html'>Ronnie</a>, <a href='tag_Ian.html'>Ian</a>, <a href='tag_Violet.html'>Violet</a>, <a href='tag_Georgia.html'>Georgia</a>, <a href='tag_Oscar.html'>Oscar</a>, <a href='tag_Amelia.html'>Amelia</a>, <a href='tag_Sophie.html'>Sophie</a>, <a href='tag_Olivia.html'>Olivia</a>, <a href='tag_Sam.html'>Sam</a>, <a href='tag_Jesse.html'>Jesse</a>, <a href='tag_Kim.html'>Kim</a>, <a href='tag_Lucy.html'>Lucy</a>, <a href='tag_Charlie.html'>Charlie</a>, <a href='tag_Elijah.html'>Elijah</a>, <a href='tag_Clarissa.html'>Clarissa</a>, <a href='tag_Doc.html'>Doc</a>, <a href='tag_Leo.html'>Leo</a>, <a href='tag_Zoe.html'>Zoe</a>, <a href='tag_Xavier.html'>Xavier</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/zigford/PwshBlog">PwshBlog</a>, a powershell module to easily create blogs like this one</div>
</div></div>
</body></html>

28
harris/christmas-2018.md Normal file
View File

@ -0,0 +1,28 @@
Christmas 2018
Mum, Dad and Phoebe's kids popped over for christmas in 2018. Here is the video:
---
Highlights:
* Photo's of fun
* Water bomb fight
* Skating and scooting on the tennis court
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/harrischristmas-coast.mp4"type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and
click 'save-as'
Tags: christmas, Ronnie, Ian, Violet, Georgia, Oscar, Amelia, Sophie, Olivia, Sam, Jesse, Kim, Lucy, Charlie, Elijah, Clarissa, Doc, Leo, Zoe, Xavier
[1]: https://f002.backblazeb2.com/file/BlogVideos/harrischristmas-coast.mp4

View File

@ -0,0 +1,31 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title></title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="dads-birthday---2007.html">
</a></h3>
<!-- bashblog_timestamp: #202004220635.32# -->
<div class="subtitle">April 22, 2020</div>
<!-- text begin -->
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,24 @@
Dad's Birthday - 2007
I love coming across footage you didn't know was taken, let alone footage you
took yourself. That's the case here in this 2007 video in which the Harris boys
join Mum, Dad and their friends for a good ol'e family get-together late into
the evening.
---
The video has a couple of good speeches, guitars are busted out and we even get
a glimpse of Seb's bum crack! Classic!
<div id="video">
<video width="100%" controls>
<source src="https://f002.backblazeb2.com/file/BlogVideos/Harris/2007/12/2007_12_07_IansBirthday-Web-Deint.mp4" type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and click 'save-as'
Tags: Ian, Ronnie, Grandad-Nev, Arnie, Alex, Seb, Sam, Georgia, Jesse
[1]:https://f002.backblazeb2.com/file/BlogVideos/Harris/2007/12/2007_12_07_IansBirthday-Web-Deint.mp4

235
harris/dv-mix-tape.html Normal file
View File

@ -0,0 +1,235 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>DV Mix Tape</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<hr />
<p>Right off the bat is Nonnie interviewing Georgia while she is pulling faces</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GeorgiePullingFaces-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/GeorgiePullingFaces-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Ian, Lila, Granddad Nev, Arnie and Georgia having a relaxing play while Nonnie
films</p>
<p>Some timestamps:</p>
<table>
<thead>
<tr>
<th>Time stamp</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>00:00:00</td>
<td>Ian and Grandad Nev sip tea and chat to Lilie Pie, while she looks at Arnie</td>
</tr>
<tr>
<td>00:02:00</td>
<td>Lila plays with toys(Sorta). While Nev finds Arnie's Ball</td>
</tr>
<tr>
<td>00:03:51</td>
<td>Georgie plays mum and feeds Lila</td>
</tr>
<tr>
<td>00:04:47</td>
<td>Georgie has a swim in a large pool</td>
</tr>
<tr>
<td>00:08:30</td>
<td>Georgia finds her missing baby kitty cat</td>
</tr>
<tr>
<td>00:10:08</td>
<td>Lila gives a happy smile</td
</tr>
</tbody>
</table>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonnies-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonnies-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Visiting at Jesse and Clarissa's is Mum, Dad, Alex (And I think Sam is here too)
Features everyone playing with baby Elijah.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/AtJesseAndClarissa-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/AtJesseAndClarissa-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Playing at Nonnies again. Phoebe and Georgia are visiting Nonnie. Georgia gives a contemporary
ice cream dance. Lila and Granddad Nev make an appearance. He puts his stockings
on.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonniesAgain-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonniesAgain-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Granddad Nev and Ian catch up on the latest in football talk. Ian is making a
soup of some kind while Nev is typing up a novel.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadTyping-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadTyping-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Elijah showing his strong leg muscles to push a table</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/Elijah-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/Elijah-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Sam's Birthday. Judging by the candles, he has reached a ripe old age of 1.
In attendence is Seb, Sam (duh), Clarissa, Georgia, Alex, Granddad, Jesse, Lila,
Phoebe, Ronnie, Me (Jesse). Possibly more.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/SamsBirthday-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/SamsBirthday-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Babies hanging out. Jesse changes Elijah's Nappie (joy). And Lila and Elijah
hang out with Georgia</p>
<table>
<thead>
<tr>
<th>Time stamp</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>00:00:00</td>
<td>Jesse changes Elijah's nappie</td>
</tr>
<tr>
<td>00:01:54</td>
<td>Georgia, Elijah and Lila have a sit together</td>
</tr>
<tr>
<td>00:02:55</td>
<td>Elijah wriggles around on bed</td>
</tr>
<tr>
<td>00:04:51</td>
<td>Elijah has a lie down with Granddad Nev</td>
</tr>
<tr>
<td>00:07:34</td>
<td>Young Ian puts some glasses on Lila</td>
</tr>
<tr>
<td>00:09:41</td>
<td>Ronnie has a hold of Elijah</td
</tr>
</tbody>
</table>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/BabiesHangingOut-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/BabiesHangingOut-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Phoebe's Birthday. There appears to be 24ish candles.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PhoebesBirthday-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/PhoebesBirthday-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>Granddad shows off his skills playing the harmonica. Bravo!</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadMusic-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadMusic-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<hr />
<p>The tape concludes with Lila having a roll around on the floor.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/LilaRolling-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/LilaRolling-Web.mp4">here</a> and click &quot;save-as&quot;</p>
<p>Tags: <a href='tag_Ronnie.html'>Ronnie</a>, <a href='tag_Alex.html'>Alex</a>, <a href='tag_Ian.html'>Ian</a>, <a href='tag_Clarissa.html'>Clarissa</a>, <a href='tag_Jesse.html'>Jesse</a>, <a href='tag_Sam.html'>Sam</a>, <a href='tag_Granddad.html'>Granddad</a>, <a href='tag_Georgia.html'>Georgia</a>, <a href='tag_Lila.html'>Lila</a>, <a href='tag_Elijah.html'>Elijah</a>, <a href='tag_Phoebe.html'>Phoebe</a>, <a href='tag_Arnie.html'>Arnie</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

268
harris/dv-mix-tape.md Normal file
View File

@ -0,0 +1,268 @@
DV Mix Tape
Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.
---
Right off the bat is Nonnie interviewing Georgia while she is pulling faces
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GeorgiePullingFaces-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and click "save-as"
---
Ian, Lila, Granddad Nev, Arnie and Georgia having a relaxing play while Nonnie
films
Some timestamps:
<table>
<thead>
<tr>
<th>Time stamp</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>00:00:00</td>
<td>Ian and Grandad Nev sip tea and chat to Lilie Pie, while she looks at Arnie</td>
</tr>
<tr>
<td>00:02:00</td>
<td>Lila plays with toys(Sorta). While Nev finds Arnie's Ball</td>
</tr>
<tr>
<td>00:03:51</td>
<td>Georgie plays mum and feeds Lila</td>
</tr>
<tr>
<td>00:04:47</td>
<td>Georgie has a swim in a large pool</td>
</tr>
<tr>
<td>00:08:30</td>
<td>Georgia finds her missing baby kitty cat</td>
</tr>
<tr>
<td>00:10:08</td>
<td>Lila gives a happy smile</td
</tr>
</tbody>
</table>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonnies-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][2] and click "save-as"
---
Visiting at Jesse and Clarissa's is Mum, Dad, Alex (And I think Sam is here too)
Features everyone playing with baby Elijah.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/AtJesseAndClarissa-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][3] and click "save-as"
---
Playing at Nonnies again. Phoebe and Georgia are visiting Nonnie. Georgia gives a contemporary
ice cream dance. Lila and Granddad Nev make an appearance. He puts his stockings
on.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonniesAgain-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][4] and click "save-as"
---
Granddad Nev and Ian catch up on the latest in football talk. Ian is making a
soup of some kind while Nev is typing up a novel.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadTyping-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][5] and click "save-as"
---
Elijah showing his strong leg muscles to push a table
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/Elijah-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][6] and click "save-as"
---
Sam's Birthday. Judging by the candles, he has reached a ripe old age of 1.
In attendence is Seb, Sam (duh), Clarissa, Georgia, Alex, Granddad, Jesse, Lila,
Phoebe, Ronnie, Me (Jesse). Possibly more.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/SamsBirthday-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][7] and click "save-as"
---
Babies hanging out. Jesse changes Elijah's Nappie (joy). And Lila and Elijah
hang out with Georgia
<table>
<thead>
<tr>
<th>Time stamp</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr>
<td>00:00:00</td>
<td>Jesse changes Elijah's nappie</td>
</tr>
<tr>
<td>00:01:54</td>
<td>Georgia, Elijah and Lila have a sit together</td>
</tr>
<tr>
<td>00:02:55</td>
<td>Elijah wriggles around on bed</td>
</tr>
<tr>
<td>00:04:51</td>
<td>Elijah has a lie down with Granddad Nev</td>
</tr>
<tr>
<td>00:07:34</td>
<td>Young Ian puts some glasses on Lila</td>
</tr>
<tr>
<td>00:09:41</td>
<td>Ronnie has a hold of Elijah</td
</tr>
</tbody>
</table>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/BabiesHangingOut-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][8] and click "save-as"
---
Phoebe's Birthday. There appears to be 24ish candles.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/PhoebesBirthday-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][9] and click "save-as"
---
Granddad shows off his skills playing the harmonica. Bravo!
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadMusic-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][10] and click "save-as"
---
The tape concludes with Lila having a roll around on the floor.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/LilaRolling-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][11] and click "save-as"
Tags: Ronnie, Alex, Ian, Clarissa, Jesse, Sam, Granddad, Georgia, Lila, Elijah, Phoebe, Arnie
[1]: https://f002.backblazeb2.com/file/BlogVideos/Harris/GeorgiePullingFaces-Web.mp4
[2]: https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonnies-Web.mp4
[3]: https://f002.backblazeb2.com/file/BlogVideos/Harris/AtJesseAndClarissa-Web.mp4
[4]: https://f002.backblazeb2.com/file/BlogVideos/Harris/PlayingAtNonniesAgain-Web.mp4
[5]: https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadTyping-Web.mp4
[6]: https://f002.backblazeb2.com/file/BlogVideos/Harris/Elijah-Web.mp4
[7]: https://f002.backblazeb2.com/file/BlogVideos/Harris/SamsBirthday-Web.mp4
[8]: https://f002.backblazeb2.com/file/BlogVideos/Harris/BabiesHangingOut-Web.mp4
[9]: https://f002.backblazeb2.com/file/BlogVideos/Harris/PhoebesBirthday-Web.mp4
[10]: https://f002.backblazeb2.com/file/BlogVideos/Harris/GrandadMusic-Web.mp4
[11]: https://f002.backblazeb2.com/file/BlogVideos/Harris/LilaRolling-Web.mp4

54
harris/feed.rss Normal file
View File

@ -0,0 +1,54 @@
<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel><title>Harris Family Files</title><link>https://zigford.org/harris/index.html</link>
<description>A place for family stuff</description><language>en</language>
<lastBuildDate>Mon, 22 Jun 2020 08:44:46 +1000</lastBuildDate>
<pubDate>Mon, 22 Jun 2020 08:44:46 +1000</pubDate>
<atom:link href="https://zigford.org/harris/feed.rss" rel="self" type="application/rss+xml" />
<item><title>
Harris Family - 1988
</title><description><![CDATA[
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<hr />
]]></description><link>https://zigford.org/harris/harris-family---1988.html</link>
<guid>https://zigford.org/harris/./harris-family---1988.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Mon, 22 Jun 2020 08:44:23 +1000</pubDate></item>
<item><title>
</title><description><![CDATA[
<!-- text end -->
]]></description><link>https://zigford.org/harris/dads-birthday---2007.html</link>
<guid>https://zigford.org/harris/./dads-birthday---2007.html</guid>
<dc:creator></dc:creator>
<pubDate>Wed, 22 Apr 2020 06:35:32 +1000</pubDate></item>
<item><title>
45 Hinkler Avenue - Circa 1994
</title><description><![CDATA[
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<hr />
]]></description><link>https://zigford.org/harris/45-hinkler-avenue---circa-1994.html</link>
<guid>https://zigford.org/harris/./45-hinkler-avenue---circa-1994.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Sat, 04 Jan 2020 17:58:03 +1000</pubDate></item>
<item><title>
DV Mix Tape
</title><description><![CDATA[
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<hr />
]]></description><link>https://zigford.org/harris/dv-mix-tape.html</link>
<guid>https://zigford.org/harris/./dv-mix-tape.html</guid>
<dc:creator>Jesse Harris</dc:creator>
<pubDate>Fri, 04 Oct 2019 09:10:06 +1000</pubDate></item>
</channel></rss>

View File

@ -0,0 +1,176 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family - 1988</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<hr />
<p>Some video sync errors occurred while importing this video which caused the
audio to go out of sync in certain places. To compensate, I've split the video
into segments so that I could give them their own audio delay in ms. Each
segment is listed in the order it appeared on the original VHS cassette.</p>
<h3>Camera test with the Alex and Jesse.</h3>
<p>This is my main memory of this tape, me and Mum showing our bellies. Alex's
'Cut' line and Dad banging his head on the bed. I reckon he staged that head
bang.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Camera%20test%20with%20Alex%20and%20Jesse-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Camera%20test%20with%20Alex%20and%20Jesse-Web.mp4">here</a> and click "save-as"</p>
<h3>Mum and Dad get sappy.</h3>
<p>Mum and Dad get romantic with each other. This segment was probably meant for
them only but it's nice to see your parents love each other.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Mum%20and%20Dad%20get%20sappy-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Mum%20and%20Dad%20get%20sappy-Web.mp4">here</a> and click "save-as"</p>
<h3>Early morning walk around Hinkler Ave.</h3>
<p>A peek around Hinkler Ave. in the wee hours of the morning. Who is already
awake?</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Early%20morning%20around%20hinkler%20ave-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Early%20morning%20around%20hinkler%20ave-Web.mp4">here</a> and click "save-as"</p>
<h3>Visit Nanma and Grandfather Les.</h3>
<p>We visit Grandad Nev's parents. (I know them as Nanma and Grandfather Les).
Which part of Bundaberg did they live? Nanma still looks quite active and
strong.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Visit%20Nanma%20and%20Grandfather%20Les-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Visit%20Nanma%20and%20Grandfather%20Les-Web.mp4">here</a> and click "save-as"</p>
<h3>Around Nana Powell's yard</h3>
<p>Now we visit Nana Powell and Grandfather Jack. Is that how you spell her last
name? What was he first name? I'd like to find out and put more info here.</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Around%20Nana%20Powells%20yard-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Around%20Nana%20Powells%20yard-Web.mp4">here</a> and click "save-as"</p>
<h3>Nana Powell and Grandfather Jack.</h3>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house-Web.mp4">here</a> and click "save-as"</p>
<h3>Nana Powell and Grandfather Jack cont.</h3>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house%20continued-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house%20continued-Web.mp4">here</a> and click "save-as"</p>
<h3>Kids doing things and the littles visit.</h3>
<p>I don't think Mum and Dad left Bundaberg on good terms with the Little's. I
certainly was not a fan of Chris after he rammed charcoal in my mouth.
Nevertheless I enjoy looking on My parents interacting with their friends and
seeing the kids playing around. Green slime, and how Dad deals with Alex putting
slime on Phoebe. Classic!</p>
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Littles%20Visit%20and%20Kids%20playing-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
<p>You can download the file by right clicking <a href="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Littles%20Visit%20and%20Kids%20playing-Web.mp4">here</a> and click "save-as"</p>
<p>Tags: <a href='tag_Ian.html'>Ian</a>, <a href='tag_Seb.html'>Seb</a>, <a href='tag_Phoebe.html'>Phoebe</a>, <a href='tag_Ronnie.html'>Ronnie</a>, <a href='tag_Alex.html'>Alex</a>, <a href='tag_Nanma.html'>Nanma</a>, <a href='tag_Grandfather-Les.html'>Grandfather-Les</a>, <a href='tag_Nanna-Powel.html'>Nanna-Powel</a>, <a href='tag_Grandfather-Jack.html'>Grandfather-Jack</a>, <a href='tag_Stumpy.html'>Stumpy</a>, <a href='tag_Kitty.html'>Kitty</a>, <a href='tag_Jesse.html'>Jesse</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,153 @@
Harris Family - 1988
I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?
Enjoy
---
Some video sync errors occurred while importing this video which caused the
audio to go out of sync in certain places. To compensate, I've split the video
into segments so that I could give them their own audio delay in ms. Each
segment is listed in the order it appeared on the original VHS cassette.
### Camera test with the Alex and Jesse.
This is my main memory of this tape, me and Mum showing our bellies. Alex's
'Cut' line and Dad banging his head on the bed. I reckon he staged that head
bang.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Camera%20test%20with%20Alex%20and%20Jesse-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][1] and click "save-as"
### Mum and Dad get sappy.
Mum and Dad get romantic with each other. This segment was probably meant for
them only but it's nice to see your parents love each other.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Mum%20and%20Dad%20get%20sappy-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][2] and click "save-as"
### Early morning walk around Hinkler Ave.
A peek around Hinkler Ave. in the wee hours of the morning. Who is already
awake?
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Early%20morning%20around%20hinkler%20ave-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][3] and click "save-as"
### Visit Nanma and Grandfather Les.
We visit Grandad Nev's parents. (I know them as Nanma and Grandfather Les).
Which part of Bundaberg did they live? Nanma still looks quite active and
strong.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Visit%20Nanma%20and%20Grandfather%20Les-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][4] and click "save-as"
### Around Nana Powell's yard
Now we visit Nana Powell and Grandfather Jack. Is that how you spell her last
name? What was he first name? I'd like to find out and put more info here.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Around%20Nana%20Powells%20yard-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][5] and click "save-as"
### Nana Powell and Grandfather Jack.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][6] and click "save-as"
### Nana Powell and Grandfather Jack cont.
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house%20continued-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][7] and click "save-as"
### Kids doing things and the littles visit.
I don't think Mum and Dad left Bundaberg on good terms with the Little's. I
certainly was not a fan of Chris after he rammed charcoal in my mouth.
Nevertheless I enjoy looking on My parents interacting with their friends and
seeing the kids playing around. Green slime, and how Dad deals with Alex putting
slime on Phoebe. Classic!
<div id="video">
<video width="100%" controls>
<source
src="https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Littles%20Visit%20and%20Kids%20playing-Web.mp4"
type="video/mp4">
Your browser does not support the video tag.
</video>
</div>
You can download the file by right clicking [here][8] and click "save-as"
Tags: Ian, Seb, Phoebe, Ronnie, Alex, Nanma, Grandfather-Les, Nanna-Powel, Grandfather-Jack, Stumpy, Kitty, Jesse
[1]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Camera%20test%20with%20Alex%20and%20Jesse-Web.mp4
[2]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Mum%20and%20Dad%20get%20sappy-Web.mp4
[3]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Early%20morning%20around%20hinkler%20ave-Web.mp4
[4]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Visit%20Nanma%20and%20Grandfather%20Les-Web.mp4
[5]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Around%20Nana%20Powells%20yard-Web.mp4
[6]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house-Web.mp4
[7]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Inside%20Nana%20Powells%20house%20continued-Web.mp4
[8]: https://f002.backblazeb2.com/file/BlogVideos/Harris/1988/Littles%20Visit%20and%20Kids%20playing-Web.mp4

70
harris/index.html Normal file
View File

@ -0,0 +1,70 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="./harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="dads-birthday---2007.html">
</a></h3>
<!-- bashblog_timestamp: #202004220635.32# -->
<div class="subtitle">April 22, 2020</div>
<!-- text begin -->
<!-- text end -->
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="./45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
<div id="all_posts"><a href="all_posts.html">View more posts</a> &mdash; <a href="all_tags.html">All tags</a> &mdash; <a href="feed.rss">Subscribe</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

89
harris/main.css Normal file
View File

@ -0,0 +1,89 @@
body{
font-family:Georgia,"Times New Roman",Times,serif;
margin:0;
padding:0;
background-color:#282828;
}
#divbodyholder{
padding:5px;
background-color:#3c3836;
width:100%;
max-width:874px;
margin:24px auto;
/* min-width:1200px; */
}
#divbody{
border:solid 1px #665c54;
background-color:#3c3836;
padding:0px 48px 24px 48px;
top:0;
}
.headerholder{
color:white;
background-color:#3c3836;
border-top:solid 1px #665c54;
border-left:solid 1px #665c54;
border-right:solid 1px #665c54;
}
.header{
width:100%;
max-width:800px;
margin:0px auto;
padding-top:24px;
padding-bottom:8px;
color:#a89984
}
.content{
margin-bottom:5%;
color:#ebdbb2
}
.nomargin{
margin:0;
}
.description{
margin-top:10px;
border-top:solid 1px #666;
padding:10px 0;
}
h3{
font-size:20pt;
width:100%;
font-weight:bold;
margin-top:32px;
margin-bottom:0;
}
code{
color:#8ec07c
}
.clear{
clear:both;
}
#footer{
padding-top:10px;
border-top:solid 1px #666;
color:#d5c4a1;
text-align:center;
font-size:small;
font-family:"Courier New","Courier",monospace;
}
a{
text-decoration:none;
color:#d79921 !important;
}
a:visited{
text-decoration:none;
color:#b16286 !important;
}
blockquote{
background-color:#504945;
color:#bdae93;
border-left:solid 4px #928374;
margin-left:12px;
padding:12px 12px 12px 24px;
}
img{
margin:12px 0px;
}
iframe{
margin:12px 0px;
}

61
harris/tag_Alex.html Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Alex"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Arnie.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Arnie"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Clarissa.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Clarissa"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Elijah.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Elijah"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Georgia.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Georgia"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Granddad.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Granddad"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Grandfather-Jack"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Grandfather-Les"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

61
harris/tag_Ian.html Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Ian"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

61
harris/tag_Jesse.html Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Jesse"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

38
harris/tag_Kitty.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Kitty"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

33
harris/tag_Le-Anne.html Normal file
View File

@ -0,0 +1,33 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Le-Anne"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="./45-hinkler-avenue---circa-1994.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

32
harris/tag_Lila.html Normal file
View File

@ -0,0 +1,32 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Lila"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

38
harris/tag_Nanma.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Nanma"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Nanna-Powel"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

61
harris/tag_Phoebe.html Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Phoebe"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

61
harris/tag_Ronnie.html Normal file
View File

@ -0,0 +1,61 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Ronnie"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

44
harris/tag_Sam.html Normal file
View File

@ -0,0 +1,44 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Sam"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="45-hinkler-avenue---circa-1994.html">
45 Hinkler Avenue - Circa 1994
</a></h3>
<!-- bashblog_timestamp: #202001041758.03# -->
<div class="subtitle">January 04, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Finally came across a VHS tape I'd been searching for for a long time. This is a
video from just prior to the Harris crew packing up from Bundaberg and moving to
Crows Nest in 1994.</p>
<p class="readmore"><a href="./45-hinkler-avenue---circa-1994.html">Read more...</a></p>
<h3><a class="ablack" href="dv-mix-tape.html">
DV Mix Tape
</a></h3>
<!-- bashblog_timestamp: #201910040910.06# -->
<div class="subtitle">October 04, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Mum found an old DV tape under the stairs and I took it home to see what was on
it. Turns out that it is babies birthdays and granddads.</p>
<p class="readmore"><a href="./dv-mix-tape.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

38
harris/tag_Seb.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Seb"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

38
harris/tag_Stumpy.html Normal file
View File

@ -0,0 +1,38 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Harris Family Files &mdash; Posts tagged "Stumpy"</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="https://zigford.org/harris/index.html">Harris Family Files</a></h1>
<div id="description">A place for family stuff</div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="harris-family---1988.html">
Harris Family - 1988
</a></h3>
<!-- bashblog_timestamp: #202006220844.23# -->
<div class="subtitle">June 22, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>I thought I lost this tape when Clarissa and I moved from Brisbane to the
Sunshine Coast. However it was safely in Mum's treasure chest all this time.
The title on the tape says '87, however during the video Dad mentions 1988.
Which is it?</p>
<p>Enjoy</p>
<p class="readmore"><a href="harris-family---1988.html">Read more...</a></p>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

281
how-i-code.html Normal file
View File

@ -0,0 +1,281 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>How I Code</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="how-i-code.html">
How I Code
</a></h3>
<!-- bashblog_timestamp: #201805240008.13# -->
<div class="subtitle">May 24, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<h3>Updated 17/08/2018</h3>
<p>Coding can be fun. I've enjoyed coding from a young age, starting with
<a href="https://en.m.wikipedia.org/wiki/GW-BASIC">GW-Basic</a> at maybe 6, 7, or 8.</p>
<p>I remember my brother Alex seemed like a real genius with the computer (an IBM
clone made by Acer 8086 XT). Using Basic he could make the computer do anything
and was writing his own games.</p>
<p>Back then, how we edited code would make us laugh today and I would say we take
the humble text editor for granted. Even something like notepad.exe is amazing
compared to tools of yesteryear. Here is a sample to illustrate:
To see your code you would have to type <code>LIST&lt;ENTER&gt;</code>: </p>
<pre><code> &gt;LIST
10 PRINT "WELCOME TO JESSES GAME"
20 PRINT "ENTER YOUR NAME"
30 $I = INPUT
40 PRINT "WELCOME $I, STRAP YOURSELF IN"
</code></pre>
<p>To edit a line of code you would re-write it by typing it in, line number and
all.</p>
<pre><code> 20 PRINT "ENTER YOUR FULL NAME"
</code></pre>
<p>And to insert a line, start a line with a number between existing lines</p>
<pre><code> 31 $A=$I
</code></pre>
<p>When you ran out of in-between-lines there was a command you could run to
reindex your lines which would space them all out 10 between each other.</p>
<p>Since then, the notepad, notepad++, programmers notepad, vim, nano, gedit,
bbedit and countless other advanced (or not-so-advanced) text editors have
evolved.</p>
<p>vi was born out of ed a streaming text editor which didn't really have a user
interface so it was kind of more like how I edited my BASIC programs. One thing
it did have were commands. Example of vim commands:</p>
<p>You've just run your script/app and get a syntax error on line 432. </p>
<blockquote>
<pre><code> PS&gt; .\bigscript.ps1
At C:\bigscript.ps1:432 char:27
+ if ($true) {echo "True" | {echo true}}
+ ~~~~~~~~~~~
Expressions are only allowed as the first element of a pipeline.
+ CategoryInfo : ParserError: (:) [], ParseException
+ FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline
</code></pre>
</blockquote>
<p>So you crack open bigscript in vim (btw, vim is amazing at handling big files)
Enter, <code>432Gf|a?&lt;ESC&gt;:wq</code> done.</p>
<p>To break that down, <code>432G</code> will put the cursor at line 432, <code>f|</code> will move the
cursor <em>forward</em> to the <code>|</code>, <code>a?</code> will <em>append</em> a <code>?</code>, then \<ESC> will return
vim back to normal mode and <code>:wq</code> puts vim in command mode and execute <em>w</em>rite
<em>q</em>uit. </p>
<p>Now that might seem a bit obtuse if your not a vim user, but to me that is
muscle memory and if coding is your life, this is something you are going to
want to learn.</p>
<p>If this interests you, and you start your vim journey, then read on. I will
share my vim configuration and history of using vim.</p>
<h2>My vim story</h2>
<p>When my Dad was about the same age as I am now (35), he went back to
University to study Computer Science. I remember him bringing home Slackware
and RedHat on floppies, which we would install and he would give me lessons on
using Vi possibly vim, but I didn't know at the time. (This is probably around
1996).</p>
<p>Since finishing School and entering the workforce I have mostly worked in
Windows environments. Even still, with the occasionaly need to touch GNU/Linux
at work and often testing Distro's at home I would always feel more efficient
when using Vi/m.</p>
<p>My feeling when using another editor is that moving around and changing text
feels so lethargic when done one button at a time. This drove me in recent
years to keep a copy of vim in my home profile.</p>
<p>Around 2011 I switched from VBScript and the occasional perl script to writing
fulltime in Powershell, so it made sense to try a few different editors which
are more native to the Windows platform. I tried Visual Studio Code, Powershell
ISE, Notepad++ and still kept coming back to vim.</p>
<p>Visual Studio Code is a great alternative, and it's Powershell extensions are
very good. If you do choose to use it, install the vim extension too. It brings
the vim commands to vscode.
Hoever being an electron app, it suffers from performance and memory
consumption issues. I love squeezing every drop of battery out of my PC and
when you see 7mb RAM on Vim vs 500Mb+ on VSCode, you might rethink your
choices.</p>
<p>Therefore I've resorted to delving into the world of customizing vim and
setting up plugins.</p>
<p>One of the main things I'm trying to acheive is a cross platform configuration.
You see, at work I'm on Windows and MacOs and at home I'm on Gentoo Linux. So I
have written my .vimrc file to work on any platform. I usually sync it with
OneDrive for Business and symlink it into my linux/mac/Windows home directory
with a seperate setup script. Without further ado, here it is with some
comments</p>
<h2>.vimrc</h2>
<pre><code>if has("win32") " Check if on windows \
" Also supports has(unix)
source $VIMRUNTIME/mswin.vim " Load a special vimscript \
" ctrl+c and ctrl+v support
behave mswin " Like above
set ff=dos " Set file format to dos
let os='win' " Set os var to win
set noeol " Don't add an extra line \
" at the end of each file
set nofixeol " Disable the fixeol : Not \
" not sure why this is needed
set backupdir=~/_vimtmp,. " Set backupdir rather \
" than leaving backup files \
" all over the fs
set directory=~/_vimtmp,. " Set dir for swp files \
" rather than leaving files \
" all over the fs
set undodir=$USERPROFILE/vimfiles/VIM_UNDO_FILES " Set persistent undo\
" files
" directory
let plug='$USERPROFILE/.vim' " Setup a var used later to \
" store plugins
set shell=powershell " Set shell to powershell \
" on windows
set shellcmdflag=-command " Arg for powrshell to run
else
set backupdir=~/.vimtmp,.
set directory=~/.vimtmp,.
set undodir=$HOME/.vim/VIM_UNDO_FILES
let uname = system('uname') " Check variant of Unix \
" running. Linux|Macos
if uname =~ "Darwin" " If MacOS
let plug='~/.vim'
let os='mac' " Set os var to mac
else
if isdirectory('/mnt/c/Users/jpharris')
let plug='/mnt/c/Users/jpharris/.vim'
let os='wsl'
else
let plug='~/.vim'
let os='lin'
endif
endif
endif
execute "source " . plug . "/autoload/plug.vim"
if exists('*plug#begin')
call plug#begin(plug . '/plugged') " Enable the following plugins
Plug 'tpope/vim-fugitive'
Plug 'junegunn/gv.vim'
Plug 'junegunn/vim-easy-align'
Plug 'jiangmiao/auto-pairs'
"Plug 'vim-airline/vim-airline' " Airline disabled for perf
Plug 'morhetz/gruvbox'
Plug 'ervandew/supertab'
Plug 'tomtom/tlib_vim'
Plug 'MarcWeber/vim-addon-mw-utils'
Plug 'PProvost/vim-ps1'
Plug 'garbas/vim-snipmate'
Plug 'honza/vim-snippets'
call plug#end()
endif
" Remove menu bars
if has("gui_running") " Options for gvim only
set guioptions -=m " Disable menubar
set guioptions -=T " Disable Status bar
set lines=50 " Set default of lines
set columns=80 " Set default of columns
if os =~ "lin"
set guifont=Fira\ Code\ 12
elseif os =~ "mac"
set guifont=FiraCode-Retina:h14
else
set guifont=Fira_Code_Retina:h12:cANSI:qDRAFT
set renderoptions=type:directx
set encoding=utf-8
endif
set background=dark
colorscheme gruvbox
else
set mouse=a
if has('termguicolors')
set termguicolors " Enable termguicolors for \
" consoles which support 256.
set background=dark
colorscheme gruvbox
endif
endif
if has("persistent_undo")
set undofile " Enable persistent undo
endif
colorscheme evening " Set the default colorscheme
" Attempt to start vim-plug
syntax on " Enable syntax highlighting
filetype plugin indent on " Enable plugin based auto \
" indent
set tabstop=4 " show existing tab with 4 \
" spaces width
set shiftwidth=4 " when indenting with '&gt;', \
" use 4 spaces width
set expandtab " On pressing tab, insert 4 \
" spaces
set number " Show line numbers
" Map F5 to python.exe %=current file
nnoremap &lt;silent&gt; &lt;F5&gt; :!clear;python %&lt;CR&gt;
" Remap tab to auto complete
imap &lt;C-@&gt; &lt;C-Space&gt;
" Setup ga shortcut for easyaline in visual mode
nmap ga &lt;Plug&gt;(EasyAlign)
" Setup ga shortcut for easyaline in normal mode
xmap ga &lt;Plug&gt;(EasyAlign)"
</code></pre>
<p><a href="https://github.com/zigford/vim">Link to vimrc on github</a></p>
<p>Tags: <a href='tag_vim.html'>vim</a>, <a href='tag_coding.html'>coding</a>, <a href='tag_windows.html'>windows</a>, <a href='tag_linux.html'>linux</a>, <a href='tag_macos.html'>macos</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

230
how-i-code.md Executable file
View File

@ -0,0 +1,230 @@
How I Code
###Updated 17/08/2018
Coding can be fun. I've enjoyed coding from a young age, starting with
[GW-Basic](https://en.m.wikipedia.org/wiki/GW-BASIC) at maybe 6, 7, or 8.
I remember my brother Alex seemed like a real genius with the computer (an IBM
clone made by Acer 8086 XT). Using Basic he could make the computer do anything
and was writing his own games.
Back then, how we edited code would make us laugh today and I would say we take
the humble text editor for granted. Even something like notepad.exe is amazing
compared to tools of yesteryear. Here is a sample to illustrate:
To see your code you would have to type `LIST<ENTER>`:
>LIST
10 PRINT "WELCOME TO JESSES GAME"
20 PRINT "ENTER YOUR NAME"
30 $I = INPUT
40 PRINT "WELCOME $I, STRAP YOURSELF IN"
To edit a line of code you would re-write it by typing it in, line number and
all.
20 PRINT "ENTER YOUR FULL NAME"
And to insert a line, start a line with a number between existing lines
31 $A=$I
When you ran out of in-between-lines there was a command you could run to
reindex your lines which would space them all out 10 between each other.
Since then, the notepad, notepad++, programmers notepad, vim, nano, gedit,
bbedit and countless other advanced (or not-so-advanced) text editors have
evolved.
vi was born out of ed a streaming text editor which didn't really have a user
interface so it was kind of more like how I edited my BASIC programs. One thing
it did have were commands. Example of vim commands:
You've just run your script/app and get a syntax error on line 432.
> PS> .\bigscript.ps1
> At C:\bigscript.ps1:432 char:27
> + if ($true) {echo "True" | {echo true}}
> + ~~~~~~~~~~~
> Expressions are only allowed as the first element of a pipeline.
> + CategoryInfo : ParserError: (:) [], ParseException
> + FullyQualifiedErrorId : ExpressionsMustBeFirstInPipeline
So you crack open bigscript in vim (btw, vim is amazing at handling big files)
Enter, `432Gf|a?<ESC>:wq` done.
To break that down, `432G` will put the cursor at line 432, `f|` will move the
cursor _forward_ to the `|`, `a?` will _append_ a `?`, then \<ESC> will return
vim back to normal mode and `:wq` puts vim in command mode and execute _w_rite
_q_uit.
Now that might seem a bit obtuse if your not a vim user, but to me that is
muscle memory and if coding is your life, this is something you are going to
want to learn.
If this interests you, and you start your vim journey, then read on. I will
share my vim configuration and history of using vim.
My vim story
---
When my Dad was about the same age as I am now (35), he went back to
University to study Computer Science. I remember him bringing home Slackware
and RedHat on floppies, which we would install and he would give me lessons on
using Vi possibly vim, but I didn't know at the time. (This is probably around
1996).
Since finishing School and entering the workforce I have mostly worked in
Windows environments. Even still, with the occasionaly need to touch GNU/Linux
at work and often testing Distro's at home I would always feel more efficient
when using Vi/m.
My feeling when using another editor is that moving around and changing text
feels so lethargic when done one button at a time. This drove me in recent
years to keep a copy of vim in my home profile.
Around 2011 I switched from VBScript and the occasional perl script to writing
fulltime in Powershell, so it made sense to try a few different editors which
are more native to the Windows platform. I tried Visual Studio Code, Powershell
ISE, Notepad++ and still kept coming back to vim.
Visual Studio Code is a great alternative, and it's Powershell extensions are
very good. If you do choose to use it, install the vim extension too. It brings
the vim commands to vscode.
Hoever being an electron app, it suffers from performance and memory
consumption issues. I love squeezing every drop of battery out of my PC and
when you see 7mb RAM on Vim vs 500Mb+ on VSCode, you might rethink your
choices.
Therefore I've resorted to delving into the world of customizing vim and
setting up plugins.
One of the main things I'm trying to acheive is a cross platform configuration.
You see, at work I'm on Windows and MacOs and at home I'm on Gentoo Linux. So I
have written my .vimrc file to work on any platform. I usually sync it with
OneDrive for Business and symlink it into my linux/mac/Windows home directory
with a seperate setup script. Without further ado, here it is with some
comments
##.vimrc
if has("win32") " Check if on windows \
" Also supports has(unix)
source $VIMRUNTIME/mswin.vim " Load a special vimscript \
" ctrl+c and ctrl+v support
behave mswin " Like above
set ff=dos " Set file format to dos
let os='win' " Set os var to win
set noeol " Don't add an extra line \
" at the end of each file
set nofixeol " Disable the fixeol : Not \
" not sure why this is needed
set backupdir=~/_vimtmp,. " Set backupdir rather \
" than leaving backup files \
" all over the fs
set directory=~/_vimtmp,. " Set dir for swp files \
" rather than leaving files \
" all over the fs
set undodir=$USERPROFILE/vimfiles/VIM_UNDO_FILES " Set persistent undo\
" files
" directory
let plug='$USERPROFILE/.vim' " Setup a var used later to \
" store plugins
set shell=powershell " Set shell to powershell \
" on windows
set shellcmdflag=-command " Arg for powrshell to run
else
set backupdir=~/.vimtmp,.
set directory=~/.vimtmp,.
set undodir=$HOME/.vim/VIM_UNDO_FILES
let uname = system('uname') " Check variant of Unix \
" running. Linux|Macos
if uname =~ "Darwin" " If MacOS
let plug='~/.vim'
let os='mac' " Set os var to mac
else
if isdirectory('/mnt/c/Users/jpharris')
let plug='/mnt/c/Users/jpharris/.vim'
let os='wsl'
else
let plug='~/.vim'
let os='lin'
endif
endif
endif
execute "source " . plug . "/autoload/plug.vim"
if exists('*plug#begin')
call plug#begin(plug . '/plugged') " Enable the following plugins
Plug 'tpope/vim-fugitive'
Plug 'junegunn/gv.vim'
Plug 'junegunn/vim-easy-align'
Plug 'jiangmiao/auto-pairs'
"Plug 'vim-airline/vim-airline' " Airline disabled for perf
Plug 'morhetz/gruvbox'
Plug 'ervandew/supertab'
Plug 'tomtom/tlib_vim'
Plug 'MarcWeber/vim-addon-mw-utils'
Plug 'PProvost/vim-ps1'
Plug 'garbas/vim-snipmate'
Plug 'honza/vim-snippets'
call plug#end()
endif
" Remove menu bars
if has("gui_running") " Options for gvim only
set guioptions -=m " Disable menubar
set guioptions -=T " Disable Status bar
set lines=50 " Set default of lines
set columns=80 " Set default of columns
if os =~ "lin"
set guifont=Fira\ Code\ 12
elseif os =~ "mac"
set guifont=FiraCode-Retina:h14
else
set guifont=Fira_Code_Retina:h12:cANSI:qDRAFT
set renderoptions=type:directx
set encoding=utf-8
endif
set background=dark
colorscheme gruvbox
else
set mouse=a
if has('termguicolors')
set termguicolors " Enable termguicolors for \
" consoles which support 256.
set background=dark
colorscheme gruvbox
endif
endif
if has("persistent_undo")
set undofile " Enable persistent undo
endif
colorscheme evening " Set the default colorscheme
" Attempt to start vim-plug
syntax on " Enable syntax highlighting
filetype plugin indent on " Enable plugin based auto \
" indent
set tabstop=4 " show existing tab with 4 \
" spaces width
set shiftwidth=4 " when indenting with '>', \
" use 4 spaces width
set expandtab " On pressing tab, insert 4 \
" spaces
set number " Show line numbers
" Map F5 to python.exe %=current file
nnoremap <silent> <F5> :!clear;python %<CR>
" Remap tab to auto complete
imap <C-@> <C-Space>
" Setup ga shortcut for easyaline in visual mode
nmap ga <Plug>(EasyAlign)
" Setup ga shortcut for easyaline in normal mode
xmap ga <Plug>(EasyAlign)"
[Link to vimrc on github](https://github.com/zigford/vim)
Tags: vim, coding, windows, linux, macos

BIN
images/bauhn.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

BIN
images/btrfs1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 KiB

BIN
images/btrfsscrub.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 235 KiB

BIN
images/cascadiacode.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 429 KiB

BIN
images/connexent.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

BIN
images/gentoo64bit.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 668 KiB

88
index.html Normal file
View File

@ -0,0 +1,88 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>zigford.org</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<h3><a class="ablack" href="transfer-btfs-snapshots-with-netcat.html">
Transfer BTFS snapshots with netcat
</a></h3>
<!-- bashblog_timestamp: #202007192257.11# -->
<div class="subtitle">July 19, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Netcat, the swiss army knife of TCP/IP can be used for many tasks.
Today, I'll breifly demonstrate sending btrfs snapshots between computers
with it's assistance.</p>
<p class="readmore"><a href="./transfer-btfs-snapshots-with-netcat.html">Read more...</a></p>
<h3><a class="ablack" href="screen-sharing-and-capture-in-wayland-on-gentoo.html">
Screen sharing and capture in Wayland on Gentoo
</a></h3>
<!-- bashblog_timestamp: #202006012105.46# -->
<div class="subtitle">June 01, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>The article shows the tweaks I had to make to my system in order to
be able to share my screen in Zoom, and capture my screen in
OBS under Gnome on Wayland on Gentoo.</p>
<p class="readmore"><a href="./screen-sharing-and-capture-in-wayland-on-gentoo.html">Read more...</a></p>
<h3><a class="ablack" href="scrubbing-my-data---btrfs.html">
Scrubbing my data - BTRFS
</a></h3>
<!-- bashblog_timestamp: #202004232149.01# -->
<div class="subtitle">April 23, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>It's no secret I use BTRFS, so I have a fair amount of data stored on this
filesystem. With most popular filesystems you have no way of knowing if your
data is the same read as was originally written. A few modern filesystems
support a function known as scrubbing.</p>
<p class="readmore"><a href="./scrubbing-my-data---btrfs.html">Read more...</a></p>
<h3><a class="ablack" href="defragging-files-in-btrfs---oneliner.html">
Defragging files in btrfs - Oneliner
</a></h3>
<!-- bashblog_timestamp: #202004101301.14# -->
<div class="subtitle">April 10, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Sometimes, small databasey files get a bit fragmented over time on a COW
filesystem. This touch of shell is a goodone to clean them up every now and
then.</p>
<p class="readmore"><a href="./defragging-files-in-btrfs---oneliner.html">Read more...</a></p>
<h3><a class="ablack" href="lets-encrypt-kerfuffle.html">
Lets encrypt kerfuffle
</a></h3>
<!-- bashblog_timestamp: #202003102035.26# -->
<div class="subtitle">March 10, 2020 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS
records of domains it had requests for.</p>
<p class="readmore"><a href="./lets-encrypt-kerfuffle.html">Read more...</a></p>
<div id="all_posts"><a href="all_posts.html">View more posts</a> &mdash; <a href="all_tags.html">All tags</a> &mdash; <a href="feed.rss">Subscribe</a></div>
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

59
introducing-pwshblog.html Normal file
View File

@ -0,0 +1,59 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Introducing PwshBlog</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="introducing-pwshblog.html">
Introducing PwshBlog
</a></h3>
<!-- bashblog_timestamp: #201901011040.22# -->
<div class="subtitle">January 01, 2019 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p>Over the holidays I've kept myself busy by porting
<a href="https://github.com/cfenollosa/bashblog">BashBlog</a> to PowerShell. Although work is by no
means complete, you can actually use it to edit an
existing blogpost</p>
<hr />
<p>The idea came to me when the PowerShell core team
added Markdown cmdlets to PowerShell and I thought
it would be nice to have the whole system written in
one script without external dependencies.</p>
<p>Benefits of this, I'm hoping is speed. This site is
hosted and created on a Rasperry Pi 2. Which means
when the indexes are created after a new post it
takes a longer while to create as more posts are
added.</p>
<p>Head on over to <a href="https://github.com/zigford/PwshBlog">github</a> to check out the code,
but I'll post progress reports here from time to
time.</p>
<p>Tags: <a href='tag_bash-v-powershell.html'>bash-v-powershell</a>, <a href='tag_bash.html'>bash</a>, <a href='tag_powershell.html'>powershell</a>, <a href='tag_shells.html'>shells</a>, <a href='tag_scripting.html'>scripting</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

28
introducing-pwshblog.md Normal file
View File

@ -0,0 +1,28 @@
Introducing PwshBlog
Over the holidays I've kept myself busy by porting
[BashBlog][1] to PowerShell. Although work is by no
means complete, you can actually use it to edit an
existing blogpost
---
The idea came to me when the PowerShell core team
added Markdown cmdlets to PowerShell and I thought
it would be nice to have the whole system written in
one script without external dependencies.
Benefits of this, I'm hoping is speed. This site is
hosted and created on a Rasperry Pi 2. Which means
when the indexes are created after a new post it
takes a longer while to create as more posts are
added.
Head on over to [github][2] to check out the code,
but I'll post progress reports here from time to
time.
Tags: bash-v-powershell, bash, powershell, shells, scripting
[1]:https://github.com/cfenollosa/bashblog
[2]:https://github.com/zigford/PwshBlog

View File

@ -0,0 +1,106 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" href="main.css" type="text/css" />
<link rel="stylesheet" href="blog.css" type="text/css" />
<link rel="alternate" type="application/rss+xml" title="Subscribe to this page..." href="feed.rss" />
<title>Ip addresses on your subnet with xargs</title>
</head><body>
<div id="divbodyholder">
<div class="headerholder"><div class="header">
<div id="title">
<h1 class="nomargin"><a class="ablack" href="http://zigford.org/index.html">zigford.org</a></h1>
<div id="description"><a href="about.html">About</a><a href="links.html"> | Links</a><a href="scripts.html"> | Scripts</a><br>Sharing linux/windows scripts and tips</br></div>
</div></div></div>
<div id="divbody"><div class="content">
<!-- entry begin -->
<h3><a class="ablack" href="ip-addresses-on-your-subnet-with-xargs.html">
Ip addresses on your subnet with xargs
</a></h3>
<!-- bashblog_timestamp: #201809012300.09# -->
<div class="subtitle">September 01, 2018 &mdash;
Jesse Harris
</div>
<!-- text begin -->
<p><a href="tag_xargs.html">xargs</a> strikes again. This time I'm going to use it's parallel
feature to ping 255 machines very quickly. xargs has a parem <code>-Px</code> where x is
the number of parallel processes to spawn of the subsequent process. </p>
<hr />
<h2>Update - 11/04/2019 Added MacOS Xargs syntax</h2>
<p>Together with the bash <code>{1..255}</code> expression that expands to output 1 to 255, we
can do something like this</p>
<pre><code> $ s=192.168.11.
$ echo ${s}{1..254} | xargs -P254 -d' ' -L1 ping -c1 -w1 | grep 'bytes from'
</code></pre>
<p>In this example, <code>-P254</code> tells xargs to spawn 254 procceses, <code>-d' '</code> says to
split commands with a space instead of the normal newline, and <code>-L1</code> says to
finish building the command after <code>1</code> amount of input.</p>
<p>To achieve the same result in powershell is not quite as simple. Out of the box
you could use a <code>ForeEach-Object</code> loop like so:</p>
<pre><code> PS&gt; $s='192.168.11.'
PS&gt; echo $s[1..254] | %{ Test-Connection $_ -Count 1 -TTL 1 -EA SilentlyContinue }
</code></pre>
<p>But it's just a sequential loop. Instead we are going to have to leverage
the .Net <a href="docs.microsoft.com/dotnet/api/system.net.networkinformation.ping">ping</a>
class.</p>
<p>Lee Holmes <a href="https://twitter.com/Lee_Holmes/status/646890380995067904">shared</a>
this on twitter back in 2015:</p>
<blockquote>
<p>Sweep a /16 in 30s: </p>
<pre><code> $t=$ips|%{
(New-Object Net.NetworkInformation.Ping).SendPingAsync($_,250)};
[Threading.Tasks.Task]::WaitAll($t);
$t.Result
</code></pre>
</blockquote>
<p>Before you run this, build out an array of ips, like so:</p>
<pre><code>PS&gt; $ips=[1..254] | %{"192.168.11.$_"}
</code></pre>
<p>This use of powershell seems a bit too obtuse for me, and not something likely
to stick in my head. </p>
<p>I did find other ways to do it in powershell. A collegue of mine Darryl,
<a href="https://github.com/dardie">dardie</a> on github added <a href="https://github.com/zigford/USC-SCCM/commit/d9813d5626cbb52201541a574a0adf51e99466d8#diff-73c8dfd0435ecc73e3fc408a851841c2">this</a>
commit to a module I maintain which has pretty good results. Again however not
something you could commit to memory as you need to write a function to use it.</p>
<h2>Final thoughts</h2>
<p>In this case it looks to me like bash wins, if not in performance, but by being
simpler to implement and commit to memory, or recreate from memory. But if I
ever need to do this in powershell again, I can just come back to my site for
reference.</p>
<p>If you have any comments or feedback, please <a href="mailto:jesse@zigford.org">email</a> me
and let me know if you will allow your feedback to be posted here.</p>
<h2>MacOS</h2>
<p>For completeness and because I tried to run this and failed on MacOS today I'm
adding it's syntax:</p>
<p>Xargs on MacOS is a BSD variant, seemlingly pulled from FreeBSD going by the
man page. It still supports the <code>-Px</code>, however <code>-d</code> is not required as it
splits on newline and spaces by default. The other difference is that instead
of <code>-L1</code> we use <code>-n1</code> with essentially the same effect.</p>
<p>Also of note is the differences with ping. Rather than <code>-w1</code> to reduce time
waiting for a ping reply, <code>-t1</code> is used.</p>
<pre><code> echo "192.168.11."{1..254} | xargs -P254 -n1 ping -c1 -t1 |
awk '/bytes from/ {
match($0,"[0-9]+.[0-9]+.[0-9]+.[0-9]+");
n=substr($0,RSTART,RLENGTH);
print n
}'
</code></pre>
<p><em>In this example, I'm using an awk script to only print hosts that respond</em></p>
<p>Tags: <a href='tag_bash-v-powershell.html'>bash-v-powershell</a>, <a href='tag_powershell.html'>powershell</a>, <a href='tag_xargs.html'>xargs</a>, <a href='tag_bash.html'>bash</a>, <a href='tag_ping.html'>ping</a>, <a href='tag_awk.html'>awk</a></p>
<!-- text end -->
<!-- entry end -->
</div>
<div id="footer">&copy <a href="http://twitter.com/zigford_org">Jesse Harris</a> &mdash; <a href="mailto:jesse&#64;zigford&#46;org">jesse&#64;zigford&#46;org</a><br/>
Generated with <a href="https://github.com/cfenollosa/bashblog">bashblog</a>, a single bash script to easily create blogs like this one</div>
</div></div>
</body></html>

View File

@ -0,0 +1,86 @@
Ip addresses on your subnet with xargs
[xargs](tag_xargs.html) strikes again. This time I'm going to use it's parallel
feature to ping 255 machines very quickly. xargs has a parem `-Px` where x is
the number of parallel processes to spawn of the subsequent process.
---
## Update - 11/04/2019 Added MacOS Xargs syntax
Together with the bash `{1..255}` expression that expands to output 1 to 255, we
can do something like this
$ s=192.168.11.
$ echo ${s}{1..254} | xargs -P254 -d' ' -L1 ping -c1 -w1 | grep 'bytes from'
In this example, `-P254` tells xargs to spawn 254 procceses, `-d' '` says to
split commands with a space instead of the normal newline, and `-L1` says to
finish building the command after `1` amount of input.
To achieve the same result in powershell is not quite as simple. Out of the box
you could use a `ForeEach-Object` loop like so:
PS> $s='192.168.11.'
PS> echo $s[1..254] | %{ Test-Connection $_ -Count 1 -TTL 1 -EA SilentlyContinue }
But it's just a sequential loop. Instead we are going to have to leverage
the .Net [ping](docs.microsoft.com/dotnet/api/system.net.networkinformation.ping)
class.
Lee Holmes [shared](https://twitter.com/Lee_Holmes/status/646890380995067904)
this on twitter back in 2015:
> Sweep a /16 in 30s:
>
> $t=$ips|%{
> (New-Object Net.NetworkInformation.Ping).SendPingAsync($_,250)};
> [Threading.Tasks.Task]::WaitAll($t);
> $t.Result
Before you run this, build out an array of ips, like so:
PS> $ips=[1..254] | %{"192.168.11.$_"}
This use of powershell seems a bit too obtuse for me, and not something likely
to stick in my head.
I did find other ways to do it in powershell. A collegue of mine Darryl,
[dardie](https://github.com/dardie) on github added [this](https://github.com/zigford/USC-SCCM/commit/d9813d5626cbb52201541a574a0adf51e99466d8#diff-73c8dfd0435ecc73e3fc408a851841c2)
commit to a module I maintain which has pretty good results. Again however not
something you could commit to memory as you need to write a function to use it.
## Final thoughts
In this case it looks to me like bash wins, if not in performance, but by being
simpler to implement and commit to memory, or recreate from memory. But if I
ever need to do this in powershell again, I can just come back to my site for
reference.
If you have any comments or feedback, please [email](mailto:jesse@zigford.org) me
and let me know if you will allow your feedback to be posted here.
## MacOS
For completeness and because I tried to run this and failed on MacOS today I'm
adding it's syntax:
Xargs on MacOS is a BSD variant, seemlingly pulled from FreeBSD going by the
man page. It still supports the `-Px`, however `-d` is not required as it
splits on newline and spaces by default. The other difference is that instead
of `-L1` we use `-n1` with essentially the same effect.
Also of note is the differences with ping. Rather than `-w1` to reduce time
waiting for a ping reply, `-t1` is used.
echo "192.168.11."{1..254} | xargs -P254 -n1 ping -c1 -t1 |
awk '/bytes from/ {
match($0,"[0-9]+.[0-9]+.[0-9]+.[0-9]+");
n=substr($0,RSTART,RLENGTH);
print n
}'
_In this example, I'm using an awk script to only print hosts that respond_
Tags: bash-v-powershell, powershell, xargs, bash, ping, awk

BIN
kronks/.backup.tar.gz Normal file

Binary file not shown.

57
kronks/.config Normal file
View File

@ -0,0 +1,57 @@
$Script:template_tags_title="All tags"
$Script:cut_do=$True
$Script:global_author="Jesse Harris"
$Script:template_tags_posts_2_4="posts"
$Script:blog_feed="feed.rss"
$Script:number_of_index_articles="5"
$Script:template_archive_index_page="Back to the index page"
$Script:global_license="&copy"
$Script:non_blogpost_files=$null
$Script:index_file="index.html"
$Script:tags_index="all_tags.html"
$Script:preview_url=""
$Script:global_url="http://zigford.org/kronks"
$Script:footer_file=""
$Script:save_markdown="yes"
$Script:global_author_url="http://twitter.com/zigford_org"
$Script:global_description='Sharing old VHS recordings and media for the family'
$Script:date_format_timestamp="yyyyMMddHHmm.ss"
$Script:cut_line='<hr ?\/?>'
$Script:date_allposts_header="MMMM yyyy"
$Script:css_include=""
$Script:global_twitter_search="twitter"
$Script:template_archive="View more posts"
$Script:template_subscribe_browser_button="Subscribe to this page..."
$Script:template_tag_title="Posts tagged"
$Script:cut_tags="yes"
$Script:template_subscribe="Subscribe"
$Script:date_format="MMMM dd, yyyy"
$Script:header_file=""
$Script:template_read_more="Read more..."
$Script:archive_index="all_posts.html"
$Script:body_end_file=""
$Script:global_feedburner=""
$Script:global_software_name="PwshBlog"
$Script:template_twitter_button="Tweet"
$Script:template_archive_title="All posts"
$Script:global_twitter_username=""
$Script:body_begin_file=""
$Script:template_tags_line_header="Tags:"
$Script:global_twitter_cookieless="false"
$Script:convert_filename="%{`$b=[system.text.encoding]::UTF8.GetBytes(`$_);`$c=[system.text.encoding]::convert([text.encoding]::UTF8,[text.encoding]::ASCII,`$b);(-join [system.text.encoding]::ASCII.GetChars(`$c)).ToLower() -replace ' ','-' -replace '[^a-z0-9-]',''}"
$Script:template_tags_posts_singular="post"
$Script:template_tags_posts="posts"
$Script:number_of_feed_articles="10"
$Script:date_locale=""
$Script:html_exclude="archive.html"
$Script:global_analytics=""
$Script:global_email="jesse@zigford.org"
$Script:global_disqus_username=""
$Script:date_format_full="dddd, dd MMM yyyy HH:mm:ss zzzz"
$Script:template_comments="Comments?"
$Script:global_title="Kronks Videos"
$Script:global_analytics_file=""
$Script:global_software_version="2.8"
$Script:date_inpost="bashblog_timestamp"
$Script:template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"
$Script:prefix_tags="tag_"

142
kronks/.config.bak Normal file
View File

@ -0,0 +1,142 @@
global_software_name="BashBlog"
global_software_version="2.8"
# Blog title
global_title="Kronks Videos"
# The typical subtitle for each blog
global_description='Sharing old VHS recordings and media for the family'
#global_description="Sharing linux/windows scripts and tips"
# The public base URL for this blog
global_url="http://zigford.org/kronks"
# Your name
global_author="Jesse Harris"
# You can use twitter or facebook or anything for global_author_url
global_author_url="http://twitter.com/zigford_org"
# Your email
global_email="jesse@zigford.org"
# CC by-nc-nd is a good starting point, you can change this to "&copy;" for Copyright
global_license="&copy"
# If you have a Google Analytics ID (UA-XXXXX) and wish to use the standard
# embedding code, put it on global_analytics
# If you have custom analytics code (i.e. non-google) or want to use the Universal
# code, leave global_analytics empty and specify a global_analytics_file
global_analytics=""
global_analytics_file=""
# Leave this empty (i.e. "") if you don't want to use feedburner,
# or change it to your own URL
global_feedburner=""
# Change this to your username if you want to use twitter for comments
global_twitter_username=""
# Set this to false for a Twitter button with share count. The cookieless version
# is just a link.
global_twitter_cookieless="false"
# Default search page, where tweets more than a week old are hidden
global_twitter_search="twitter"
# Change this to your disqus username to use disqus for comments
global_disqus_username=""
# Blog generated files
# index page of blog (it is usually good to use "index.html" here)
index_file="index.html"
number_of_index_articles="5"
# global archive
archive_index="all_posts.html"
tags_index="all_tags.html"
# Non blogpost files. Bashblog will ignore these. Useful for static pages and custom content
# Add them as a bash array, e.g. non_blogpost_files=("news.html" "test.html")
non_blogpost_files=()
# feed file (rss in this case)
blog_feed="feed.rss"
number_of_feed_articles="10"
# "cut" blog entry when putting it to index page. Leave blank for full articles in front page
# i.e. include only up to first '<hr>', or '----' in markdown
cut_do="cut"
# When cutting, cut also tags? If "no", tags will appear in index page for cut articles
cut_tags="yes"
# Regexp matching the HTML line where to do the cut
# note that slash is regexp separator so you need to prepend it with backslash
cut_line='<hr ?\/?>'
# save markdown file when posting with "bb post -m". Leave blank to discard it.
save_markdown="yes"
# prefix for tags/categories files
# please make sure that no other html file starts with this prefix
prefix_tags="tag_"
# personalized header and footer (only if you know what you're doing)
# DO NOT name them .header.html, .footer.html or they will be overwritten
# leave blank to generate them, recommended
header_file=""
footer_file=""
# extra content to add just after we open the <body> tag
# and before the actual blog content
body_begin_file=""
# extra content to add just before we cloese <body tag (just before
# </body>)
body_end_file=""
# CSS files to include on every page, f.ex. css_include=('main.css' 'blog.css')
# leave empty to use generated
css_include=()
# HTML files to exclude from index, f.ex. post_exclude=('imprint.html 'aboutme.html')
html_exclude=("windows.html" "scripts.html" "visitors.html")
# Localization and i18n
# "Comments?" (used in twitter link after every post)
template_comments="Comments?"
# "Read more..." (link under cut article on index page)
template_read_more="Read more..."
# "View more posts" (used on bottom of index page as link to archive)
template_archive="View more posts"
# "All posts" (title of archive page)
template_archive_title="All posts"
# "All tags"
template_tags_title="All tags"
# "posts" (on "All tags" page, text at the end of each tag line, like "2. Music - 15 posts")
template_tags_posts="posts"
template_tags_posts_2_4="posts" # Some slavic languages use a different plural form for 2-4 items
template_tags_posts_singular="post"
# "Posts tagged" (text on a title of a page with index of one tag, like "My Blog - Posts tagged "Music"")
template_tag_title="Posts tagged"
# "Tags:" (beginning of line in HTML file with list of all tags for this article)
template_tags_line_header="Tags:"
# "Back to the index page" (used on archive page, it is link to blog index)
template_archive_index_page="Back to the index page"
# "Subscribe" (used on bottom of index page, it is link to RSS feed)
template_subscribe="Subscribe"
# "Subscribe to this page..." (used as text for browser feed button that is embedded to html)
template_subscribe_browser_button="Subscribe to this page..."
# "Tweet" (used as twitter text button for posting to twitter)
template_twitter_button="Tweet"
template_twitter_comment="&lt;Type your comment here but please leave the URL so that other people can follow the comments&gt;"
# The locale to use for the dates displayed on screen
date_format="%B %d, %Y"
date_locale="C"
date_inpost="bashblog_timestamp"
# Don't change these dates
date_format_full="%a, %d %b %Y %H:%M:%S %z"
date_format_timestamp="%Y%m%d%H%M.%S"
date_allposts_header="%B %Y"
# Perform the post title -> filename conversion
# Experts only. You may need to tune the locales too
# Leave empty for no conversion, which is not recommended
# This default filter respects backwards compatibility
convert_filename="iconv -f utf-8 -t ascii//translit | sed 's/^-*//' | tr [:upper:] [:lower:] | tr ' ' '-' | tr -dc '[:alnum:]-'"
# URL where you can view the post while it's being edited
# same as global_url by default
# You can change it to path on your computer, if you write posts locally
# before copying them to the server
preview_url=""
# Markdown location. Trying to autodetect by default.
# The invocation must support the signature 'markdown_bin in.md > out.html'
markdown_bin=/usr/local/bin/markdown

BIN
kronks/.yesterday.tar.gz Normal file

Binary file not shown.

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