commit 76334028436c12de4b870d25512fb6d2c14de852 Author: Jesse Harris Date: Tue Jul 21 06:49:32 2020 +1000 initial push diff --git a/.config b/.config new file mode 100644 index 0000000..c68bf3a --- /dev/null +++ b/.config @@ -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='About | Links | Scripts
Sharing linux/windows scripts and tips
' +#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 "©" for Copyright +global_license="©" + +# 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 '
', 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='
' +# 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 tag +# and before the actual blog content +body_begin_file="" +# extra content to add just before we cloese ) +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="<Type your comment here but please leave the URL so that other people can follow the comments>" + +# 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 diff --git a/about.html b/about.html new file mode 100644 index 0000000..f00e393 --- /dev/null +++ b/about.html @@ -0,0 +1,50 @@ + + + + + + + +About + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+About +

+ +
September 02, 2018 — +Jesse Harris +
+ + +

"Hi, my name is Jesse Harris. I'm a self professed operating systems nerd. +I actively use current versions of Windows, +GNU/Linux, Macos and dabble in +the BSDs.

+ +

I work for a University in the client systems area, where +I do a fair amount of scripting.

+ +

Read about:

+ + + +

I want to use this site to share my insites about the differences in the +operating systems in an unbiased way."

+ + + +
+ +
+ diff --git a/about.md b/about.md new file mode 100644 index 0000000..f8fdfcb --- /dev/null +++ b/about.md @@ -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." diff --git a/all_posts.html b/all_posts.html new file mode 100644 index 0000000..0183b7c --- /dev/null +++ b/all_posts.html @@ -0,0 +1,133 @@ + + + + + + + +zigford.org — All posts + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

All posts

+

July 2020

+ +

June 2020

+ +

April 2020

+ +

March 2020

+ +

February 2020

+ +

October 2019

+ +

September 2019

+ +

August 2019

+ +

July 2019

+ +

June 2019

+ +

May 2019

+ +

April 2019

+ +

March 2019

+ +

February 2019

+ +

January 2019

+ +

December 2018

+ +

October 2018

+ +

September 2018

+ +

August 2018

+ +

May 2018

+ + +
+ +
+ diff --git a/all_tags.html b/all_tags.html new file mode 100644 index 0000000..b422d6d --- /dev/null +++ b/all_tags.html @@ -0,0 +1,88 @@ + + + + + + + +zigford.org — All tags + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

All tags

+ + +
+ +
+ diff --git a/ansi-vt100-colors-in-powershell-core-prompt.html b/ansi-vt100-colors-in-powershell-core-prompt.html new file mode 100644 index 0000000..882de1e --- /dev/null +++ b/ansi-vt100-colors-in-powershell-core-prompt.html @@ -0,0 +1,117 @@ + + + + + + + +ANSI VT100 colors in Powershell Core prompt + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+ANSI VT100 colors in Powershell Core prompt +

+ +
October 19, 2018 — +Jesse Harris +
+ +

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 or superuser 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 and MacOS with the two areas of compatability being that +Windows uses backslash \ and Unixes like GNU/Linux 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

+

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

+ + + + + + + + + + + +
+ +
+ diff --git a/ansi-vt100-colors-in-powershell-core-prompt.md b/ansi-vt100-colors-in-powershell-core-prompt.md new file mode 100644 index 0000000..1279359 --- /dev/null +++ b/ansi-vt100-colors-in-powershell-core-prompt.md @@ -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 diff --git a/blog.css b/blog.css new file mode 100644 index 0000000..894783e --- /dev/null +++ b/blog.css @@ -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; +} diff --git a/burning-a-cd-cli-style.html b/burning-a-cd-cli-style.html new file mode 100644 index 0000000..61f0ac6 --- /dev/null +++ b/burning-a-cd-cli-style.html @@ -0,0 +1,80 @@ + + + + + + + +Burning a CD CLI Style + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+ + + + + + + + + + + +
+ +
+ diff --git a/burning-a-cd-cli-style.md b/burning-a-cd-cli-style.md new file mode 100644 index 0000000..d6445fb --- /dev/null +++ b/burning-a-cd-cli-style.md @@ -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 diff --git a/burning-a-dvd-video-on-gentoo.html b/burning-a-dvd-video-on-gentoo.html new file mode 100644 index 0000000..d2386a0 --- /dev/null +++ b/burning-a-dvd-video-on-gentoo.html @@ -0,0 +1,78 @@ + + + + + + + +Burning a DVD Video on Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Burning a DVD Video on Gentoo +

+ +
May 15, 2018 — +Jesse Harris +
+ +

Quick note for my future self

+
+

Overview

+
    +
  1. Convert media to dvd compatible format
  2. +
  3. Author DVD title
  4. +
  5. Author DVD Table of Contents
  6. +
  7. Convert DVD folder to ISO
  8. +
  9. (Optional) Loopback mount ISO and test.
  10. +
  11. Burn ISO to DVD
  12. +
+

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

+

Tags: burn-a-dvd, gentoo, ffmpeg, linux

+ + + + + + + + +
+ +
+ diff --git a/burning-a-dvd-video-on-gentoo.md b/burning-a-dvd-video-on-gentoo.md new file mode 100755 index 0000000..9311283 --- /dev/null +++ b/burning-a-dvd-video-on-gentoo.md @@ -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 diff --git a/cascadia-code.html b/cascadia-code.html new file mode 100644 index 0000000..f8215c4 --- /dev/null +++ b/cascadia-code.html @@ -0,0 +1,55 @@ + + + + + + + +Cascadia Code + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Cascadia Code +

+ +
September 20, 2019 — +Jesse Harris +
+ +

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 for a while, I've felt it takes just a tad too much spacing between +letters. Cascadia Code on the other hand feels tight and fun.

+

The font also supports ligatures 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

+

And you can find my ebuild here

+

Tags: fonts, gentoo

+ + + + + + + + + +
+ +
+ diff --git a/cascadia-code.md b/cascadia-code.md new file mode 100644 index 0000000..0dcbd88 --- /dev/null +++ b/cascadia-code.md @@ -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 diff --git a/christmas-2018.html b/christmas-2018.html new file mode 100644 index 0000000..866e6b4 --- /dev/null +++ b/christmas-2018.html @@ -0,0 +1,38 @@ + + + + + + + +Christmas 2018 + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Christmas 2018 +

+ +
December 27, 2018 — +Jesse Harris +
+ +

Video my amazing wife made about Christmas 2018 Harris family

+

+

Tags: Personal

+ + +
+ +
+ diff --git a/christmas-2018.md b/christmas-2018.md new file mode 100644 index 0000000..1dbabda --- /dev/null +++ b/christmas-2018.md @@ -0,0 +1,10 @@ +Christmas 2018 + +Video my amazing wife made about Christmas 2018 Harris family + + + +Tags: Personal diff --git a/compiling-vim-on-ubuntu-with-wsl.html b/compiling-vim-on-ubuntu-with-wsl.html new file mode 100644 index 0000000..172f9ea --- /dev/null +++ b/compiling-vim-on-ubuntu-with-wsl.html @@ -0,0 +1,75 @@ + + + + + + + +Compiling VIM on Ubuntu with WSL + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Compiling VIM on Ubuntu with WSL +

+ +
May 21, 2018 — +Jesse Harris +
+ +

As a Windows Admin by day, but a longtime vim and linux user, I've flocked to +Microsoft's WSL +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

+

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.

+ + + + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/compiling-vim-on-ubuntu-with-wsl.md b/compiling-vim-on-ubuntu-with-wsl.md new file mode 100755 index 0000000..5083da7 --- /dev/null +++ b/compiling-vim-on-ubuntu-with-wsl.md @@ -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 diff --git a/converting-vhs-and-dv-to-modern-formats---part-1.html b/converting-vhs-and-dv-to-modern-formats---part-1.html new file mode 100644 index 0000000..bf00674 --- /dev/null +++ b/converting-vhs-and-dv-to-modern-formats---part-1.html @@ -0,0 +1,205 @@ + + + + + + + +Converting VHS and DV to Modern Formats - Part 1 + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Converting VHS and DV to Modern Formats - Part 1 +

+ +
May 26, 2019 — +Jesse Harris +
+ +

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. +
  3. Connect USB Capture Device to PC
  4. +
  5. Install->Launch Capture software
  6. +
  7. Press Record in the Software
  8. +
  9. Press Play on the VHS player
  10. +
+

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 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 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

+

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 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

+ + + + + + + + + + + +
+ +
+ diff --git a/converting-vhs-and-dv-to-modern-formats---part-1.md b/converting-vhs-and-dv-to-modern-formats---part-1.md new file mode 100644 index 0000000..290668d --- /dev/null +++ b/converting-vhs-and-dv-to-modern-formats---part-1.md @@ -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 ---> + USB video devices based on Nogatech NT1003/1004/1005 + STK1160 USB video capture support + WIS GO7007 MPEG encoder support + WIS GO7007 USB support + WIS GO7007 Loader support + Conexant cx231xx USB video capture support + 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 diff --git a/defragging-files-in-btrfs---oneliner.html b/defragging-files-in-btrfs---oneliner.html new file mode 100644 index 0000000..e95d56a --- /dev/null +++ b/defragging-files-in-btrfs---oneliner.html @@ -0,0 +1,79 @@ + + + + + + + +Defragging files in btrfs - Oneliner + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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

+ + + + + + + +
+ +
+ diff --git a/defragging-files-in-btrfs---oneliner.md b/defragging-files-in-btrfs---oneliner.md new file mode 100644 index 0000000..2f6d23b --- /dev/null +++ b/defragging-files-in-btrfs---oneliner.md @@ -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 diff --git a/downgrade-gentoo-from-testing-to-stable.html b/downgrade-gentoo-from-testing-to-stable.html new file mode 100644 index 0000000..a7ff5a4 --- /dev/null +++ b/downgrade-gentoo-from-testing-to-stable.html @@ -0,0 +1,94 @@ + + + + + + + +Downgrade Gentoo from testing to stable + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Downgrade Gentoo from testing to stable +

+ +
August 05, 2018 — +Jesse Harris +
+ +

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 with a few +tweaks.

+
    +
  1. First, edit make.conf ACCEPT_KEYWORDS to:

    +
     ACCEPT_KEYWORDS=amd64
    +
    +
  2. +
  3. 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
    +
    +
  4. +
+

Basically I added '-C' to remove colours and grep

+
    +
  1. 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.
    +
    +
  2. +
+

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

+ + + + + + + + +
+ +
+ diff --git a/downgrade-gentoo-from-testing-to-stable.md b/downgrade-gentoo-from-testing-to-stable.md new file mode 100644 index 0000000..43c7aa0 --- /dev/null +++ b/downgrade-gentoo-from-testing-to-stable.md @@ -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 diff --git a/dynamic-colorscheme-in-vim.html b/dynamic-colorscheme-in-vim.html new file mode 100644 index 0000000..885b6e2 --- /dev/null +++ b/dynamic-colorscheme-in-vim.html @@ -0,0 +1,73 @@ + + + + + + + +Dynamic colorscheme in Vim + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Dynamic colorscheme in Vim +

+ +
June 15, 2019 — +Jesse Harris +
+ +

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 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

+ + + + + + + + + + + +
+ +
+ diff --git a/dynamic-colorscheme-in-vim.md b/dynamic-colorscheme-in-vim.md new file mode 100644 index 0000000..c24d785 --- /dev/null +++ b/dynamic-colorscheme-in-vim.md @@ -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 diff --git a/elijah-and-amelia.md b/elijah-and-amelia.md new file mode 100644 index 0000000..240a763 --- /dev/null +++ b/elijah-and-amelia.md @@ -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 diff --git a/feed.rss b/feed.rss new file mode 100644 index 0000000..7b9bdc8 --- /dev/null +++ b/feed.rss @@ -0,0 +1,124 @@ + + +zigford.orghttp://zigford.org/index.html +About | Links | Scripts
Sharing linux/windows scripts and tips
en +Sun, 19 Jul 2020 22:57:31 +1000 +Sun, 19 Jul 2020 22:57:31 +1000 + + +Transfer BTFS snapshots with netcat +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.

+ +
+]]>
http://zigford.org/transfer-btfs-snapshots-with-netcat.html +http://zigford.org/./transfer-btfs-snapshots-with-netcat.html +Jesse Harris +Sun, 19 Jul 2020 22:57:11 +1000
+ +Screen sharing and capture in Wayland on Gentoo +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.

+ +
+]]>
http://zigford.org/screen-sharing-and-capture-in-wayland-on-gentoo.html +http://zigford.org/./screen-sharing-and-capture-in-wayland-on-gentoo.html +Jesse Harris +Mon, 01 Jun 2020 21:05:46 +1000
+ +Scrubbing my data - BTRFS +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.

+ +
+]]>
http://zigford.org/scrubbing-my-data---btrfs.html +http://zigford.org/./scrubbing-my-data---btrfs.html +Jesse Harris +Thu, 23 Apr 2020 21:49:01 +1000
+ +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.

+
+]]>
http://zigford.org/defragging-files-in-btrfs---oneliner.html +http://zigford.org/./defragging-files-in-btrfs---oneliner.html +Jesse Harris +Fri, 10 Apr 2020 13:01:14 +1000
+ +Lets encrypt kerfuffle +Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for.

+
+]]>
http://zigford.org/lets-encrypt-kerfuffle.html +http://zigford.org/./lets-encrypt-kerfuffle.html +Jesse Harris +Tue, 10 Mar 2020 20:35:26 +1000
+ +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.

+
+]]>
http://zigford.org/firewalld-kernel-requirements.html +http://zigford.org/./firewalld-kernel-requirements.html +Jesse Harris +Fri, 06 Mar 2020 22:16:53 +1000
+ +Nagios Core on Gentoo/Raspberry Pi with Nginx +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.

+
+]]>
http://zigford.org/nagios-core-on-gentooraspberry-pi-with-nginx.html +http://zigford.org/./nagios-core-on-gentooraspberry-pi-with-nginx.html +Jesse Harris +Sat, 29 Feb 2020 23:06:38 +1000
+ +Precision 5510 - Gentoo GNU/Linux +This documents all configurations, apps and tweaks to get a nicely working Linux +machine.

+
+]]>
http://zigford.org/precision-5510---gentoo-gnulinux.html +http://zigford.org/./precision-5510---gentoo-gnulinux.html +Jesse Harris +Sat, 12 Oct 2019 22:44:07 +1000
+ +Trying out a pull request +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.

+
+]]>
http://zigford.org/trying-out-a-pull-request.html +http://zigford.org/./trying-out-a-pull-request.html +Jesse Harris +Sun, 06 Oct 2019 12:10:45 +1000
+ +Video editing from the command line +I previously posted about capturing video in +Linux. 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.

+
+]]>
http://zigford.org/video-editing-from-the-command-line.html +http://zigford.org/./video-editing-from-the-command-line.html +Jesse Harris +Sat, 05 Oct 2019 12:03:16 +1000
+
diff --git a/files/cx231xx.patch b/files/cx231xx.patch new file mode 100644 index 0000000..a391b07 --- /dev/null +++ b/files/cx231xx.patch @@ -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 diff --git a/firewalld-kernel-requirements.html b/firewalld-kernel-requirements.html new file mode 100644 index 0000000..9f6507d --- /dev/null +++ b/firewalld-kernel-requirements.html @@ -0,0 +1,223 @@ + + + + + + + +Firewalld kernel requirements + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Firewalld kernel requirements +

+ +
March 06, 2020 — +Jesse Harris +
+ +

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

+

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 +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

+ + + + + + + + +
+ +
+ diff --git a/firewalld-kernel-requirements.md b/firewalld-kernel-requirements.md new file mode 100644 index 0000000..8379439 --- /dev/null +++ b/firewalld-kernel-requirements.md @@ -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 diff --git a/first-look-at-powershell-610.html b/first-look-at-powershell-610.html new file mode 100644 index 0000000..debe51e --- /dev/null +++ b/first-look-at-powershell-610.html @@ -0,0 +1,158 @@ + + + + + + + +First look at powershell 6.1.0 + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+First look at powershell 6.1.0 +

+ +
September 15, 2018 — +Jesse Harris +
+ + +

Powershell 6.1.0 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

+ + + + + + + + + + + + +
+ +
+ diff --git a/first-look-at-powershell-610.md b/first-look-at-powershell-610.md new file mode 100644 index 0000000..96c3d36 --- /dev/null +++ b/first-look-at-powershell-610.md @@ -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 diff --git a/gentoo-local-overlay.html b/gentoo-local-overlay.html new file mode 100644 index 0000000..b5784f1 --- /dev/null +++ b/gentoo-local-overlay.html @@ -0,0 +1,81 @@ + + + + + + + +Gentoo local overlay + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Gentoo local overlay +

+ +
September 18, 2018 — +Jesse Harris +
+ + +

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. +
  3. 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
    +
  4. +
  5. 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
    +
  6. +
+ +

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 repository.

+ +

See also:

+ +

repos.conf, Custom Repository

+ +

Tags: gentoo, portage-overlay

+ + + + + + + + + + + + +
+ +
+ diff --git a/gentoo-local-overlay.md b/gentoo-local-overlay.md new file mode 100644 index 0000000..ad88c37 --- /dev/null +++ b/gentoo-local-overlay.md @@ -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 </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 diff --git a/git---working-with-branches.html b/git---working-with-branches.html new file mode 100644 index 0000000..95ad1ed --- /dev/null +++ b/git---working-with-branches.html @@ -0,0 +1,98 @@ + + + + + + + +Git - Working with branches + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Git - Working with branches +

+ +
August 06, 2019 — +Jesse Harris +
+ +

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
+stackify
+git-scm.com
+freecodecamp.org

+

Tags: git

+ + + + + + + + + +
+ +
+ diff --git a/git---working-with-branches.md b/git---working-with-branches.md new file mode 100644 index 0000000..5dd833a --- /dev/null +++ b/git---working-with-branches.md @@ -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 diff --git a/gnu-linux.html b/gnu-linux.html new file mode 100644 index 0000000..0f69c0f --- /dev/null +++ b/gnu-linux.html @@ -0,0 +1,66 @@ + + + + + + + +GNU Linux + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+GNU Linux +

+ +
September 02, 2018 — +Jesse Harris +
+ +

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
  • +
  • Contribute in the form of ebuilds e.g. +snapd
  • +
+

For what I do with the raspberry pi, check out my raspberry pi post

+ + + +
+ +
+ diff --git a/gnu-linux.md b/gnu-linux.md new file mode 100644 index 0000000..9b30c59 --- /dev/null +++ b/gnu-linux.md @@ -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 diff --git a/harris/.backup.tar.gz b/harris/.backup.tar.gz new file mode 100644 index 0000000..95c7492 Binary files /dev/null and b/harris/.backup.tar.gz differ diff --git a/harris/.config b/harris/.config new file mode 100644 index 0000000..4655947 --- /dev/null +++ b/harris/.config @@ -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 "©" for Copyright +global_license="©" + +# 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 '
', 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='
' +# 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 tag +# and before the actual blog content +body_begin_file="" +# extra content to add just before we cloese ) +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="<Type your comment here but please leave the URL so that other people can follow the comments>" + +# 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 diff --git a/harris/.config.2 b/harris/.config.2 new file mode 100644 index 0000000..3dde60f --- /dev/null +++ b/harris/.config.2 @@ -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='
' +$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="©" +$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="<Type your comment here but please leave the URL so that other people can follow the comments>" diff --git a/harris/.config.backup b/harris/.config.backup new file mode 100644 index 0000000..241ab19 --- /dev/null +++ b/harris/.config.backup @@ -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 "©" for Copyright +global_license="©" + +# 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 '
', 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='
' +# 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 tag +# and before the actual blog content +body_begin_file="" +# extra content to add just before we cloese ) +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="<Type your comment here but please leave the URL so that other people can follow the comments>" + +# 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 diff --git a/harris/.entry-1135571908.md b/harris/.entry-1135571908.md new file mode 100644 index 0000000..229861f --- /dev/null +++ b/harris/.entry-1135571908.md @@ -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 diff --git a/harris/.entry-1183780919.md b/harris/.entry-1183780919.md new file mode 100644 index 0000000..229861f --- /dev/null +++ b/harris/.entry-1183780919.md @@ -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 diff --git a/harris/.entry-1245017093.md b/harris/.entry-1245017093.md new file mode 100644 index 0000000..d9b3ca8 --- /dev/null +++ b/harris/.entry-1245017093.md @@ -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! + +
+ +
+ +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 diff --git a/harris/.yesterday.tar.gz b/harris/.yesterday.tar.gz new file mode 100644 index 0000000..c34ea8c Binary files /dev/null and b/harris/.yesterday.tar.gz differ diff --git a/harris/45-hinkler-avenue---circa-1994.html b/harris/45-hinkler-avenue---circa-1994.html new file mode 100644 index 0000000..1abed88 --- /dev/null +++ b/harris/45-hinkler-avenue---circa-1994.html @@ -0,0 +1,51 @@ + + + + + + + +45 Hinkler Avenue - Circa 1994 + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+ +

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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)

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Ian, Sam, Ronnie, Jesse, Alex, Phoebe, Le-Anne

+ + + + +
+ +
+ diff --git a/harris/45-hinkler-avenue---circa-1994.md b/harris/45-hinkler-avenue---circa-1994.md new file mode 100644 index 0000000..f71258a --- /dev/null +++ b/harris/45-hinkler-avenue---circa-1994.md @@ -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) + +
+ +
+ +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 diff --git a/harris/all_posts.html b/harris/all_posts.html new file mode 100644 index 0000000..0ef8cd6 --- /dev/null +++ b/harris/all_posts.html @@ -0,0 +1,39 @@ + + + + + + + +Harris Family Files — All posts + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

All posts

+

June 2020

+ +

April 2020

+
    +
  • — April 22, 2020
  • +
+

January 2020

+ +

October 2019

+ + +
+ +
+ diff --git a/harris/all_tags.html b/harris/all_tags.html new file mode 100644 index 0000000..3fe95a6 --- /dev/null +++ b/harris/all_tags.html @@ -0,0 +1,45 @@ + + + + + + + +Harris Family Files — All tags + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

All tags

+ + +
+ +
+ diff --git a/harris/blog.css b/harris/blog.css new file mode 100644 index 0000000..894783e --- /dev/null +++ b/harris/blog.css @@ -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; +} diff --git a/harris/christmas-2018.html b/harris/christmas-2018.html new file mode 100644 index 0000000..8e2ca1e --- /dev/null +++ b/harris/christmas-2018.html @@ -0,0 +1,52 @@ + + + + + + + +Christmas 2018 + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+ +

+Christmas 2018 +

+ +
September 14, 2019 — +Jesse Harris +
+ +

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
  • +
+
+ +
+

You can download the file by right clicking here 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

+ + + + +
+ +
+ diff --git a/harris/christmas-2018.md b/harris/christmas-2018.md new file mode 100644 index 0000000..6cbc9f0 --- /dev/null +++ b/harris/christmas-2018.md @@ -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 + + +
+ +
+ +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 diff --git a/harris/dads-birthday---2007.html b/harris/dads-birthday---2007.html new file mode 100644 index 0000000..1599310 --- /dev/null +++ b/harris/dads-birthday---2007.html @@ -0,0 +1,31 @@ + + + + + + + + + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+ +

+ +

+ +
April 22, 2020
+ + + + +
+ +
+ diff --git a/harris/dads-birthday---2007.md b/harris/dads-birthday---2007.md new file mode 100644 index 0000000..a44fa22 --- /dev/null +++ b/harris/dads-birthday---2007.md @@ -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! + +
+ +
+ +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 diff --git a/harris/dv-mix-tape.html b/harris/dv-mix-tape.html new file mode 100644 index 0000000..f95574a --- /dev/null +++ b/harris/dv-mix-tape.html @@ -0,0 +1,235 @@ + + + + + + + +DV Mix Tape + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+ +

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Ian, Lila, Granddad Nev, Arnie and Georgia having a relaxing play while Nonnie +films

+

Some timestamps:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:00:00Ian and Grandad Nev sip tea and chat to Lilie Pie, while she looks at Arnie
00:02:00Lila plays with toys(Sorta). While Nev finds Arnie's Ball
00:03:51Georgie plays mum and feeds Lila
00:04:47Georgie has a swim in a large pool
00:08:30Georgia finds her missing baby kitty cat
00:10:08Lila gives a happy smile
+
+ +
+

You can download the file by right clicking here 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.

+
+ +
+

You can download the file by right clicking here 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.

+
+ +
+

You can download the file by right clicking here 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.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Elijah showing his strong leg muscles to push a table

+
+ +
+

You can download the file by right clicking here 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.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Babies hanging out. Jesse changes Elijah's Nappie (joy). And Lila and Elijah +hang out with Georgia

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:00:00Jesse changes Elijah's nappie
00:01:54Georgia, Elijah and Lila have a sit together
00:02:55Elijah wriggles around on bed
00:04:51Elijah has a lie down with Granddad Nev
00:07:34Young Ian puts some glasses on Lila
00:09:41Ronnie has a hold of Elijah
+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Phoebe's Birthday. There appears to be 24ish candles.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Granddad shows off his skills playing the harmonica. Bravo!

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

The tape concludes with Lila having a roll around on the floor.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Ronnie, Alex, Ian, Clarissa, Jesse, Sam, Granddad, Georgia, Lila, Elijah, Phoebe, Arnie

+ + + + +
+ +
+ diff --git a/harris/dv-mix-tape.md b/harris/dv-mix-tape.md new file mode 100644 index 0000000..235c1c4 --- /dev/null +++ b/harris/dv-mix-tape.md @@ -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 + + +
+ +
+ +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: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:00:00Ian and Grandad Nev sip tea and chat to Lilie Pie, while she looks at Arnie
00:02:00Lila plays with toys(Sorta). While Nev finds Arnie's Ball
00:03:51Georgie plays mum and feeds Lila
00:04:47Georgie has a swim in a large pool
00:08:30Georgia finds her missing baby kitty cat
00:10:08Lila gives a happy smile
+ +
+ +
+ +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. + + +
+ +
+ +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. + + +
+ +
+ +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. + + +
+ +
+ +You can download the file by right clicking [here][5] and click "save-as" + +--- + +Elijah showing his strong leg muscles to push a table + + +
+ +
+ +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. + +
+ +
+ +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 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:00:00Jesse changes Elijah's nappie
00:01:54Georgia, Elijah and Lila have a sit together
00:02:55Elijah wriggles around on bed
00:04:51Elijah has a lie down with Granddad Nev
00:07:34Young Ian puts some glasses on Lila
00:09:41Ronnie has a hold of Elijah
+ +
+ +
+ +You can download the file by right clicking [here][8] and click "save-as" + +--- + +Phoebe's Birthday. There appears to be 24ish candles. + +
+ +
+ +You can download the file by right clicking [here][9] and click "save-as" + +--- + +Granddad shows off his skills playing the harmonica. Bravo! + +
+ +
+ +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. + +
+ +
+ +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 diff --git a/harris/feed.rss b/harris/feed.rss new file mode 100644 index 0000000..461e289 --- /dev/null +++ b/harris/feed.rss @@ -0,0 +1,54 @@ + + +Harris Family Fileshttps://zigford.org/harris/index.html +A place for family stuffen +Mon, 22 Jun 2020 08:44:46 +1000 +Mon, 22 Jun 2020 08:44:46 +1000 + + +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

+ +
+]]>
https://zigford.org/harris/harris-family---1988.html +https://zigford.org/harris/./harris-family---1988.html +Jesse Harris +Mon, 22 Jun 2020 08:44:23 +1000
+ + + +]]>https://zigford.org/harris/dads-birthday---2007.html +https://zigford.org/harris/./dads-birthday---2007.html + +Wed, 22 Apr 2020 06:35:32 +1000 + +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.

+
+]]>
https://zigford.org/harris/45-hinkler-avenue---circa-1994.html +https://zigford.org/harris/./45-hinkler-avenue---circa-1994.html +Jesse Harris +Sat, 04 Jan 2020 17:58:03 +1000
+ +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.

+
+]]>
https://zigford.org/harris/dv-mix-tape.html +https://zigford.org/harris/./dv-mix-tape.html +Jesse Harris +Fri, 04 Oct 2019 09:10:06 +1000
+
diff --git a/harris/harris-family---1988.html b/harris/harris-family---1988.html new file mode 100644 index 0000000..bab045a --- /dev/null +++ b/harris/harris-family---1988.html @@ -0,0 +1,176 @@ + + + + + + + +Harris Family - 1988 + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+ +

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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.

+ +
+ +
+ +

You can download the file by right clicking here 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.

+ +
+ +
+ +

You can download the file by right clicking here 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?

+ +
+ +
+ +

You can download the file by right clicking here 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.

+ +
+ +
+ +

You can download the file by right clicking here 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.

+ +
+ +
+ +

You can download the file by right clicking here and click "save-as"

+ +

Nana Powell and Grandfather Jack.

+ +
+ +
+ +

You can download the file by right clicking here and click "save-as"

+ +

Nana Powell and Grandfather Jack cont.

+ +
+ +
+ +

You can download the file by right clicking here 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!

+ +
+ +
+ +

You can download the file by right clicking here and click "save-as"

+ +

Tags: Ian, Seb, Phoebe, Ronnie, Alex, Nanma, Grandfather-Les, Nanna-Powel, Grandfather-Jack, Stumpy, Kitty, Jesse

+ + + +
+ +
+ diff --git a/harris/harris-family---1988.md b/harris/harris-family---1988.md new file mode 100644 index 0000000..4c52df8 --- /dev/null +++ b/harris/harris-family---1988.md @@ -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. + +
+ +
+ +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. + +
+ +
+ +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? + +
+ +
+ +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. + +
+ +
+ +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. + +
+ +
+ +You can download the file by right clicking [here][5] and click "save-as" + +### Nana Powell and Grandfather Jack. + +
+ +
+ +You can download the file by right clicking [here][6] and click "save-as" + +### Nana Powell and Grandfather Jack cont. + +
+ +
+ +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! + +
+ +
+ +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 diff --git a/harris/index.html b/harris/index.html new file mode 100644 index 0000000..db0e873 --- /dev/null +++ b/harris/index.html @@ -0,0 +1,70 @@ + + + + + + + +Harris Family Files + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+ +

+ +
April 22, 2020
+ + + +

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+ +
+ +
+ diff --git a/harris/main.css b/harris/main.css new file mode 100644 index 0000000..d371ca3 --- /dev/null +++ b/harris/main.css @@ -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; +} diff --git a/harris/tag_Alex.html b/harris/tag_Alex.html new file mode 100644 index 0000000..5962ede --- /dev/null +++ b/harris/tag_Alex.html @@ -0,0 +1,61 @@ + + + + + + + +Harris Family Files — Posts tagged "Alex" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Arnie.html b/harris/tag_Arnie.html new file mode 100644 index 0000000..84d317a --- /dev/null +++ b/harris/tag_Arnie.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Arnie" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Clarissa.html b/harris/tag_Clarissa.html new file mode 100644 index 0000000..8aefeb1 --- /dev/null +++ b/harris/tag_Clarissa.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Clarissa" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Elijah.html b/harris/tag_Elijah.html new file mode 100644 index 0000000..650726b --- /dev/null +++ b/harris/tag_Elijah.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Elijah" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Georgia.html b/harris/tag_Georgia.html new file mode 100644 index 0000000..cf93522 --- /dev/null +++ b/harris/tag_Georgia.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Georgia" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Granddad.html b/harris/tag_Granddad.html new file mode 100644 index 0000000..5c7c719 --- /dev/null +++ b/harris/tag_Granddad.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Granddad" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Grandfather-Jack.html b/harris/tag_Grandfather-Jack.html new file mode 100644 index 0000000..b03be45 --- /dev/null +++ b/harris/tag_Grandfather-Jack.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Grandfather-Jack" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Grandfather-Les.html b/harris/tag_Grandfather-Les.html new file mode 100644 index 0000000..0921467 --- /dev/null +++ b/harris/tag_Grandfather-Les.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Grandfather-Les" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Ian.html b/harris/tag_Ian.html new file mode 100644 index 0000000..25fcf19 --- /dev/null +++ b/harris/tag_Ian.html @@ -0,0 +1,61 @@ + + + + + + + +Harris Family Files — Posts tagged "Ian" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Jesse.html b/harris/tag_Jesse.html new file mode 100644 index 0000000..a12df5b --- /dev/null +++ b/harris/tag_Jesse.html @@ -0,0 +1,61 @@ + + + + + + + +Harris Family Files — Posts tagged "Jesse" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Kitty.html b/harris/tag_Kitty.html new file mode 100644 index 0000000..b8e7a38 --- /dev/null +++ b/harris/tag_Kitty.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Kitty" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Le-Anne.html b/harris/tag_Le-Anne.html new file mode 100644 index 0000000..668b810 --- /dev/null +++ b/harris/tag_Le-Anne.html @@ -0,0 +1,33 @@ + + + + + + + +Harris Family Files — Posts tagged "Le-Anne" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Lila.html b/harris/tag_Lila.html new file mode 100644 index 0000000..57172ca --- /dev/null +++ b/harris/tag_Lila.html @@ -0,0 +1,32 @@ + + + + + + + +Harris Family Files — Posts tagged "Lila" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Nanma.html b/harris/tag_Nanma.html new file mode 100644 index 0000000..4d34123 --- /dev/null +++ b/harris/tag_Nanma.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Nanma" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Nanna-Powel.html b/harris/tag_Nanna-Powel.html new file mode 100644 index 0000000..85389a3 --- /dev/null +++ b/harris/tag_Nanna-Powel.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Nanna-Powel" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Phoebe.html b/harris/tag_Phoebe.html new file mode 100644 index 0000000..07a5d89 --- /dev/null +++ b/harris/tag_Phoebe.html @@ -0,0 +1,61 @@ + + + + + + + +Harris Family Files — Posts tagged "Phoebe" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Ronnie.html b/harris/tag_Ronnie.html new file mode 100644 index 0000000..67fa486 --- /dev/null +++ b/harris/tag_Ronnie.html @@ -0,0 +1,61 @@ + + + + + + + +Harris Family Files — Posts tagged "Ronnie" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Sam.html b/harris/tag_Sam.html new file mode 100644 index 0000000..c72d100 --- /dev/null +++ b/harris/tag_Sam.html @@ -0,0 +1,44 @@ + + + + + + + +Harris Family Files — Posts tagged "Sam" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+45 Hinkler Avenue - Circa 1994 +

+ +
January 04, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+DV Mix Tape +

+ +
October 04, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/harris/tag_Seb.html b/harris/tag_Seb.html new file mode 100644 index 0000000..1c4d038 --- /dev/null +++ b/harris/tag_Seb.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Seb" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/harris/tag_Stumpy.html b/harris/tag_Stumpy.html new file mode 100644 index 0000000..97afa6f --- /dev/null +++ b/harris/tag_Stumpy.html @@ -0,0 +1,38 @@ + + + + + + + +Harris Family Files — Posts tagged "Stumpy" + +
+
+
+

Harris Family Files

+
A place for family stuff
+
+
+

+Harris Family - 1988 +

+ +
June 22, 2020 — +Jesse Harris +
+ + +

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

+ +

Read more...

+
+ +
+ diff --git a/how-i-code.html b/how-i-code.html new file mode 100644 index 0000000..b7c7fba --- /dev/null +++ b/how-i-code.html @@ -0,0 +1,281 @@ + + + + + + + +How I Code + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + + +
+ +
+ diff --git a/how-i-code.md b/how-i-code.md new file mode 100755 index 0000000..8cae8ed --- /dev/null +++ b/how-i-code.md @@ -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`: + + >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?: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 \ 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 :!clear;python % + " Remap tab to auto complete + imap + " Setup ga shortcut for easyaline in visual mode + nmap ga (EasyAlign) + " Setup ga shortcut for easyaline in normal mode + xmap ga (EasyAlign)" + +[Link to vimrc on github](https://github.com/zigford/vim) + +Tags: vim, coding, windows, linux, macos diff --git a/images/bauhn.jpeg b/images/bauhn.jpeg new file mode 100644 index 0000000..28e6060 Binary files /dev/null and b/images/bauhn.jpeg differ diff --git a/images/btrfs1.png b/images/btrfs1.png new file mode 100644 index 0000000..faa1ecd Binary files /dev/null and b/images/btrfs1.png differ diff --git a/images/btrfsscrub.png b/images/btrfsscrub.png new file mode 100644 index 0000000..1b67999 Binary files /dev/null and b/images/btrfsscrub.png differ diff --git a/images/cascadiacode.png b/images/cascadiacode.png new file mode 100644 index 0000000..882c5c1 Binary files /dev/null and b/images/cascadiacode.png differ diff --git a/images/connexent.jpeg b/images/connexent.jpeg new file mode 100644 index 0000000..0144a6c Binary files /dev/null and b/images/connexent.jpeg differ diff --git a/images/gentoo64bit.jpg b/images/gentoo64bit.jpg new file mode 100644 index 0000000..8ea0f7f Binary files /dev/null and b/images/gentoo64bit.jpg differ diff --git a/index.html b/index.html new file mode 100644 index 0000000..dd6e0a0 --- /dev/null +++ b/index.html @@ -0,0 +1,88 @@ + + + + + + + +zigford.org + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Transfer BTFS snapshots with netcat +

+ +
July 19, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Scrubbing my data - BTRFS +

+ +
April 23, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Lets encrypt kerfuffle +

+ +
March 10, 2020 — +Jesse Harris +
+ +

Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for.

+

Read more...

+ +
+ +
+ diff --git a/introducing-pwshblog.html b/introducing-pwshblog.html new file mode 100644 index 0000000..19e096b --- /dev/null +++ b/introducing-pwshblog.html @@ -0,0 +1,59 @@ + + + + + + + +Introducing PwshBlog + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog 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 to check out the code, +but I'll post progress reports here from time to +time.

+

Tags: bash-v-powershell, bash, powershell, shells, scripting

+ + + + + + + + + + + +
+ +
+ diff --git a/introducing-pwshblog.md b/introducing-pwshblog.md new file mode 100644 index 0000000..df6bf48 --- /dev/null +++ b/introducing-pwshblog.md @@ -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 diff --git a/ip-addresses-on-your-subnet-with-xargs.html b/ip-addresses-on-your-subnet-with-xargs.html new file mode 100644 index 0000000..6a8cac3 --- /dev/null +++ b/ip-addresses-on-your-subnet-with-xargs.html @@ -0,0 +1,106 @@ + + + + + + + +Ip addresses on your subnet with xargs + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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 +class.

+

Lee Holmes shared +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 on github added this +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 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

+ + + + + + + + + + + +
+ +
+ diff --git a/ip-addresses-on-your-subnet-with-xargs.md b/ip-addresses-on-your-subnet-with-xargs.md new file mode 100644 index 0000000..b789ed2 --- /dev/null +++ b/ip-addresses-on-your-subnet-with-xargs.md @@ -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 diff --git a/kronks/.backup.tar.gz b/kronks/.backup.tar.gz new file mode 100644 index 0000000..ed9fb16 Binary files /dev/null and b/kronks/.backup.tar.gz differ diff --git a/kronks/.config b/kronks/.config new file mode 100644 index 0000000..8fb9bca --- /dev/null +++ b/kronks/.config @@ -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="©" +$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='
' +$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="<Type your comment here but please leave the URL so that other people can follow the comments>" +$Script:prefix_tags="tag_" diff --git a/kronks/.config.bak b/kronks/.config.bak new file mode 100644 index 0000000..2b76790 --- /dev/null +++ b/kronks/.config.bak @@ -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 "©" for Copyright +global_license="©" + +# 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 '
', 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='
' +# 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 tag +# and before the actual blog content +body_begin_file="" +# extra content to add just before we cloese ) +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="<Type your comment here but please leave the URL so that other people can follow the comments>" + +# 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 diff --git a/kronks/.yesterday.tar.gz b/kronks/.yesterday.tar.gz new file mode 100644 index 0000000..ed9fb16 Binary files /dev/null and b/kronks/.yesterday.tar.gz differ diff --git a/kronks/2004---brianna-caitlin-del-stacey.html b/kronks/2004---brianna-caitlin-del-stacey.html new file mode 100644 index 0000000..f6f4abc --- /dev/null +++ b/kronks/2004---brianna-caitlin-del-stacey.html @@ -0,0 +1,78 @@ + + + + + + + +2004 - Brianna, Caitlin, Del, Stacey + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+
+

First up we have Brianna performing with a dance studio (I'm guessing on the +sunshine coast). I think this is around the time that Brian and Del were living +between warana and bongeen.

+
+ +
+

You can download the file by right clicking here and +click 'save-as'

+

Secondly Del sits and chats with a baby Caitlin.

+
+ +
+

You can download the file by right clicking here and +click 'save-as'

+

Lastly, Del and Stacey go for a drive to Mt Hotham in Victoria. +Del wrote:

+
+

this was at mt Hotham Victoria. Where we went sking and had stacey 30 +birthday at the beginning of the tape. Then travelled over mt Hotham to a +little place called Bright.

+
+
+ +
+

You can download the file by right clicking here and +click 'save-as'

+

Tags: Performance, Brianna, Catilin, Del, Stacey

+ + + + + + +
+ +
+ diff --git a/kronks/2004---brianna-caitlin-del-stacey.md b/kronks/2004---brianna-caitlin-del-stacey.md new file mode 100644 index 0000000..e9312e0 --- /dev/null +++ b/kronks/2004---brianna-caitlin-del-stacey.md @@ -0,0 +1,59 @@ +2004 - Brianna, Caitlin, Del, Stacey + +It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come. + +--- + +First up we have Brianna performing with a dance studio (I'm guessing on the +sunshine coast). I think this is around the time that Brian and Del were living +between warana and bongeen. + +
+ +
+ +You can download the file by right clicking [here][1] and +click 'save-as' + +Secondly Del sits and chats with a baby Caitlin. + +
+ +
+ +You can download the file by right clicking [here][2] and +click 'save-as' + + +Lastly, Del and Stacey go for a drive to Mt Hotham in Victoria. +Del wrote: + +> this was at mt Hotham Victoria. Where we went sking and had stacey 30 +> birthday at the beginning of the tape. Then travelled over mt Hotham to a +> little place called Bright. + +
+ +
+ +You can download the file by right clicking [here][3] and +click 'save-as' + +Tags: Performance, Brianna, Catilin, Del, Stacey + +[1]: https://f002.backblazeb2.com/file/BlogVideos/Kronks/2004/03/BreeDancing-Web.mp4 +[2]: https://f002.backblazeb2.com/file/BlogVideos/Kronks/2004/03/BabyCaitlin-Web.mp4 +[3]: https://f002.backblazeb2.com/file/BlogVideos/Kronks/2004/03/MtHotham-Web.mp4 diff --git a/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.html b/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.html new file mode 100644 index 0000000..0bdc763 --- /dev/null +++ b/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.html @@ -0,0 +1,97 @@ + + + + + + + +A Birthday, an Engagement and some Bree Shenanigans + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+
+

Some fun party games are had, turning around the broom and lift people up high +in the air.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Next recording was a nice surprise being some footage of Clarissa and I's +engagement party.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Next up is Bree and her friend goofing off. Hilarious how they try to record a +spark with the camera at then end.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

A new scene of Bree and (maybe another friend?) And close ups of what looks like +an infected belly button piercing. It's anything goes with these home videos so +it has to go up here for all to see.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

The final video is another Bree classic. Thanks Bree for these laughs and I +apologize and hope you forgive me for putting these online. We all do some funny +things as kids, but not all of us are lucky (or unlucky) enough to have recorded +them on video.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Courtney, Adon, Laurie, Josh, Brian, Delia, Brianna, Clarissa, Jesse, Carrie, Stuart

+ + + + +
+ +
+ diff --git a/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.md b/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.md new file mode 100644 index 0000000..36c6762 --- /dev/null +++ b/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.md @@ -0,0 +1,93 @@ +A Birthday, an Engagement and some Bree Shenanigans + +Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been? + +--- + +Some fun party games are had, turning around the broom and lift people up high +in the air. + +
+ +
+ +You can download the file by right clicking [here][1] and click "save-as" + +Next recording was a nice surprise being some footage of Clarissa and I's +engagement party. + + +
+ +
+ +You can download the file by right clicking [here][2] and click "save-as" + +Next up is Bree and her friend goofing off. Hilarious how they try to record a +spark with the camera at then end. + + +
+ +
+ +You can download the file by right clicking [here][3] and click "save-as" + +A new scene of Bree and (maybe another friend?) And close ups of what looks like +an infected belly button piercing. It's anything goes with these home videos so +it has to go up here for all to see. + + +
+ +
+ +You can download the file by right clicking [here][4] and click "save-as" + + +The final video is another Bree classic. Thanks Bree for these laughs and I +apologize and hope you forgive me for putting these online. We all do some funny +things as kids, but not all of us are lucky (or unlucky) enough to have recorded +them on video. + + +
+ +
+ +You can download the file by right clicking [here][5] and click "save-as" + +Tags: Courtney, Adon, Laurie, Josh, Brian, Delia, Brianna, Clarissa, Jesse, Carrie, Stuart + +[1]: https://f002.backblazeb2.com/file/BlogVideos/2005/06/CourtneyBday-Web.mp4 +[2]: https://f002.backblazeb2.com/file/BlogVideos/2005/06/Our+engagement-Web.mp4 +[3]: https://f002.backblazeb2.com/file/BlogVideos/2005/06/Bree+and+her+friend-Web.mp4 +[4]: https://f002.backblazeb2.com/file/BlogVideos/2005/06/Belly+Friend-Web.mp4 +[5]: https://f002.backblazeb2.com/file/BlogVideos/2005/06/Sword+swallower-Web.mp4 diff --git a/kronks/a-message-to-mum-and-laurie.html b/kronks/a-message-to-mum-and-laurie.html new file mode 100644 index 0000000..f110719 --- /dev/null +++ b/kronks/a-message-to-mum-and-laurie.html @@ -0,0 +1,50 @@ + + + + + + + +A message to Mum and Laurie + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+
+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

If you have and corrections or memories I can add to this post, please email +me at jesse@zigford.org

+

Tags: Mum, Delia, Brianna, Courtney, Tamara, Clarissa, Stacey, Brian

+ + + + + + +
+ +
+ diff --git a/kronks/a-message-to-mum-and-laurie.md b/kronks/a-message-to-mum-and-laurie.md new file mode 100644 index 0000000..06f9237 --- /dev/null +++ b/kronks/a-message-to-mum-and-laurie.md @@ -0,0 +1,22 @@ +A message to Mum and Laurie + +This video was sent to Del and Laurie when they were away for around a month +or so in hospital. + +--- + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +If you have and corrections or memories I can add to this post, please email +me at jesse@zigford.org + +Tags: Mum, Delia, Brianna, Courtney, Tamara, Clarissa, Stacey, Brian + +[1]:https://f002.backblazeb2.com/file/BlogVideos/SillyVideo.mp4 diff --git a/kronks/adons-surprise-return-home.html b/kronks/adons-surprise-return-home.html new file mode 100644 index 0000000..7244bdd --- /dev/null +++ b/kronks/adons-surprise-return-home.html @@ -0,0 +1,48 @@ + + + + + + + +Adon's Surprise Return Home + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Adon's Surprise Return Home +

+ +
May 18, 2019 — +Jesse Harris +
+ +

After a long stint overseas, Adon set's up a nice surprise for Brian and Del.

+
+

The main suprise setup begins just after the 16 minute mark.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Adon, Brian, Del, Brianna

+ + + + + + +
+ +
+ diff --git a/kronks/adons-surprise-return-home.md b/kronks/adons-surprise-return-home.md new file mode 100644 index 0000000..248625f --- /dev/null +++ b/kronks/adons-surprise-return-home.md @@ -0,0 +1,20 @@ +Adon's Surprise Return Home + +After a long stint overseas, Adon set's up a nice surprise for Brian and Del. + +--- + +The main suprise setup begins just after the 16 minute mark. + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Tags: Adon, Brian, Del, Brianna + +[1]:https://f002.backblazeb2.com/file/BlogVideos/adonreturnshome.mp4 diff --git a/kronks/all_posts.html b/kronks/all_posts.html new file mode 100644 index 0000000..9cb75d7 --- /dev/null +++ b/kronks/all_posts.html @@ -0,0 +1,66 @@ + + + + + + + + — All posts + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

All posts

+

January 2020

+ +

December 2019

+ +

October 2019

+ +

August 2019

+ +

June 2019

+ +

May 2019

+ +

April 2019

+ + +
+ +
+ diff --git a/kronks/all_tags.html b/kronks/all_tags.html new file mode 100644 index 0000000..9562a7e --- /dev/null +++ b/kronks/all_tags.html @@ -0,0 +1,73 @@ + + + + + + + +Kronks Videos — All tags + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

All tags

+ + +
+ +
+ diff --git a/kronks/baby-baby.html b/kronks/baby-baby.html new file mode 100644 index 0000000..923cb77 --- /dev/null +++ b/kronks/baby-baby.html @@ -0,0 +1,50 @@ + + + + + + + +Baby Baby + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Baby Baby +

+ +
January 14, 2020 — +Jesse Harris +
+ +

A movie world video clip featuring Carrie and Laure

+
+

Remember the visit to Movie +World?

+

At the end of that video was a recording of Carrie and Lauries video clip +captured off of a TV. Here is the official one from a movie world tape:

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Performance, Laurie, Carrie

+ + + + +
+ +
+ diff --git a/kronks/baby-baby.md b/kronks/baby-baby.md new file mode 100644 index 0000000..c8f51fe --- /dev/null +++ b/kronks/baby-baby.md @@ -0,0 +1,27 @@ +Baby Baby + +A movie world video clip featuring Carrie and Laure + +--- + +Remember the visit to [Movie +World](movie-world-and-josh-sippels-third-birthday.html)? + +At the end of that video was a recording of Carrie and Lauries video clip +captured off of a TV. Here is the official one from a movie world tape: + + +
+ +
+ +You can download the file by right clicking [here][1] and click "save-as" + +Tags: Performance, Laurie, Carrie + +[1]: https://f002.backblazeb2.com/file/BlogVideos/1991/12/Baby_Baby.mp4 diff --git a/kronks/blog.css b/kronks/blog.css new file mode 100644 index 0000000..894783e --- /dev/null +++ b/kronks/blog.css @@ -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; +} diff --git a/kronks/brees-birthdays.html b/kronks/brees-birthdays.html new file mode 100644 index 0000000..2a0a8fa --- /dev/null +++ b/kronks/brees-birthdays.html @@ -0,0 +1,94 @@ + + + + + + + +Bree's birthdays + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Bree's birthdays +

+ +
April 29, 2019 — +Jesse Harris +
+ +

I attempted to post this video to youtube but their child protection policy +blocked it. Therefore I have created this quick site to share the video and +others.

+
+

I had a preview myself and it looks like Bree's birthdays from 1 to 6/7 +intermixed with a few appearences of Granny Muggleton, Nanna and of course +all the kids.

+

Below the video is rough timestamps of events in the video

+
+ +
+ +

Depending on your web browser, you may be able to download the video by +right click and click save. Otherwise, try this link

+
    +
  • Granny Muggleton and Nanna 1: 9:23
  • +
  • Terror of the Toilet Roll: 12:20
  • +
  • Bree Walks: 14:09
  • +
  • Babies playing: 15:38
  • +
  • Carrie and Bree bike ride: 20:00
  • +
  • Bree ate something: 21:33
  • +
  • Bree keeps walking: 22:35
  • +
  • Laurie's hand: 25:01
  • +
  • Bath time: 25:18
  • +
  • Christmas Time!: 25:50
  • +
  • Bree is 1: 29:50
  • +
  • Pool time: 31:32
  • +
  • Candles: 33:28
  • +
  • Sandpit flood: 39:18
  • +
  • Bree brushes Tamara's hair 41:08
  • +
  • 1995 New years day: 45:05
  • +
  • Bus Microphone: 51:17
  • +
  • How smart is she?: 53:08
  • +
  • Butter mess: 54:07
  • +
  • Asleep at the bowl: 58:26
  • +
  • Bree and Kitty: 59:07
  • +
  • Flips: 1:04:23
  • +
  • Arobics: 1:05:42
  • +
  • October 1995: 1:08:04
  • +
  • Bree is 2: 1:08:50
  • +
  • 3 at Maccas: 1:20:40
  • +
  • Bree is 4: 1:27:29
  • +
  • First bike: 1:32:51
  • +
  • Pool Time: 1:35:38
  • +
  • Chistmas at the beach: 1:39:27
  • +
  • Very sleepy: 1:42:26
  • +
  • Water slide: 1:43:26
  • +
  • Granny Muggleton 2: 1:52:12
  • +
  • Riding around the court: 2:00:46
  • +
  • Bongeen School 1998: 2:04:48
  • +
  • Bree Birthday 2000: 2:20:42
  • +
  • Bree's haul: 2:49:30
  • +
  • School presentaion: 2:55:31
  • +
+

Tags: brianna, granny-muggleton, nanna

+ + + + + + +
+ +
+ diff --git a/kronks/brees-birthdays.md b/kronks/brees-birthdays.md new file mode 100644 index 0000000..0314f63 --- /dev/null +++ b/kronks/brees-birthdays.md @@ -0,0 +1,66 @@ +Bree's birthdays + +I attempted to post this video to youtube but their child protection policy +blocked it. Therefore I have created this quick site to share the video and +others. + +--- + +I had a preview myself and it looks like Bree's birthdays from 1 to 6/7 +intermixed with a few appearences of Granny Muggleton, Nanna and of course +all the kids. + +Below the video is rough timestamps of events in the video + +
+ +
+ +Depending on your web browser, you may be able to download the video by +right click and click save. Otherwise, try [this link][1] + +* Granny Muggleton and Nanna 1: 9:23 +* Terror of the Toilet Roll: 12:20 +* Bree Walks: 14:09 +* Babies playing: 15:38 +* Carrie and Bree bike ride: 20:00 +* Bree ate something: 21:33 +* Bree keeps walking: 22:35 +* Laurie's hand: 25:01 +* Bath time: 25:18 +* Christmas Time!: 25:50 +* Bree is 1: 29:50 +* Pool time: 31:32 +* Candles: 33:28 +* Sandpit flood: 39:18 +* Bree brushes Tamara's hair 41:08 +* 1995 New years day: 45:05 +* Bus Microphone: 51:17 +* How smart is she?: 53:08 +* Butter mess: 54:07 +* Asleep at the bowl: 58:26 +* Bree and Kitty: 59:07 +* Flips: 1:04:23 +* Arobics: 1:05:42 +* October 1995: 1:08:04 +* Bree is 2: 1:08:50 +* 3 at Maccas: 1:20:40 +* Bree is 4: 1:27:29 +* First bike: 1:32:51 +* Pool Time: 1:35:38 +* Chistmas at the beach: 1:39:27 +* Very sleepy: 1:42:26 +* Water slide: 1:43:26 +* Granny Muggleton 2: 1:52:12 +* Riding around the court: 2:00:46 +* Bongeen School 1998: 2:04:48 +* Bree Birthday 2000: 2:20:42 +* Bree's haul: 2:49:30 +* School presentaion: 2:55:31 + +Tags: brianna, granny-muggleton, nanna + +[1]:https://f002.backblazeb2.com/file/BlogVideos/BreeBirthdays.mp4 diff --git a/kronks/carrie-and-stuarts-wedding.html b/kronks/carrie-and-stuarts-wedding.html new file mode 100644 index 0000000..209df4a --- /dev/null +++ b/kronks/carrie-and-stuarts-wedding.html @@ -0,0 +1,78 @@ + + + + + + + +Carrie and Stuarts Wedding + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+
+

Carrie + Stu's Wedding

+

Which makes this recording (and Carrie and Stuart's marriage) over 17 years old. +Congratulations Carrie and Stuart.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Del's Birthday! Time stamp here is 5 July 2003. How old were you then Del? +It's in the Music room at Bongeen and we get to see everyone participate in a +knowledge quiz about Del, unwrap some presents and dance a little (in the dark). +Also a little of Tim and Dan showing off.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Finally, from 2 March 2002 is the last clip on the tape and it starts off at +Phillip Island on the beach with Brianna, Courtney, Adon, Brian, and Tamara and +finishes on what I presume is the flight home (Maybe visiting Stacey in +Victoria)

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Carrie, Stuart, Brian, Del, Jean, Dave, Courtney, Geoff, Laurie, Lorraine, Tanya, Josh, Darcy, Jacob, Brianna, Clarissa, Tim, Dan, Adon

+ + + + + + +
+ +
+ diff --git a/kronks/carrie-and-stuarts-wedding.md b/kronks/carrie-and-stuarts-wedding.md new file mode 100644 index 0000000..63c480c --- /dev/null +++ b/kronks/carrie-and-stuarts-wedding.md @@ -0,0 +1,57 @@ +Carrie and Stuarts Wedding + +23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape. + +--- + +![Carrie + Stu's Wedding](https://f002.backblazeb2.com/file/BlogVideos/2003-02-23_StuAndCarrie/carrie%2Bstu2.jpg) + +Which makes this recording (and Carrie and Stuart's marriage) over 17 years old. +Congratulations **Carrie and Stuart**. + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Del's Birthday! Time stamp here is 5 July 2003. How old were you then Del? +It's in the Music room at Bongeen and we get to see everyone participate in a +knowledge quiz about Del, unwrap some presents and dance a little (in the dark). +Also a little of Tim and Dan showing off. + +
+ +
+ +You can download the file by right clicking [here][2] and click 'save-as' + +Finally, from 2 March 2002 is the last clip on the tape and it starts off at +Phillip Island on the beach with Brianna, Courtney, Adon, Brian, and Tamara and +finishes on what I presume is the flight home (Maybe visiting Stacey in +Victoria) + +
+ +
+ +You can download the file by right clicking [here][3] and click 'save-as' + +Tags: Carrie, Stuart, Brian, Del, Jean, Dave, Courtney, Geoff, Laurie, Lorraine, Tanya, Josh, Darcy, Jacob, Brianna, Clarissa, Tim, Dan, Adon + +[1]:https://f002.backblazeb2.com/file/BlogVideos/2003-02-23_StuAndCarrie/CarrieStuWedding-Web.mp4 +[2]:https://f002.backblazeb2.com/file/BlogVideos/2003-02-23_StuAndCarrie/DelBirthdayAtBongeen-Web.mp4 +[3]:https://f002.backblazeb2.com/file/BlogVideos/2003-02-23_StuAndCarrie/PhillipIsland-Web.mp4 diff --git a/kronks/christmas-2009.html b/kronks/christmas-2009.html new file mode 100644 index 0000000..d6f8dce --- /dev/null +++ b/kronks/christmas-2009.html @@ -0,0 +1,73 @@ + + + + + + + +Christmas 2009 + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+
+

Christmas morning, unwrapping presents

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Time for the classic Christmas dip. Nice to see Stacey knows how to ride a +dolphin.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

And finally, (I remember watching this, but it seems I may have been the camera +person) Caitlin learns to ride a bike

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Caitlin, Laurie, Tom, Del, Elijah, Josh, Mel, Adon, Brianna, Brian, Chris, Stacey, Jesse, Clarissa

+ + + + + + +
+ +
+ diff --git a/kronks/christmas-2009.md b/kronks/christmas-2009.md new file mode 100644 index 0000000..a390f99 --- /dev/null +++ b/kronks/christmas-2009.md @@ -0,0 +1,52 @@ +Christmas 2009 + +One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout. + +--- + +Christmas morning, unwrapping presents + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Time for the classic Christmas dip. Nice to see Stacey knows how to ride a +dolphin. + +
+ +
+ +You can download the file by right clicking [here][2] and click 'save-as' + +And finally, (I remember watching this, but it seems I may have been the camera +person) Caitlin learns to ride a bike + +
+ +
+ +You can download the file by right clicking [here][3] and click 'save-as' + + +Tags: Caitlin, Laurie, Tom, Del, Elijah, Josh, Mel, Adon, Brianna, Brian, Chris, Stacey, Jesse, Clarissa + +[1]:https://f002.backblazeb2.com/file/BlogVideos/2009/12/ChristmasInQld-Web.mp4 +[2]:https://f002.backblazeb2.com/file/BlogVideos/2009/12/SwimTime-Web.mp4 +[3]:https://f002.backblazeb2.com/file/BlogVideos/2009/12/CaitlinRidesABike-Web.mp4 diff --git a/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.html b/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.html new file mode 100644 index 0000000..6e4ff5d --- /dev/null +++ b/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.html @@ -0,0 +1,53 @@ + + + + + + + +Clarissa, Nicole and Renae hanging out in the Bus + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Clarissa, Nicole and Renae hanging out in the Bus +

+ +
June 01, 2019 — +Jesse Harris +
+ +

This tape is a short one from 1999 of a grade 11 Clarissa and her friends +having a sleepover in the bus.

+
+

The camera must have been acting up initially during recording as there is no +audio until about the 3:30 timeframe.

+

However the girls talk about their love life under pseudo names (Clarissa +chooses the name Jesse Tap)

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Clarissa

+ + + + + + +
+ +
+ diff --git a/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.md b/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.md new file mode 100644 index 0000000..bf41df2 --- /dev/null +++ b/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.md @@ -0,0 +1,26 @@ +Clarissa, Nicole and Renae hanging out in the Bus + +This tape is a short one from 1999 of a grade 11 Clarissa and her friends +having a sleepover in the bus. + +--- + +The camera must have been acting up initially during recording as there is no +audio until about the 3:30 timeframe. + +However the girls talk about their love life under pseudo names (Clarissa +chooses the name Jesse Tap) + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Tags: Clarissa + +[1]:https://f002.backblazeb2.com/file/BlogVideos/1999/12/06/Clarissa-Nicole-Renae.mp4 diff --git a/kronks/courtneys-debutante.html b/kronks/courtneys-debutante.html new file mode 100644 index 0000000..d8b78c0 --- /dev/null +++ b/kronks/courtneys-debutante.html @@ -0,0 +1,137 @@ + + + + + + + +Courtney's Debutante + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+
+

The timestamp displayed when importing this video is 7th of October 2004.

+
+ +
+ +

To download this video by right click here and choose save-as +Some timestamps to skip to as there is quite a bit of bagpipes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:01:52Brian and Del dancing
00:06:53Clarissa and Jesse chatting
00:16:22Courtney and partner arrive
00:30:44Courtney dancing
00:35:18Hi Tamara
00:35:26Brian and Del dancing again
00:38:20Bree's face
00:38:34Jesse and Clarissa Dancing
00:40:23Courtney and partner dancing
00:42:24Poking tongues
00:43:33Show us your curls Adon
00:46:16Photos!
00:47:03Crazy Scottish dancing
00:54:21Laurie waves hi
00:56:26Everyone dancing
+

Enjoy

+

A bit about capturing this recording:

+

I received the DV camcorder head cleaning tape a few day. Prior to using it +tapes would play back sporadically in our camcorder and when they did work +there was a lot of video corruption. Thankfully, after playing back the head +cleaning tape for 10 seconds, the tapes now playback flawlessly.

+

Tags: Debutante, Courtney, Laurie, Brian, Del, Brianna, Tamara, Adon, Josh, Clarissa, Jesse, Love-Is-In-The-Air

+ + + + + + +
+ +
+ diff --git a/kronks/courtneys-debutante.md b/kronks/courtneys-debutante.md new file mode 100644 index 0000000..e0c7edd --- /dev/null +++ b/kronks/courtneys-debutante.md @@ -0,0 +1,59 @@ +Courtney's Debutante + +Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are: + +* Josh +* Brian & Del +* Laurie +* Courtney +* Adon +* Clarissa & Jesse +* Brianna +* Tamara + +--- + +The timestamp displayed when importing this video is 7th of October 2004. + +
+ +
+ +To download this video by right click [here][1] and choose `save-as` +Some timestamps to skip to as there is quite a bit of bagpipes + +|Time stamp | Description | +| ---------- | ----------------------------- | +|00:01:52| Brian and Del dancing| +|00:06:53| Clarissa and Jesse chatting| +|00:16:22| Courtney and partner arrive| +|00:30:44| Courtney dancing| +|00:35:18| Hi Tamara| +|00:35:26| Brian and Del dancing again| +|00:38:20| Bree's face| +|00:38:34| Jesse and Clarissa Dancing| +|00:40:23| Courtney and partner dancing| +|00:42:24| Poking tongues| +|00:43:33| Show us your curls Adon| +|00:46:16| Photos! | +|00:47:03| Crazy Scottish dancing| +|00:54:21| Laurie waves hi| +|00:56:26| Everyone dancing| + +Enjoy + +A bit about capturing this recording: + +I received the DV camcorder head cleaning tape a few day. Prior to using it +tapes would play back sporadically in our camcorder and when they did work +there was a lot of video corruption. Thankfully, after playing back the head +cleaning tape for 10 seconds, the tapes now playback flawlessly. + +Tags: Debutante, Courtney, Laurie, Brian, Del, Brianna, Tamara, Adon, Josh, Clarissa, Jesse, Love-Is-In-The-Air + +[1]:https://f002.backblazeb2.com/file/BlogVideos/2ndDate-2004.mp4 diff --git a/kronks/dave-kronks-70th-birthday.html b/kronks/dave-kronks-70th-birthday.html new file mode 100644 index 0000000..df44715 --- /dev/null +++ b/kronks/dave-kronks-70th-birthday.html @@ -0,0 +1,63 @@ + + + + + + + +Dave Kronks 70th Birthday + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+
+

A short video with some music. Heading to a restaurant for an evening meal.

+

Update

+

Carrie writes in to say the resturant is Weises Resturant which is now closed.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

So far this seems to be the oldest video recording on VHS. Tamara is just a small tot and +Stacey is swinging kids around. Due to the age of the tape and the quality of the VHS player +I'm using, the video loses vertical sync quite a bit. I'm hopeful in the future that I can +get a better player and capture a better quality version. Even still, it's worth a watch

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Dave, Jean, Brian, Del, Stacey, Laurie, Carrie, Josh, Clarissa, Tamara

+ + + + + + +
+ +
+ diff --git a/kronks/dave-kronks-70th-birthday.md b/kronks/dave-kronks-70th-birthday.md new file mode 100644 index 0000000..12d7004 --- /dev/null +++ b/kronks/dave-kronks-70th-birthday.md @@ -0,0 +1,40 @@ +Dave Kronks 70th Birthday + +1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories. + +--- + +A short video with some music. Heading to a restaurant for an evening meal. + +#### Update +Carrie writes in to say the resturant is Weises Resturant which is now closed. + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +So far this seems to be the oldest video recording on VHS. Tamara is just a small tot and +Stacey is swinging kids around. Due to the age of the tape and the quality of the VHS player +I'm using, the video loses vertical sync quite a bit. I'm hopeful in the future that I can +get a better player and capture a better quality version. Even still, it's worth a watch + +
+ +
+ +You can download the file by right clicking [here][2] and click 'save-as' + + +Tags: Dave, Jean, Brian, Del, Stacey, Laurie, Carrie, Josh, Clarissa, Tamara + +[1]:https://f002.backblazeb2.com/file/BlogVideos/03-DaveKronk70th-Web.mp4 +[2]:https://f002.backblazeb2.com/file/BlogVideos/DavesBirthday-Web.mp4 diff --git a/kronks/drafts/archive.md b/kronks/drafts/archive.md new file mode 100644 index 0000000..51b5e77 --- /dev/null +++ b/kronks/drafts/archive.md @@ -0,0 +1,21 @@ +Archive + +This page will serve as a simple place to reference videos not worthy or a +feature page either due to being posted elsewhere, not newsworthy content, or +content that is potentially sensitive. + +I come accross a number of videos like, weddings and engagements that probably +don't want to be remembered. I don't want to raise memories that want to be +forgotten, but I have a hard time throwing them out too. I want them to be +available even if they are never watched. Perhaps you want to see what you +looked like at a certain age/date. These types of recordings may be the only +historical recrods, so they are preserved here. + +Also, videos here will have less editing and not be embedded in the page. They +may also be encoded in a more modern encoding format for future proofing. Thus +they may not play on older devices. + + + + +Tags: Archives diff --git a/kronks/dv-mix-tape---tamara-edition.html b/kronks/dv-mix-tape---tamara-edition.html new file mode 100644 index 0000000..35d4f14 --- /dev/null +++ b/kronks/dv-mix-tape---tamara-edition.html @@ -0,0 +1,98 @@ + + + + + + + +DV Mix tape - Tamara Edition + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+
+

Starting of is Bree performing a couple of dances in a dance group

+
+ +
+

You can download the file by right clicking here and +click 'save-as'

+
+

Next up is some interviews at chalk drive at night time. Guessing this is a +school project of Tamara's

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Tamara's Birthday at a Sizzler? I count about 16 candles on the cake and I would +like to point out that happy birthday was sung prior to the candles being blown +out.

+

In attendence is Adon (stuffing himself), Josh, +Daniel Von-Pein, Courtney, Del, Jean, Brian, Dave, Clarissa, Laurie, Brianna

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Here is a couple of scenes of some streets. I'm not sure where this is. Could be +around welcamp?

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Forgot to add this one last night, this is some more test shots by Tamara of +Adon and Courtney doing some tennis.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Brianna, Tamara, Brian, Delia, Clarissa, Daniel-Von-Pein, Jean, Dave, Adon, Courtney, Josh, Laurie

+ + + + +
+ +
+ diff --git a/kronks/dv-mix-tape---tamara-edition.md b/kronks/dv-mix-tape---tamara-edition.md new file mode 100644 index 0000000..3dcdd1c --- /dev/null +++ b/kronks/dv-mix-tape---tamara-edition.md @@ -0,0 +1,97 @@ +DV Mix tape - Tamara Edition + +This is a DV tape with recordings from probably around 2003-2004? + +--- + +Starting of is Bree performing a couple of dances in a dance group + +
+ +
+ +You can download the file by right clicking [here][1] and +click 'save-as' + +--- + +Next up is some interviews at chalk drive at night time. Guessing this is a +school project of Tamara's + +
+ +
+ +You can download the file by right clicking [here][2] and click "save-as" + +--- + +Tamara's Birthday at a Sizzler? I count about 16 candles on the cake and I would +like to point out that happy birthday was sung prior to the candles being blown +out. + +In attendence is Adon (stuffing himself), Josh, +Daniel Von-Pein, Courtney, Del, Jean, Brian, Dave, Clarissa, Laurie, Brianna + + +
+ +
+ +You can download the file by right clicking [here][4] and click "save-as" + +--- + +Here is a couple of scenes of some streets. I'm not sure where this is. Could be +around welcamp? + +
+ +
+ +You can download the file by right clicking [here][3] and click "save-as" + +--- + +Forgot to add this one last night, this is some more test shots by Tamara of +Adon and Courtney doing some tennis. + + +
+ +
+ +You can download the file by right clicking [here][5] and click "save-as" + + +Tags: Brianna, Tamara, Brian, Delia, Clarissa, Daniel-Von-Pein, Jean, Dave, Adon, Courtney, Josh, Laurie + +[1]: https://f002.backblazeb2.com/file/BlogVideos/BreeDancePerformance-Web.mp4 +[2]: https://f002.backblazeb2.com/file/BlogVideos/ChalkDriveInterviews-Web.mp4 +[3]: https://f002.backblazeb2.com/file/BlogVideos/TamaraTestFootage-Web.mp4 +[4]: https://f002.backblazeb2.com/file/BlogVideos/TamarasBirthday-Web.mp4 +[5]: https://f002.backblazeb2.com/file/BlogVideos/TamaraTestShotsTennis-Web.mp4 diff --git a/kronks/dv-mix-tape-1.html b/kronks/dv-mix-tape-1.html new file mode 100644 index 0000000..5019f76 --- /dev/null +++ b/kronks/dv-mix-tape-1.html @@ -0,0 +1,95 @@ + + + + + + + +DV Mix Tape 1 + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+
+

DV Tape

+

Adon goofs off in front of the camera in a David Attenborough style +commentary about the humans he is observing (Bree, Courtney, and Josh). +All the while Brian is carefully raising a new Tennis Court light.

+

You can catch a breif glimpse of Caitlin and Stacey at the start

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Clarissa's 21st! Again another one we didn't realise was recorded. Almost +everyone makes an appearance here, including my folks.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Baby Caitlin and then she goes to the beach with Del, Brianna and Stacey. +Any guesses on the age?

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

I'm guessing this is a part of farming Brian misses the most. The Toys
+Looks like Brian got an upgrade. +Question about this video. How did Adon break his arm?

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Last clip for this tape. Adon (with broken arm) and Courtney having a hit. +Followed by a young Hailey and Tilly?

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Brian, Adon, Brianna, Courtney, Josh, Stacey, Caitlin, Clarissa, Del, Lorraine, Geoff, Tanya, Ian, Ronnie, Jesse, Josh-Sippel, Tim, Dan, Hailey

+ + + + + + +
+ +
+ diff --git a/kronks/dv-mix-tape-1.md b/kronks/dv-mix-tape-1.md new file mode 100644 index 0000000..2452a3c --- /dev/null +++ b/kronks/dv-mix-tape-1.md @@ -0,0 +1,82 @@ +DV Mix Tape 1 + +Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals + +--- + +![DV Tape](https://f002.backblazeb2.com/file/BlogVideos/dvtape.jpeg) + +Adon goofs off in front of the camera in a [David Attenborough][2] style +commentary about the *humans* he is observing (Bree, Courtney, and Josh). +All the while Brian is carefully raising a new Tennis Court light. + +*You can catch a breif glimpse of Caitlin and Stacey at the start* + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Clarissa's 21st! Again another one we didn't realise was recorded. Almost +everyone makes an appearance here, including my folks. + +
+ +
+ +You can download the file by right clicking [here][3] and click 'save-as' + +Baby Caitlin and then she goes to the beach with Del, Brianna and Stacey. +Any guesses on the age? + +
+ +
+ +You can download the file by right clicking [here][4] and click 'save-as' + +I'm guessing this is a part of farming Brian misses the most. **The Toys** +Looks like Brian got an upgrade. +Question about this video. How did Adon break his arm? + +
+ +
+ +You can download the file by right clicking [here][5] and click 'save-as' + +Last clip for this tape. Adon (with broken arm) and Courtney having a hit. +Followed by a young Hailey and Tilly? + +
+ +
+ +You can download the file by right clicking [here][6] and click 'save-as' + +Tags: Brian, Adon, Brianna, Courtney, Josh, Stacey, Caitlin, Clarissa, Del, Lorraine, Geoff, Tanya, Ian, Ronnie, Jesse, Josh-Sippel, Tim, Dan, Hailey + +[1]:https://f002.backblazeb2.com/file/BlogVideos/01-TennisLights-Web.mp4 +[2]:https://en.wikipedia.org/wiki/David_Attenborough +[3]:https://f002.backblazeb2.com/file/BlogVideos/02-Clarissa21stBDay-Web.mp4 +[4]:https://f002.backblazeb2.com/file/BlogVideos/03-CaitlinBeach-Web.mp4 +[5]:https://f002.backblazeb2.com/file/BlogVideos/04-BriansToys-Web.mp4 +[6]:https://f002.backblazeb2.com/file/BlogVideos/05-FarmAnimals-Web.mp4 diff --git a/kronks/feed.rss b/kronks/feed.rss new file mode 100644 index 0000000..d0b127b --- /dev/null +++ b/kronks/feed.rss @@ -0,0 +1,109 @@ + + +Kronks Videoshttp://zigford.org/kronks/index.html +Begin Sharing old VHS recordings and media for the familyen +Tue, 14 Jan 2020 10:53:25 +1000 +Tue, 14 Jan 2020 10:53:25 +1000 + + +Baby Baby +A movie world video clip featuring Carrie and Laure

+
+]]>
http://zigford.org/kronks/baby-baby.html +http://zigford.org/kronks/baby-baby.html +Jesse Harris +Tue, 14 Jan 2020 10:51:04 +1000
+ +A Birthday, an Engagement and some Bree Shenanigans +Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+
+]]>
http://zigford.org/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.html +http://zigford.org/kronks/a-birthday-an-engagement-and-some-bree-shenanigans.html +Jesse Harris +Sun, 15 Dec 2019 21:49:56 +1000
+ +Moving to Westend, Courtneys Birthday and a Snow Trip +In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+
+]]>
http://zigford.org/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.html +http://zigford.org/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.html +Jesse Harris +Sat, 05 Oct 2019 12:32:25 +1000
+ +DV Mix tape - Tamara Edition +This is a DV tape with recordings from probably around 2003-2004?

+
+]]>
http://zigford.org/kronks/dv-mix-tape---tamara-edition.html +http://zigford.org/kronks/dv-mix-tape---tamara-edition.html +Jesse Harris +Thu, 03 Oct 2019 14:42:16 +1000
+ +2004 - Brianna, Caitlin, Del, Stacey +It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+
+]]>
http://zigford.org/kronks/2004---brianna-caitlin-del-stacey.html +http://zigford.org/kronks/2004---brianna-caitlin-del-stacey.html +Jesse Harris +Sat, 24 Aug 2019 16:27:17 +1000
+ +Introducing Bree Sebastian +A few weeks ago I stumbled on some solid gold material. We know there are a few +video performances from Bree in the vault, but these I hadn't seen.

+
+]]>
http://zigford.org/kronks/introducing-bree-sebastian.html +http://zigford.org/kronks/introducing-bree-sebastian.html +Jesse Harris +Sun, 09 Jun 2019 16:42:57 +1000
+ +Christmas 2009 +One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+
+]]>
http://zigford.org/kronks/christmas-2009.html +http://zigford.org/kronks/christmas-2009.html +Jesse Harris +Sat, 01 Jun 2019 16:54:20 +1000
+ +Clarissa, Nicole and Renae hanging out in the Bus +This tape is a short one from 1999 of a grade 11 Clarissa and her friends +having a sleepover in the bus.

+
+]]>
http://zigford.org/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.html +http://zigford.org/kronks/clarissa-nicole-and-renae-hanging-out-in-the-bus.html +Jesse Harris +Sat, 01 Jun 2019 16:52:32 +1000
+ +Carrie and Stuarts Wedding +23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+
+]]>
http://zigford.org/kronks/carrie-and-stuarts-wedding.html +http://zigford.org/kronks/carrie-and-stuarts-wedding.html +Jesse Harris +Mon, 27 May 2019 00:27:46 +1000
+ +Movie World and Josh Sippels third birthday +Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+
+]]>
http://zigford.org/kronks/movie-world-and-josh-sippels-third-birthday.html +http://zigford.org/kronks/movie-world-and-josh-sippels-third-birthday.html +Jesse Harris +Sat, 25 May 2019 08:36:19 +1000
+
diff --git a/kronks/index.html b/kronks/index.html new file mode 100644 index 0000000..2c44fe8 --- /dev/null +++ b/kronks/index.html @@ -0,0 +1,77 @@ + + + + + + + +Kronks Videos + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Baby Baby +

+ +
January 14, 2020 — +Jesse Harris +
+ +

A movie world video clip featuring Carrie and Laure

+

Read more...

+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+ +
+ +
+ diff --git a/kronks/introducing-bree-sebastian.html b/kronks/introducing-bree-sebastian.html new file mode 100644 index 0000000..6f43edb --- /dev/null +++ b/kronks/introducing-bree-sebastian.html @@ -0,0 +1,71 @@ + + + + + + + +Introducing Bree Sebastian + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Introducing Bree Sebastian +

+ +
June 09, 2019 — +Jesse Harris +
+ +

A few weeks ago I stumbled on some solid gold material. We know there are a few +video performances from Bree in the vault, but these I hadn't seen.

+
+

Unfortunately, the audio quality wasn't super great coming from an old VHS, +which didn't appear to be the original source. It was likely filmed on a VHS or +DV camera, imported to a PC and then rerecorded onto a VHS.

+

So I wanted to go about muxing +(yes, that's a word) the good audio from youtube over this video.

+

That proved difficult as there is a few milliseconds of audio drift throughout +the video, which I was able to work around by slowing the audio down just a tag. +Suffice to say I'm happy enough with the result.

+

This fist one is from a performance on Australian Idol. There were two +performances of it during the season (I know, because I tried to mux the wrong +one initially).

+

When I get you alone - Bree Sebastian

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'
+Coming up next is a beautiful performance of by Bree. Such an angelic voice!

+

Angels brought me here

+

+ +

+

You can download the file by right clicking here and click 'save-as'

+

Tags: Brianna, Performance

+ + + + + + +
+ +
+ diff --git a/kronks/introducing-bree-sebastian.md b/kronks/introducing-bree-sebastian.md new file mode 100644 index 0000000..75eb77c --- /dev/null +++ b/kronks/introducing-bree-sebastian.md @@ -0,0 +1,50 @@ +Introducing Bree Sebastian + +A few weeks ago I stumbled on some solid gold material. We know there are a few +video performances from Bree in the vault, but these I hadn't seen. + +--- + +Unfortunately, the audio quality wasn't super great coming from an old VHS, +which didn't appear to be the original source. It was likely filmed on a VHS or +DV camera, imported to a PC and then rerecorded onto a VHS. + +So I wanted to go about [muxing](https://en.wikipedia.org/wiki/Multiplexing) +(yes, that's a word) the good audio from youtube over this video. + +That proved difficult as there is a few milliseconds of audio drift throughout +the video, which I was able to work around by slowing the audio down just a tag. +Suffice to say I'm happy enough with the result. + +This fist one is from a performance on Australian Idol. There were two +performances of it during the season (I know, because I tried to mux the wrong +one initially). + +### When I get you alone - Bree Sebastian + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' +Coming up next is a beautiful performance of by Bree. Such an angelic voice! + +### Angels brought me here +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Tags: Brianna, Performance + +[1]: https://f002.backblazeb2.com/file/BlogVideos/BreeArtist/BreeSebastian_When-I-get-you-alone.mp4 +[2]: https://f002.backblazeb2.com/file/BlogVideos/BreeArtist/BreeSebastian_Angels-brought-me-here.mp4 diff --git a/kronks/kronk-files-circa-19909231.html b/kronks/kronk-files-circa-19909231.html new file mode 100644 index 0000000..4e360f7 --- /dev/null +++ b/kronks/kronk-files-circa-19909231.html @@ -0,0 +1,175 @@ + + + + + + + +Kronk Files Circa 1990 + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+
+

The Tape

+

If you can't zoom in enough to see the handwritten label, it reads:

+
+

Kids mucking around.
+Sports Day ...
+Clarissa's Baptism
+Racing Cars
+At ...

+
+

And..

+
+

Adon Sleeping
+Courtney (1990) Model
+Moving Tree
+Josh & Clarissa
+Music Camp

+
+

First up is Carrie filming the Firth girls, Clarissa, Tamara, Laurie, Courtney, +Josh, and a cute little Adon being held by Del. Theo makes an appearance too. +Stay until the end to see 4 year old Tamara tell us her favourite things, colour +and what she will be when she grows up.

+
+ +
+ +

Rosvale sports day! I think Stacey might be filming. Josh puts in an amazing +effort and comes 2nd in the 800 meter? And Clarissa gets 3rd in the 100 meter. +Tamara seems to be in Bongeen clothes, so this may be 1991.

+
+ +
+ +

Next we have Clarissa's Baptism, Trevor Firth was the pastor.

+
+ +
+ +

Some GoKart racing. I'm guessing this is at the Sunshine Coast Big Kart Track

+
+ +
+ +

Now we have the famous Sleepy/Shutup Adon video

+
+ +
+ +

Courtney modelling some 80's clothes

+
+ +
+ +

Brian and Stacey rip out a massive tree with good ole farming ingenuity. Vanessa, +Adon and Courtney make an appearance, while Del films.

+
+ +
+ +

The building of the Music room.

+
+ +
+ +

Clarissa and Josh went to a camp at the Jondaryan Woolshed. This video shows them +performing in the choir there

+
+ +
+ +

Clarissa tells me she couldn't read the sheet music at the time so faked her way +through playing recorder in this segment.

+
+ +
+ +

Now we can see Clarissa bush dancing in some bush dances in the Jondaryan Woolshed

+
+ +
+ +

The final video at the Jondaryan Woolshed is some awards given out at the end of +the camp.

+
+ +
+ +

Last recording on this tape is at Nana (PJ) house. You can see Gloria and Bobby +along with someone Clarissa doesn't know and their twin babies.

+
+ +
+ +

That's it for this tape. Please email me your memories +and interesting tidbits to include on the site.

+

PS, my DV Cleaning tape arrived so I might be able to start processing the DV +camcorder tapes soon.

+

Tags: Firths, Clarissa, Josh, Laurie, Courtney, Tamara, Brian, Stacey, Adon, Del, Theo, Vanessa

+ + + + + + +
+ +
+ diff --git a/kronks/kronk-files-circa-19909231.md b/kronks/kronk-files-circa-19909231.md new file mode 100644 index 0000000..f545681 --- /dev/null +++ b/kronks/kronk-files-circa-19909231.md @@ -0,0 +1,159 @@ +Kronk Files Circa 1990 + +Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990 + +--- + +![The Tape](https://f002.backblazeb2.com/file/BlogVideos/firthsandkronks.jpeg) + +If you can't zoom in enough to see the handwritten label, it reads: + +> Kids mucking around. +> Sports Day ... +> Clarissa's Baptism +> Racing Cars +> At ... + +And.. + +> Adon Sleeping +> Courtney (1990) Model +> Moving Tree +> Josh & Clarissa +> Music Camp + +First up is Carrie filming the Firth girls, Clarissa, Tamara, Laurie, Courtney, +Josh, and a cute little Adon being held by Del. Theo makes an appearance too. +Stay until the end to see 4 year old Tamara tell us her favourite things, colour +and what she will be when she grows up. + +
+ +
+ +Rosvale sports day! I think Stacey might be filming. Josh puts in an amazing +effort and comes 2nd in the 800 meter? And Clarissa gets 3rd in the 100 meter. +Tamara seems to be in Bongeen clothes, so this may be 1991. + +
+ +
+ +Next we have Clarissa's Baptism, Trevor Firth was the pastor. + +
+ +
+ +Some GoKart racing. I'm guessing this is at the Sunshine Coast Big Kart Track + +
+ +
+ +Now we have the famous Sleepy/Shutup Adon video + +
+ +
+ +Courtney modelling some 80's clothes + +
+ +
+ +Brian and Stacey rip out a massive tree with good ole farming ingenuity. Vanessa, +Adon and Courtney make an appearance, while Del films. + +
+ +
+ +The building of the Music room. + +
+ +
+ +Clarissa and Josh went to a camp at the Jondaryan Woolshed. This video shows them +performing in the choir there + +
+ +
+ +Clarissa tells me she couldn't read the sheet music at the time so faked her way +through playing recorder in this segment. + +
+ +
+ +Now we can see Clarissa bush dancing in some bush dances in the Jondaryan Woolshed + +
+ +
+ +The final video at the Jondaryan Woolshed is some awards given out at the end of +the camp. + +
+ +
+ +Last recording on this tape is at Nana (PJ) house. You can see Gloria and Bobby +along with someone Clarissa doesn't know and their twin babies. + +
+ +
+ +That's it for this tape. Please [email me](mailto:jesse@zigford.org) your memories +and interesting tidbits to include on the site. + +PS, my DV Cleaning tape arrived so I might be able to start processing the DV +camcorder tapes soon. + +Tags: Firths, Clarissa, Josh, Laurie, Courtney, Tamara, Brian, Stacey, Adon, Del, Theo, Vanessa, diff --git a/kronks/lauries-performance-in-pirates-of-penzance.html b/kronks/lauries-performance-in-pirates-of-penzance.html new file mode 100644 index 0000000..597440f --- /dev/null +++ b/kronks/lauries-performance-in-pirates-of-penzance.html @@ -0,0 +1,51 @@ + + + + + + + +Laurie's performance in Pirates of Penzance + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Laurie's performance in Pirates of Penzance +

+ +
May 11, 2019 — +Jesse Harris +
+ +

Laurie performed in the grade 12? musical Pirates of Penzance.

+
+

Please write in to jesse@zigford.org and let me know what year this was +and any other tidbits of information I can include here.

+
+ +
+ +

On a PC/Mac you should be able to download the video from: here

+

This one is encoded with a newer format that may not play in some browsers. +If that happens, try downloading the file and playing with VLC

+

Tags: Laurie, Performance

+ + + + + + +
+ +
+ diff --git a/kronks/lauries-performance-in-pirates-of-penzance.md b/kronks/lauries-performance-in-pirates-of-penzance.md new file mode 100644 index 0000000..f118659 --- /dev/null +++ b/kronks/lauries-performance-in-pirates-of-penzance.md @@ -0,0 +1,26 @@ +Laurie's performance in Pirates of Penzance + +Laurie performed in the grade 12? musical Pirates of Penzance. + +--- + +Please write in to jesse@zigford.org and let me know what year this was +and any other tidbits of information I can include here. + +
+ +
+ +On a PC/Mac you should be able to download the video from: [here][1] + +_This one is encoded with a newer format that may not play in some browsers. +If that happens, try downloading the file and playing with [VLC][2]_ + + +Tags: Laurie, Performance + +[1]:https://f002.backblazeb2.com/file/BlogVideos/PiratesOfPenzance.mp4 +[2]:https://www.videolan.org/index.html diff --git a/kronks/main.css b/kronks/main.css new file mode 100644 index 0000000..8e431e2 --- /dev/null +++ b/kronks/main.css @@ -0,0 +1,92 @@ +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; */ +} +#video { + text-align: center; +} +#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; +} diff --git a/kronks/movie-world-and-josh-sippels-third-birthday.html b/kronks/movie-world-and-josh-sippels-third-birthday.html new file mode 100644 index 0000000..81dcba0 --- /dev/null +++ b/kronks/movie-world-and-josh-sippels-third-birthday.html @@ -0,0 +1,71 @@ + + + + + + + +Movie World and Josh Sippels third birthday + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+
+

Highlights for those involved are:

+

00:01:00 - Geoff Sippel get's enlisted for the Police Academy play
+00:12:32 - A Saloon play
+00:33:54 - Lunch with the Looney Tunes
+00:47:17 - Movie sets and scenes
+00:49:22 - Stacey and Geoff selected for somethine
+00:53:50 - Stacey! The man of steel
+00:56:20 - Geoff doing the sound effects
+01:06:10 - Family photo
+01:07:04 - Tamara, Courtney, Josh and Josh Sippel go for a drive
+01:09:00 - Carrie and Laurie music video

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Now is Josh Sippel's third birthday at the park which is 12 days later in early +1992.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Clarissa, Josh, Stacey, Geoff, Tanya, Del, Adon, Laurie, Tamara, Carrie, Courtney, Bob, Gloria

+ + + + + + +
+ +
+ diff --git a/kronks/movie-world-and-josh-sippels-third-birthday.md b/kronks/movie-world-and-josh-sippels-third-birthday.md new file mode 100644 index 0000000..e88fe13 --- /dev/null +++ b/kronks/movie-world-and-josh-sippels-third-birthday.md @@ -0,0 +1,47 @@ +Movie World and Josh Sippels third birthday + +Cast yourself back to December 1991. You are attending Movie World and having a +great time. + +--- + +Highlights for those involved are: + +00:01:00 - Geoff Sippel get's enlisted for the Police Academy play +00:12:32 - A Saloon play +00:33:54 - Lunch with the Looney Tunes +00:47:17 - Movie sets and scenes +00:49:22 - Stacey and Geoff selected for somethine +00:53:50 - Stacey! The man of steel +00:56:20 - Geoff doing the sound effects +01:06:10 - Family photo +01:07:04 - Tamara, Courtney, Josh and Josh Sippel go for a drive +01:09:00 - Carrie and Laurie music video + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Now is Josh Sippel's third birthday at the park which is 12 days later in early +1992. + +
+ +
+ +You can download the file by right clicking [here][2] and click 'save-as' + +Tags: Clarissa, Josh, Stacey, Geoff, Tanya, Del, Adon, Laurie, Tamara, Carrie, Courtney, Bob, Gloria + +[1]:https://f002.backblazeb2.com/file/BlogVideos/MovieWorld/01-MovieWorld-Web.mp4 +[2]:https://f002.backblazeb2.com/file/BlogVideos/MovieWorld/02-BirthdayInThePark-Web.mp4 diff --git a/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.html b/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.html new file mode 100644 index 0000000..f2452a3 --- /dev/null +++ b/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.html @@ -0,0 +1,112 @@ + + + + + + + +Moving to Westend, Courtneys Birthday and a Snow Trip + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+
+

First up is Laurie, Clarissa, and Jesse moving to Westend. Hosted by Brianna we +start off packing up at wellcamp and finish off at 26 something street in westend. +Josh, Adon, Brian, Delia are helping too. Thanks for helping. I hope I never +move again!

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Next is Courtney's 16th Birthday. Do you find +it creepy someone is recording you sleeping at then end?

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Followed by a snow visit. Laurie is our voice-challenged guide initially but we +get to see a lot of snow (PS, I've never seen/been to the snow in my life)

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

A brief stop on the way home to see where some bushfire had been. I can't quite +be sure of the location Delia mentions. Is it Omio?

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

Another stop (Apparently this was a regular ritual) to the park on the way home. +Gee those slides are nice and long.

+
+ +
+

You can download the file by right clicking here and click "save-as"

+
+

And lastly we interrupt this program to see Brianna talking to herself (we all +do it) and to peppers little pups. I wonder if Hailey was in the litter?

+
+ +
+

You can download the file by right clicking here and click "save-as"

+

Tags: Jesse, Clarissa, Laurie, Josh, Adon, Tamara, Coutney, Brian, Delia, Brianna, Stacey, Pepper

+ + + + +
+ +
+ diff --git a/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.md b/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.md new file mode 100644 index 0000000..c3b30a4 --- /dev/null +++ b/kronks/moving-to-westend-courtneys-birthday-and-a-snow-trip.md @@ -0,0 +1,113 @@ +Moving to Westend, Courtneys Birthday and a Snow Trip + +In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies. + +--- + +First up is Laurie, Clarissa, and Jesse moving to Westend. Hosted by Brianna we +start off packing up at wellcamp and finish off at 26 something street in westend. +Josh, Adon, Brian, Delia are helping too. Thanks for helping. I hope I never +move again! + +
+ +
+ +You can download the file by right clicking [here][1] and click "save-as" + +--- + +Next is Courtney's 16th Birthday. Do you find +it creepy someone is recording you sleeping at then end? + +
+ +
+ +You can download the file by right clicking [here][2] and click "save-as" + +--- + +Followed by a snow visit. Laurie is our voice-challenged guide initially but we +get to see a lot of snow (PS, I've never seen/been to the snow in my life) + +
+ +
+ +You can download the file by right clicking [here][3] and click "save-as" + +--- + +A brief stop on the way home to see where some bushfire had been. I can't quite +be sure of the location Delia mentions. Is it *Omio*? + +
+ +
+ +You can download the file by right clicking [here][4] and click "save-as" + +--- + +Another stop (Apparently this was a regular ritual) to the park on the way home. +Gee those slides are nice and long. + +
+ +
+ +You can download the file by right clicking [here][5] and click "save-as" + +--- + +And lastly we interrupt this program to see Brianna talking to herself (we all +do it) and to peppers little pups. I wonder if Hailey was in the litter? + +
+ +
+ +You can download the file by right clicking [here][6] and click "save-as" + + +Tags: Jesse, Clarissa, Laurie, Josh, Adon, Tamara, Coutney, Brian, Delia, Brianna, Stacey, Pepper + +[1]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/MovingToWestEnd-Web.mp4 +[2]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/CourtneyBday-Web.mp4 +[3]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/SnowTrip-Web.mp4 +[4]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/BushFiresWentThrough-Web.mp4 +[5]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/AtTheParkOnthewaybackfromSnow-Web.mp4 +[6]: https://f002.backblazeb2.com/file/BlogVideos/2005/SnowTrip/BriannaAndPepper-Web.mp4 diff --git a/kronks/performances.html b/kronks/performances.html new file mode 100644 index 0000000..5669f71 --- /dev/null +++ b/kronks/performances.html @@ -0,0 +1,107 @@ + + + + + + + +Performances! + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+
+

The tape:

+

lauries musical 1995 year 12

+

First thing on the tape is a video filmed from what looks like Bongeen +school could it be Tamara or Courtney? I'm not sure, write in to let me +know.

+
+ +
+ +

Next up we have Clarissa, and I think Tamara and maybe Bree in a modern take +of Cinderella.

+
+ +
+ +

Now we find Adon, Bree, Carrie, Tamara and Courtney playing in the cotton.

+
+ +
+ +

The quality seems pretty poor in this one, given the odd aspect ratio for +a video recorded on a VHS, I suspect it may have been dubbed from another +video or filmed off the back of a camcorder screen. Either way, it's great +to see this performance of Vincent for the edikan.

+
+ +
+ +

From here on in the video, the quality drops dramatically, from missing +audio or noise filled video. Luckily the clips are small and I thought I'd +include them anyway.

+

One of Laurie's Birthdays

+
+ +
+ +

Laurie's New Voice

+
+ +
+ +

Adon's 14th

+
+ +
+ +

Tags: Clarissa, Brianna, Courtney, Brian, Adon, Laurie, Performance

+ + + + + + +
+ +
+ diff --git a/kronks/performances.md b/kronks/performances.md new file mode 100644 index 0000000..81d7ded --- /dev/null +++ b/kronks/performances.md @@ -0,0 +1,85 @@ +Performances! + +The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape. + +--- + +The tape: + +![lauries musical 1995 year 12](https://f002.backblazeb2.com/file/BlogVideos/tape.jpeg) + +First thing on the tape is a video filmed from what looks like Bongeen +school could it be Tamara or Courtney? I'm not sure, write in to let me +know. + +
+ +
+ +Next up we have Clarissa, and I think Tamara and maybe Bree in a modern take +of Cinderella. + +
+ +
+ +Now we find Adon, Bree, Carrie, Tamara and Courtney playing in the cotton. + +
+ +
+ +The quality seems pretty poor in this one, given the odd aspect ratio for +a video recorded on a VHS, I suspect it may have been dubbed from another +video or filmed off the back of a camcorder screen. Either way, it's great +to see this performance of Vincent for the edikan. + +
+ +
+ +From here on in the video, the quality drops dramatically, from missing +audio or noise filled video. Luckily the clips are small and I thought I'd +include them anyway. + +One of Laurie's Birthdays + +
+ +
+ +Laurie's New Voice + +
+ +
+ +Adon's 14th + +
+ +
+ +Tags: Clarissa, Brianna, Courtney, Brian, Adon, Laurie, Performance diff --git a/kronks/tag_Adon.html b/kronks/tag_Adon.html new file mode 100644 index 0000000..be6cd99 --- /dev/null +++ b/kronks/tag_Adon.html @@ -0,0 +1,166 @@ + + + + + + + +Kronks Videos — Posts tagged "Adon" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Adon's Surprise Return Home +

+ +
May 18, 2019 — +Jesse Harris +
+ +

After a long stint overseas, Adon set's up a nice surprise for Brian and Del.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Bob.html b/kronks/tag_Bob.html new file mode 100644 index 0000000..a6c69f2 --- /dev/null +++ b/kronks/tag_Bob.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Bob" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Brian.html b/kronks/tag_Brian.html new file mode 100644 index 0000000..f45bb7e --- /dev/null +++ b/kronks/tag_Brian.html @@ -0,0 +1,188 @@ + + + + + + + +Kronks Videos — Posts tagged "Brian" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Adon's Surprise Return Home +

+ +
May 18, 2019 — +Jesse Harris +
+ +

After a long stint overseas, Adon set's up a nice surprise for Brian and Del.

+

Read more...

+

+Working on the Cinema +

+ +
May 18, 2019 — +Jesse Harris +
+ +

Short clip today. A couple of times I've found a full 3 hour Video Cassette +with only 30 minutes of recording and the rest totally blank. In this case the tape has 3 minutes 10 seconds of video.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Brianna.html b/kronks/tag_Brianna.html new file mode 100644 index 0000000..05648ce --- /dev/null +++ b/kronks/tag_Brianna.html @@ -0,0 +1,177 @@ + + + + + + + +Kronks Videos — Posts tagged "Brianna" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+

+Introducing Bree Sebastian +

+ +
June 09, 2019 — +Jesse Harris +
+ +

A few weeks ago I stumbled on some solid gold material. We know there are a few +video performances from Bree in the vault, but these I hadn't seen.

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Adon's Surprise Return Home +

+ +
May 18, 2019 — +Jesse Harris +
+ +

After a long stint overseas, Adon set's up a nice surprise for Brian and Del.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Caitlin.html b/kronks/tag_Caitlin.html new file mode 100644 index 0000000..02f3de6 --- /dev/null +++ b/kronks/tag_Caitlin.html @@ -0,0 +1,45 @@ + + + + + + + +Kronks Videos — Posts tagged "Caitlin" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Carrie.html b/kronks/tag_Carrie.html new file mode 100644 index 0000000..729c12e --- /dev/null +++ b/kronks/tag_Carrie.html @@ -0,0 +1,76 @@ + + + + + + + +Kronks Videos — Posts tagged "Carrie" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Baby Baby +

+ +
January 14, 2020 — +Jesse Harris +
+ +

A movie world video clip featuring Carrie and Laure

+

Read more...

+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Catilin.html b/kronks/tag_Catilin.html new file mode 100644 index 0000000..2a7dda2 --- /dev/null +++ b/kronks/tag_Catilin.html @@ -0,0 +1,32 @@ + + + + + + + +Kronks Videos — Posts tagged "Catilin" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Chris.html b/kronks/tag_Chris.html new file mode 100644 index 0000000..ac41ca3 --- /dev/null +++ b/kronks/tag_Chris.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Chris" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Clarissa.html b/kronks/tag_Clarissa.html new file mode 100644 index 0000000..b759873 --- /dev/null +++ b/kronks/tag_Clarissa.html @@ -0,0 +1,189 @@ + + + + + + + +Kronks Videos — Posts tagged "Clarissa" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Clarissa, Nicole and Renae hanging out in the Bus +

+ +
June 01, 2019 — +Jesse Harris +
+ +

This tape is a short one from 1999 of a grade 11 Clarissa and her friends +having a sleepover in the bus.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Courtney.html b/kronks/tag_Courtney.html new file mode 100644 index 0000000..45dbfd8 --- /dev/null +++ b/kronks/tag_Courtney.html @@ -0,0 +1,143 @@ + + + + + + + +Kronks Videos — Posts tagged "Courtney" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Coutney.html b/kronks/tag_Coutney.html new file mode 100644 index 0000000..4d307a9 --- /dev/null +++ b/kronks/tag_Coutney.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Coutney" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Dan.html b/kronks/tag_Dan.html new file mode 100644 index 0000000..1d1b7bc --- /dev/null +++ b/kronks/tag_Dan.html @@ -0,0 +1,55 @@ + + + + + + + +Kronks Videos — Posts tagged "Dan" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Daniel-Von-Pein.html b/kronks/tag_Daniel-Von-Pein.html new file mode 100644 index 0000000..3333a71 --- /dev/null +++ b/kronks/tag_Daniel-Von-Pein.html @@ -0,0 +1,31 @@ + + + + + + + +Kronks Videos — Posts tagged "Daniel-Von-Pein" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Darcy.html b/kronks/tag_Darcy.html new file mode 100644 index 0000000..0b5a2cf --- /dev/null +++ b/kronks/tag_Darcy.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Darcy" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Dave.html b/kronks/tag_Dave.html new file mode 100644 index 0000000..87e8d72 --- /dev/null +++ b/kronks/tag_Dave.html @@ -0,0 +1,53 @@ + + + + + + + +Kronks Videos — Posts tagged "Dave" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Debutante.html b/kronks/tag_Debutante.html new file mode 100644 index 0000000..36a586e --- /dev/null +++ b/kronks/tag_Debutante.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Debutante" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+
+ +
+ diff --git a/kronks/tag_Del.html b/kronks/tag_Del.html new file mode 100644 index 0000000..61a81d5 --- /dev/null +++ b/kronks/tag_Del.html @@ -0,0 +1,154 @@ + + + + + + + +Kronks Videos — Posts tagged "Del" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Adon's Surprise Return Home +

+ +
May 18, 2019 — +Jesse Harris +
+ +

After a long stint overseas, Adon set's up a nice surprise for Brian and Del.

+

Read more...

+

+Working on the Cinema +

+ +
May 18, 2019 — +Jesse Harris +
+ +

Short clip today. A couple of times I've found a full 3 hour Video Cassette +with only 30 minutes of recording and the rest totally blank. In this case the tape has 3 minutes 10 seconds of video.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Delia.html b/kronks/tag_Delia.html new file mode 100644 index 0000000..9ed0f1b --- /dev/null +++ b/kronks/tag_Delia.html @@ -0,0 +1,66 @@ + + + + + + + +Kronks Videos — Posts tagged "Delia" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Elijah.html b/kronks/tag_Elijah.html new file mode 100644 index 0000000..9d1a42f --- /dev/null +++ b/kronks/tag_Elijah.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Elijah" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Firths.html b/kronks/tag_Firths.html new file mode 100644 index 0000000..485c2ed --- /dev/null +++ b/kronks/tag_Firths.html @@ -0,0 +1,32 @@ + + + + + + + +Kronks Videos — Posts tagged "Firths" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Geoff.html b/kronks/tag_Geoff.html new file mode 100644 index 0000000..4c48755 --- /dev/null +++ b/kronks/tag_Geoff.html @@ -0,0 +1,55 @@ + + + + + + + +Kronks Videos — Posts tagged "Geoff" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Gloria.html b/kronks/tag_Gloria.html new file mode 100644 index 0000000..0c90cdb --- /dev/null +++ b/kronks/tag_Gloria.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Gloria" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Hailey.html b/kronks/tag_Hailey.html new file mode 100644 index 0000000..9ace794 --- /dev/null +++ b/kronks/tag_Hailey.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Hailey" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Ian.html b/kronks/tag_Ian.html new file mode 100644 index 0000000..546867c --- /dev/null +++ b/kronks/tag_Ian.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Ian" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Jacob.html b/kronks/tag_Jacob.html new file mode 100644 index 0000000..643af99 --- /dev/null +++ b/kronks/tag_Jacob.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Jacob" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Jean.html b/kronks/tag_Jean.html new file mode 100644 index 0000000..b5a28f7 --- /dev/null +++ b/kronks/tag_Jean.html @@ -0,0 +1,53 @@ + + + + + + + +Kronks Videos — Posts tagged "Jean" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Jesse.html b/kronks/tag_Jesse.html new file mode 100644 index 0000000..8d3cf0f --- /dev/null +++ b/kronks/tag_Jesse.html @@ -0,0 +1,91 @@ + + + + + + + +Kronks Videos — Posts tagged "Jesse" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+
+ +
+ diff --git a/kronks/tag_Josh-Sippel.html b/kronks/tag_Josh-Sippel.html new file mode 100644 index 0000000..1bf6917 --- /dev/null +++ b/kronks/tag_Josh-Sippel.html @@ -0,0 +1,44 @@ + + + + + + + +Kronks Videos — Posts tagged "Josh-Sippel" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Josh.html b/kronks/tag_Josh.html new file mode 100644 index 0000000..0d89f57 --- /dev/null +++ b/kronks/tag_Josh.html @@ -0,0 +1,156 @@ + + + + + + + +Kronks Videos — Posts tagged "Josh" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Laurie.html b/kronks/tag_Laurie.html new file mode 100644 index 0000000..d191a4f --- /dev/null +++ b/kronks/tag_Laurie.html @@ -0,0 +1,175 @@ + + + + + + + +Kronks Videos — Posts tagged "Laurie" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Baby Baby +

+ +
January 14, 2020 — +Jesse Harris +
+ +

A movie world video clip featuring Carrie and Laure

+

Read more...

+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+Laurie's performance in Pirates of Penzance +

+ +
May 11, 2019 — +Jesse Harris +
+ +

Laurie performed in the grade 12? musical Pirates of Penzance.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Lorraine.html b/kronks/tag_Lorraine.html new file mode 100644 index 0000000..6a019fd --- /dev/null +++ b/kronks/tag_Lorraine.html @@ -0,0 +1,55 @@ + + + + + + + +Kronks Videos — Posts tagged "Lorraine" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Love-Is-In-The-Air.html b/kronks/tag_Love-Is-In-The-Air.html new file mode 100644 index 0000000..5bb8ae6 --- /dev/null +++ b/kronks/tag_Love-Is-In-The-Air.html @@ -0,0 +1,43 @@ + + + + + + + +Kronks Videos — Posts tagged "Love-Is-In-The-Air" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+
+ +
+ diff --git a/kronks/tag_Mel.html b/kronks/tag_Mel.html new file mode 100644 index 0000000..0b21f3b --- /dev/null +++ b/kronks/tag_Mel.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Mel" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Mum.html b/kronks/tag_Mum.html new file mode 100644 index 0000000..f845af9 --- /dev/null +++ b/kronks/tag_Mum.html @@ -0,0 +1,32 @@ + + + + + + + +Kronks Videos — Posts tagged "Mum" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Pepper.html b/kronks/tag_Pepper.html new file mode 100644 index 0000000..e54bb03 --- /dev/null +++ b/kronks/tag_Pepper.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Pepper" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Performance.html b/kronks/tag_Performance.html new file mode 100644 index 0000000..114f88b --- /dev/null +++ b/kronks/tag_Performance.html @@ -0,0 +1,74 @@ + + + + + + + +Kronks Videos — Posts tagged "Performance" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Baby Baby +

+ +
January 14, 2020 — +Jesse Harris +
+ +

A movie world video clip featuring Carrie and Laure

+

Read more...

+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+

+Introducing Bree Sebastian +

+ +
June 09, 2019 — +Jesse Harris +
+ +

A few weeks ago I stumbled on some solid gold material. We know there are a few +video performances from Bree in the vault, but these I hadn't seen.

+

Read more...

+

+Performances! +

+ +
May 12, 2019 — +Jesse Harris +
+ +

The same VHS tape which had Laurie's Pirates performance also has +a few other performances. Here they are in order found on the tape.

+

Read more...

+

+Laurie's performance in Pirates of Penzance +

+ +
May 11, 2019 — +Jesse Harris +
+ +

Laurie performed in the grade 12? musical Pirates of Penzance.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Ronnie.html b/kronks/tag_Ronnie.html new file mode 100644 index 0000000..fbb773e --- /dev/null +++ b/kronks/tag_Ronnie.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Ronnie" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Stacey.html b/kronks/tag_Stacey.html new file mode 100644 index 0000000..4bebc25 --- /dev/null +++ b/kronks/tag_Stacey.html @@ -0,0 +1,134 @@ + + + + + + + +Kronks Videos — Posts tagged "Stacey" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+2004 - Brianna, Caitlin, Del, Stacey +

+ +
August 24, 2019 — +Jesse Harris +
+ +

It's been a while since posts, but I promise, I'm not done yet and there will be +many more to come.

+

Read more...

+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+

+Working on the Cinema +

+ +
May 18, 2019 — +Jesse Harris +
+ +

Short clip today. A couple of times I've found a full 3 hour Video Cassette +with only 30 minutes of recording and the rest totally blank. In this case the tape has 3 minutes 10 seconds of video.

+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Stuart.html b/kronks/tag_Stuart.html new file mode 100644 index 0000000..f9cbd5d --- /dev/null +++ b/kronks/tag_Stuart.html @@ -0,0 +1,44 @@ + + + + + + + +Kronks Videos — Posts tagged "Stuart" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+A Birthday, an Engagement and some Bree Shenanigans +

+ +
December 15, 2019 — +Jesse Harris +
+ +

Welcome back to another exciting Tape review. Today's archive begins with +Courtney's birthday. 16th maybe? I'm thinking this is mid 2005, so Courtney how +old would you have been?

+

Read more...

+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Tamara.html b/kronks/tag_Tamara.html new file mode 100644 index 0000000..e924ef3 --- /dev/null +++ b/kronks/tag_Tamara.html @@ -0,0 +1,120 @@ + + + + + + + +Kronks Videos — Posts tagged "Tamara" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Moving to Westend, Courtneys Birthday and a Snow Trip +

+ +
October 05, 2019 — +Jesse Harris +
+ +

In today's episode of the Kronk files we have a grab bag of events. Nothing too +thrilling but exactly the kind life you want to capture to remember well into +the future. Work, relaxation, celebration and randomly talking to puppies.

+

Read more...

+

+DV Mix tape - Tamara Edition +

+ +
October 03, 2019 — +Jesse Harris +
+ +

This is a DV tape with recordings from probably around 2003-2004?

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+Dave Kronks 70th Birthday +

+ +
May 20, 2019 — +Jesse Harris +
+ +

1987 Dave Kronk turns 70. Just this year was Brian's 70th which makes it feel like time is +truly racing by. Love that the Kronks were diligent enough to capture these memories.

+

Read more...

+

+Courtney's Debutante +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Clarissa and I had a good laugh over this video. We can be seen chatting and +dancing on what I think was our second date (sorta!). Others featured in the +video are:

+
    +
  • Josh
  • +
  • Brian & Del
  • +
  • Laurie
  • +
  • Courtney
  • +
  • Adon
  • +
  • Clarissa & Jesse
  • +
  • Brianna
  • +
  • Tamara
  • +
+

Read more...

+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+

+A message to Mum and Laurie +

+ +
May 11, 2019 — +Jesse Harris +
+ +

This video was sent to Del and Laurie when they were away for around a month +or so in hospital.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Tanya.html b/kronks/tag_Tanya.html new file mode 100644 index 0000000..1511f09 --- /dev/null +++ b/kronks/tag_Tanya.html @@ -0,0 +1,66 @@ + + + + + + + +Kronks Videos — Posts tagged "Tanya" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Movie World and Josh Sippels third birthday +

+ +
May 25, 2019 — +Jesse Harris +
+ +

Cast yourself back to December 1991. You are attending Movie World and having a +great time.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Theo.html b/kronks/tag_Theo.html new file mode 100644 index 0000000..79b8c34 --- /dev/null +++ b/kronks/tag_Theo.html @@ -0,0 +1,32 @@ + + + + + + + +Kronks Videos — Posts tagged "Theo" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Tim.html b/kronks/tag_Tim.html new file mode 100644 index 0000000..ce8802b --- /dev/null +++ b/kronks/tag_Tim.html @@ -0,0 +1,55 @@ + + + + + + + +Kronks Videos — Posts tagged "Tim" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Carrie and Stuarts Wedding +

+ +
May 27, 2019 — +Jesse Harris +
+ +

23 February 2002 is the time stamp that appears when importing footage from this +mini DV tape.

+

Read more...

+

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+

Read more...

+

+DV Mix Tape 1 +

+ +
May 19, 2019 — +Jesse Harris +
+ +

Heading up this tape is the raising of a Tennis Court light at Bongeen, +Clarissa's 21st Birthday, Caitlin's (maybe first) trip to the beach, and, +some miscellaneous animals

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Tom.html b/kronks/tag_Tom.html new file mode 100644 index 0000000..553c845 --- /dev/null +++ b/kronks/tag_Tom.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "Tom" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Christmas 2009 +

+ +
June 01, 2019 — +Jesse Harris +
+ +

One of the newer recordings on DV tape this time is from December 2009. While +newer, age hasn't been kind to this recording and there are audio glitches +throughout.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_Vanessa.html b/kronks/tag_Vanessa.html new file mode 100644 index 0000000..10168f4 --- /dev/null +++ b/kronks/tag_Vanessa.html @@ -0,0 +1,32 @@ + + + + + + + +Kronks Videos — Posts tagged "Vanessa" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Kronk Files Circa 1990 +

+ +
May 16, 2019 — +Jesse Harris +
+ +

Welcome back to another episode of the Kronk files. +This episode is filled with a range of activities from around 1990

+

Read more...

+
+ +
+ diff --git a/kronks/tag_brianna.html b/kronks/tag_brianna.html new file mode 100644 index 0000000..95b0e11 --- /dev/null +++ b/kronks/tag_brianna.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "brianna" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Bree's birthdays +

+ +
April 29, 2019 — +Jesse Harris +
+ +

I attempted to post this video to youtube but their child protection policy +blocked it. Therefore I have created this quick site to share the video and +others.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_granny-muggleton.html b/kronks/tag_granny-muggleton.html new file mode 100644 index 0000000..c34a635 --- /dev/null +++ b/kronks/tag_granny-muggleton.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "granny-muggleton" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Bree's birthdays +

+ +
April 29, 2019 — +Jesse Harris +
+ +

I attempted to post this video to youtube but their child protection policy +blocked it. Therefore I have created this quick site to share the video and +others.

+

Read more...

+
+ +
+ diff --git a/kronks/tag_nanna.html b/kronks/tag_nanna.html new file mode 100644 index 0000000..5a615fc --- /dev/null +++ b/kronks/tag_nanna.html @@ -0,0 +1,33 @@ + + + + + + + +Kronks Videos — Posts tagged "nanna" + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+

+Bree's birthdays +

+ +
April 29, 2019 — +Jesse Harris +
+ +

I attempted to post this video to youtube but their child protection policy +blocked it. Therefore I have created this quick site to share the video and +others.

+

Read more...

+
+ +
+ diff --git a/kronks/tamaras-debutante-with-some-other-bits.html b/kronks/tamaras-debutante-with-some-other-bits.html new file mode 100644 index 0000000..5b630f3 --- /dev/null +++ b/kronks/tamaras-debutante-with-some-other-bits.html @@ -0,0 +1,137 @@ + + + + + + + +Tamara's Debutante (with some other bits) + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Tamara's Debutante (with some other bits) +

+ +
May 20, 2019 — +Jesse Harris +
+ +

Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too.

+
+

I've skimmed through and put some time stamps of the highlights below

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:03:30Clarissa enters
00:07:00Tamara enters
00:14:20Tamara's speech
00:17:50First dance
00:20:50Brian and Del join the dance
00:23:30The pipes
00:25:30Courtney, Liz, Daniel Von-Pine, Adon
00:26:40Everyone dancing
00:29:30Brian and Tamara dancing
+

Next up we have a Joshua's 19th? Birthday get-together at the Sippels (I think?) +We get to see Josh blow out his candles, Dan being cute and nearly everyone join +in the soccer match.

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+ + + + + + + + + + + + + + + + + + + + + +
Time stampDescription
00:02:18Cake time
00:05:39Dan wants to see
00:06:45The wild soccer match
+

Lastly we have Courtney in a Tennis match

+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Tamara, Courtney, Clarissa, Brianna, Brian, Del, Adon, Stacey, Tim, Dan, Bob, Gloria, Laurie, Josh, Tanya, Lorraine, Darcy, Jacob, Josh-Sippel

+ + + + + + +
+ +
+ diff --git a/kronks/tamaras-debutante-with-some-other-bits.md b/kronks/tamaras-debutante-with-some-other-bits.md new file mode 100644 index 0000000..3d9cf7a --- /dev/null +++ b/kronks/tamaras-debutante-with-some-other-bits.md @@ -0,0 +1,65 @@ +Tamara's Debutante (with some other bits) + +Another Debutante, this time featuring Tamara, but Clarissa seems to have some +official role in the proceedings too. + +--- + +I've skimmed through and put some time stamps of the highlights below + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +|Time stamp | Description | +| ---------- | ----------------------------- | +|00:03:30|Clarissa enters| +|00:07:00|Tamara enters| +|00:14:20|Tamara's speech| +|00:17:50|First dance| +|00:20:50|Brian and Del join the dance| +|00:23:30|The pipes| +|00:25:30|Courtney, Liz, Daniel Von-Pine, Adon| +|00:26:40| Everyone dancing| +|00:29:30|Brian and Tamara dancing| + +Next up we have a Joshua's 19th? Birthday get-together at the Sippels (I think?) +We get to see Josh blow out his candles, Dan being cute and nearly everyone join +in the soccer match. + +
+ +
+ +You can download the file by right clicking [here][2] and click 'save-as' + +|Time stamp | Description | +| ---------- | ----------------------------- | +|00:02:18|Cake time| +|00:05:39|Dan wants to see| +|00:06:45|The wild soccer match| + +Lastly we have Courtney in a Tennis match + +
+ +
+ +You can download the file by right clicking [here][3] and click 'save-as' + +Tags: Tamara, Courtney, Clarissa, Brianna, Brian, Del, Adon, Stacey, Tim, Dan, Bob, Gloria, Laurie, Josh, Tanya, Lorraine, Darcy, Jacob, Josh-Sippel + +[1]:https://f002.backblazeb2.com/file/BlogVideos/01-TamarasDeb-Web.mp4 +[2]:https://f002.backblazeb2.com/file/BlogVideos/03-AtTheSippels-Web.mp4 +[3]:https://f002.backblazeb2.com/file/BlogVideos/04-CourtneyTennis-Web.mp4 diff --git a/kronks/working-on-the-cinema.html b/kronks/working-on-the-cinema.html new file mode 100644 index 0000000..5fb84e9 --- /dev/null +++ b/kronks/working-on-the-cinema.html @@ -0,0 +1,57 @@ + + + + + + + +Working on the Cinema + +
+
+
+

Kronks Videos

+
Sharing old VHS recordings and media for the family
+
+
+ +

+Working on the Cinema +

+ +
May 18, 2019 — +Jesse Harris +
+ +

Short clip today. A couple of times I've found a full 3 hour Video Cassette +with only 30 minutes of recording and the rest totally blank. In this case the tape has 3 minutes 10 seconds of video.

+
+

Working on the Cinema

+

Timestamp in the recording is 28th of September 2000. +Also note, there is about .6 seconds of audio delay but it doesn't matter +enough to correct as there is not much talking to sync.

+

Questions about this vidoe:

+
    +
  1. Who is seen observing from the ground at 12 seconds? Clarissa maybe?
  2. +
  3. We see a few other glimpses of people helping. Who are they?
  4. +
+
+ +
+ +

You can download the file by right clicking here and click 'save-as'

+

Tags: Brian, Stacey, Del

+ + + + + + +
+ +
+ diff --git a/kronks/working-on-the-cinema.md b/kronks/working-on-the-cinema.md new file mode 100644 index 0000000..de586c5 --- /dev/null +++ b/kronks/working-on-the-cinema.md @@ -0,0 +1,30 @@ +Working on the Cinema + +Short clip today. A couple of times I've found a full 3 hour Video Cassette +with only 30 minutes of recording and the rest totally blank. In this case the tape has 3 minutes 10 seconds of video. + +--- + +![Working on the Cinema](https://f002.backblazeb2.com/file/BlogVideos/WorkingOnTheCinema.JPG) + +Timestamp in the recording is 28th of September 2000. +Also note, there is about .6 seconds of audio delay but it doesn't matter +enough to correct as there is not much talking to sync. + +Questions about this vidoe: + +1. Who is seen observing from the ground at 12 seconds? Clarissa maybe? +2. We see a few other glimpses of people helping. Who are they? + +
+ +
+ +You can download the file by right clicking [here][1] and click 'save-as' + +Tags: Brian, Stacey, Del + +[1]:https://f002.backblazeb2.com/file/BlogVideos/MakingTheCinema-Web.mp4 diff --git a/lets-encrypt-kerfuffle.html b/lets-encrypt-kerfuffle.html new file mode 100644 index 0000000..9511073 --- /dev/null +++ b/lets-encrypt-kerfuffle.html @@ -0,0 +1,81 @@ + + + + + + + +Lets encrypt kerfuffle + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Lets encrypt kerfuffle +

+ +
March 10, 2020 — +Jesse Harris +
+ +

Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for.

+
+

CAA records are a way of recording who your domain will accept certificates to +be generated by. As an example, use dig to lookup the CAA of usc.edu.au:

+
        # dig CAA usc.edu.au +short   
+        0 iodef "mailto:ssladmin@usc.edu.au"
+        0 issue "quovadisglobal.com"
+        0 issuewild "quovadisglobal.com"
+
+

In this case, a CA other than quovadisglobal will refuse to generate a +certificate for usc.edu.au.

+

The bug with Let's Encrypt was that they were not checking the CAA record every +time, and therefore some of those certificates might not have been correct to +generate.

+

My site zigford.org uses a Let's Encrypt certificate, but +since using cloudflares free DNS offerring, you'll +likely see their certificate when you visit my site. Nonethelsee my site could +have been affected and I was interested to see if it were so.

+

Since Let's Encrypt certs expire very quickly (90 days I think?), it's the type +of thing that begs to be automated. Let's encrypt decided to revoke all +certificates issued during the presence of the bug and thankfully according to +this wired article +Certbot users should be pretty much unaffected as the tool will check if a +revocation has happened.

+

So I checked through my logs and sadly, no, I was not affected. Here is what it +looks like when certbot detects your certificate is going to expire shortly +anyway (date stamps removed for brevity):

+
        journalctl -u certbot-renew
+
+        Cert is due for renewal, auto-renewing...
+        Non-interactive renewal: random delay of 61.05961969260669 seconds
+        NGINX configured with OpenSSL alternatives is not officiallysupported by Certbot.
+        Plugins selected: Authenticator nginx, Installer nginx
+        Renewing an existing certificate
+        Performing the following challenges:
+        http-01 challenge for www.zigford.org
+        http-01 challenge for zigford.org
+        Waiting for verification...
+        Cleaning up challenges
+
+

Moral of the story? Use automation maybe?

+

Tags: certs, lets-encrypt

+ + + + + + + + +
+ +
+ diff --git a/lets-encrypt-kerfuffle.md b/lets-encrypt-kerfuffle.md new file mode 100644 index 0000000..e369ff5 --- /dev/null +++ b/lets-encrypt-kerfuffle.md @@ -0,0 +1,55 @@ +Lets encrypt kerfuffle + +Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for. + +--- + +CAA records are a way of recording who your domain will accept certificates to +be generated by. As an example, use `dig` to lookup the CAA of `usc.edu.au`: + + # dig CAA usc.edu.au +short + 0 iodef "mailto:ssladmin@usc.edu.au" + 0 issue "quovadisglobal.com" + 0 issuewild "quovadisglobal.com" + +In this case, a CA other than quovadisglobal will refuse to generate a +certificate for usc.edu.au. + +The bug with Let's Encrypt was that they were not checking the CAA record every +time, and therefore some of those certificates might not have been correct to +generate. + +My site [zigford.org](https://zigford.org) uses a Let's Encrypt certificate, but +since using [cloudflares](https://cloudflare.com) free DNS offerring, you'll +likely see their certificate when you visit my site. Nonethelsee my site could +have been affected and I was interested to see if it were so. + +Since Let's Encrypt certs expire very quickly (90 days I think?), it's the type +of thing that begs to be automated. Let's encrypt decided to revoke all +certificates issued during the presence of the bug and thankfully according to +[this wired article](https://www.wired.com/story/lets-encrypt-internet-calamity-that-wasnt/) +Certbot users should be pretty much unaffected as the tool will check if a +revocation has happened. + +So I checked through my logs and sadly, no, I was not affected. Here is what it +looks like when certbot detects your certificate is going to expire shortly +anyway (date stamps removed for brevity): + + journalctl -u certbot-renew + + Cert is due for renewal, auto-renewing... + Non-interactive renewal: random delay of 61.05961969260669 seconds + NGINX configured with OpenSSL alternatives is not officiallysupported by Certbot. + Plugins selected: Authenticator nginx, Installer nginx + Renewing an existing certificate + Performing the following challenges: + http-01 challenge for www.zigford.org + http-01 challenge for zigford.org + Waiting for verification... + Cleaning up challenges + + +Moral of the story? Use automation maybe? + +Tags: certs, lets-encrypt diff --git a/links.html b/links.html new file mode 100644 index 0000000..42f085e --- /dev/null +++ b/links.html @@ -0,0 +1,42 @@ + + + + + + + +Links + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Links +

+ +
September 02, 2018 — +Jesse Harris +
+ +

Here are some links about things I do or about me

+ + + + +
+ +
+ diff --git a/links.md b/links.md new file mode 100644 index 0000000..a7d1a1a --- /dev/null +++ b/links.md @@ -0,0 +1,10 @@ +Links + +Here are some links about things I do or about me + +* Zigford on [Twitter](https://twitter.com/zigford_org) +* Doc5avage on [Twitter](https://twitter.com/doc5avage) +* My [Github](https://github.com/zigford) account +* [Todo](todo.html) list of potential future articles +* [scripts](scripts.html) index of downloadable scripts +* [Visitors](visitors.html) stats page diff --git a/live-on-64-bit-raspberry-pi-4-with-gentoo.html b/live-on-64-bit-raspberry-pi-4-with-gentoo.html new file mode 100644 index 0000000..9b5af60 --- /dev/null +++ b/live-on-64-bit-raspberry-pi-4-with-gentoo.html @@ -0,0 +1,60 @@ + + + + + + + +Live on 64-bit Raspberry Pi 4 with Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Live on 64-bit Raspberry Pi 4 with Gentoo +

+ +
August 15, 2019 — +Jesse Harris +
+ +

I recently wrote that the site is now hosted from the +raspberry pi 4.

+
+

That was running Raspbian OS, a 32-bit debian derivative. For a long time I've +preferred Gentoo as a Linux distribution, but until now, all versions of the Pi +were limited in RAM, with the upper limit being 1 Gb.

+

While 1 Gb of RAM is entirely sufficient for running a headless home server, you +can quickly run out of RAM when you compile software with 4 cores +(MAKEOPTS=-j4 in Gentoo's make.conf)

+

Now that a 4 Gb model of the Pi exists, I felt I could switch to Gentoo as my +primary Pi OS without compromise. Initially I planned to buy the 1 Gb model and +then a little later grab the 4 Gb model.

+

Ironically, I couldn't wait for the 4 Gb model to try 64-bit Gentoo and while +the -j4 option does induce significant swapping and causes the OS to become +unresponsive, I have found that -j1 is probably a better option anyway so that +the site can continue to be served during upgrades.

+

A final note and side-effect of switching to Gentoo on arm64, my +overlay is slowly being updated to +support arm64 and as such, PowerShell is the first to be updated

+

powershell on arm64

+

Tags: gentoo, raspberry-pi, linux

+ + + + + + + + + +
+ +
+ diff --git a/live-on-64-bit-raspberry-pi-4-with-gentoo.md b/live-on-64-bit-raspberry-pi-4-with-gentoo.md new file mode 100644 index 0000000..ea28184 --- /dev/null +++ b/live-on-64-bit-raspberry-pi-4-with-gentoo.md @@ -0,0 +1,31 @@ +Live on 64-bit Raspberry Pi 4 with Gentoo + +I recently [wrote](raspberry-pi-4.html) that the site is now hosted from the +raspberry pi 4. + +--- + +That was running Raspbian OS, a 32-bit debian derivative. For a long time I've +preferred Gentoo as a Linux distribution, but until now, all versions of the Pi +were limited in RAM, with the upper limit being 1 Gb. + +While 1 Gb of RAM is entirely sufficient for running a headless home server, you +can quickly run out of RAM when you compile software with 4 cores +(`MAKEOPTS=-j4` in Gentoo's make.conf) + +Now that a 4 Gb model of the Pi exists, I felt I could switch to Gentoo as my +primary Pi OS without compromise. Initially I planned to buy the 1 Gb model and +then a little later grab the 4 Gb model. + +Ironically, I couldn't wait for the 4 Gb model to try 64-bit Gentoo and while +the `-j4` option does induce significant swapping and causes the OS to become +unresponsive, I have found that `-j1` is probably a better option anyway so that +the site can continue to be served during upgrades. + +A final note and side-effect of switching to Gentoo on arm64, my +[overlay](https://github.com/zigford/gentoo-zigford) is slowly being updated to +support arm64 and as such, PowerShell is the first to be updated + +![powershell on arm64](images/gentoo64bit.jpg) + +Tags: gentoo, raspberry-pi, linux diff --git a/macos.html b/macos.html new file mode 100644 index 0000000..460127f --- /dev/null +++ b/macos.html @@ -0,0 +1,64 @@ + + + + + + + +macOS + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+macOS +

+ +
September 06, 2018 — +Jesse Harris +
+ + +

in 2006 I bought my first Mac. A white Macbook, the second generation of Intel +with a core 2 duo processor. Even though it had a spinning disk when you clicked +on safari it would launch instantly. It was amazingly fast.

+ +

Back then the OS was 10.4 Tiger. Tiger was the pinnicle of Apple operating +systems. It was the first time an OS X operating system had all the features +one would need, and before they started adding cruft to slow the system down.

+ +
    +
  • Extremely fast boot
  • +
  • Spotlight search (Still better than Windows search to this day)
  • +
  • Better trackpad feel
  • +
  • Unix and X11 support
  • +
  • Automator
  • +
  • Slick responsive and cohesive ui
  • +
+ +

I also have parallels desktop on my macbook, and I recall collegues being +amazed to see me running Mac OS, Ubuntu and Windows concurrently without +any apparent performance hit. I feel like I've not had a computer as good as +that macbook since.

+ +

Sadly over time the macbook developed a problem with the backlight and with the +battery failing it became unusable. Work had started providing me with their +laptops, so it didn't seem to make sense to buy a macbook again.

+ +

On the upside, tomrrow (07/09/2018), I will be getting a work supplied macbook. + :)

+ +

I'll update this article with my experiences.

+ + + +
+ +
+ diff --git a/macos.md b/macos.md new file mode 100644 index 0000000..f0beec9 --- /dev/null +++ b/macos.md @@ -0,0 +1,30 @@ +macOS + +in 2006 I bought my first Mac. A white Macbook, the second generation of Intel +with a core 2 duo processor. Even though it had a spinning disk when you clicked +on safari it would launch instantly. It was amazingly fast. + +Back then the OS was 10.4 Tiger. Tiger was the pinnicle of Apple operating +systems. It was the first time an OS X operating system had all the features +one would need, and before they started adding cruft to slow the system down. + +* Extremely fast boot +* Spotlight search (Still better than Windows search to this day) +* Better trackpad feel +* Unix and X11 support +* Automator +* Slick responsive and cohesive ui + +I also have parallels desktop on my macbook, and I recall collegues being +amazed to see me running Mac OS, Ubuntu and Windows concurrently without +any apparent performance hit. I feel like I've not had a computer as good as +that macbook since. + +Sadly over time the macbook developed a problem with the backlight and with the +battery failing it became unusable. Work had started providing me with their +laptops, so it didn't seem to make sense to buy a macbook again. + +On the upside, tomrrow (07/09/2018), I will be getting a work supplied macbook. + :) + +I'll update this article with my experiences. diff --git a/main.css b/main.css new file mode 100644 index 0000000..d371ca3 --- /dev/null +++ b/main.css @@ -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; +} diff --git a/making-a-release-on-github.html b/making-a-release-on-github.html new file mode 100644 index 0000000..1775be5 --- /dev/null +++ b/making-a-release-on-github.html @@ -0,0 +1,71 @@ + + + + + + + +Making a release on GitHub + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Making a release on GitHub +

+ +
August 20, 2019 — +Jesse Harris +
+ +

Today's journey is using git and github to release PwshBlog +The following are my notes on the matter.

+
+

Making an archive

+

Normally when you make a release, you want to make an archive of the release +available for people to download. You could use git's built-in tags feature +alone, but that will include other bits of your repository that you probably +don't want to include.

+

Enter git archive

+

The following are steps to creating the archive

+
    +
  1. Create a .gitattributes file

    +
  2. +
  3. Add lines like the following

    +
         .gitignore export-ignore
    +     appveyor.yml export-ignore
    +
    +
  4. +
  5. Add and commit the .gitattributes file for it to work

    +
  6. +
  7. Create a tag

    +
         git tag -a v0.9.0
    +
    +
  8. +
  9. Now create the archive

    +
         git archive --format=zip --prefix=PwshBlog/ v0.9.0 -o v0.9.0.zip
    +
    +
  10. +
  11. Go create your release on github and drag in the created archive!

    +
  12. +
+

Tags: git, pwshblog, github

+ + + + + + + + + +
+ +
+ diff --git a/making-a-release-on-github.md b/making-a-release-on-github.md new file mode 100644 index 0000000..7b2fd6a --- /dev/null +++ b/making-a-release-on-github.md @@ -0,0 +1,37 @@ +Making a release on GitHub + +Today's journey is using `git` and `github` to *release* **PwshBlog** +The following are my notes on the matter. + +--- + +Making an archive +----------------- + +Normally when you make a release, you want to make an archive of the release +available for people to download. You could use git's built-in tags feature +alone, but that will include other bits of your repository that you probably +don't want to include. + +Enter `git archive` + +The following are steps to creating the archive + +1. Create a `.gitattributes` file +2. Add lines like the following + + .gitignore export-ignore + appveyor.yml export-ignore + +3. Add and commit the `.gitattributes` file for it to work +4. Create a tag + + git tag -a v0.9.0 + +5. Now create the archive + + git archive --format=zip --prefix=PwshBlog/ v0.9.0 -o v0.9.0.zip + +6. Go create your release on github and drag in the created archive! + +Tags: git, pwshblog, github diff --git a/manage-a-hosts-file.html b/manage-a-hosts-file.html new file mode 100644 index 0000000..3bad93f --- /dev/null +++ b/manage-a-hosts-file.html @@ -0,0 +1,82 @@ + + + + + + + +Manage a hosts file + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Manage a hosts file +

+ +
September 11, 2018 — +Jesse Harris +
+ + +

Most people have long forgotten the lowly hosts file, but from time to +time there is still a need to use it.

+ +

So I wrote some powershell functions to automate it in a simpler way.

+ +
+ +

Maybe your on a home network with a router that doesn't have dynamic dns. +Today I had to resort to editing a hosts file to work around a side effect +of enabling on-prem single sign-on with ADFS.

+ +

I won't go into too much detail, but to say that if your on a local network +with ADFS, but your using a non domain-joined device, your device will be +redirected to a type of authentication which is incompatible with Windows +Hello or longform@upn type usernames.

+ +

The reason this is, is because it uses split DNS to redirect you to the +appropriate web login on internal vs external.

+ +

Anywhoo, a quick workaround is to set a static hosts file record, so that +when your device tries to resolve the hostname, instead of getting one from +DNS, you can specify and force the external Forms based auth at all times.

+ +

Normally, I would just edit my Hosts file and be done with it. But I've been +experimenting with Intune and got a bunch of my collegues onto the same non +domain-joined setup. With Intune, you can't do a great deal, but you can +deploy a powershell script.

+ +

Thus I wrote a couple of functions, Get-HostsRecord, Set-HostsRecord +and Remove-HostsRecord

+ +

You can download a zipped copy here if your interested.

+ +

As a side, I wrote it on my Macbook, so it's PSCore/Unix compatible

+ +

Enjoy.

+ +

Tags: powershell, intune, hostsfile

+ + + + + + + + + + + + + +
+ +
+ diff --git a/manage-a-hosts-file.md b/manage-a-hosts-file.md new file mode 100644 index 0000000..6bfad48 --- /dev/null +++ b/manage-a-hosts-file.md @@ -0,0 +1,43 @@ +Manage a hosts file + +Most people have long forgotten the lowly [hosts][1] file, but from time to +time there is still a need to use it. + +So I wrote some powershell functions to automate it in a simpler way. + +--- + +Maybe your on a home network with a router that doesn't have dynamic dns. +Today I had to resort to editing a hosts file to work around a side effect +of enabling on-prem single sign-on with ADFS. + +I won't go into too much detail, but to say that if your on a local network +with ADFS, but your using a non domain-joined device, your device will be +redirected to a type of authentication which is incompatible with Windows +Hello or longform@upn type usernames. + +The reason this is, is because it uses split DNS to redirect you to the +appropriate web login on internal vs external. + +Anywhoo, a quick workaround is to set a static hosts file record, so that +when your device tries to resolve the hostname, instead of getting one from +DNS, you can specify and force the external Forms based auth at all times. + +Normally, I would just edit my Hosts file and be done with it. But I've been +experimenting with Intune and got a bunch of my collegues onto the same non +domain-joined setup. With Intune, you can't do a great deal, but you can +deploy a powershell script. + +Thus I wrote a couple of functions, `Get-HostsRecord`, `Set-HostsRecord` +and `Remove-HostsRecord` + +You can [download][2] a zipped copy here if your interested. + +_As a side, I wrote it on my Macbook, so it's PSCore/Unix compatible_ + +Enjoy. + +Tags: powershell, intune, hostsfile + +[1]: https://en.wikipedia.org/wiki/Hosts_(file) +[2]: scripts/Hostsfile.ps1.zip diff --git a/my-setup.html b/my-setup.html new file mode 100644 index 0000000..77c8d8e --- /dev/null +++ b/my-setup.html @@ -0,0 +1,72 @@ + + + + + + + +My setup + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+My setup +

+ +
September 02, 2018 — +Jesse Harris +
+ +

Physical

+

Office

+

My home office is 1 of the bays of our bestsheds +American barn style shed. The office bay has a sliding stacker door entrance, +long window and is seperated from the other bays by a mixture of bookshelves, +office partitions and curtains.

+

Desk

+

My computer desk is part of a frame used to carry car tyres on a pickup truck +with a large mdf sheet on top. Thus it's quite tall, so I have a platform to +stand on made out of some sawn off pailings nailed to some 4x4's.

+

Chair

+

The current chair is absolute garbage, so I spend most of my time standing with +the occaisional sit down to rest the feet. I do intend to upgrade my chair when +I can find the funding and the right chair with the required height.

+

Technology

+

PC

+

My main PC is a workstation I built in 2013, so it has a haswell i5-4670, a +256Gb SSD, a 2TB mirrored data disk and an AMD Radeon HD6950. +The screen is an LG 27" 1080p display. Keyboard an IBM Model M and a stock +standard logitech mouse.

+

Laptops

+

Although I don't own any laptops, my work requires I'm using different laptops +in various states on configuration. I regularly use the following

+
    +
  • Dell Precision 5510 (32G ram, 500G SSD, 750G HDD)
  • +
  • Late 2014 15" Macbook Pro (500G SSD, 16G ram)
  • +
  • Surface Pro 3
  • +
  • 13" 2017 Macbook Pro (256G SSD, 8G ram)
  • +
+

Other machines

+

As I have 6 kids I also have a machine for each of them for when we have game +night.

+
    +
  • Dell Precision M4800
  • +
  • Lenovo ThinkCenter x2
  • +
  • Dell OptiPlex GX620
  • +
  • Home built AMD FX-4300 based PC
  • +
  • Raspberry PI as a desktop in the house for homework
  • +
  • HP xw8400 Workstation
  • + + + +
+ +
+ diff --git a/my-setup.md b/my-setup.md new file mode 100644 index 0000000..497f6f1 --- /dev/null +++ b/my-setup.md @@ -0,0 +1,55 @@ +My setup + +Physical +-------- + +**Office** + +My home office is 1 of the bays of our [bestsheds](www.bestsheds.com.au) +American barn style shed. The office bay has a sliding stacker door entrance, +long window and is seperated from the other bays by a mixture of bookshelves, +office partitions and curtains. + +**Desk** + +My computer desk is part of a frame used to carry car tyres on a pickup truck +with a large mdf sheet on top. Thus it's quite tall, so I have a platform to +stand on made out of some sawn off pailings nailed to some 4x4's. + +**Chair** + +The current chair is absolute garbage, so I spend most of my time standing with +the occaisional sit down to rest the feet. I do intend to upgrade my chair when +I can find the funding and the right chair with the required height. + +Technology +---------- + +**PC** + +My main PC is a workstation I built in 2013, so it has a haswell i5-4670, a +256Gb SSD, a 2TB mirrored data disk and an AMD Radeon HD6950. +The screen is an LG 27" 1080p display. Keyboard an IBM Model M and a stock +standard logitech mouse. + +**Laptops** + +Although I don't own any laptops, my work requires I'm using different laptops +in various states on configuration. I regularly use the following + +* Dell Precision 5510 (32G ram, 500G SSD, 750G HDD) +* ~~Late 2014 15" Macbook Pro (500G SSD, 16G ram)~~ +* Surface Pro 3 +* 13" 2017 Macbook Pro (256G SSD, 8G ram) + +**Other machines** + +As I have 6 kids I also have a machine for each of them for when we have game +night. + +* Dell Precision M4800 +* Lenovo ThinkCenter x2 +* Dell OptiPlex GX620 +* Home built AMD FX-4300 based PC +* Raspberry PI as a desktop in the house for homework +* HP xw8400 Workstation diff --git a/nagios-core-on-gentooraspberry-pi-with-nginx.html b/nagios-core-on-gentooraspberry-pi-with-nginx.html new file mode 100644 index 0000000..9770673 --- /dev/null +++ b/nagios-core-on-gentooraspberry-pi-with-nginx.html @@ -0,0 +1,200 @@ + + + + + + + +Nagios Core on Gentoo/Raspberry Pi with Nginx + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Nagios Core on Gentoo/Raspberry Pi with Nginx +

+ +
February 29, 2020 — +Jesse Harris +
+ +

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.

+
+

Note These notes are incomplete, but I'm posting them anyway.

+

One of the responsibilities I've picked up is maintaining our Nagios monitoring +system. While I won't go into too much detail about that here, I thought I'd +install it at home to monitor things and get a bit more experience on it.

+

Thankfully ebuilds exist +in Gentoo which means I don't have to compile it myself. Unfortunately, +the integrations with web servers doesn't cover nginx.

+

Nagios-Core will be installed on a Raspberry Pi running NGinx. If your already +running Apache, or lighttp, then your in luck, as the ebuilds for Nagios-Core +support those out of the box. The setup for the rest of that won't be covered +here.

+

Assumptions This guide will assume you are already serving content from +nginx and it won't cover initial setup and install.

+

Nginx

+

The default USE flags and modules built for nginx should cover what is required +for nagios, but just to be sure, these will be needed:

+
    fastcgi scgi
+
+

PHP

+

Modern versions of Nagios, use a bit of PHP, so we are going to need php +compiled with the following USE flags

+
    fpm
+
+

FPM is a method of invoking php through a unix socket so as not to have to spawn +new child processes every time someone hits a .php file.

+

Glue packages

+

We need a spawner and fastcgi wrapper to launch cgi scripts for the nagios site.

+
    emerge www-misc/fcgiwrap www-servers/spawn-fcgi
+
+

Both these applications were hard masked on arm64, but they are running fine for +me.

+

Nagios Core

+

I didn't use any special use flags for nagis core.

+

Setting it all up

+

Getting info

+

To get this working you need a few bits of info

+

Where is nagios cgi scripts installed to?

+
    equery files net-analyzer/nagios-core | grep cgi | head -1
+    /usr/lib64/nagios/cgi-bin/
+
+

Where are the html files?

+
    equery files net-analuyer/nagios-core | grep htdocs | head -1
+    /usr/share/nagios/htdocs
+
+

fpm config

+

When php was compiled with the fpm USE flag we should have an php fpm service +file and configuration files. We could make fpm listen on a service or to a unix +socket. On my system, everything will be hosted together so using a unix socket +will be the most ideal.

+

Edit the config at /etc/php/fpm-php7.3/fpm.d and set the listen value like +so:

+
    listen = /var/run/php7-fpm.socket
+
+

This is the socket file that we will configure nginx to connect to later so that +it can run php stuff.

+

Next skip through the file a bit to find the listen.owner and listen.group +settings. Set them both to nginx

+

Save and close that config file and go edit /etc/php/fpm-php7.3/php.ini +Find and uncomment out ;cgi.fix_pathinfo=1 and change it to equal 0.

+

I'm using systemd, so I ran systemctl enable php-fpm@7.3 --now to start and +enable the service at boot. Take a peek in /var/run/

+
    ls -l /var/run/php7-fpm.socket
+    srw-rw---- 1 nginx nginx 0 Jan 27 10:08 /var/run/php7-fpm.socket  
+
+

Notice it is owned by nginx.

+

Fastcgi

+

Fastcgi will be responible for serving cgi bin files for nagios. These are +nagios programs written in C. To do so, Nginx talks to a spawner which spawns +fcgiwrap which in turn runs the programs.

+

spawn-fcgi doesn't really have a configuration file from what I can tell. When +merged onto my system, it's configuration is handled by the init.d service +script reading variables from /etc/conf.d/spawn-fcgi and setting command line +options.

+

To simplify things, I just created a simple systemd service unit and hard coded +the options I needed into it. Here is the service file I came up with:

+
    [Unit]
+    Description=Simple spawn-fcgi service
+
+    [Service]
+    Type=simple
+    ExecStart=/usr/bin/spawn-fcgi -n -U 999 -G 235 -s /var/run/fcgiwrap.socket /usr/sbin/fcgiwrap
+
+    [Install]
+    WantedBy=multi-user.target
+
+

Explanation of parameters:

+
    +
  • -n don't fork
  • +
  • -U 999 set socket user permissions to UID 999 which is Nginx
  • +
  • -G 235 set socket group permissions to GID 235 which is Nginx
  • +
  • -s /var/run/fcgiwrap.socket create a unix socket at this path
  • +
  • /usr/sbin/fcgiwrap spawn this fcgi binary
  • +
+

Start and enable this service with systemctl enable spawn-fcgi --now should +produce a socket file similar to the php7 one created earlier. This will be used +in our nginx config later.

+

Nginx Config

+

My nginx config is all in one file, so adjust my changes as per your needs. +The first change we need to make is inside the http declaration. We need to +specify the two upstream servers (in this case servers on the local system via +sockets). One for php and one for cgi-bin.

+

Each one will reference the sockets we created earlier.

+
    upstream php {
+        server unix:/var/run/php7-fpm.socket;
+    }
+
+    upstream fcgiwrap {
+        server unix:/var/run/fcgiwrap.socket;
+    }
+
+

The default nginx config will have a server declaration for your site. Nested +in here you will need the following location declarations. The location +declaration /nagios and will result in being able to access nagios by +navigating to the website url like so: randomsite.com/nagios

+
	location ~ /nagios/ {
+		alias /usr/share/nagios/htdocs;
+		auth_basic "Nagios Restricted Access";
+		auth_basic_user_file /etc/nagios/htpasswd.users;
+
+

note here the path to htdocs was discovered earlier

+
		index index.php index.html;
+		location ^~ /nagios/cgi-bin {
+				alias /usr/lib64/nagios/cgi-bin;
+				include /etc/nginx/fastcgi_params;
+				fastcgi_param AUTH_USER $remote_user;
+				fastcgi_param REMOTE_USER $remote_user;
+				fastcgi_param SCRIPT_FILENAME $request_filename;
+				fastcgi_pass unix:/var/run/fcgiwrap.socket;
+				fastcgi_param PATH_INFO $fastcgi_script_name;
+		}
+		location ~ .php$ {
+				proxy_set_header REMOTE_USER $remote_user;
+				include fastcgi_params;
+				fastcgi_param AUTH_USER $remote_user;
+				fastcgi_param REMOTE_USER $remote_user;
+				fastcgi_param SCRIPT_FILENAME $request_filename;
+				fastcgi_param SCRIPT_NAME $fastcgi_script_name;
+				fastcgi_pass unix:/var/run/php7-fpm.socket;
+				fastcgi_param PATH_INFO $fastcgi_script_name;
+		}
+	}
+
+	location /nagios/stylesheets {
+			alias /usr/share/nagios/htdocs/stylesheets;
+	}
+
+

What's happening here:

+
    +
  • location ~ /nagios/ causes the uri to match /nagios/ as a case sensitive +regular expression. Without the ~, an article like this with it's name +starting with nagios might also fall into that location
  • +
  • location ^~ is a non regular expression match of the uri
  • +
  • fastcgi_param directives are passing parameters from the browser to the cgi +script.
  • +
  • fastcgi_pass passes the request to the socket setup as an upstream server.
  • +
+

Read more about locations on digitalocean

+

Tags: gentoo, linux, nagios

+ + + + + + + + +
+ +
+ diff --git a/nagios-core-on-gentooraspberry-pi-with-nginx.md b/nagios-core-on-gentooraspberry-pi-with-nginx.md new file mode 100644 index 0000000..f2eebc1 --- /dev/null +++ b/nagios-core-on-gentooraspberry-pi-with-nginx.md @@ -0,0 +1,216 @@ +Nagios Core on Gentoo/Raspberry Pi with Nginx + +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. + +--- + +**Note** These notes are incomplete, but I'm posting them anyway. + +One of the responsibilities I've picked up is maintaining our Nagios monitoring +system. While I won't go into too much detail about that here, I thought I'd +install it at home to monitor things and get a bit more experience on it. + +Thankfully [ebuilds exist](https://packages.gentoo.org/net-analyzer/nagios-core) +in Gentoo which means I don't have to compile it myself. Unfortunately, +the integrations with web servers doesn't cover nginx. + +Nagios-Core will be installed on a Raspberry Pi running NGinx. If your already +running Apache, or lighttp, then your in luck, as the ebuilds for Nagios-Core +support those out of the box. The setup for the rest of that won't be covered +here. + +**Assumptions** This guide will assume you are already serving content from +nginx and it won't cover initial setup and install. + +Nginx +----- + +The default USE flags and modules built for nginx should cover what is required +for nagios, but just to be sure, these will be needed: + + fastcgi scgi + +PHP +--- + +Modern versions of Nagios, use a bit of PHP, so we are going to need php +compiled with the following USE flags + + fpm + +FPM is a method of invoking php through a unix socket so as not to have to spawn +new child processes every time someone hits a .php file. + +Glue packages +------------- + +We need a spawner and fastcgi wrapper to launch cgi scripts for the nagios site. + + emerge www-misc/fcgiwrap www-servers/spawn-fcgi + +Both these applications were hard masked on arm64, but they are running fine for +me. + +Nagios Core +----------- + +I didn't use any special use flags for nagis core. + +Setting it all up +----------------- + +Getting info +============ + +To get this working you need a few bits of info + +Where is nagios cgi scripts installed to? + + equery files net-analyzer/nagios-core | grep cgi | head -1 + /usr/lib64/nagios/cgi-bin/ + +Where are the html files? + + equery files net-analuyer/nagios-core | grep htdocs | head -1 + /usr/share/nagios/htdocs + +fpm config +========== + +When php was compiled with the `fpm` USE flag we should have an php fpm service +file and configuration files. We could make fpm listen on a service or to a unix +socket. On my system, everything will be hosted together so using a unix socket +will be the most ideal. + +Edit the config at `/etc/php/fpm-php7.3/fpm.d` and set the `listen` value like +so: + + listen = /var/run/php7-fpm.socket + +This is the socket file that we will configure nginx to connect to later so that +it can run php stuff. + +Next skip through the file a bit to find the `listen.owner` and `listen.group` +settings. Set them both to **nginx** + +Save and close that config file and go edit `/etc/php/fpm-php7.3/php.ini` +Find and uncomment out `;cgi.fix_pathinfo=1` and change it to equal **0**. + +I'm using systemd, so I ran `systemctl enable php-fpm@7.3 --now` to start and +enable the service at boot. Take a peek in /var/run/ + + ls -l /var/run/php7-fpm.socket + srw-rw---- 1 nginx nginx 0 Jan 27 10:08 /var/run/php7-fpm.socket + +Notice it is owned by nginx. + +Fastcgi +======= + +Fastcgi will be responible for serving cgi bin files for nagios. These are +nagios programs written in C. To do so, Nginx talks to a spawner which spawns +fcgiwrap which in turn runs the programs. + +spawn-fcgi doesn't really have a configuration file from what I can tell. When +merged onto my system, it's configuration is handled by the init.d service +script reading variables from /etc/conf.d/spawn-fcgi and setting command line +options. + +To simplify things, I just created a simple systemd service unit and hard coded +the options I needed into it. Here is the service file I came up with: + + [Unit] + Description=Simple spawn-fcgi service + + [Service] + Type=simple + ExecStart=/usr/bin/spawn-fcgi -n -U 999 -G 235 -s /var/run/fcgiwrap.socket /usr/sbin/fcgiwrap + + [Install] + WantedBy=multi-user.target + +Explanation of parameters: + +* `-n` don't fork +* `-U 999` set socket user permissions to UID 999 which is Nginx +* `-G 235` set socket group permissions to GID 235 which is Nginx +* `-s /var/run/fcgiwrap.socket` create a unix socket at this path +* `/usr/sbin/fcgiwrap` spawn this fcgi binary + +Start and enable this service with `systemctl enable spawn-fcgi --now` should +produce a socket file similar to the php7 one created earlier. This will be used +in our nginx config later. + +Nginx Config +============ + +My nginx config is all in one file, so adjust my changes as per your needs. +The first change we need to make is inside the `http` declaration. We need to +specify the two upstream servers (in this case servers on the local system via +sockets). One for php and one for cgi-bin. + +Each one will reference the sockets we created earlier. + + upstream php { + server unix:/var/run/php7-fpm.socket; + } + + upstream fcgiwrap { + server unix:/var/run/fcgiwrap.socket; + } + +The default nginx config will have a server declaration for your site. Nested +in here you will need the following location declarations. The location +declaration `/nagios` and will result in being able to access nagios by +navigating to the website url like so: randomsite.com/nagios + + location ~ /nagios/ { + alias /usr/share/nagios/htdocs; + auth_basic "Nagios Restricted Access"; + auth_basic_user_file /etc/nagios/htpasswd.users; + +_note here the path to htdocs was discovered earlier_ + + index index.php index.html; + location ^~ /nagios/cgi-bin { + alias /usr/lib64/nagios/cgi-bin; + include /etc/nginx/fastcgi_params; + fastcgi_param AUTH_USER $remote_user; + fastcgi_param REMOTE_USER $remote_user; + fastcgi_param SCRIPT_FILENAME $request_filename; + fastcgi_pass unix:/var/run/fcgiwrap.socket; + fastcgi_param PATH_INFO $fastcgi_script_name; + } + location ~ .php$ { + proxy_set_header REMOTE_USER $remote_user; + include fastcgi_params; + fastcgi_param AUTH_USER $remote_user; + fastcgi_param REMOTE_USER $remote_user; + fastcgi_param SCRIPT_FILENAME $request_filename; + fastcgi_param SCRIPT_NAME $fastcgi_script_name; + fastcgi_pass unix:/var/run/php7-fpm.socket; + fastcgi_param PATH_INFO $fastcgi_script_name; + } + } + + location /nagios/stylesheets { + alias /usr/share/nagios/htdocs/stylesheets; + } + +What's happening here: + +* location ~ /nagios/ causes the uri to match `/nagios/` as a case sensitive + regular expression. Without the `~`, an article like this with it's name + starting with nagios might also fall into that location +* location ^~ is a non regular expression match of the uri +* fastcgi_param directives are passing parameters from the browser to the cgi + script. +* fastcgi_pass passes the request to the socket setup as an upstream server. + +Read more about locations on [digitalocean][1] + +Tags: gentoo, linux, nagios + +[1]: https://www.digitalocean.com/community/tutorials/understanding-nginx-server-and-location-block-selection-algorithms diff --git a/nginx-as-a-file-server.html b/nginx-as-a-file-server.html new file mode 100644 index 0000000..eef51d1 --- /dev/null +++ b/nginx-as-a-file-server.html @@ -0,0 +1,80 @@ + + + + + + + +Nginx as a file server + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Nginx as a file server +

+ +
April 21, 2019 — +Jesse Harris +
+ +

FTP, SMB, SSH, HTTP... The list goes on.

+

There are many ways to serve files. Here is a quick note of how I edited the +default raspbian nginx conf files to enable a simple directory with browsing to +be served from a raspberry pi

+
+
    +
  1. +

    Install nginx-light

    +
    sudo apt-get install nginx-light -y
    +
    +
  2. +
  3. +

    Make sure group other has x permissions all the way up the tree to where + content will be served from. Security warning I recommend only doing this + on an internally facing pi.

    +
    sudo chmod o+x /media /media/JesseHD /media/JesseHD/Movies
    +
    +
  4. +
  5. +

    Edit `/etc/nginx/sites-available/default, uncomment the last server section

    +
    server {
    +        listen 80;
    +        listen [::]:80;
    +
    +        server_name 192.168.178.88;
    +
    +        root /media/JesseHD/Movies;
    +        autoindex on;
    +
    +}
    +
    +
  6. +
  7. +

    Restart nginx

    +
    sudo systemctl restart nginx
    +
    +
  8. +
+

Tags: raspberry-pi, nginx

+ + + + + + + + + + + +
+ +
+ diff --git a/nginx-as-a-file-server.md b/nginx-as-a-file-server.md new file mode 100644 index 0000000..d520763 --- /dev/null +++ b/nginx-as-a-file-server.md @@ -0,0 +1,38 @@ +Nginx as a file server + +FTP, SMB, SSH, HTTP... The list goes on. + +There are many ways to serve files. Here is a quick note of how I edited the +default raspbian nginx conf files to enable a simple directory with browsing to +be served from a raspberry pi + +--- + +1. Install nginx-light + + sudo apt-get install nginx-light -y + +2. Make sure group `other` has x permissions all the way up the tree to where + content will be served from. *Security warning* I recommend only doing this + on an internally facing pi. + + sudo chmod o+x /media /media/JesseHD /media/JesseHD/Movies + +3. Edit `/etc/nginx/sites-available/default, uncomment the last server section + + server { + listen 80; + listen [::]:80; + + server_name 192.168.178.88; + + root /media/JesseHD/Movies; + autoindex on; + + } + +4. Restart nginx + + sudo systemctl restart nginx + +Tags: raspberry-pi, nginx diff --git a/powershell-links.html b/powershell-links.html new file mode 100644 index 0000000..54f5da7 --- /dev/null +++ b/powershell-links.html @@ -0,0 +1,60 @@ + + + + + + + +Powershell Links + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Powershell Links +

+ +
March 29, 2019 — +Jesse Harris +
+ +

A bunch of links for powershell things I like and want to remember

+
+
    +
  • Seb's IT Blog - Fix PowerShell snap package TLS issues +On fresh PowerShell installs using the snap package, you can't use the +gallery, Invoke-Webrequest or Invoke-RestMethod to any ssl sites unless +you set this variable before running pwsh:

    +
      export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0
    +
    +
  • +
  • Kevin Marquette writes a series delving into specific topics on PowerShell. +Like in this weeks entry PowerShell: Everything you wanted to know about +PSCustomObject +has some great extended functionality of custom objects that I did not know +about.

    +
  • +
  • Another amazing bost by Kevin Marquette. This time on arrays. Ashamed to say I +did not know adding to arrays was so expensive! check it +out

    +
  • +
+

Tags: powershell-links, link-lists

+ + + + + + + + +
+ +
+ diff --git a/powershell-links.md b/powershell-links.md new file mode 100644 index 0000000..43fc258 --- /dev/null +++ b/powershell-links.md @@ -0,0 +1,26 @@ +Powershell Links + +_A bunch of links for powershell things I like and want to remember_ + +--- + +* Seb's IT Blog - [Fix PowerShell snap package TLS issues][1] + On fresh PowerShell installs using the snap package, you can't use the + gallery, `Invoke-Webrequest` or `Invoke-RestMethod` to any ssl sites unless + you set this variable before running `pwsh`: + + export DOTNET_SYSTEM_NET_HTTP_USESOCKETSHTTPHANDLER=0 + +* Kevin Marquette writes a series delving into specific topics on PowerShell. + Like in this weeks entry [PowerShell: Everything you wanted to know about + PSCustomObject](https://powershellexplained.com/2016-10-28-powershell-everything-you-wanted-to-know-about-pscustomobject/?utm_source=twitter&utm_medium=blog&utm_content=bottomlink) + has some great extended functionality of custom objects that I did not know + about. + +* Another amazing bost by Kevin Marquette. This time on arrays. Ashamed to say I + did not know adding to arrays was so expensive! [check it + out](https://powershellexplained.com/2018-10-15-PowerShell-arrays-Everything-you-wanted-to-know/?utm_source=twitter&utm_medium=blog&utm_content=bottomlink) + +Tags: powershell-links, link-lists + +[1]:https://megamorf.gitlab.io/2018/10/17/ps-core-snap-tls-issue.html diff --git a/powershell-syntax-now-supported-by-ale-vim-plugin.html b/powershell-syntax-now-supported-by-ale-vim-plugin.html new file mode 100644 index 0000000..bca5507 --- /dev/null +++ b/powershell-syntax-now-supported-by-ale-vim-plugin.html @@ -0,0 +1,54 @@ + + + + + + + +Powershell syntax now supported by ALE (Vim) plugin + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Powershell syntax now supported by ALE (Vim) plugin +

+ +
April 15, 2019 — +Jesse Harris +
+ +

ALE project has approved my PR to show powershell syntax errors by parsing +the powershell by powershell itself. If the current buffer has a filetype of +Powershell, the buffer is run through the following powershell script to check +for syntax errors. Errors are then displayed in Vim by ALE:

+
+
        Param($Script)
+        trap {$_; continue } & {
+            $Contents = Get-Content -Path $Script;
+            $Contents = [string]::Join([Environment]::NewLine, $Contents);
+            [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Contents);
+        };
+
+

Tags: ale, vim, powershell

+ + + + + + + + + + + +
+ +
+ diff --git a/powershell-syntax-now-supported-by-ale-vim-plugin.md b/powershell-syntax-now-supported-by-ale-vim-plugin.md new file mode 100644 index 0000000..643abf4 --- /dev/null +++ b/powershell-syntax-now-supported-by-ale-vim-plugin.md @@ -0,0 +1,19 @@ +Powershell syntax now supported by ALE (Vim) plugin + +[ALE][1] project has approved my PR to show powershell syntax errors by parsing +the powershell by powershell itself. If the current buffer has a filetype of +Powershell, the buffer is run through the following powershell script to check +for syntax errors. Errors are then displayed in Vim by ALE: + +--- + + Param($Script) + trap {$_; continue } & { + $Contents = Get-Content -Path $Script; + $Contents = [string]::Join([Environment]::NewLine, $Contents); + [void]$ExecutionContext.InvokeCommand.NewScriptBlock($Contents); + }; + +Tags: ale, vim, powershell + +[1]:https://github.com/w0rp/ale diff --git a/precision-5510---gentoo-gnulinux.html b/precision-5510---gentoo-gnulinux.html new file mode 100644 index 0000000..5f01e8c --- /dev/null +++ b/precision-5510---gentoo-gnulinux.html @@ -0,0 +1,376 @@ + + + + + + + +Precision 5510 - Gentoo GNU/Linux + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Precision 5510 - Gentoo GNU/Linux +

+ +
October 12, 2019 — +Jesse Harris +
+ +

This documents all configurations, apps and tweaks to get a nicely working Linux +machine.

+
+

Installation

+

Partition

+

The system was built with an existing Windows EFI partition table but this +weekend I converted it over to a luks/dmcrypt partition scheme. Thus the +table was created is as follows:

+
    +
  1. 200Mb ESP volume
  2. +
  3. 477.8G Linux filesystem
  4. +
+

The Linux filesystem is an aes-xts-plain64 with a 512 key size.

+
        cryptsetup luksFormat /dev/nvme0n1p6 -c aes-xts-plain64 -s 512
+
+

After the encrypted volume is created, and opened, lvm was used to create a +444Gb partition for root and the remaining 32Gb for swap/resume. The root volume +then formatted with btrfs.

+
        mkfs.btrfs /dev/mapper/lvm-root
+
+

Mounting the btrfs root subvolume in the Gentoo Live install:

+
        mkdir /mnt/btrfs
+        mount /dev/mapper/lvm-root /mnt/btrfs
+
+

Create 2 subvolumes in the / root and mount @root

+
        btrfs subvolume create /mnt/btrfs/\@root
+        btrfs subvolume create /mnt/btrfs/\@home
+
+        mount /dev/mapper/lvm-root /mnt/gentoo -o subvol=@root
+
+

Stage3

+

The original stage3 tarball was stage3-amd64-systemd-20190823.tar.bz2
+systemd was chosen so that I'm using the same init system that I need to support +for my day job.

+

After stage 3 is extracted, mount the home subvolume and boot volume:

+
        mount /dev/mapper/lvm-root /mnt/gentoo/home -o subvol=@home
+        mount /dev/nvme0n1p1 /mnt/gentoo/boot
+
+

Chroot in as per the Gentoo handbook

+

Portage

+

Initial portage make.conf setup to get going should include the following:

+
        COMMON_FLAGS="-march=skylake -O2 -pipe"
+        VIDEO_CARDS="intel i965"
+        MAKEOPTS="-j9 -l8"
+        GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo"
+        EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=8"
+        FEATURES="${FEATURES} parallel-fetch"
+
+

More settings to be discussed in Make.conf section later. This is all that +is relevant for the initial install.

+

Kernel

+

Kernel config can be found on my kernel-configs github +repo +Make it with -j8 for all cores and after installed, edit /etc/default/grub:

+
        GRUB_CMDLINE_LINUX="dobtrfs rootfstype=btrfs"
+
+

Use genkernel-next to build an initramfs and install grub

+
        genkernel initramfs
+        grub-install /dev/nvme0n1
+
+

Applications

+

First app in vim, as it is not in Gentoo base, other handy apps for getting the +system up and running:

+
    +
  • app-editors/vim
  • +
  • app-admin/sudo
  • +
  • app-portage/eix
  • +
  • app-portage/gentoolkit
  • +
  • dev-vcs/git
  • +
  • sys-apps/usbutils
  • +
  • sys-fs/btrfsprogs
  • +
  • sys-boot/os-prober
  • +
  • sys-kernel/genkernel
  • +
+

Note Genkernel pulls in sys-kernel/linux-firmware which has the binary blobs +required to get the wifi chip working on the Precision 5510.

+

World build

+

As per the Handbook, build the world, install the kernel, grub and reboot. +But! Don't forget to set the root password

+

First setup

+

After first boot systemd has everything you need to get connected to the network +to get everything going. Create a file in /etc/systemd/network to setup dhcp on +eth0. Enable systemd-networkd to get going until networkmanager later.

+

Administration

+

Setup sudo for quicker elevation:

+
        vim /etc/sudoers
+        
+        %wheel ALL=(ALL) NOPASSWD: ALL
+
+

Useful groups

+

wheel : Allows to su to root, or use sudo
+plugdev : Allows to connect to wifi as regular user and other hardware stuff
+portage : Can write into portage distfiles for testing and making ebuilds

+

Sleep and hibernate

+

Swap file is big enough to hold most of the RAM. Grub config is updated to +specify the swap partition UUID as the resume parameter

+
        GRUB_CMDLINE_LINUX="dobtrfs rootfstype=btrfs resume=UUID=9a900eaa-0312-4796-93f8-da3245add9d4"
+
+

Suspend then hibernate delay is set to 4 hours:

+
        vim /etc/systemd/sleep.conf
+
+        [Sleep]
+        HibernateDelaySec=240min
+
+

Lidswitch is set to suspend then hibernate

+
        vim /etc/systemd/logind.conf
+
+        [Login]
+        HandleLidSwitch=suspend-then-hibernate
+        HandleLidSwitchDocked=ignore
+
+

Xorg and Gnome

+

use flags for gnome added to make.conf

+
        USE="gtk bluetooth gnome -qt gdm samba acl vim readline fuse"
+        L10N="en" # for dictionary in evolution
+
+

Explanation:

+

fuse is required for gnome-gvfs (which is a dep of gnome-base/gnome-vfs). +This makes paths mounted from gnome, visible at /run/user/UID/gvfs

+

emerge gnome-base/gnome and the following apps

+
    +
  • gnome-base/gnome-vfs # For smb connections in nautilus
  • +
  • gnome-extra/evolution-ews # Connect evolution to exchange online
  • +
  • x11-terms/kitty # terminal with ligature font support
  • +
  • www-client/firefox-bin
  • +
+

Packages for work

+
    +
  • net-vpn/networkmanager-openconnect # vpn in networkmanager for work
  • +
  • net-misc/freerdp # Rdp to servers for work
  • +
  • net-misc/icaclient # Citrix client for work
  • +
+

Extending Gentoo

+

Apart from emerge, I'm making use of other package managers on Gentoo to +complete the environment.

+

Install layman

+
        emerge -a layman
+        layman -L
+        layman -a snapd
+        layman -a flatpak
+        layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford
+        emerge -a app-emulation/snapd
+        emerge -a app-emulation/flatpak
+
+        
+
+

snapd packages

+
        snap install chromium
+        snap install teams-for-linux
+        snap install p3xonenote
+        snap install caprine
+
+

KVM - Qemu

+

For virtualization, I primarily want to interface with VM's using gnome-boxes, +however as it lacks the sophistication for complex VM's, I also install +virt-manager.

+

Use flags for virtualization:

+
        app-emulation/libvirt apparmor virt-network
+        app-emulation/qemu doc usbredir smartcard spice
+        app-emulation/spice smartcard
+        net-dns/dnsmasq script
+        net-misc/spice-gtk smartcard usbredir vala
+
+

Kernel settings to enable networking in the kernel mentioned earlier. +qemu settings required for efi virtual machine

+
        vim /etc/libvirt/qemu.conf
+        security = "none"
+        nvram = [
+            "/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd"
+        ]
+
+

For a vm in boxes to run efi:

+
        cp /etc/libvirt/qemu.conf ~/.config/libvirt
+
+

Group memberships:

+
        usermod -G kvm,libvirt,qemu -a username
+
+

Tweaks to apparmor

+
        sed -ie 's/#include <local/include <local/' usr.sbin.dnsmasq
+        vim local/usr.sbin.dnsmasq
+        
+        capability mknod,
+        /usr/libexec/libvirt_leaseshelper rix,
+        /var/lib/libvirt/dnsmasq/*.status* rw,
+        /run/leaseshelper.pid rwk,
+        
+        vim usr.sbin.libvirt
+        
+        capability sys_rawio,
+
+

Set libvirt images directory to no copy on write

+
        chattr +C /var/lib/libvirt/images
+
+

Allow Gnome-Boxes to use libvirt's networking. Also requires user to be a member +of qemu group

+
        cat /etc/qemu/bridge.conf
+
+        allow virbr0
+
+

Backups

+

Thanks to the power of btrfs, backups are facilitated easily by snapshots. +Currently I have a systemd timer set to fire every hour. It fires a script which +does the following:

+
    +
  1. Mount the root btrfs volume to /mnt/btrfs (this houses 2 subvols)

    +
  2. +
  3. Snapshot each subvol into /mnt/btrfs/snapshots/subvolname-yyyy-MM-dd-hh:mm:ss

    +
  4. +
  5. Prune any snapshots that are not any of the following:

    +
      +
    • in the last 24 hours
    • +
    • daily in the last month
    • +
    • monthly until the backup drive fills to 10% free
    • +
    +
  6. +
  7. If a designated backup drive is attached, transfer all snapshots

    +
  8. +
  9. Delete all bar the last 2 transfered per subvolume

    +
  10. +
+

Finally, if the drive is not attached, when it does become available the script +is invoked with a parameter to just catch up on the snapshots.

+

The script can be found on +github +and the systemd timer and service look like this:

+

/etc/snapshots.conf

+
        [home]
+        LocalSnapshots=/mnt/btrfs/snapshots
+        RemoteSnapshots=/run/media/harrisj/7cb22d51-b8a7-45ee-b1a3-2f3db51c931f
+        SubvolumeRoot=/home
+
+        [root]
+        LocalSnapshots=/mnt/btrfs/snapshots
+        RemoteSnapshots=/run/media/harrisj/7cb22d51-b8a7-45ee-b1a3-2f3db51c931f
+        SubvolumeRoot=/
+
+

snapshot.service

+
        [Unit]
+        Description=Take a BTRFS Snapshot of all the volumes
+
+        [Service]
+        Type=simple
+        ExecStart=/usr/local/bin/snapshot
+
+

snapshot.timer

+
        [Unit]
+        Description=Timer file for snapshot unit. Snapshots hourly and continually prunes
+
+        [Timer]
+        OnCalendar=*-*-* *:00:00
+        Persistent=true
+
+        [Install]
+        WantedBy=timers.target
+
+

backup-snapshots.service

+
        [Unit]
+        Description=Backup snapshots when backup drive is attached
+        Requires=run-media-harrisj-7cb22d51\x2db8a7\x2d45ee\x2db1a3\x2d2f3db51c931f.mount
+        After=run-media-harrisj-7cb22d51\x2db8a7\x2d45ee\x2db1a3\x2d2f3db51c931f.mount
+
+        [Service]
+        ExecStart=/usr/local/bin/snapshot -b
+
+        [Install]
+        WantedBy=run-media-harrisj-7cb22d51\x2db8a7\x2d45ee\x2db1a3\x2d2f3db51c931f.mount
+
+

Docker

+

Docker's default IP range conflicts with works DNS. +The following file switches it to another address range.

+
        cat /etc/docker/daemon.json
+        {
+            "bip": "192.168.12.5/24",
+            "fixed-cidr": "192.168.12.5/25",
+            "fixed-cidr-v6": "2001:db8::/64",
+            "mtu": 1500
+        }
+
+

Wifi off on ethernet

+

In my shed the wifi is weak. I'm on wired here, so don't need the wifi. +Thankfully NetworkManager offers ability to run scripts when connections change.

+
        cat /etc/NetworkManager/dispatcher.d/wired_only.sh
+        #!/bin/sh
+
+        IF=$1
+        STATUS=$2
+
+        if echo "$IF" |grep -q enp0s20f0u2u1i5
+        then
+            case "$2" in
+                up)
+                    logger -s "ethernet up killing wifi"
+                    rfkill block 1
+                ;;
+                down)
+                    logger -s "ethernet down, raising wifi"
+                    rfkill unblock 1
+                ;;
+                *)
+                ;;
+            esac
+        fi
+
+

Automatically stop and start DisplayLink manager

+

At home, I'm using a Targus USB 3.0 dock to connect to two monitors. It's pretty +convinient but it does use a few extra joules of battery (as shown by powertop).

+

Instead of manually stopping and starting the dlm service. I can use systemd and +udev rules to run the service only when the device is attached.

+
        cat /etc/udev/rules.d/99-displaylink.rules
+        ACTION=="add", ATTRS{idProduct}=="4306", ATTRS{idVendor}=="17e9", ENV{SYSTEMD_WANTS}="dlm.service"
+
+

This rule will start dlm when the usb device is detected. The following +alteration to the systemd unit for dlm ensures that when the device is removed, +the service is stopped.

+
        systemctl cat dlm
+        # /lib/systemd/system/dlm.service
+        [Unit]
+        Description=DisplayLink Manager Service
+        After=display-manager.service
+        Conflicts=getty@tty7.service
+
+        [Service]
+        ExecStartPre=/sbin/modprobe evdi
+        ExecStart=/opt/displaylink/DisplayLinkManager
+        Restart=always
+        WorkingDirectory=/opt/displaylink
+        RestartSec=5
+
+        [Install]
+        WantedBy=graphical.target
+
+        # /etc/systemd/system/dlm.service.d/override.conf
+        [Unit]
+        BindsTo=sys-subsystem-net-devices-enp0s20f0u2u1i5.device
+        StopWhenUnneeded=true
+
+

Note that the alterations are configured using systemctl edit dlm

+

Tags: gentoo, btrfs, linux

+ + + + + + + + +
+ +
+ diff --git a/precision-5510---gentoo-gnulinux.md b/precision-5510---gentoo-gnulinux.md new file mode 100644 index 0000000..7dc6dcd --- /dev/null +++ b/precision-5510---gentoo-gnulinux.md @@ -0,0 +1,421 @@ +Precision 5510 - Gentoo GNU/Linux + +This documents all configurations, apps and tweaks to get a nicely working Linux +machine. + +--- + +Installation +============ + +Partition +--------- + +The system was built with an existing Windows EFI partition table but this +weekend I converted it over to a luks/dmcrypt partition scheme. Thus the +table was created is as follows: + +1. 200Mb ESP volume +2. 477.8G Linux filesystem + +The Linux filesystem is an aes-xts-plain64 with a 512 key size. + + cryptsetup luksFormat /dev/nvme0n1p6 -c aes-xts-plain64 -s 512 + +After the encrypted volume is created, and opened, lvm was used to create a +444Gb partition for root and the remaining 32Gb for swap/resume. The root volume +then formatted with btrfs. + + mkfs.btrfs /dev/mapper/lvm-root + +Mounting the btrfs root subvolume in the Gentoo Live install: + + mkdir /mnt/btrfs + mount /dev/mapper/lvm-root /mnt/btrfs + +Create 2 subvolumes in the / root and mount @root + + btrfs subvolume create /mnt/btrfs/\@root + btrfs subvolume create /mnt/btrfs/\@home + + mount /dev/mapper/lvm-root /mnt/gentoo -o subvol=@root + +Stage3 +------ + +The original stage3 tarball was `stage3-amd64-systemd-20190823.tar.bz2` +systemd was chosen so that I'm using the same init system that I need to support +for my day job. + +After stage 3 is extracted, mount the home subvolume and boot volume: + + mount /dev/mapper/lvm-root /mnt/gentoo/home -o subvol=@home + mount /dev/nvme0n1p1 /mnt/gentoo/boot + +Chroot in as per the Gentoo handbook + +Portage +------- + +Initial portage `make.conf` setup to get going should include the following: + + COMMON_FLAGS="-march=skylake -O2 -pipe" + VIDEO_CARDS="intel i965" + MAKEOPTS="-j9 -l8" + GENTOO_MIRRORS="http://ftp.swin.edu.au/gentoo" + EMERGE_DEFAULT_OPTS="--jobs=8 --load-average=8" + FEATURES="${FEATURES} parallel-fetch" + +More settings to be discussed in __Make.conf__ section later. This is all that +is relevant for the initial install. + +Kernel +------ + +Kernel config can be found on my [kernel-configs github +repo](https://github.com/zigford/kernel-configs/tree/master/Precision%205510) +Make it with `-j8` for all cores and after installed, edit /etc/default/grub: + + GRUB_CMDLINE_LINUX="dobtrfs rootfstype=btrfs" + +Use genkernel-next to build an initramfs and install grub + + genkernel initramfs + grub-install /dev/nvme0n1 + +Applications +------------ + +First app in vim, as it is not in Gentoo base, other handy apps for getting the +system up and running: + +* app-editors/vim +* app-admin/sudo +* app-portage/eix +* app-portage/gentoolkit +* dev-vcs/git +* sys-apps/usbutils +* sys-fs/btrfsprogs +* sys-boot/os-prober +* sys-kernel/genkernel + +__Note__ Genkernel pulls in sys-kernel/linux-firmware which has the binary blobs +required to get the wifi chip working on the Precision 5510. + +World build +----------- + +As per the Handbook, build the world, install the kernel, grub and reboot. +But! Don't forget to set the root password + +First setup +=========== + +After first boot systemd has everything you need to get connected to the network +to get everything going. Create a file in /etc/systemd/network to setup dhcp on +eth0. Enable systemd-networkd to get going until networkmanager later. + +Administration +-------------- + +Setup `sudo` for quicker elevation: + + vim /etc/sudoers + + %wheel ALL=(ALL) NOPASSWD: ALL + +Useful groups +------------- + +wheel : Allows to su to root, or use sudo +plugdev : Allows to connect to wifi as regular user and other hardware stuff +portage : Can write into portage distfiles for testing and making ebuilds + +Sleep and hibernate +------------------- + +Swap file is big enough to hold most of the RAM. Grub config is updated to +specify the swap partition UUID as the resume parameter + + GRUB_CMDLINE_LINUX="dobtrfs rootfstype=btrfs resume=UUID=9a900eaa-0312-4796-93f8-da3245add9d4" + +Suspend then hibernate delay is set to 4 hours: + + vim /etc/systemd/sleep.conf + + [Sleep] + HibernateDelaySec=240min + +Lidswitch is set to suspend then hibernate + + vim /etc/systemd/logind.conf + + [Login] + HandleLidSwitch=suspend-then-hibernate + HandleLidSwitchDocked=ignore + +Xorg and Gnome +============== + +use flags for gnome added to `make.conf` + + USE="gtk bluetooth gnome -qt gdm samba acl vim readline fuse" + L10N="en" # for dictionary in evolution + +Explanation: + +`fuse` is required for `gnome-gvfs` (which is a dep of gnome-base/gnome-vfs). +This makes paths mounted from gnome, visible at /run/user/UID/gvfs + +emerge gnome-base/gnome and the following apps + +* gnome-base/gnome-vfs # For smb connections in nautilus +* gnome-extra/evolution-ews # Connect evolution to exchange online +* x11-terms/kitty # terminal with ligature font support +* www-client/firefox-bin + +Packages for work +================= + +* net-vpn/networkmanager-openconnect # vpn in networkmanager for work +* net-misc/freerdp # Rdp to servers for work +* net-misc/icaclient # Citrix client for work + +Extending Gentoo +================ + +Apart from emerge, I'm making use of other package managers on Gentoo to +complete the environment. + +Install layman + + emerge -a layman + layman -L + layman -a snapd + layman -a flatpak + layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford + emerge -a app-emulation/snapd + emerge -a app-emulation/flatpak + + +snapd packages +-------------- + + snap install chromium + snap install teams-for-linux + snap install p3xonenote + snap install caprine + +KVM - Qemu +========== + +For virtualization, I primarily want to interface with VM's using _gnome-boxes_, +however as it lacks the sophistication for complex VM's, I also install +_virt-manager_. + +Use flags for virtualization: + + app-emulation/libvirt apparmor virt-network + app-emulation/qemu doc usbredir smartcard spice + app-emulation/spice smartcard + net-dns/dnsmasq script + net-misc/spice-gtk smartcard usbredir vala + +Kernel settings to enable networking in the kernel mentioned earlier. +qemu settings required for efi virtual machine + + vim /etc/libvirt/qemu.conf + security = "none" + nvram = [ + "/usr/share/edk2-ovmf/OVMF_CODE.fd:/usr/share/edk2-ovmf/OVMF_VARS.fd" + ] + +For a vm in boxes to run efi: + + cp /etc/libvirt/qemu.conf ~/.config/libvirt + + +Group memberships: + + usermod -G kvm,libvirt,qemu -a username + +Tweaks to apparmor + + sed -ie 's/#include + + + + + + +Raspberry Pi 4 + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Raspberry Pi 4 +

+ +
July 02, 2019 — +Jesse Harris +
+ +

As soon as I heard the news about the Pi 4 release, I jumped on it. As a +frequent Pi user for day to day tasks, I'm always keen for a speed boost.

+
+

One major thing interests me about the Pi 4. The 4Gb of RAM model means that it +could be viable for running Gentoo. While Gentoo does run fine on previous +models of the Pi, it hit's issues when updating.

+

Updating on Gentoo requires compiling from source and many software these days +need quite a bit of RAM to compile quickly (using all 4 cores).

+

I didn't have the money to buy the 4Gb version right away, so I opted for the +1Gb model.

+

This morning I completed the upgrade to Buster and aside from an issue with +noobs the upgrade +was smooth.

+

This blog post is the first composed and hosted on My Pi 4!

+

Tags: raspberry-pi

+ + + + + + + + + + + +
+ +
+ diff --git a/raspberry-pi-4.md b/raspberry-pi-4.md new file mode 100644 index 0000000..a1cb890 --- /dev/null +++ b/raspberry-pi-4.md @@ -0,0 +1,24 @@ +Raspberry Pi 4 + +As soon as I heard the news about the Pi 4 release, I jumped on it. As a +frequent Pi user for day to day tasks, I'm always keen for a speed boost. + +--- + +One major thing interests me about the Pi 4. The 4Gb of RAM model means that it +could be viable for running Gentoo. While Gentoo does _run_ fine on previous +models of the Pi, it hit's issues when updating. + +Updating on Gentoo requires compiling from source and many software these days +need quite a bit of RAM to compile quickly (using all 4 cores). + +I didn't have the money to buy the 4Gb version right away, so I opted for the +1Gb model. + +This morning I completed the upgrade to Buster and aside from an issue with +[noobs](https://www.raspberrypi.org/forums/viewtopic.php?t=212452) the upgrade +was smooth. + +This blog post is the first composed and hosted on My Pi 4! + +Tags: raspberry-pi diff --git a/replacing-bash-scripting-with-powershell.html b/replacing-bash-scripting-with-powershell.html new file mode 100644 index 0000000..36227d7 --- /dev/null +++ b/replacing-bash-scripting-with-powershell.html @@ -0,0 +1,78 @@ + + + + + + + +Replacing bash scripting with powershell + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/replacing-bash-scripting-with-powershell.md b/replacing-bash-scripting-with-powershell.md new file mode 100644 index 0000000..09c18d7 --- /dev/null +++ b/replacing-bash-scripting-with-powershell.md @@ -0,0 +1,30 @@ +Replacing bash scripting with powershell + +[This][1] article on replacing bash scripting with python was being shared +around on twitter today. + +> The problem is if you want to do basically anything else, e.g. write logic, +> use control structures, handle complex data... You're going to have big +> problems. When Bash is coordinating external programs, it's fantastic. When +> it's doing any work whatsoever itself, it disintegrates into a pile of +> garbage. + +To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language. + +As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me. + +I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the [raspberry pi](raspberry-pi.html) and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap. + +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. + +Tags: shells, bash, python, scripting, powershell + +[1]: https://github.com/ninjaaron/replacing-bash-scripting-with-python diff --git a/replacing-bash-scripting-with-python.md b/replacing-bash-scripting-with-python.md new file mode 100644 index 0000000..09c18d7 --- /dev/null +++ b/replacing-bash-scripting-with-python.md @@ -0,0 +1,30 @@ +Replacing bash scripting with powershell + +[This][1] article on replacing bash scripting with python was being shared +around on twitter today. + +> The problem is if you want to do basically anything else, e.g. write logic, +> use control structures, handle complex data... You're going to have big +> problems. When Bash is coordinating external programs, it's fantastic. When +> it's doing any work whatsoever itself, it disintegrates into a pile of +> garbage. + +To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language. + +As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me. + +I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the [raspberry pi](raspberry-pi.html) and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap. + +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. + +Tags: shells, bash, python, scripting, powershell + +[1]: https://github.com/ninjaaron/replacing-bash-scripting-with-python diff --git a/ripping-an-album-from-youtube---cli-style.html b/ripping-an-album-from-youtube---cli-style.html new file mode 100644 index 0000000..283edd6 --- /dev/null +++ b/ripping-an-album-from-youtube---cli-style.html @@ -0,0 +1,128 @@ + + + + + + + +Ripping an album from youtube - CLI Style + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+
+

This post is a quick tip on ripping an album from youtube using a web browser and +a few cli apps. Remember, most tasks don't need a bloated gui to be done +efficiently.

+

Requirement

+
    +
  1. A Web browser that can play youtube videos
  2. +
  3. Youtube-dl
  4. +
  5. ffmpeg
  6. +
  7. Bash
  8. +
+

Prep work

+

Install ffmpeg

+

Ubuntu

+
sudo apt-get install ffmpeg -y
+
+

Fedora

+
sudo yum install ffmpeg
+
+

Gentoo

+
sudo emerge ffmpeg
+
+

Install Youtube-DL

+

If your on a Debian or Ubuntu flavor of linux

+
sudo apt-get install youtube-dl -y
+
+

Fedora

+
sudo yum install youtub-dl
+
+

On my favourite, Gentoo

+
emerge --ask youtube-dl
+
+

Download the album

+

At this point you have all the tools you need to get the job done. Have a browse +around on youtube to find the album you want an offline copy of and copy the url of the page. Then from a +command prompt:

+
mkdir ~/tmp
+cd ~/tmp
+youtube-dl -x --audio-format mp3 https://youtube.com/fullurltovideo
+
+

Create a list file

+

While the audio file is downloading, your going to want to create a simple txt +file which lists the tracks, titles and start and end timings. I simply fast +forwarded through each track toward the end of the song and made note of the +mintes and seconds. I created a file with each line representing a track in the album with the following details:

+

Track Number-Track title-Start duration-End duration

+

The durations are in the form of HH:MM:SS. Here is what my file looks like:

+
cat ~/tmp/list.txt
+01-The Greatest Show-00:0:00-5:08
+02-A Million Dreams-00:5:08-9:38
+03-A Million Dreams Reprise-00:9:39-10:38
+04-Come Alive-00:10:38-14:25
+05-The Other Side-00:14:25-17:58
+06-Never Enough-00:17:58-21:28
+07-This Is Me-00:21:38-25:23
+08-Rewrite the Stars-00:25:23-28:59
+09-Tightrope-00:28:59-32:50
+10-Never Enough (Reprise)-00:32:50-34:14
+11-From Now On-00:34:14-40:12
+
+

Split the audio to seperate mp3's

+

Now that my file has finished downloading, I can convert the file into separate +song files

+

Here is the little bash script I wrote to split the file based on the contents +of the list.txt file

+

Note the -nostdin parameter below is required to prevent ffmpeg from +consuming bytes from input which makes it go screwy

+
cat splitsong.sh
+#!/bin/bash
+
+while IFS=- read tr ti s e; do
+    FILENAME="${tr} - The Greatest Showman - ${ti}.mp3"
+    ffmpeg -nostdin \
+        -i "$2" -acodec copy \
+        -ss "$s" -to "$e" \
+        "${FILENAME}" < /dev/null
+done <"$1"
+
+

I then execute the file like this:

+
chmod +x splitsong.sh
+./splitsong.sh list.txt 'Some Sound Track List-qDZLSHY1ims.mp3'
+
+

And the whole thing is over in a matter of seconds.

+

Tags: bash-tips, mp3, ffmpeg, cli, scripting, youtube, music, linux

+ + + + + + + + +
+ +
+ diff --git a/ripping-an-album-from-youtube---cli-style.md b/ripping-an-album-from-youtube---cli-style.md new file mode 100755 index 0000000..7a7b6e5 --- /dev/null +++ b/ripping-an-album-from-youtube---cli-style.md @@ -0,0 +1,115 @@ +Ripping an album from youtube - CLI Style + +With the advent of [Spotify](https://www.spotify.com/), +[Apple Music](https://www.apple.com/music), [Youtube](https://youtube.com), +[Pandora](https://www.pandora.com) and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +[3ds's](https://en.wikipedia.org/wiki/Nintendo_3DS) to play local mp3 files. + +--- + +This post is a quick tip on ripping an album from youtube using a web browser and + a few cli apps. Remember, most tasks don't need a bloated gui to be done +efficiently. + +### Requirement +1. A Web browser that can play youtube videos +2. [Youtube-dl](http://rg3.github.io/youtube-dl/) +3. ffmpeg +4. Bash + +### Prep work + +#### Install ffmpeg + +Ubuntu + + sudo apt-get install ffmpeg -y + +Fedora + + sudo yum install ffmpeg + +Gentoo + + sudo emerge ffmpeg + +#### Install Youtube-DL + +If your on a Debian or Ubuntu flavor of linux + + sudo apt-get install youtube-dl -y + +Fedora + + sudo yum install youtub-dl + +On my favourite, Gentoo + + emerge --ask youtube-dl + +### Download the album + +At this point you have all the tools you need to get the job done. Have a browse +around on youtube to find the album you want an offline copy of and copy the url of the page. Then from a +command prompt: + + mkdir ~/tmp + cd ~/tmp + youtube-dl -x --audio-format mp3 https://youtube.com/fullurltovideo + +### Create a list file + +While the audio file is downloading, your going to want to create a simple txt +file which lists the tracks, titles and start and end timings. I simply fast +forwarded through each track toward the end of the song and made note of the +mintes and seconds. I created a file with each line representing a track in the album with the following details: + +_Track Number_-_Track title_-_Start duration_-_End duration_ + +The durations are in the form of HH:MM:SS. Here is what my file looks like: + + cat ~/tmp/list.txt + 01-The Greatest Show-00:0:00-5:08 + 02-A Million Dreams-00:5:08-9:38 + 03-A Million Dreams Reprise-00:9:39-10:38 + 04-Come Alive-00:10:38-14:25 + 05-The Other Side-00:14:25-17:58 + 06-Never Enough-00:17:58-21:28 + 07-This Is Me-00:21:38-25:23 + 08-Rewrite the Stars-00:25:23-28:59 + 09-Tightrope-00:28:59-32:50 + 10-Never Enough (Reprise)-00:32:50-34:14 + 11-From Now On-00:34:14-40:12 + +### Split the audio to seperate mp3's + +Now that my file has finished downloading, I can convert the file into separate +song files + +Here is the little bash script I wrote to split the file based on the contents +of the list.txt file + +*Note the `-nostdin` parameter below is required to prevent ffmpeg from +consuming bytes from input which makes it go screwy* + + cat splitsong.sh + #!/bin/bash + + while IFS=- read tr ti s e; do + FILENAME="${tr} - The Greatest Showman - ${ti}.mp3" + ffmpeg -nostdin \ + -i "$2" -acodec copy \ + -ss "$s" -to "$e" \ + "${FILENAME}" < /dev/null + done <"$1" + +I then execute the file like this: + + chmod +x splitsong.sh + ./splitsong.sh list.txt 'Some Sound Track List-qDZLSHY1ims.mp3' + +And the whole thing is over in a matter of seconds. + +Tags: bash-tips, mp3, ffmpeg, cli, scripting, youtube, music, linux diff --git a/screen-sharing-and-capture-in-wayland-on-gentoo.html b/screen-sharing-and-capture-in-wayland-on-gentoo.html new file mode 100644 index 0000000..6d46a1a --- /dev/null +++ b/screen-sharing-and-capture-in-wayland-on-gentoo.html @@ -0,0 +1,107 @@ + + + + + + + +Screen sharing and capture in Wayland on Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +
+ +

Update

+ +

While I thought this was working, when I came to a meeting to share +my screen, my collegues could not see anything bar a single application.

+ +

I did some troubleshooting on my own using Zooms record feature and +was unable to resolve it using the Zoom flatpak package.

+ +

I installed Zoom directly as an ebuild and was able to see the entire screen +using that.

+ +

Zoom

+ +

Firstly, I'm using zoom via Flatpak. Flatpak is an official overlay +on Gentoo.

+ +

Once flatpak and zoom is installed via:

+ +
    flatpak install us.zoom.Zoom
+
+ +

You can enable screen sharing via the following tweaks.

+ +

Tweak 1: Allow flatpak to talk to gnome stuff I don't really understand

+ +
    sudo flatpak override --talk-name=org.gnome.Shell \
+        --talk-name=org.gnome.Shell.Screenshot \
+        --talk-name=org.gnome.SessionManager \
+        --talk-name=org.freedesktop.PowerManagement.Inhibit \
+        --talk-name=org.freedesktop.ScreenSaver us.zoom.Zoom
+
+ +

Ref: https://github.com/flathub/us.zoom.Zoom/pull/182

+ +

Tweak 2: Set this in your ~/.var/app/us.zoom.Zoom/config/zoomus.conf

+ +
    [General]
+    enableWaylandShare=true
+
+ +

OBS-Studio

+ +

This guy Georges Stavracas wrote an OBS plugin to interface with +xdg-desktop-portal. It works quite well and I've written an ebuild +for it to work in Gentoo.

+ +

You can add my overlay here +or pilfer my ebuild directly under media-plugins/obs-xdg-portal.

+ +

Hot Tip

+ +

At first I could not get it to work, and that is because I lacked the +understanding about how pipewire and xdg-desktop-portal works. +One thing I found sorely lacking is the documentation. Eventually I +stumbled upon someone saying you need to enable (or start) pipewire:

+ +
    systemctl --user enable --now pipewire
+
+ +

Now the plugin allows you to pick your desktop. Strangely, the screenshots +show the ability to choose an app, whereas I can only choose my screen.

+ +

Oh well, let me know if you know why.

+ +

Cheers

+ +

Tags: gentoo, gnome, wayland, zoom, obs

+ + + +
+ +
+ diff --git a/screen-sharing-and-capture-in-wayland-on-gentoo.md b/screen-sharing-and-capture-in-wayland-on-gentoo.md new file mode 100644 index 0000000..9e15c85 --- /dev/null +++ b/screen-sharing-and-capture-in-wayland-on-gentoo.md @@ -0,0 +1,72 @@ +Screen sharing and capture in Wayland on Gentoo + +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. + +--- + +## Update +While I thought this was working, when I came to a meeting to share +my screen, my collegues could not see anything bar a single application. + +I did some troubleshooting on my own using Zooms record feature and +was unable to resolve it using the Zoom flatpak package. + +I installed Zoom directly as an ebuild and was able to see the entire screen +using that. + +Zoom +---- + +Firstly, I'm using zoom via Flatpak. Flatpak is an official overlay +on Gentoo. + +Once flatpak and zoom is installed via: + + flatpak install us.zoom.Zoom + +You can enable screen sharing via the following tweaks. + +Tweak 1: Allow flatpak to talk to gnome stuff I don't really understand + + sudo flatpak override --talk-name=org.gnome.Shell \ + --talk-name=org.gnome.Shell.Screenshot \ + --talk-name=org.gnome.SessionManager \ + --talk-name=org.freedesktop.PowerManagement.Inhibit \ + --talk-name=org.freedesktop.ScreenSaver us.zoom.Zoom + +Ref: https://github.com/flathub/us.zoom.Zoom/pull/182 + +Tweak 2: Set this in your ~/.var/app/us.zoom.Zoom/config/zoomus.conf + + [General] + enableWaylandShare=true + +OBS-Studio +---------- + +This guy Georges Stavracas wrote an OBS plugin to interface with +xdg-desktop-portal. It works quite well and I've written an ebuild +for it to work in Gentoo. + +You can add my overlay [here](https://github.com/zigford/gentoo-zigford) +or pilfer my ebuild directly under media-plugins/obs-xdg-portal. + +### Hot Tip + +At first I could not get it to work, and that is because I lacked the +understanding about how pipewire and xdg-desktop-portal works. +One thing I found sorely lacking is the documentation. Eventually I +stumbled upon someone saying you need to enable (or start) pipewire: + + systemctl --user enable --now pipewire + +Now the plugin allows you to pick your desktop. Strangely, the screenshots +show the ability to choose an app, whereas I can only choose my screen. + +Oh well, let me know if you know why. + +Cheers + +Tags: gentoo, gnome, wayland, zoom, obs diff --git a/scripts.html b/scripts.html new file mode 100644 index 0000000..17b34ed --- /dev/null +++ b/scripts.html @@ -0,0 +1,55 @@ + + + + + + + +Scripts + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Scripts +

+ +
September 11, 2018 — +Jesse Harris +
+ +

Download zipped scripts without copy and pasting from the site.

+ + + + + + + + + + + + + + + + + + + + +
ScriptDescriptionDownload
install-ssh.zipSetup and config SSH + pscoreDownload
Hostsfile.ps1Get/Set Hosts w powershellDownload
+ + + +
+ +
+ diff --git a/scripts.md b/scripts.md new file mode 100644 index 0000000..cdaaf77 --- /dev/null +++ b/scripts.md @@ -0,0 +1,11 @@ +Scripts + +Download zipped scripts without copy and pasting from the site. + +| Script | Description | Download | +| --------------- | ----------------------------- | ------------- | +| install-ssh.zip | Setup and config SSH + pscore | [Download][1] | +| Hostsfile.ps1 | Get/Set Hosts w powershell | [Download][2] | + +[1]: scripts/install-ssh.zip +[2]: scripts/Hostsfile.ps1.zip diff --git a/scripts/Hostsfile.ps1.zip b/scripts/Hostsfile.ps1.zip new file mode 100644 index 0000000..a02fd1c Binary files /dev/null and b/scripts/Hostsfile.ps1.zip differ diff --git a/scripts/OpenSSH_Win32_Installer.zip b/scripts/OpenSSH_Win32_Installer.zip new file mode 100644 index 0000000..1f77548 Binary files /dev/null and b/scripts/OpenSSH_Win32_Installer.zip differ diff --git a/scripts/install-ssh.zip b/scripts/install-ssh.zip new file mode 100644 index 0000000..f14e970 Binary files /dev/null and b/scripts/install-ssh.zip differ diff --git a/scrubbing-my-data---btrfs.html b/scrubbing-my-data---btrfs.html new file mode 100644 index 0000000..1c17e22 --- /dev/null +++ b/scrubbing-my-data---btrfs.html @@ -0,0 +1,134 @@ + + + + + + + +Scrubbing my data - BTRFS + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Scrubbing my data - BTRFS +

+ +
April 23, 2020 — +Jesse Harris +
+ + +

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.

+ +
+ +

Scrubbing is:

+ +
+

btrfs scrub is used to scrub a btrfs filesystem, which will read all + data and metadata blocks from all devices and verify checksums. + Automatically repair corrupted blocks if there’s a correct copy + available.

+
+ +

On the most common filesystems1 data is written and read but +never validated. Between writing and reading data, sometimes the data can get +changed. This could occur due to a media fault or firmware bug or user error. +(dd the wrong volume anyone?)

+ +

Before this technology was available, it was always a worry that my most +precious stored family photos and videos could at any time become silently +corrupted without my knowing!

+ +

Now thanks to BTRFS (or ZFS if your more into the BSDs) you never have to +suffer not knowing about data corruption, and as a bonus you can prevent it too. +(if you have mirrored volumes)

+ +

My BTRFS Volumes

+ +

I currently have the following volumes in BTRFS:

+ +
    +
  • root sd card of the Raspberry Pi 4 hosting this site 32 gigs
  • +
  • 7Tb external spinning disk attached to the RPI4
  • +
  • 256Gb ssd boot volume on my main desktop PC
  • +
  • 2Tb ssd home volume on my main desktop PC
  • +
  • 3Tb + 2Tb external spinning disks connected via USB3 to my main desktop PC
  • +
  • 500Gb nvme luks encrypted volume on precision 5510
  • +
  • 1Tb external luks encrypted backup 2.5" USB2 sometimes attached to Precision +5510
  • +
+ +

Backing them up

+ +

All of these systems have their root/home volumes backed up at least once via +BTRFS send and in the case of the desktop PC, it also performs daily snapshots +with restic to a cloud storage system.

+ +

RPI:

+ +

Daily snapshots sent to it's locally attached 7Tb volume +Occasionally I btrfs send the 7Tb volume to the 3+2 spanned external disks on +the PC. I'm not too fussed if I loose the 7Tb volume. It is mainly backup and +some unimportant media.

+ +

PC:

+ +

I wrote a little bash +script +to btrfs snapshot and send incrementally backups every hour for the last 24 +hours, day for the last month and monthly until it gets to a % full. These go to +the 2+3 Tb external disks. Restic performs cloud backups

+ +

Precision:

+ +

Thee same bash script on a systemd timer, sends backups to my external disk when +it's connected

+ +

Scrubbing it all

+ +

Not long ago I was running my home volumes on mirrored spinning disks. In the +modern era these were beginning to feel slow and one drive started failing. +BTRFS scrub would fix errors for me then:

+ +

screenshot

+ +

You can see that a few errors were corrected because another copy of the block +was available. The whole 800+Gb of data took an hour 44 to scrub. Compare that +to today:

+ +

screenshot

+ +

In this screenshot the bottom left terminal is a scrub of my new 2Tb ssd. +Bottom right is 256Gb boot volume. +Top left is a snapshot of a backup of the 7Tb volume on the 2+3Tb spanning +disks. +And top right is the 7Tb volume itself connected to the RPI4.

+ +

Tags: btrfs, backup

+
+
+
    +
  1. +

    Ext2, Ext3, Ext4, XFS, NTFS, APFS, HFS+ 

    +
  2. +
+
+ + + + +
+ +
+ diff --git a/scrubbing-my-data---btrfs.md b/scrubbing-my-data---btrfs.md new file mode 100644 index 0000000..e638a1c --- /dev/null +++ b/scrubbing-my-data---btrfs.md @@ -0,0 +1,96 @@ +Scrubbing my data - BTRFS + +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. + +--- + +Scrubbing is: + +> btrfs scrub is used to scrub a btrfs filesystem, which will read all +> data and metadata blocks from all devices and verify checksums. +> Automatically repair corrupted blocks if there’s a correct copy +> available. + +On the most common filesystems[^regfilesystems] data is written and read but +never validated. Between writing and reading data, sometimes the data can get +changed. This could occur due to a media fault or firmware bug or user error. +(dd the wrong volume anyone?) + +Before this technology was available, it was always a worry that my most +precious stored family photos and videos could at any time become silently +corrupted without my knowing! + +Now thanks to BTRFS (or ZFS if your more into the BSDs) you never have to +suffer not knowing about data corruption, and as a bonus you can prevent it too. +(if you have mirrored volumes) + +My BTRFS Volumes +---------------- + +I currently have the following volumes in BTRFS: + +* root sd card of the Raspberry Pi 4 hosting this site 32 gigs +* 7Tb external spinning disk attached to the RPI4 +* 256Gb ssd boot volume on my main desktop PC +* 2Tb ssd home volume on my main desktop PC +* 3Tb + 2Tb external spinning disks connected via USB3 to my main desktop PC +* 500Gb nvme luks encrypted volume on precision 5510 +* 1Tb external luks encrypted backup 2.5" USB2 sometimes attached to Precision + 5510 + +Backing them up +--------------- + +All of these systems have their root/home volumes backed up at least once via +BTRFS send and in the case of the desktop PC, it also performs daily snapshots +with restic to a cloud storage system. + +RPI: + +Daily snapshots sent to it's locally attached 7Tb volume +Occasionally I `btrfs send` the 7Tb volume to the 3+2 spanned external disks on +the PC. I'm not too fussed if I loose the 7Tb volume. It is mainly backup and +some unimportant media. + +PC: + +I wrote a [little bash +script](https://github.com/zigford/linux-worktools/blob/master/linux/snapshot) +to btrfs snapshot and send incrementally backups every hour for the last 24 +hours, day for the last month and monthly until it gets to a % full. These go to +the 2+3 Tb external disks. Restic performs cloud backups + +Precision: + +Thee same bash script on a systemd timer, sends backups to my external disk when +it's connected + +Scrubbing it all +---------------- + +Not long ago I was running my home volumes on mirrored spinning disks. In the +modern era these were beginning to feel slow and one drive started failing. +BTRFS scrub would fix errors for me then: + +![screenshot][1] + +You can see that a few errors were corrected because another copy of the block +was available. The whole 800+Gb of data took an hour 44 to scrub. Compare that +to today: + +![screenshot][2] + +In this screenshot the bottom left terminal is a scrub of my new 2Tb ssd. +Bottom right is 256Gb boot volume. +Top left is a snapshot of a backup of the 7Tb volume on the 2+3Tb spanning +disks. +And top right is the 7Tb volume itself connected to the RPI4. + +Tags: btrfs, backup + +[^regfilesystems]: Ext2, Ext3, Ext4, XFS, NTFS, APFS, HFS+ +[1]: images/btrfs1.png +[2]: images/btrfsscrub.png diff --git a/setting-powershell-as-default-on-macos.html b/setting-powershell-as-default-on-macos.html new file mode 100644 index 0000000..22cfa58 --- /dev/null +++ b/setting-powershell-as-default-on-macos.html @@ -0,0 +1,131 @@ + + + + + + + +Setting Powershell as default on MacOS + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Setting Powershell as default on MacOS +

+ +
December 18, 2018 — +Jesse Harris +
+ +

When you click on 'Terminal.app' on a stock MacOS system, your connected to +the systems pseudo TTY which in turn launches your users default shell.

+

Terminal.app can be told to launch a process other than your users default +shell (eg, powershell), but there are a few cases where if you might want +to replace your shell system-wide. (eg, sudo can use powershell then)

+
+

Step 1

+

To do this, you first need to add powershell as an available system shell. +This is done by adding the path to the powershell binary into /etc/shells.

+

From bash you can do this:

+
    $ which pwsh | sudo tee -a /etc/shells
+
+

Or from an elevated pwsh:

+
    PS> (Get-Command pwsh).Source | Add-Content /etc/shell
+
+

The end result is that your /etc/shells file should look something like this:

+
    $ cat /etc/shells
+    # List of acceptable shells for chpass(1).
+    # Ftpd will not allow users to connect who are not using
+    # one of these shells.
+
+    /bin/bash
+    /bin/csh
+    /bin/ksh
+    /bin/sh
+    /bin/tcsh
+    /bin/zsh
+    /usr/local/microsoft/powershell/6/pwsh
+
+

Step 2

+

The next step is to set your accounts shell. Do this interactivly by running +chsh or chpass (they are both the same binary). You can set the Shell: +parameter to the path to pwsh. You could also do this non-interactivly in +bash:

+
    $ chsh -s `which pwsh`
+
+

Or via powershell

+
    PS> chsh -s "$((Get-Command pwsh).Source)"
+
+

Step 3

+

Powershell is now the default shell, but we are not finished yet. When bash +is launched on macOS, the first thing executed is /etc/profile. In the +profile /usr/libexec/path_helper is executed which sets up the PATH +environment variable. Powershell doesn't do this so we need to setup a quick +function in our powershell profile to do a similar process.

+

Create a powershell profile

+
    PS> New-Item -ItemType Directory -Path (Split-Path -Path $profile -Parent) -force
+    PS> New-Item -ItemType File -Path $profile
+
+

Contents of profile

+
    function Get-Path {
+        [CmdLetBinding()]
+        Param()
+        $PathFiles = @()
+        $PathFiles += '/etc/paths'
+        $PathFiles = Get-ChildItem -Path /private/etc/paths.d | Select-Object -Expand FullName
+        $PathFiles | ForEach-Object {
+            Get-Content -Path $PSItem | ForEach-Object {
+                $_
+            }
+        }
+        $Paths
+    }
+
+    function Add-Path {
+        Param($Path)
+        $env:PATH = "${env:PATH}:$Path"
+    }
+
+    function Update-Environment{
+        [CmdLetBinding()]
+        Param()
+        $Paths = $env:PATH -split ':'
+        Get-Path | ForEach-Object {
+            If ($PSItem -notin $Paths) {
+                Write-Verbose "Adding $PSItem to Path"
+                Add-Path -Path $PSItem
+            }
+        }
+    }
+
+    Update-Environment
+
+

Warning

+

Although I've been running with this configuration for a few months, I'm not + sure doing this is excatly advisable. Some apps may be written to +assume that bash is the default on MacOS. VSCode for example may give some +greif.

+

Your mileage may vary.

+

Tags: powershell, macos

+ + + + + + + + + + + +
+ +
+ diff --git a/setting-powershell-as-default-on-macos.md b/setting-powershell-as-default-on-macos.md new file mode 100644 index 0000000..9073be4 --- /dev/null +++ b/setting-powershell-as-default-on-macos.md @@ -0,0 +1,110 @@ +Setting Powershell as default on MacOS + +When you click on 'Terminal.app' on a stock MacOS system, your connected to +the systems pseudo TTY which in turn launches your users default shell. + +Terminal.app can be told to launch a process other than your users default +shell (eg, powershell), but there are a few cases where if you might want +to replace your shell system-wide. (eg, sudo can use powershell then) + +--- + +### Step 1 + +To do this, you first need to add powershell as an available system shell. +This is done by adding the path to the powershell binary into `/etc/shells`. + +From bash you can do this: + + $ which pwsh | sudo tee -a /etc/shells + +Or from an elevated pwsh: + + PS> (Get-Command pwsh).Source | Add-Content /etc/shell + +The end result is that your /etc/shells file should look something like this: + + $ cat /etc/shells + # List of acceptable shells for chpass(1). + # Ftpd will not allow users to connect who are not using + # one of these shells. + + /bin/bash + /bin/csh + /bin/ksh + /bin/sh + /bin/tcsh + /bin/zsh + /usr/local/microsoft/powershell/6/pwsh + +### Step 2 + +The next step is to set your accounts shell. Do this interactivly by running +`chsh` or `chpass` (they are both the same binary). You can set the `Shell:` +parameter to the path to pwsh. You could also do this non-interactivly in +bash: + + $ chsh -s `which pwsh` + +Or via powershell + + PS> chsh -s "$((Get-Command pwsh).Source)" + +### Step 3 + +Powershell is now the default shell, but we are not finished yet. When bash +is launched on macOS, the first thing executed is /etc/profile. In the +profile `/usr/libexec/path_helper` is executed which sets up the PATH +environment variable. Powershell doesn't do this so we need to setup a quick +function in our powershell profile to do a similar process. + +#### Create a powershell profile + + PS> New-Item -ItemType Directory -Path (Split-Path -Path $profile -Parent) -force + PS> New-Item -ItemType File -Path $profile + +#### Contents of profile + + function Get-Path { + [CmdLetBinding()] + Param() + $PathFiles = @() + $PathFiles += '/etc/paths' + $PathFiles = Get-ChildItem -Path /private/etc/paths.d | Select-Object -Expand FullName + $PathFiles | ForEach-Object { + Get-Content -Path $PSItem | ForEach-Object { + $_ + } + } + $Paths + } + + function Add-Path { + Param($Path) + $env:PATH = "${env:PATH}:$Path" + } + + function Update-Environment{ + [CmdLetBinding()] + Param() + $Paths = $env:PATH -split ':' + Get-Path | ForEach-Object { + If ($PSItem -notin $Paths) { + Write-Verbose "Adding $PSItem to Path" + Add-Path -Path $PSItem + } + } + } + + Update-Environment + +## Warning + +Although I've been running with this configuration for a few months, I'm not + sure doing this is excatly advisable. Some apps may be written to +assume that bash is the default on MacOS. VSCode for example may give some +greif. + +Your mileage may vary. + +Tags: powershell, macos diff --git a/snapd-repository-for-gentoo.html b/snapd-repository-for-gentoo.html new file mode 100644 index 0000000..dd0c03e --- /dev/null +++ b/snapd-repository-for-gentoo.html @@ -0,0 +1,60 @@ + + + + + + + +Snapd Repository for Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Snapd Repository for Gentoo +

+ +
September 07, 2019 — +Jesse Harris +
+ +

I've been maintaining my personal Gentoo overlay for sometime with my own ebuild +of snapd. I've received a number of comments and questions about it, both via +email, twitter and on github.

+
+

I also want to have it added to the layman respositories so that others can use +it and maybe eventually contribute directly (or indirectly) to have it included +in the main Gentoo portage tree.

+

At any rate, I've spun the latest snapd ebuild off into a seperate github +repo +I've also learnt about using branches in an overlay so you can add the stable +branch and I can work on a testing snapd ebuild and have it sync to all my +machines for testing.

+

Adding the stable one:

+
    layman -o https://raw.githubusercontent.com/zigford/snapd/master/overlay.xml -f -a snapd
+
+

or adding the dev one:

+
    layman -o https://raw.githubusercontent.com/zigford/snapd/master/overlay.xml -f -a snapd-dev
+
+

You would need to install layman to do +this.

+

Tags: gentoo, portage, snapd

+ + + + + + + + + +
+ +
+ diff --git a/snapd-repository-for-gentoo.md b/snapd-repository-for-gentoo.md new file mode 100644 index 0000000..5f0b314 --- /dev/null +++ b/snapd-repository-for-gentoo.md @@ -0,0 +1,30 @@ +Snapd Repository for Gentoo + +I've been maintaining my personal Gentoo overlay for sometime with my own ebuild +of snapd. I've received a number of comments and questions about it, both via +email, twitter and on github. + +--- + +I also want to have it added to the layman respositories so that others can use +it and maybe eventually contribute directly (or indirectly) to have it included +in the main Gentoo portage tree. + +At any rate, I've spun the latest snapd ebuild off into a seperate [github +repo](https://github.com/zigford/snapd) +I've also learnt about using branches in an overlay so you can add the stable +branch and I can work on a testing snapd ebuild and have it sync to all my +machines for testing. + +Adding the stable one: + + layman -o https://raw.githubusercontent.com/zigford/snapd/master/overlay.xml -f -a snapd + +or adding the dev one: + + layman -o https://raw.githubusercontent.com/zigford/snapd/master/overlay.xml -f -a snapd-dev + +You would need to install [layman](https://wiki.gentoo.org/wiki/Layman) to do +this. + +Tags: gentoo, portage, snapd diff --git a/snaps-on-gentoo---the-saga-continues.html b/snaps-on-gentoo---the-saga-continues.html new file mode 100644 index 0000000..ea020e6 --- /dev/null +++ b/snaps-on-gentoo---the-saga-continues.html @@ -0,0 +1,93 @@ + + + + + + + +Snaps on Gentoo - The saga continues + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Snaps on Gentoo - The saga continues +

+ +
February 10, 2019 — +Jesse Harris +
+ +

A while ago I posted about Snaps on Gentoo, about +why and how to get it working. Sometime after that post, snaps stopped +working and I didn't have the time to investigate.

+

Until last week that is.

+
+

Update 07/09/2019

+

My snapd ebuild is now in an overlay on it's own for your convenience. +See here

+

TL;DR

+

If you just want to install my snapd ebuild, run this bit:

+
        echo app-portage/layman git >> /etc/portage/package.use/layman
+        emerge app-portage/layman
+        layman -o http://jesseharrisit.com/overlay.xml -f -a zigford
+        emerge app-emulation/snapd
+
+

Read on for more details

+
+

Last week I decided to have a crack at getting Gentoo running on my work +owned "Precision 5510". It's a couple of years old now, but is quite +servicable. I will want to use it booted into Gentoo for work now and again +and this will involve Chromium (Firefox doesn't like launching Citrix +sessions through the ICA client).

+

Chromium takes forever to build and that is just not fun, especially with +the frequency that releases occur. So I set about getting snaps to work.

+

I installed JamesB192's personal overlay and found that snaps didn't work +on this clean build.

+

JamesB192's ebuild seems to be written quite well, and it was easy to bump +the version to the latest. What I found was that at some point snapd must +have switched to require apparmor. I reviewed my previous kernel configs +from when snapd was working and apparmor was not in my configuration.

+

Adding Apparmor support

+

AppArmor is a process confinement feature to restrict a process to specific +abilities. You can enable it with the following kernel configuration:

+
        CONFIG_SECURITY_APPARMOR=y
+
+

And the following boot commandline

+
        apparmor=1 security=apparmor
+
+

Now to add apparmor support to the ebuild we need install an apparmor +profile. The ./configure command in the source, generates one if the +--enable-apparmor parameter is specified. I've added that to the ebuild. +Then the Makefile translates paths in the profile depending on configure +options. So I added the following to the ebuild

+
        # Generate apparmor profile
+        sed -e ',[@]LIBEXECDIR[@],/usr/lib64/snapd,g' \
+            -e 's,[@]SNAP_MOUNT_DIR[@],/snapdsnap,' \
+            "${C}/snap-confine/snap-confine.apparmor.in" \
+            > "${C}/snapsp-confine/usr.lib.snapd.snap-confine.real"
+
+

Then during the install phase:

+
        insinto "/etc/apparmor.d"
+        doins "${C}/snap-confine/usr.lib.snapd.snapd-confine.real"
+
+

Tags: snapd, gentoo

+ + + + + + + + + +
+ +
+ diff --git a/snaps-on-gentoo---the-saga-continues.md b/snaps-on-gentoo---the-saga-continues.md new file mode 100644 index 0000000..77512a2 --- /dev/null +++ b/snaps-on-gentoo---the-saga-continues.md @@ -0,0 +1,77 @@ +Snaps on Gentoo - The saga continues + +A while ago I posted about [Snaps on Gentoo](snaps-on-gentoo.html), about +why and how to get it working. Sometime after that post, snaps stopped +working and I didn't have the time to investigate. + +Until last week that is. + +--- + +## Update 07/09/2019 + +My snapd ebuild is now in an overlay on it's own for your convenience. +See [here](snapd-repository-for-gentoo.html) + +## TL;DR + +If you just want to install my snapd ebuild, run this bit: + + echo app-portage/layman git >> /etc/portage/package.use/layman + emerge app-portage/layman + layman -o http://jesseharrisit.com/overlay.xml -f -a zigford + emerge app-emulation/snapd + +Read on for more details + +--- + +Last week I decided to have a crack at getting Gentoo running on my work +owned "[Precision 5510][1]". It's a couple of years old now, but is quite +servicable. I will want to use it booted into Gentoo for work now and again +and this will involve Chromium (Firefox doesn't like launching Citrix +sessions through the ICA client). + +Chromium takes forever to build and that is just not fun, especially with +the frequency that releases occur. So I set about getting snaps to work. + +I installed JamesB192's personal overlay and found that snaps didn't work +on this clean build. + +JamesB192's ebuild seems to be written quite well, and it was easy to bump +the version to the latest. What I found was that at some point snapd must +have switched to require apparmor. I reviewed my previous kernel configs +from when snapd was working and apparmor was not in my configuration. + +### Adding Apparmor support + +AppArmor is a process confinement feature to restrict a process to specific +abilities. You can enable it with the following kernel configuration: + + CONFIG_SECURITY_APPARMOR=y + +And the following boot commandline + + apparmor=1 security=apparmor + +Now to add apparmor support to the ebuild we need install an apparmor +profile. The `./configure` command in the source, generates one if the +`--enable-apparmor` parameter is specified. I've added that to the ebuild. +Then the Makefile translates paths in the profile depending on configure +options. So I added the following to the ebuild + + # Generate apparmor profile + sed -e ',[@]LIBEXECDIR[@],/usr/lib64/snapd,g' \ + -e 's,[@]SNAP_MOUNT_DIR[@],/snapdsnap,' \ + "${C}/snap-confine/snap-confine.apparmor.in" \ + > "${C}/snapsp-confine/usr.lib.snapd.snap-confine.real" + +Then during the install phase: + + insinto "/etc/apparmor.d" + doins "${C}/snap-confine/usr.lib.snapd.snapd-confine.real" + + +Tags: snapd, gentoo + +[1]:https://github.com/zigford/kernel-configs/blob/master/Precision%205510/Precision%205510 diff --git a/snaps-on-gentoo.html b/snaps-on-gentoo.html new file mode 100644 index 0000000..f2ba909 --- /dev/null +++ b/snaps-on-gentoo.html @@ -0,0 +1,108 @@ + + + + + + + +Snaps on Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Snaps on Gentoo +

+ +
August 12, 2018 — +Jesse Harris +
+ +

Update 07/09/2019

+

Snapd is now in a overlay on it's on for your convenience. See +here

+

Update

+

The instructions to get snaps working on gentoo here are outdated. See my +current post Snaps on Gentoo - The saga continues

+

Why?

+

Many will think it is heresy to put binary packages on a Gentoo system +let alone a package system which encourages binary packages to come with +their own set of shared libraries.

+

While I tend to agree, the practicality of sticking to this arrangement +can be difficult for a couple of cases. Here are a few I can think of:

+
    +
  • Source not available
  • +
  • No binary package or source ebuild for Gentoo
  • +
  • ebuild takes too long to compile
  • +
+

In the case of ebuilds taking too long (eg. chromium), I have a limited +budget and can't really afford to leave my power hungry desktop on 24/7 +to keep chromium builds up-to-date.

+

Here are a quick list of software that I use which fall into one of these +categories:

+
    +
  • Citrix Reciever
  • +
  • Powershell (Available as source, but no ebuild and I haven't had the +time to try write one myself)
  • +
  • Minecraft (Gaming with the kids)
  • +
  • Discord (Chatting with games)
  • +
  • Chromium (Primarily a firefox user, but have some trouble with getting it +to see and work with Citrix)
  • +
+

With my excuses for putting snap's on Gentoo out of the way, here is how +I've got it working for my systems.

+

Overlay

+

There are a few overlay's for Gentoo out there. Even an official one +maintained (or as the case may be, unmaintained) by +zyga from Canonical. I tried that one, and many +of the forks with no such luck.

+

After googling around I stumbled on a thread on +snapcraft.io +and a post from user jamesb192 about the progress on their snapd overlay.

+

JamesB192 overlay works, +but it doesn't have an overlay.xml file for adding with layman. +To overcome this, I've hosted one on my site +here. You can add this to your +system using overlay like this:

+
        echo app-portage/layman git >> /etc/portage/package.use/layman
+        emerge app-portage/layman
+        layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford
+
+

Now that you have the overlay installed should be able to emerge snapd +like so:

+
        emerge app-emulation/snapd
+
+

Note - You may need to adjust your kernel config and the ebuild is +pretty good at highlighting which options need to be set.

+

Issues

+

During my testing of snaps on Gentoo, I've come across a couple of issues +that either have been solved or could be solved in the ebuild

+
    +
  1. snap packages only install and run as root (This was solved by setting +suid on /usr/lib64/snapd/snap-confine, and solved in ebuild 2.34)
  2. +
  3. /var/lib/snapd not created (manually mkdir the directory)
  4. +
+

Final thoughts.

+

Snap packages feel like a great augmentation for Gentoo. It allows me to +keep using Gentoo as a daily driver and augment some of it's missing +packages with packages from more popular distros.

+

Tags: gentoo, snapd, overlay

+ + + + + + + + + +
+ +
+ diff --git a/snaps-on-gentoo.md b/snaps-on-gentoo.md new file mode 100644 index 0000000..918ff6d --- /dev/null +++ b/snaps-on-gentoo.md @@ -0,0 +1,88 @@ +Snaps on Gentoo + +## Update 07/09/2019 + +Snapd is now in a overlay on it's on for your convenience. See +[here](snapd-repository-for-gentoo.html) + +## Update + +The instructions to get snaps working on gentoo here are outdated. See my +current post [Snaps on Gentoo - The saga continues](snaps-on-gentoo---the-saga-continues.html) + +## Why? + +Many will think it is heresy to put binary packages on a Gentoo system +let alone a package system which encourages binary packages to come with +their own set of shared libraries. + +While I tend to agree, the practicality of sticking to this arrangement +can be difficult for a couple of cases. Here are a few I can think of: + +* Source not available +* No binary package or source ebuild for Gentoo +* ebuild takes too long to compile + +In the case of ebuilds taking too long (eg. chromium), I have a limited +budget and can't really afford to leave my power hungry desktop on 24/7 +to keep chromium builds up-to-date. + +Here are a quick list of software that I use which fall into one of these +categories: + +* Citrix Reciever +* Powershell (Available as source, but no ebuild and I haven't had the + time to try write one myself) +* Minecraft (Gaming with the kids) +* Discord (Chatting with games) +* Chromium (Primarily a firefox user, but have some trouble with getting it + to see and work with Citrix) + +With my excuses for putting snap's on Gentoo out of the way, here is how +I've got it working for my systems. + +## Overlay + +There are a few overlay's for Gentoo out there. Even an official one +maintained (or as the case may be, unmaintained) by +[zyga](https://github.com/zyga) from Canonical. I tried that one, and many +of the forks with no such luck. + +After googling around I stumbled on a thread on +[snapcraft.io](https://forum.snapcraft.io/t/gentoo-update-needed/3029/15) +and a post from user jamesb192 about the progress on their snapd overlay. + +[JamesB192 overlay](https://github.com/JamesB192/JamesB192-overlay) works, +but it doesn't have an overlay.xml file for adding with layman. +To overcome this, I've hosted one on my site +[here](http://jesseharrisit.com/overlay.xml). You can add this to your +system using overlay like this: + + echo app-portage/layman git >> /etc/portage/package.use/layman + emerge app-portage/layman + layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford + +Now that you have the overlay installed should be able to emerge snapd +like so: + + emerge app-emulation/snapd + +*Note - You may need to adjust your kernel config and the ebuild is +pretty good at highlighting which options need to be set.* + +## Issues + +During my testing of snaps on Gentoo, I've come across a couple of issues +that either have been solved or could be solved in the ebuild + +1. snap packages only install and run as root (This was solved by setting + suid on /usr/lib64/snapd/snap-confine, and solved in ebuild 2.34) +2. /var/lib/snapd not created (manually mkdir the directory) + +## Final thoughts. + +Snap packages feel like a great augmentation for Gentoo. It allows me to +keep using Gentoo as a daily driver and augment some of it's missing +packages with packages from more popular distros. + +Tags: gentoo, snapd, overlay diff --git a/speed-up-your-shell-game.html b/speed-up-your-shell-game.html new file mode 100644 index 0000000..ae62699 --- /dev/null +++ b/speed-up-your-shell-game.html @@ -0,0 +1,83 @@ + + + + + + + +Speed up your shell game + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Speed up your shell game +

+ +
April 21, 2019 — +Jesse Harris +
+ +

Part of good use of the shell is doing repetitive things fast. A GUI can often +be faster than using the command line because you can almost select things with +your eyes ( eg, shift click files in a list to copy selectively. ) You can't +always use a gui, however.

+
+

Perhaps your forced to move files around through the terminal. Today I was faced +with such a task and to make matters worse, the files were quite large. So +copying them individually would take a long time, and running them in parallel +by using the & trick would have lead to huge io issues.

+

By defining a few quick and dirty functions, I was able to make my job a lot +easier:

+
    +
  1. add - This functions will take a single argument to add a file to a list of +files to process later

    +
     function add() { echo "${1}" >> ~/list.txt; }
    +
    +
  2. +
  3. l - This one is a quick shortcut to list files starting with a particular +letter. I used this to make shorter lists to scan through as I had quite a +few files to look at.

    +
     function l() { ls | grep -i "^$1.*"; }
    +
    +
  4. +
  5. upload - This one will read the list and upload files that haven't been +copied yet and are available in the current relative directory.

    +
     function upload() {
    + cat ~/list.txt | while read p
    + do 
    +     [[ -f "${p}" ]] &&
    +     [[ ! -f /media/extHDD/"${p}" ]] &&
    +     echo "Copying : ${p}" &&
    +     cp "${p}" /media/extHDD/
    + done
    + }
    +
    +
  6. +
+

Using these functions together, I would use l a to list all the files +starting with a, then add a_file_.mkv to add it to the list to be processed.

+

Finally, use upload to have files pushed to the destination.

+

As you can see, none of these function are special or tricky, just simple little +hacks to reduce keystrokes and make a job easier. +I would say the main learning is, whatever you are doing use the tools to make +your life easier.

+

Tags: bash, shells

+ + + + + + + + +
+ +
+ diff --git a/speed-up-your-shell-game.md b/speed-up-your-shell-game.md new file mode 100644 index 0000000..5b726f8 --- /dev/null +++ b/speed-up-your-shell-game.md @@ -0,0 +1,52 @@ +Speed up your shell game + +Part of good use of the shell is doing repetitive things fast. A GUI can often +be faster than using the command line because you can almost select things with +your eyes ( eg, shift click files in a list to copy selectively. ) You can't +always use a gui, however. + +--- + +Perhaps your forced to move files around through the terminal. Today I was faced +with such a task and to make matters worse, the files were quite large. So +copying them individually would take a long time, and running them in parallel +by using the `&` trick would have lead to huge io issues. + +By defining a few quick and dirty functions, I was able to make my job a lot +easier: + +1. add - This functions will take a single argument to add a file to a list of + files to process later + + function add() { echo "${1}" >> ~/list.txt; } + +2. l - This one is a quick shortcut to list files starting with a particular + letter. I used this to make shorter lists to scan through as I had quite a + few files to look at. + + function l() { ls | grep -i "^$1.*"; } + +3. upload - This one will read the list and upload files that haven't been + copied yet and are available in the current relative directory. + + function upload() { + cat ~/list.txt | while read p + do + [[ -f "${p}" ]] && + [[ ! -f /media/extHDD/"${p}" ]] && + echo "Copying : ${p}" && + cp "${p}" /media/extHDD/ + done + } + +Using these functions together, I would use `l a` to list all the files +starting with a, then `add a_file_.mkv` to add it to the list to be processed. + +Finally, use `upload` to have files pushed to the destination. + +As you can see, none of these function are special or tricky, just simple little +hacks to reduce keystrokes and make a job easier. +I would say the main learning is, whatever you are doing use the tools to make +your life easier. + +Tags: bash, shells diff --git a/tag_Office365.html b/tag_Office365.html new file mode 100644 index 0000000..29f7e69 --- /dev/null +++ b/tag_Office365.html @@ -0,0 +1,33 @@ + + + + + + + +zigford.org — Posts tagged "Office365" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Troubleshooting: Office 365 login loop +

+ +
March 29, 2019 — +Jesse Harris +
+ +

If your ever stuck with this issue it can be infuriating. I had the issue on +a linux install on my Precision 5510 but not on my home Gentoo +installation.

+

Read more...

+
+ +
+ diff --git a/tag_Troubleshooting.html b/tag_Troubleshooting.html new file mode 100644 index 0000000..f2a3a8e --- /dev/null +++ b/tag_Troubleshooting.html @@ -0,0 +1,33 @@ + + + + + + + +zigford.org — Posts tagged "Troubleshooting" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Troubleshooting: Office 365 login loop +

+ +
March 29, 2019 — +Jesse Harris +
+ +

If your ever stuck with this issue it can be infuriating. I had the issue on +a linux install on my Precision 5510 but not on my home Gentoo +installation.

+

Read more...

+
+ +
+ diff --git a/tag_ale.html b/tag_ale.html new file mode 100644 index 0000000..d8cbdfc --- /dev/null +++ b/tag_ale.html @@ -0,0 +1,47 @@ + + + + + + + +zigford.org — Posts tagged "ale" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Powershell syntax now supported by ALE (Vim) plugin +

+ +
April 15, 2019 — +Jesse Harris +
+ +

ALE project has approved my PR to show powershell syntax errors by parsing +the powershell by powershell itself. If the current buffer has a filetype of +Powershell, the buffer is run through the following powershell script to check +for syntax errors. Errors are then displayed in Vim by ALE:

+

Read more...

+

+Vim and Powershell +

+ +
March 31, 2019 — +Jesse Harris +
+ +

Back in the days when Powershell was just a young pup there were a few +Vim users contributing to Vim via plugins to make writing powershell +a nicer experience. Syntax highlighting, auto filetype detection, snippets +and other quality of life things.

+

Read more...

+
+ +
+ diff --git a/tag_awk.html b/tag_awk.html new file mode 100644 index 0000000..468dbba --- /dev/null +++ b/tag_awk.html @@ -0,0 +1,45 @@ + + + + + + + +zigford.org — Posts tagged "awk" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+
+ +
+ diff --git a/tag_backup.html b/tag_backup.html new file mode 100644 index 0000000..33573d0 --- /dev/null +++ b/tag_backup.html @@ -0,0 +1,36 @@ + + + + + + + +zigford.org — Posts tagged "backup" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Scrubbing my data - BTRFS +

+ +
April 23, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/tag_bash-tips.html b/tag_bash-tips.html new file mode 100644 index 0000000..f141a3f --- /dev/null +++ b/tag_bash-tips.html @@ -0,0 +1,48 @@ + + + + + + + +zigford.org — Posts tagged "bash-tips" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_bash-v-powershell.html b/tag_bash-v-powershell.html new file mode 100644 index 0000000..1c60ea8 --- /dev/null +++ b/tag_bash-v-powershell.html @@ -0,0 +1,59 @@ + + + + + + + +zigford.org — Posts tagged "bash-v-powershell" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog to PowerShell. Although work is by no +means complete, you can actually use it to edit an +existing blogpost

+

Read more...

+

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+

+Xargs tips +

+ +
August 31, 2018 — +Jesse Harris +
+ +

After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell.

+

Read more...

+
+ +
+ diff --git a/tag_bash.html b/tag_bash.html new file mode 100644 index 0000000..414841d --- /dev/null +++ b/tag_bash.html @@ -0,0 +1,154 @@ + + + + + + + +zigford.org — Posts tagged "bash" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Speed up your shell game +

+ +
April 21, 2019 — +Jesse Harris +
+ +

Part of good use of the shell is doing repetitive things fast. A GUI can often +be faster than using the command line because you can almost select things with +your eyes ( eg, shift click files in a list to copy selectively. ) You can't +always use a gui, however.

+

Read more...

+

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog to PowerShell. Although work is by no +means complete, you can actually use it to edit an +existing blogpost

+

Read more...

+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + +

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+

+Xargs tips +

+ +
August 31, 2018 — +Jesse Harris +
+ +

After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell.

+

Read more...

+
+ +
+ diff --git a/tag_btrfs.html b/tag_btrfs.html new file mode 100644 index 0000000..d7794cd --- /dev/null +++ b/tag_btrfs.html @@ -0,0 +1,73 @@ + + + + + + + +zigford.org — Posts tagged "btrfs" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Transfer BTFS snapshots with netcat +

+ +
July 19, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Scrubbing my data - BTRFS +

+ +
April 23, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Defragging files in btrfs - Oneliner +

+ +
April 10, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Precision 5510 - Gentoo GNU/Linux +

+ +
October 12, 2019 — +Jesse Harris +
+ +

This documents all configurations, apps and tweaks to get a nicely working Linux +machine.

+

Read more...

+
+ +
+ diff --git a/tag_burn-a-cd.html b/tag_burn-a-cd.html new file mode 100644 index 0000000..634e760 --- /dev/null +++ b/tag_burn-a-cd.html @@ -0,0 +1,36 @@ + + + + + + + +zigford.org — Posts tagged "burn-a-cd" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+
+ +
+ diff --git a/tag_burn-a-dvd.html b/tag_burn-a-dvd.html new file mode 100644 index 0000000..6106fd1 --- /dev/null +++ b/tag_burn-a-dvd.html @@ -0,0 +1,31 @@ + + + + + + + +zigford.org — Posts tagged "burn-a-dvd" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Burning a DVD Video on Gentoo +

+ +
May 15, 2018 — +Jesse Harris +
+ +

Quick note for my future self

+

Read more...

+
+ +
+ diff --git a/tag_certs.html b/tag_certs.html new file mode 100644 index 0000000..161bf05 --- /dev/null +++ b/tag_certs.html @@ -0,0 +1,32 @@ + + + + + + + +zigford.org — Posts tagged "certs" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Lets encrypt kerfuffle +

+ +
March 10, 2020 — +Jesse Harris +
+ +

Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for.

+

Read more...

+
+ +
+ diff --git a/tag_cli.html b/tag_cli.html new file mode 100644 index 0000000..09e5dbc --- /dev/null +++ b/tag_cli.html @@ -0,0 +1,65 @@ + + + + + + + +zigford.org — Posts tagged "cli" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Video editing from the command line +

+ +
October 05, 2019 — +Jesse Harris +
+ +

I previously posted about capturing video in +Linux. 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.

+

Read more...

+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_coding.html b/tag_coding.html new file mode 100644 index 0000000..7f20f73 --- /dev/null +++ b/tag_coding.html @@ -0,0 +1,291 @@ + + + + + + + +zigford.org — Posts tagged "coding" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet +

+ +
January 08, 2019 — +Jesse Harris +
+ +

When I first learned about [CmdLetBinding()] to add automatic support for +Write-Verbose I didn't understand why -WhatIf and -Confirm were not passed +to Cmdlets used in my functions.

+

Read more...

+

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_dd.html b/tag_dd.html new file mode 100644 index 0000000..0af8c43 --- /dev/null +++ b/tag_dd.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "dd" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Video editing from the command line +

+ +
October 05, 2019 — +Jesse Harris +
+ +

I previously posted about capturing video in +Linux. 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.

+

Read more...

+
+ +
+ diff --git a/tag_ebuild.html b/tag_ebuild.html new file mode 100644 index 0000000..a748381 --- /dev/null +++ b/tag_ebuild.html @@ -0,0 +1,111 @@ + + + + + + + +zigford.org — Posts tagged "ebuild" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Using the latest vim on Gentoo +

+ +
May 22, 2018 — +Jesse Harris +
+ + +

Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding:

+ +
        ACCEPT_KEYWORKS="~amd64"
+
+ +

to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits.

+ +

As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo:

+ +

Overview

+ +
    +
  1. Add a special keyword to vim's ACCEPT_KEYWORDS var
  2. +
  3. Unmerge existing vim
  4. +
  5. emerge the new vim
  6. +
+ +

Keywords

+ +

Newer versions of portage allow /etc/portage/package.keywords to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory.

+ +
    cd /etc/portage
+    if test -f package.keywords; then
+        mv package.keywords keywords
+        mkdir package.keywords
+        mv keywords package.keywords/
+    fi
+
+ +

And now, lets use the special keyword for the vim package which will +allow ebuilds from github

+ +
    echo app-editors/vim "**" > package.keywords/vim
+    echo app-editors/gvim "**" >> package.keywords/vim
+    echo app-editors/vim-core "**" >> package.keywords/vim
+
+ +

Unmerge existing vim

+ +
    emerge --unmerge app-editors/vim app-editors/gvim
+
+ +

Merge the new vim

+ +
    emerge app-editors/vim app-editors/gvim
+
+ +

Final thoughts.

+ +

This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running emerge --update vim gvim

+ +

Tags: gentoo, vim, git, ebuild

+ + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_ffmpeg.html b/tag_ffmpeg.html new file mode 100644 index 0000000..c1bfef3 --- /dev/null +++ b/tag_ffmpeg.html @@ -0,0 +1,88 @@ + + + + + + + +zigford.org — Posts tagged "ffmpeg" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Video editing from the command line +

+ +
October 05, 2019 — +Jesse Harris +
+ +

I previously posted about capturing video in +Linux. 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.

+

Read more...

+

+Converting VHS and DV to Modern Formats - Part 1 +

+ +
May 26, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+

+Burning a DVD Video on Gentoo +

+ +
May 15, 2018 — +Jesse Harris +
+ +

Quick note for my future self

+

Read more...

+
+ +
+ diff --git a/tag_firewalld.html b/tag_firewalld.html new file mode 100644 index 0000000..26435b8 --- /dev/null +++ b/tag_firewalld.html @@ -0,0 +1,32 @@ + + + + + + + +zigford.org — Posts tagged "firewalld" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Firewalld kernel requirements +

+ +
March 06, 2020 — +Jesse Harris +
+ +

I wanted to work out the minimum kernel requirements to run Firewalld with +nftables backend running in Gentoo. Here I've documented my findings.

+

Read more...

+
+ +
+ diff --git a/tag_fonts.html b/tag_fonts.html new file mode 100644 index 0000000..252643c --- /dev/null +++ b/tag_fonts.html @@ -0,0 +1,33 @@ + + + + + + + +zigford.org — Posts tagged "fonts" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Cascadia Code +

+ +
September 20, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/tag_gentoo.html b/tag_gentoo.html new file mode 100644 index 0000000..7c5232d --- /dev/null +++ b/tag_gentoo.html @@ -0,0 +1,385 @@ + + + + + + + +zigford.org — Posts tagged "gentoo" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Firewalld kernel requirements +

+ +
March 06, 2020 — +Jesse Harris +
+ +

I wanted to work out the minimum kernel requirements to run Firewalld with +nftables backend running in Gentoo. Here I've documented my findings.

+

Read more...

+

+Nagios Core on Gentoo/Raspberry Pi with Nginx +

+ +
February 29, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Precision 5510 - Gentoo GNU/Linux +

+ +
October 12, 2019 — +Jesse Harris +
+ +

This documents all configurations, apps and tweaks to get a nicely working Linux +machine.

+

Read more...

+

+Cascadia Code +

+ +
September 20, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Snapd Repository for Gentoo +

+ +
September 07, 2019 — +Jesse Harris +
+ +

I've been maintaining my personal Gentoo overlay for sometime with my own ebuild +of snapd. I've received a number of comments and questions about it, both via +email, twitter and on github.

+

Read more...

+

+Live on 64-bit Raspberry Pi 4 with Gentoo +

+ +
August 15, 2019 — +Jesse Harris +
+ +

I recently wrote that the site is now hosted from the +raspberry pi 4.

+

Read more...

+

+Converting VHS and DV to Modern Formats - Part 1 +

+ +
May 26, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Snaps on Gentoo - The saga continues +

+ +
February 10, 2019 — +Jesse Harris +
+ +

A while ago I posted about Snaps on Gentoo, about +why and how to get it working. Sometime after that post, snaps stopped +working and I didn't have the time to investigate.

+

Until last week that is.

+

Read more...

+

+Gentoo local overlay +

+ +
September 18, 2018 — +Jesse Harris +
+ + +

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. +
  3. 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
    +
  4. +
  5. 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
    +
  6. +
+ +

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 repository.

+ +

See also:

+ +

repos.conf, Custom Repository

+ +

Tags: gentoo, portage-overlay

+ + + + + + + + + + + +

+Snaps on Gentoo +

+ +
August 12, 2018 — +Jesse Harris +
+ +

Update 07/09/2019

+

Snapd is now in a overlay on it's on for your convenience. See +here

+

Update

+

The instructions to get snaps working on gentoo here are outdated. See my +current post Snaps on Gentoo - The saga continues

+

Why?

+

Many will think it is heresy to put binary packages on a Gentoo system +let alone a package system which encourages binary packages to come with +their own set of shared libraries.

+

While I tend to agree, the practicality of sticking to this arrangement +can be difficult for a couple of cases. Here are a few I can think of:

+
    +
  • Source not available
  • +
  • No binary package or source ebuild for Gentoo
  • +
  • ebuild takes too long to compile
  • +
+

In the case of ebuilds taking too long (eg. chromium), I have a limited +budget and can't really afford to leave my power hungry desktop on 24/7 +to keep chromium builds up-to-date.

+

Here are a quick list of software that I use which fall into one of these +categories:

+
    +
  • Citrix Reciever
  • +
  • Powershell (Available as source, but no ebuild and I haven't had the +time to try write one myself)
  • +
  • Minecraft (Gaming with the kids)
  • +
  • Discord (Chatting with games)
  • +
  • Chromium (Primarily a firefox user, but have some trouble with getting it +to see and work with Citrix)
  • +
+

With my excuses for putting snap's on Gentoo out of the way, here is how +I've got it working for my systems.

+

Overlay

+

There are a few overlay's for Gentoo out there. Even an official one +maintained (or as the case may be, unmaintained) by +zyga from Canonical. I tried that one, and many +of the forks with no such luck.

+

After googling around I stumbled on a thread on +snapcraft.io +and a post from user jamesb192 about the progress on their snapd overlay.

+

JamesB192 overlay works, +but it doesn't have an overlay.xml file for adding with layman. +To overcome this, I've hosted one on my site +here. You can add this to your +system using overlay like this:

+
        echo app-portage/layman git >> /etc/portage/package.use/layman
+        emerge app-portage/layman
+        layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford
+
+

Now that you have the overlay installed should be able to emerge snapd +like so:

+
        emerge app-emulation/snapd
+
+

Note - You may need to adjust your kernel config and the ebuild is +pretty good at highlighting which options need to be set.

+

Issues

+

During my testing of snaps on Gentoo, I've come across a couple of issues +that either have been solved or could be solved in the ebuild

+
    +
  1. snap packages only install and run as root (This was solved by setting +suid on /usr/lib64/snapd/snap-confine, and solved in ebuild 2.34)
  2. +
  3. /var/lib/snapd not created (manually mkdir the directory)
  4. +
+

Final thoughts.

+

Snap packages feel like a great augmentation for Gentoo. It allows me to +keep using Gentoo as a daily driver and augment some of it's missing +packages with packages from more popular distros.

+

Tags: gentoo, snapd, overlay

+ + + + + + + + +

+Downgrade Gentoo from testing to stable +

+ +
August 05, 2018 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Using the latest vim on Gentoo +

+ +
May 22, 2018 — +Jesse Harris +
+ + +

Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding:

+ +
        ACCEPT_KEYWORKS="~amd64"
+
+ +

to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits.

+ +

As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo:

+ +

Overview

+ +
    +
  1. Add a special keyword to vim's ACCEPT_KEYWORDS var
  2. +
  3. Unmerge existing vim
  4. +
  5. emerge the new vim
  6. +
+ +

Keywords

+ +

Newer versions of portage allow /etc/portage/package.keywords to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory.

+ +
    cd /etc/portage
+    if test -f package.keywords; then
+        mv package.keywords keywords
+        mkdir package.keywords
+        mv keywords package.keywords/
+    fi
+
+ +

And now, lets use the special keyword for the vim package which will +allow ebuilds from github

+ +
    echo app-editors/vim "**" > package.keywords/vim
+    echo app-editors/gvim "**" >> package.keywords/vim
+    echo app-editors/vim-core "**" >> package.keywords/vim
+
+ +

Unmerge existing vim

+ +
    emerge --unmerge app-editors/vim app-editors/gvim
+
+ +

Merge the new vim

+ +
    emerge app-editors/vim app-editors/gvim
+
+ +

Final thoughts.

+ +

This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running emerge --update vim gvim

+ +

Tags: gentoo, vim, git, ebuild

+ + + + + + + + + + + + + + + + + +

+Burning a DVD Video on Gentoo +

+ +
May 15, 2018 — +Jesse Harris +
+ +

Quick note for my future self

+

Read more...

+
+ +
+ diff --git a/tag_git.html b/tag_git.html new file mode 100644 index 0000000..19a2e79 --- /dev/null +++ b/tag_git.html @@ -0,0 +1,152 @@ + + + + + + + +zigford.org — Posts tagged "git" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Trying out a pull request +

+ +
October 06, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Making a release on GitHub +

+ +
August 20, 2019 — +Jesse Harris +
+ +

Today's journey is using git and github to release PwshBlog +The following are my notes on the matter.

+

Read more...

+

+Git - Working with branches +

+ +
August 06, 2019 — +Jesse Harris +
+ +

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
  • +
+

Read more...

+

+Using the latest vim on Gentoo +

+ +
May 22, 2018 — +Jesse Harris +
+ + +

Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding:

+ +
        ACCEPT_KEYWORKS="~amd64"
+
+ +

to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits.

+ +

As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo:

+ +

Overview

+ +
    +
  1. Add a special keyword to vim's ACCEPT_KEYWORDS var
  2. +
  3. Unmerge existing vim
  4. +
  5. emerge the new vim
  6. +
+ +

Keywords

+ +

Newer versions of portage allow /etc/portage/package.keywords to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory.

+ +
    cd /etc/portage
+    if test -f package.keywords; then
+        mv package.keywords keywords
+        mkdir package.keywords
+        mv keywords package.keywords/
+    fi
+
+ +

And now, lets use the special keyword for the vim package which will +allow ebuilds from github

+ +
    echo app-editors/vim "**" > package.keywords/vim
+    echo app-editors/gvim "**" >> package.keywords/vim
+    echo app-editors/vim-core "**" >> package.keywords/vim
+
+ +

Unmerge existing vim

+ +
    emerge --unmerge app-editors/vim app-editors/gvim
+
+ +

Merge the new vim

+ +
    emerge app-editors/vim app-editors/gvim
+
+ +

Final thoughts.

+ +

This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running emerge --update vim gvim

+ +

Tags: gentoo, vim, git, ebuild

+ + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_github.html b/tag_github.html new file mode 100644 index 0000000..2603a8f --- /dev/null +++ b/tag_github.html @@ -0,0 +1,44 @@ + + + + + + + +zigford.org — Posts tagged "github" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Trying out a pull request +

+ +
October 06, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Making a release on GitHub +

+ +
August 20, 2019 — +Jesse Harris +
+ +

Today's journey is using git and github to release PwshBlog +The following are my notes on the matter.

+

Read more...

+
+ +
+ diff --git a/tag_gnome.html b/tag_gnome.html new file mode 100644 index 0000000..775fb63 --- /dev/null +++ b/tag_gnome.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "gnome" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/tag_hostsfile.html b/tag_hostsfile.html new file mode 100644 index 0000000..ef6e949 --- /dev/null +++ b/tag_hostsfile.html @@ -0,0 +1,36 @@ + + + + + + + +zigford.org — Posts tagged "hostsfile" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Manage a hosts file +

+ +
September 11, 2018 — +Jesse Harris +
+ + +

Most people have long forgotten the lowly hosts file, but from time to +time there is still a need to use it.

+ +

So I wrote some powershell functions to automate it in a simpler way.

+ +

Read more...

+
+ +
+ diff --git a/tag_intune.html b/tag_intune.html new file mode 100644 index 0000000..ec8eaf0 --- /dev/null +++ b/tag_intune.html @@ -0,0 +1,36 @@ + + + + + + + +zigford.org — Posts tagged "intune" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Manage a hosts file +

+ +
September 11, 2018 — +Jesse Harris +
+ + +

Most people have long forgotten the lowly hosts file, but from time to +time there is still a need to use it.

+ +

So I wrote some powershell functions to automate it in a simpler way.

+ +

Read more...

+
+ +
+ diff --git a/tag_kernel.html b/tag_kernel.html new file mode 100644 index 0000000..3aa924b --- /dev/null +++ b/tag_kernel.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "kernel" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Converting VHS and DV to Modern Formats - Part 1 +

+ +
May 26, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/tag_lets-encrypt.html b/tag_lets-encrypt.html new file mode 100644 index 0000000..07eee85 --- /dev/null +++ b/tag_lets-encrypt.html @@ -0,0 +1,32 @@ + + + + + + + +zigford.org — Posts tagged "lets-encrypt" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Lets encrypt kerfuffle +

+ +
March 10, 2020 — +Jesse Harris +
+ +

Let's encrypt had a kerfuffle last week by accidentally not checking CAA DNS +records of domains it had requests for.

+

Read more...

+
+ +
+ diff --git a/tag_link-lists.html b/tag_link-lists.html new file mode 100644 index 0000000..a1c6d40 --- /dev/null +++ b/tag_link-lists.html @@ -0,0 +1,31 @@ + + + + + + + +zigford.org — Posts tagged "link-lists" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Powershell Links +

+ +
March 29, 2019 — +Jesse Harris +
+ +

A bunch of links for powershell things I like and want to remember

+

Read more...

+
+ +
+ diff --git a/tag_links.html b/tag_links.html new file mode 100644 index 0000000..16212c2 --- /dev/null +++ b/tag_links.html @@ -0,0 +1,31 @@ + + + + + + + +zigford.org — Posts tagged "links" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Vim Links +

+ +
March 28, 2019 — +Jesse Harris +
+ +

This article will simply contain links I find usefull for vim

+

Read more...

+
+ +
+ diff --git a/tag_linux.html b/tag_linux.html new file mode 100644 index 0000000..67fdefc --- /dev/null +++ b/tag_linux.html @@ -0,0 +1,391 @@ + + + + + + + +zigford.org — Posts tagged "linux" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Transfer BTFS snapshots with netcat +

+ +
July 19, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+

+Firewalld kernel requirements +

+ +
March 06, 2020 — +Jesse Harris +
+ +

I wanted to work out the minimum kernel requirements to run Firewalld with +nftables backend running in Gentoo. Here I've documented my findings.

+

Read more...

+

+Nagios Core on Gentoo/Raspberry Pi with Nginx +

+ +
February 29, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Precision 5510 - Gentoo GNU/Linux +

+ +
October 12, 2019 — +Jesse Harris +
+ +

This documents all configurations, apps and tweaks to get a nicely working Linux +machine.

+

Read more...

+

+Live on 64-bit Raspberry Pi 4 with Gentoo +

+ +
August 15, 2019 — +Jesse Harris +
+ +

I recently wrote that the site is now hosted from the +raspberry pi 4.

+

Read more...

+

+Converting VHS and DV to Modern Formats - Part 1 +

+ +
May 26, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + +

+Burning a DVD Video on Gentoo +

+ +
May 15, 2018 — +Jesse Harris +
+ +

Quick note for my future self

+

Read more...

+
+ +
+ diff --git a/tag_macos.html b/tag_macos.html new file mode 100644 index 0000000..9284486 --- /dev/null +++ b/tag_macos.html @@ -0,0 +1,311 @@ + + + + + + + +zigford.org — Posts tagged "macos" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Setting Powershell as default on MacOS +

+ +
December 18, 2018 — +Jesse Harris +
+ +

When you click on 'Terminal.app' on a stock MacOS system, your connected to +the systems pseudo TTY which in turn launches your users default shell.

+

Terminal.app can be told to launch a process other than your users default +shell (eg, powershell), but there are a few cases where if you might want +to replace your shell system-wide. (eg, sudo can use powershell then)

+

Read more...

+

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+

Read more...

+

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_mp3.html b/tag_mp3.html new file mode 100644 index 0000000..408ac59 --- /dev/null +++ b/tag_mp3.html @@ -0,0 +1,51 @@ + + + + + + + +zigford.org — Posts tagged "mp3" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_music.html b/tag_music.html new file mode 100644 index 0000000..818e8d6 --- /dev/null +++ b/tag_music.html @@ -0,0 +1,51 @@ + + + + + + + +zigford.org — Posts tagged "music" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_nagios.html b/tag_nagios.html new file mode 100644 index 0000000..7edc1be --- /dev/null +++ b/tag_nagios.html @@ -0,0 +1,33 @@ + + + + + + + +zigford.org — Posts tagged "nagios" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Nagios Core on Gentoo/Raspberry Pi with Nginx +

+ +
February 29, 2020 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/tag_netcat.html b/tag_netcat.html new file mode 100644 index 0000000..20ffa2c --- /dev/null +++ b/tag_netcat.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "netcat" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Transfer BTFS snapshots with netcat +

+ +
July 19, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/tag_nginx.html b/tag_nginx.html new file mode 100644 index 0000000..345f3bb --- /dev/null +++ b/tag_nginx.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "nginx" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Nginx as a file server +

+ +
April 21, 2019 — +Jesse Harris +
+ +

FTP, SMB, SSH, HTTP... The list goes on.

+

There are many ways to serve files. Here is a quick note of how I edited the +default raspbian nginx conf files to enable a simple directory with browsing to +be served from a raspberry pi

+

Read more...

+
+ +
+ diff --git a/tag_obs.html b/tag_obs.html new file mode 100644 index 0000000..d92950c --- /dev/null +++ b/tag_obs.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "obs" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/tag_openssh.html b/tag_openssh.html new file mode 100644 index 0000000..39d0b22 --- /dev/null +++ b/tag_openssh.html @@ -0,0 +1,39 @@ + + + + + + + +zigford.org — Posts tagged "openssh" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+

Read more...

+
+ +
+ diff --git a/tag_overlay.html b/tag_overlay.html new file mode 100644 index 0000000..5acaea3 --- /dev/null +++ b/tag_overlay.html @@ -0,0 +1,106 @@ + + + + + + + +zigford.org — Posts tagged "overlay" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Snaps on Gentoo +

+ +
August 12, 2018 — +Jesse Harris +
+ +

Update 07/09/2019

+

Snapd is now in a overlay on it's on for your convenience. See +here

+

Update

+

The instructions to get snaps working on gentoo here are outdated. See my +current post Snaps on Gentoo - The saga continues

+

Why?

+

Many will think it is heresy to put binary packages on a Gentoo system +let alone a package system which encourages binary packages to come with +their own set of shared libraries.

+

While I tend to agree, the practicality of sticking to this arrangement +can be difficult for a couple of cases. Here are a few I can think of:

+
    +
  • Source not available
  • +
  • No binary package or source ebuild for Gentoo
  • +
  • ebuild takes too long to compile
  • +
+

In the case of ebuilds taking too long (eg. chromium), I have a limited +budget and can't really afford to leave my power hungry desktop on 24/7 +to keep chromium builds up-to-date.

+

Here are a quick list of software that I use which fall into one of these +categories:

+
    +
  • Citrix Reciever
  • +
  • Powershell (Available as source, but no ebuild and I haven't had the +time to try write one myself)
  • +
  • Minecraft (Gaming with the kids)
  • +
  • Discord (Chatting with games)
  • +
  • Chromium (Primarily a firefox user, but have some trouble with getting it +to see and work with Citrix)
  • +
+

With my excuses for putting snap's on Gentoo out of the way, here is how +I've got it working for my systems.

+

Overlay

+

There are a few overlay's for Gentoo out there. Even an official one +maintained (or as the case may be, unmaintained) by +zyga from Canonical. I tried that one, and many +of the forks with no such luck.

+

After googling around I stumbled on a thread on +snapcraft.io +and a post from user jamesb192 about the progress on their snapd overlay.

+

JamesB192 overlay works, +but it doesn't have an overlay.xml file for adding with layman. +To overcome this, I've hosted one on my site +here. You can add this to your +system using overlay like this:

+
        echo app-portage/layman git >> /etc/portage/package.use/layman
+        emerge app-portage/layman
+        layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford
+
+

Now that you have the overlay installed should be able to emerge snapd +like so:

+
        emerge app-emulation/snapd
+
+

Note - You may need to adjust your kernel config and the ebuild is +pretty good at highlighting which options need to be set.

+

Issues

+

During my testing of snaps on Gentoo, I've come across a couple of issues +that either have been solved or could be solved in the ebuild

+
    +
  1. snap packages only install and run as root (This was solved by setting +suid on /usr/lib64/snapd/snap-confine, and solved in ebuild 2.34)
  2. +
  3. /var/lib/snapd not created (manually mkdir the directory)
  4. +
+

Final thoughts.

+

Snap packages feel like a great augmentation for Gentoo. It allows me to +keep using Gentoo as a daily driver and augment some of it's missing +packages with packages from more popular distros.

+

Tags: gentoo, snapd, overlay

+ + + + + + + + +
+ +
+ diff --git a/tag_ping.html b/tag_ping.html new file mode 100644 index 0000000..d29a8c8 --- /dev/null +++ b/tag_ping.html @@ -0,0 +1,33 @@ + + + + + + + +zigford.org — Posts tagged "ping" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+
+ +
+ diff --git a/tag_portage-overlay.html b/tag_portage-overlay.html new file mode 100644 index 0000000..2d24ba7 --- /dev/null +++ b/tag_portage-overlay.html @@ -0,0 +1,79 @@ + + + + + + + +zigford.org — Posts tagged "portage-overlay" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Gentoo local overlay +

+ +
September 18, 2018 — +Jesse Harris +
+ + +

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. +
  3. 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
    +
  4. +
  5. 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
    +
  6. +
+ +

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 repository.

+ +

See also:

+ +

repos.conf, Custom Repository

+ +

Tags: gentoo, portage-overlay

+ + + + + + + + + + + +
+ +
+ diff --git a/tag_portage.html b/tag_portage.html new file mode 100644 index 0000000..528ebaf --- /dev/null +++ b/tag_portage.html @@ -0,0 +1,45 @@ + + + + + + + +zigford.org — Posts tagged "portage" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Snapd Repository for Gentoo +

+ +
September 07, 2019 — +Jesse Harris +
+ +

I've been maintaining my personal Gentoo overlay for sometime with my own ebuild +of snapd. I've received a number of comments and questions about it, both via +email, twitter and on github.

+

Read more...

+

+Downgrade Gentoo from testing to stable +

+ +
August 05, 2018 — +Jesse Harris +
+ +

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.

+

Read more...

+
+ +
+ diff --git a/tag_powershell-links.html b/tag_powershell-links.html new file mode 100644 index 0000000..836aaf0 --- /dev/null +++ b/tag_powershell-links.html @@ -0,0 +1,31 @@ + + + + + + + +zigford.org — Posts tagged "powershell-links" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Powershell Links +

+ +
March 29, 2019 — +Jesse Harris +
+ +

A bunch of links for powershell things I like and want to remember

+

Read more...

+
+ +
+ diff --git a/tag_powershell.html b/tag_powershell.html new file mode 100644 index 0000000..5d70ce9 --- /dev/null +++ b/tag_powershell.html @@ -0,0 +1,314 @@ + + + + + + + +zigford.org — Posts tagged "powershell" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Vim Quickfix and PowerShell revisited +

+ +
August 21, 2019 — +Jesse Harris +
+ +

Pretty much any language can be made to work well with Vim without having to +resort to Plugins. That's the beauty of it. Vim is a tool, PowerShell is a tool. +It's worth getting to know your tools intermitly to become an expert.

+

Read more...

+

+Vim Quickfix and PowerShell +

+ +
June 02, 2019 — +Jesse Harris +
+ +

Enno wrote in with a question on how Ale set's +Vim's makeprg and errorformat options when working with PowerShell.

+

Read more...

+

+Powershell syntax now supported by ALE (Vim) plugin +

+ +
April 15, 2019 — +Jesse Harris +
+ +

ALE project has approved my PR to show powershell syntax errors by parsing +the powershell by powershell itself. If the current buffer has a filetype of +Powershell, the buffer is run through the following powershell script to check +for syntax errors. Errors are then displayed in Vim by ALE:

+

Read more...

+

+Vim and Powershell +

+ +
March 31, 2019 — +Jesse Harris +
+ +

Back in the days when Powershell was just a young pup there were a few +Vim users contributing to Vim via plugins to make writing powershell +a nicer experience. Syntax highlighting, auto filetype detection, snippets +and other quality of life things.

+

Read more...

+

+The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet +

+ +
January 08, 2019 — +Jesse Harris +
+ +

When I first learned about [CmdLetBinding()] to add automatic support for +Write-Verbose I didn't understand why -WhatIf and -Confirm were not passed +to Cmdlets used in my functions.

+

Read more...

+

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog to PowerShell. Although work is by no +means complete, you can actually use it to edit an +existing blogpost

+

Read more...

+

+Setting Powershell as default on MacOS +

+ +
December 18, 2018 — +Jesse Harris +
+ +

When you click on 'Terminal.app' on a stock MacOS system, your connected to +the systems pseudo TTY which in turn launches your users default shell.

+

Terminal.app can be told to launch a process other than your users default +shell (eg, powershell), but there are a few cases where if you might want +to replace your shell system-wide. (eg, sudo can use powershell then)

+

Read more...

+

+ANSI VT100 colors in Powershell Core prompt +

+ +
October 19, 2018 — +Jesse Harris +
+ +

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 or superuser and unfortunatly I could not find the link +again to give proper credit.

+

Read more...

+

+First look at powershell 6.1.0 +

+ +
September 15, 2018 — +Jesse Harris +
+ + +

Powershell 6.1.0 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                    <=
+
+ +

Read more...

+

+Manage a hosts file +

+ +
September 11, 2018 — +Jesse Harris +
+ + +

Most people have long forgotten the lowly hosts file, but from time to +time there is still a need to use it.

+ +

So I wrote some powershell functions to automate it in a simpler way.

+ +

Read more...

+

+Write-Information > Write-Host +

+ +
September 06, 2018 — +Jesse Harris +
+ + +

June Blender writing for Hey, Scripting Guy! Blog:

+ +
+

The dilemma was how to fix the harmful aspects of Write-Host (can't suppress, +capture, or redirect), but keep it from polluting the output stream. And of +course, the solution must be backward compatible.

+ +

This most elegant solution is provided by the information stream and the +Write-Information cmdlet. The information stream is a new output stream that +works much like the error and warning streams.

+
+ +

The information stream is a feature of powershell versions 5.x that I missed +when it came out. Thus I have been avoiding using Write-Host in favour of +Write-Verbose since reading about Write-Host Considered Harmful.

+ +

If you care about writing reusable automation friendly code, go have a read.

+ +

Tags: powershell, streams

+ + + + + + + + + + + + + + +

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + +

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+

+Xargs tips +

+ +
August 31, 2018 — +Jesse Harris +
+ +

After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell.

+

Read more...

+

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+

Read more...

+
+ +
+ diff --git a/tag_profile.html b/tag_profile.html new file mode 100644 index 0000000..0539173 --- /dev/null +++ b/tag_profile.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "profile" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+ANSI VT100 colors in Powershell Core prompt +

+ +
October 19, 2018 — +Jesse Harris +
+ +

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 or superuser and unfortunatly I could not find the link +again to give proper credit.

+

Read more...

+
+ +
+ diff --git a/tag_pscore.html b/tag_pscore.html new file mode 100644 index 0000000..7137d7c --- /dev/null +++ b/tag_pscore.html @@ -0,0 +1,39 @@ + + + + + + + +zigford.org — Posts tagged "pscore" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+

Read more...

+
+ +
+ diff --git a/tag_pwshblog.html b/tag_pwshblog.html new file mode 100644 index 0000000..7901f8e --- /dev/null +++ b/tag_pwshblog.html @@ -0,0 +1,32 @@ + + + + + + + +zigford.org — Posts tagged "pwshblog" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Making a release on GitHub +

+ +
August 20, 2019 — +Jesse Harris +
+ +

Today's journey is using git and github to release PwshBlog +The following are my notes on the matter.

+

Read more...

+
+ +
+ diff --git a/tag_python.html b/tag_python.html new file mode 100644 index 0000000..59974e3 --- /dev/null +++ b/tag_python.html @@ -0,0 +1,76 @@ + + + + + + + +zigford.org — Posts tagged "python" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_raspberry-pi.html b/tag_raspberry-pi.html new file mode 100644 index 0000000..95b585a --- /dev/null +++ b/tag_raspberry-pi.html @@ -0,0 +1,56 @@ + + + + + + + +zigford.org — Posts tagged "raspberry-pi" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Live on 64-bit Raspberry Pi 4 with Gentoo +

+ +
August 15, 2019 — +Jesse Harris +
+ +

I recently wrote that the site is now hosted from the +raspberry pi 4.

+

Read more...

+

+Raspberry Pi 4 +

+ +
July 02, 2019 — +Jesse Harris +
+ +

As soon as I heard the news about the Pi 4 release, I jumped on it. As a +frequent Pi user for day to day tasks, I'm always keen for a speed boost.

+

Read more...

+

+Nginx as a file server +

+ +
April 21, 2019 — +Jesse Harris +
+ +

FTP, SMB, SSH, HTTP... The list goes on.

+

There are many ways to serve files. Here is a quick note of how I edited the +default raspbian nginx conf files to enable a simple directory with browsing to +be served from a raspberry pi

+

Read more...

+
+ +
+ diff --git a/tag_scripting.html b/tag_scripting.html new file mode 100644 index 0000000..852bbb7 --- /dev/null +++ b/tag_scripting.html @@ -0,0 +1,104 @@ + + + + + + + +zigford.org — Posts tagged "scripting" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog to PowerShell. Although work is by no +means complete, you can actually use it to edit an +existing blogpost

+

Read more...

+

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + +

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_shells.html b/tag_shells.html new file mode 100644 index 0000000..bf39a3a --- /dev/null +++ b/tag_shells.html @@ -0,0 +1,102 @@ + + + + + + + +zigford.org — Posts tagged "shells" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Speed up your shell game +

+ +
April 21, 2019 — +Jesse Harris +
+ +

Part of good use of the shell is doing repetitive things fast. A GUI can often +be faster than using the command line because you can almost select things with +your eyes ( eg, shift click files in a list to copy selectively. ) You can't +always use a gui, however.

+

Read more...

+

+Introducing PwshBlog +

+ +
January 01, 2019 — +Jesse Harris +
+ +

Over the holidays I've kept myself busy by porting +BashBlog to PowerShell. Although work is by no +means complete, you can actually use it to edit an +existing blogpost

+

Read more...

+

+Replacing bash scripting with powershell +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

This article on replacing bash scripting with python was being shared +around on twitter today.

+ +
+

The problem is if you want to do basically anything else, e.g. write logic, +use control structures, handle complex data... You're going to have big +problems. When Bash is coordinating external programs, it's fantastic. When +it's doing any work whatsoever itself, it disintegrates into a pile of +garbage.

+
+ +

To me, this is what is awesome about PowerShell. I feel like it gets the shell +part right, and also supports sane logic, data structures and so on. Sticking +to the same language for quick system admin tasks and for longer form script +writing really helps learn the ins-and-outs of a language.

+ +

As for python, I have started writing some of my regular tools for use on +linux in python and so far it just doesn't seem as natural as powershell, +although that could just be because powershell is like muscle memory for me.

+ +

I'd love to give powershell a better chance on linux, but, it is a bit slow +to spin up on the raspberry pi and not available +everywhere. For instance to use it on Gentoo, I've got it installed as a snap.

+ +

If you have any comments or feedback, please email +me and let me know if you will allow your feedback to be posted here.

+ +

Tags: shells, bash, python, scripting, powershell

+ + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_snapd.html b/tag_snapd.html new file mode 100644 index 0000000..68849fa --- /dev/null +++ b/tag_snapd.html @@ -0,0 +1,131 @@ + + + + + + + +zigford.org — Posts tagged "snapd" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Snapd Repository for Gentoo +

+ +
September 07, 2019 — +Jesse Harris +
+ +

I've been maintaining my personal Gentoo overlay for sometime with my own ebuild +of snapd. I've received a number of comments and questions about it, both via +email, twitter and on github.

+

Read more...

+

+Snaps on Gentoo - The saga continues +

+ +
February 10, 2019 — +Jesse Harris +
+ +

A while ago I posted about Snaps on Gentoo, about +why and how to get it working. Sometime after that post, snaps stopped +working and I didn't have the time to investigate.

+

Until last week that is.

+

Read more...

+

+Snaps on Gentoo +

+ +
August 12, 2018 — +Jesse Harris +
+ +

Update 07/09/2019

+

Snapd is now in a overlay on it's on for your convenience. See +here

+

Update

+

The instructions to get snaps working on gentoo here are outdated. See my +current post Snaps on Gentoo - The saga continues

+

Why?

+

Many will think it is heresy to put binary packages on a Gentoo system +let alone a package system which encourages binary packages to come with +their own set of shared libraries.

+

While I tend to agree, the practicality of sticking to this arrangement +can be difficult for a couple of cases. Here are a few I can think of:

+
    +
  • Source not available
  • +
  • No binary package or source ebuild for Gentoo
  • +
  • ebuild takes too long to compile
  • +
+

In the case of ebuilds taking too long (eg. chromium), I have a limited +budget and can't really afford to leave my power hungry desktop on 24/7 +to keep chromium builds up-to-date.

+

Here are a quick list of software that I use which fall into one of these +categories:

+
    +
  • Citrix Reciever
  • +
  • Powershell (Available as source, but no ebuild and I haven't had the +time to try write one myself)
  • +
  • Minecraft (Gaming with the kids)
  • +
  • Discord (Chatting with games)
  • +
  • Chromium (Primarily a firefox user, but have some trouble with getting it +to see and work with Citrix)
  • +
+

With my excuses for putting snap's on Gentoo out of the way, here is how +I've got it working for my systems.

+

Overlay

+

There are a few overlay's for Gentoo out there. Even an official one +maintained (or as the case may be, unmaintained) by +zyga from Canonical. I tried that one, and many +of the forks with no such luck.

+

After googling around I stumbled on a thread on +snapcraft.io +and a post from user jamesb192 about the progress on their snapd overlay.

+

JamesB192 overlay works, +but it doesn't have an overlay.xml file for adding with layman. +To overcome this, I've hosted one on my site +here. You can add this to your +system using overlay like this:

+
        echo app-portage/layman git >> /etc/portage/package.use/layman
+        emerge app-portage/layman
+        layman -o http://jesseharrisit.com/overlay.xml -f -a gentoo-zigford
+
+

Now that you have the overlay installed should be able to emerge snapd +like so:

+
        emerge app-emulation/snapd
+
+

Note - You may need to adjust your kernel config and the ebuild is +pretty good at highlighting which options need to be set.

+

Issues

+

During my testing of snaps on Gentoo, I've come across a couple of issues +that either have been solved or could be solved in the ebuild

+
    +
  1. snap packages only install and run as root (This was solved by setting +suid on /usr/lib64/snapd/snap-confine, and solved in ebuild 2.34)
  2. +
  3. /var/lib/snapd not created (manually mkdir the directory)
  4. +
+

Final thoughts.

+

Snap packages feel like a great augmentation for Gentoo. It allows me to +keep using Gentoo as a daily driver and augment some of it's missing +packages with packages from more popular distros.

+

Tags: gentoo, snapd, overlay

+ + + + + + + + +
+ +
+ diff --git a/tag_streams.html b/tag_streams.html new file mode 100644 index 0000000..96a0933 --- /dev/null +++ b/tag_streams.html @@ -0,0 +1,63 @@ + + + + + + + +zigford.org — Posts tagged "streams" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Write-Information > Write-Host +

+ +
September 06, 2018 — +Jesse Harris +
+ + +

June Blender writing for Hey, Scripting Guy! Blog:

+ +
+

The dilemma was how to fix the harmful aspects of Write-Host (can't suppress, +capture, or redirect), but keep it from polluting the output stream. And of +course, the solution must be backward compatible.

+ +

This most elegant solution is provided by the information stream and the +Write-Information cmdlet. The information stream is a new output stream that +works much like the error and warning streams.

+
+ +

The information stream is a feature of powershell versions 5.x that I missed +when it came out. Thus I have been avoiding using Write-Host in favour of +Write-Verbose since reading about Write-Host Considered Harmful.

+ +

If you care about writing reusable automation friendly code, go have a read.

+ +

Tags: powershell, streams

+ + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_vim-macros.html b/tag_vim-macros.html new file mode 100644 index 0000000..a81849f --- /dev/null +++ b/tag_vim-macros.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "vim-macros" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Vim tips, macro's +

+ +
September 02, 2018 — +Jesse Harris +
+ + +

Google it and you will find a couple of methods to edit vim macros. Here is +the method I like and will continue to use.

+ +

Read more...

+
+ +
+ diff --git a/tag_vim-odd-jobs.html b/tag_vim-odd-jobs.html new file mode 100644 index 0000000..eec1730 --- /dev/null +++ b/tag_vim-odd-jobs.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "vim-odd-jobs" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Vim Odd Jobs 1 +

+ +
March 30, 2019 — +Jesse Harris +
+ +

Today Clarissa did the shopping and as she was in a rush didn't have the time +to total the items in the trolley. She had updated the cost of each item in a +shared iCloud note and texted me to see if I could quickly add them up on my +computer.

+

Read more...

+
+ +
+ diff --git a/tag_vim-tips.html b/tag_vim-tips.html new file mode 100644 index 0000000..938697a --- /dev/null +++ b/tag_vim-tips.html @@ -0,0 +1,68 @@ + + + + + + + +zigford.org — Posts tagged "vim-tips" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Dynamic colorscheme in Vim +

+ +
June 15, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Vim Odd Jobs 1 +

+ +
March 30, 2019 — +Jesse Harris +
+ +

Today Clarissa did the shopping and as she was in a rush didn't have the time +to total the items in the trolley. She had updated the cost of each item in a +shared iCloud note and texted me to see if I could quickly add them up on my +computer.

+

Read more...

+

+Vim Links +

+ +
March 28, 2019 — +Jesse Harris +
+ +

This article will simply contain links I find usefull for vim

+

Read more...

+

+Vim tips, macro's +

+ +
September 02, 2018 — +Jesse Harris +
+ + +

Google it and you will find a couple of methods to edit vim macros. Here is +the method I like and will continue to use.

+ +

Read more...

+
+ +
+ diff --git a/tag_vim.html b/tag_vim.html new file mode 100644 index 0000000..9ecd580 --- /dev/null +++ b/tag_vim.html @@ -0,0 +1,442 @@ + + + + + + + +zigford.org — Posts tagged "vim" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Vim Quickfix and PowerShell revisited +

+ +
August 21, 2019 — +Jesse Harris +
+ +

Pretty much any language can be made to work well with Vim without having to +resort to Plugins. That's the beauty of it. Vim is a tool, PowerShell is a tool. +It's worth getting to know your tools intermitly to become an expert.

+

Read more...

+

+Dynamic colorscheme in Vim +

+ +
June 15, 2019 — +Jesse Harris +
+ +

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.

+

Read more...

+

+Vim Quickfix and PowerShell +

+ +
June 02, 2019 — +Jesse Harris +
+ +

Enno wrote in with a question on how Ale set's +Vim's makeprg and errorformat options when working with PowerShell.

+

Read more...

+

+Powershell syntax now supported by ALE (Vim) plugin +

+ +
April 15, 2019 — +Jesse Harris +
+ +

ALE project has approved my PR to show powershell syntax errors by parsing +the powershell by powershell itself. If the current buffer has a filetype of +Powershell, the buffer is run through the following powershell script to check +for syntax errors. Errors are then displayed in Vim by ALE:

+

Read more...

+

+Vim and Powershell +

+ +
March 31, 2019 — +Jesse Harris +
+ +

Back in the days when Powershell was just a young pup there were a few +Vim users contributing to Vim via plugins to make writing powershell +a nicer experience. Syntax highlighting, auto filetype detection, snippets +and other quality of life things.

+

Read more...

+

+Vim tips, macro's +

+ +
September 02, 2018 — +Jesse Harris +
+ + +

Google it and you will find a couple of methods to edit vim macros. Here is +the method I like and will continue to use.

+ +

Read more...

+

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + +

+Using the latest vim on Gentoo +

+ +
May 22, 2018 — +Jesse Harris +
+ + +

Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding:

+ +
        ACCEPT_KEYWORKS="~amd64"
+
+ +

to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits.

+ +

As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo:

+ +

Overview

+ +
    +
  1. Add a special keyword to vim's ACCEPT_KEYWORDS var
  2. +
  3. Unmerge existing vim
  4. +
  5. emerge the new vim
  6. +
+ +

Keywords

+ +

Newer versions of portage allow /etc/portage/package.keywords to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory.

+ +
    cd /etc/portage
+    if test -f package.keywords; then
+        mv package.keywords keywords
+        mkdir package.keywords
+        mv keywords package.keywords/
+    fi
+
+ +

And now, lets use the special keyword for the vim package which will +allow ebuilds from github

+ +
    echo app-editors/vim "**" > package.keywords/vim
+    echo app-editors/gvim "**" >> package.keywords/vim
+    echo app-editors/vim-core "**" >> package.keywords/vim
+
+ +

Unmerge existing vim

+ +
    emerge --unmerge app-editors/vim app-editors/gvim
+
+ +

Merge the new vim

+ +
    emerge app-editors/vim app-editors/gvim
+
+ +

Final thoughts.

+ +

This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running emerge --update vim gvim

+ +

Tags: gentoo, vim, git, ebuild

+ + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_vt100.html b/tag_vt100.html new file mode 100644 index 0000000..445c61c --- /dev/null +++ b/tag_vt100.html @@ -0,0 +1,34 @@ + + + + + + + +zigford.org — Posts tagged "vt100" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+ANSI VT100 colors in Powershell Core prompt +

+ +
October 19, 2018 — +Jesse Harris +
+ +

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 or superuser and unfortunatly I could not find the link +again to give proper credit.

+

Read more...

+
+ +
+ diff --git a/tag_wayland.html b/tag_wayland.html new file mode 100644 index 0000000..1c37638 --- /dev/null +++ b/tag_wayland.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "wayland" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/tag_windows.html b/tag_windows.html new file mode 100644 index 0000000..693ed0b --- /dev/null +++ b/tag_windows.html @@ -0,0 +1,297 @@ + + + + + + + +zigford.org — Posts tagged "windows" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+

Read more...

+

+How I Code +

+ +
May 24, 2018 — +Jesse Harris +
+ + +

Updated 17/08/2018

+ +

Coding can be fun. I've enjoyed coding from a young age, starting with +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 \ will return +vim back to normal mode and :wq puts vim in command mode and execute write +quit.

+ +

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

+ +

Tags: vim, coding, windows, linux, macos

+ + + + + + + + + + + + + + + +
+ +
+ diff --git a/tag_xargs.html b/tag_xargs.html new file mode 100644 index 0000000..3f9a642 --- /dev/null +++ b/tag_xargs.html @@ -0,0 +1,46 @@ + + + + + + + +zigford.org — Posts tagged "xargs" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Ip addresses on your subnet with xargs +

+ +
September 01, 2018 — +Jesse Harris +
+ +

xargs 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.

+

Read more...

+

+Xargs tips +

+ +
August 31, 2018 — +Jesse Harris +
+ +

After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell.

+

Read more...

+
+ +
+ diff --git a/tag_youtube.html b/tag_youtube.html new file mode 100644 index 0000000..9ba6e5d --- /dev/null +++ b/tag_youtube.html @@ -0,0 +1,51 @@ + + + + + + + +zigford.org — Posts tagged "youtube" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Burning a CD CLI Style +

+ +
December 18, 2018 — +Jesse Harris +
+ +

I've written about ripping an album cli style, 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

+

Read more...

+

+Ripping an album from youtube - CLI Style +

+ +
May 28, 2018 — +Jesse Harris +
+ +

With the advent of Spotify, +Apple Music, Youtube, +Pandora and many other streaming music services, the +need to have local mp3 files doesn't crop up very often. However, my kids either +have cheap mp3 players or use their +3ds's to play local mp3 files.

+

Read more...

+
+ +
+ diff --git a/tag_zoom.html b/tag_zoom.html new file mode 100644 index 0000000..4b3507f --- /dev/null +++ b/tag_zoom.html @@ -0,0 +1,35 @@ + + + + + + + +zigford.org — Posts tagged "zoom" + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+

+Screen sharing and capture in Wayland on Gentoo +

+ +
June 01, 2020 — +Jesse Harris +
+ + +

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.

+ +

Read more...

+
+ +
+ diff --git a/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.html b/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.html new file mode 100644 index 0000000..a257970 --- /dev/null +++ b/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.html @@ -0,0 +1,79 @@ + + + + + + + +The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet +

+ +
January 08, 2019 — +Jesse Harris +
+ +

When I first learned about [CmdLetBinding()] to add automatic support for +Write-Verbose I didn't understand why -WhatIf and -Confirm were not passed +to Cmdlets used in my functions.

+
+

I wrote functions like this to fake it:

+
    function Set-BadIdea {
+    [CmdLetBinding()]
+    Param(
+        [string]$File,
+        [switch]$Whatif,
+        [switch]$Confirm
+    )
+
+        Remove-Item $File -WhatIf:$WhatIf -Confirm:$Confirm
+
+    }
+
+

While this kinda works, it doesn't allow any control over where Whatif's and +confirms are used. After reading +Implementing ShouldProccess for your functions post by Joel Francsis, +I'm now able to do things like this:

+
    function Set-GoodIdead {
+    [CmdLetBinding(SupportsShouldProcess)]
+    Param([string]$File)
+
+        If ($PSCmdlet.ShouldProcess("$File", "Get rid of junk")) {
+            Remove-Item $File 
+        }
+
+    }
+
+

As I hope you can see, you could implement the $PSCmdlet.ShouldProcess +on any code, not just other functions that support -WhatIf or -Confirm or +-Force

+

Doing this will lead to more consistent behavior of functions and allow +behaviour to be more intuitive.

+

For a much more in depth explaination, go and check Joel's post

+

Tags: powershell, coding

+ + + + + + + + + + + +
+ +
+ diff --git a/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.md b/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.md new file mode 100644 index 0000000..c0e67f6 --- /dev/null +++ b/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.md @@ -0,0 +1,49 @@ +The correct way to implement -Whatif and -Confirm in a Powershell Cmdlet + +When I first learned about `[CmdLetBinding()]` to add automatic support for +`Write-Verbose` I didn't understand why -WhatIf and -Confirm were not passed +to Cmdlets used in my functions. + +--- + +I wrote functions like this to fake it: + + function Set-BadIdea { + [CmdLetBinding()] + Param( + [string]$File, + [switch]$Whatif, + [switch]$Confirm + ) + + Remove-Item $File -WhatIf:$WhatIf -Confirm:$Confirm + + } + +While this kinda works, it doesn't allow any control over where Whatif's and +confirms are used. After reading +[Implementing ShouldProccess for your functions][1] post by Joel Francsis, +I'm now able to do things like this: + + function Set-GoodIdead { + [CmdLetBinding(SupportsShouldProcess)] + Param([string]$File) + + If ($PSCmdlet.ShouldProcess("$File", "Get rid of junk")) { + Remove-Item $File + } + + } + +As I hope you can see, you could implement the `$PSCmdlet.ShouldProcess` +on any code, not just other functions that support -WhatIf or -Confirm or +-Force + +Doing this will lead to more consistent behavior of functions and allow +behaviour to be more intuitive. + +For a much more in depth explaination, go and check [Joel's post][1] + +Tags: powershell, coding + +[1]:https://vexx32.github.io/2018/11/22/Implementing-ShouldProcess/ diff --git a/todo.html b/todo.html new file mode 100644 index 0000000..474e179 --- /dev/null +++ b/todo.html @@ -0,0 +1,51 @@ + + + + + + + +Todo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Todo +

+ +
September 03, 2018 — +Jesse Harris +
+ + +

This page is a list of potential future articles. +Please email if you have any ideads.

+ +
    +
  • Practical uses of powershell on *nix
  • +
  • Index of my github repos
  • +
  • Vimrc
  • +
  • Visitors page to show analysis of access.log
  • +
  • More to come...
  • +
+ +

Also things I want to do that might be outside the realm of this blog

+ +
    +
  • ~urlwatch~
  • +
+ +

Tags: Todo

+ + +
+ +
+ diff --git a/todo.md b/todo.md new file mode 100644 index 0000000..dcb964f --- /dev/null +++ b/todo.md @@ -0,0 +1,16 @@ +Todo + +This page is a list of potential future articles. +Please [email](mailto:jesse@zigford.org) if you have any ideads. + +* Practical uses of powershell on \*nix +* Index of my github repos +* Vimrc +* Visitors page to show analysis of access.log +* More to come... + +Also things I want to do that might be outside the realm of this blog + +* ~urlwatch~ + +Tags: Todo diff --git a/transfer-btfs-snapshots-with-netcat.html b/transfer-btfs-snapshots-with-netcat.html new file mode 100644 index 0000000..a7fabde --- /dev/null +++ b/transfer-btfs-snapshots-with-netcat.html @@ -0,0 +1,125 @@ + + + + + + + +Transfer BTFS snapshots with netcat + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Transfer BTFS snapshots with netcat +

+ +
July 19, 2020 — +Jesse Harris +
+ + +

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.

+ +
+ +
The setup
+ +

I use a raspberry pi computer as a small NAS. It doesn't have a high +performance requirment and just has an 8Tb spinning rust drive connected +over usb 3. Ocasionally, I want to back it up to another set of drives +across my local LAN.

+ +

Both the raspberry pi, and my receiving desktop computer run Gentoo and thus +installing netcat can be achieved by the following command:

+ +
    emerge net-analyzer/netcat
+
+ +

Gentoo also offers the OpenBSD variant:

+ +
    emerge net-analyzer/openbsd-netcat
+
+ +

These two versions will happily work together, but have slightly different +syntax and behaviors

+ +
Version differences
+ +

The main difference I have noticed between the two versions is that the +openbsd variant will automatically quit when it receives and EOF signal, +while the original version requires the -q parameter.

+ +
On the receiving end
+ +

I tend to setup my recieving end of the netcat tunnel first. I beleive the +sending end could be setup first but this seems more natural to my mind. +In this case I want my btrfs snapshot stored in another btrfs filesystem. +This allows easy restoration of single file.

+ +
    cd /mnt/btrfs/backups
+    nc -l 10004 | btrfs receive .
+
+ +

The -l 10004 parameter specifies that netcat should listen on port 10004. +You could as easily pick any other port not in use.

+ +

Next, a pipe to btrfs receive and . says to store the snapshot here.

+ +

After you press enter on this command, netcat will be listening, but as no data +has passed through the pipe yet, the btrfs command will not have recieved +anything and will just be waiting indefinitly for data.

+ +
On the sending end
+ +

From the source machine, if this is the first snapshot ever send:

+ +
    cd /mnt/btrfs/snapshots/
+    btrfs send root-2020-07-19-01:00:01 | nc -q 1 192.168.11.203 10004
+
+ +

If it is not the first:

+ +
    cd /mnt/btrfs/snapshots/
+    btrfs send -p root-2020-07-19-01:00:01 \
+        root-2020-07-20-01:00:01 | nc -q 1 192.168.11.203 10004
+
+ +

The -p can tell btrfs that the following subvolume is a parent of the +snapshot we are sending and therefore only send the difference. +The -q 1 tells that non-openbsd varient of netcat to quit 1 second after +receiving and EOF message from the upstream program.

+ +

After pressing enter on this command, btrfs send will begin passing data +through the pipe to netcat which will connect to the destination computer on the +port specified. You should begin to see informational output from btrfs at this +stage.

+ +

If you hadn't thought to specify -q parameter, not to worry. You can monitor +that data is coming through the pipe using a tool like nettop or iotop. +After data transfer has ceased, simply hit Ctrl+C to close the pipe on both ends +at once.

+ +

Summing up

+ +

And that is about all there is to sending btrfs snapshots with netcat. +You can transfer your snapshots as fast as your disks and LAN will allow. +Depending on your CPU you may also get better performance if you pipe through +gzip and gunzip.

+ +

Tags: btrfs, netcat, linux

+ + + +
+ +
+ diff --git a/transfer-btfs-snapshots-with-netcat.md b/transfer-btfs-snapshots-with-netcat.md new file mode 100644 index 0000000..86f3d95 --- /dev/null +++ b/transfer-btfs-snapshots-with-netcat.md @@ -0,0 +1,86 @@ +Transfer BTFS snapshots with netcat + +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. + +--- + +#####The setup + +I use a raspberry pi computer as a small NAS. It doesn't have a high +performance requirment and just has an 8Tb spinning rust drive connected +over usb 3. Ocasionally, I want to back it up to another set of drives +across my local LAN. + +Both the raspberry pi, and my receiving desktop computer run Gentoo and thus +installing netcat can be achieved by the following command: + + emerge net-analyzer/netcat + +Gentoo also offers the OpenBSD variant: + + emerge net-analyzer/openbsd-netcat + +These two versions will happily work together, but have slightly different +syntax and behaviors + +#####Version differences + +The main difference I have noticed between the two versions is that the +openbsd variant will automatically quit when it receives and EOF signal, +while the original version requires the -q parameter. + +#####On the receiving end +I tend to setup my recieving end of the netcat tunnel first. I beleive the +sending end could be setup first but this seems more natural to my mind. +In this case I want my btrfs snapshot stored in another btrfs filesystem. +This allows easy restoration of single file. + + cd /mnt/btrfs/backups + nc -l 10004 | btrfs receive . + +The `-l 10004` parameter specifies that netcat should listen on port 10004. +You could as easily pick any other port not in use. + +Next, a pipe to `btrfs receive` and `.` says to store the snapshot here. + +After you press enter on this command, netcat will be listening, but as no data +has passed through the pipe yet, the btrfs command will not have recieved +anything and will just be waiting indefinitly for data. + +#####On the sending end +From the source machine, if this is the first snapshot ever send: + + cd /mnt/btrfs/snapshots/ + btrfs send root-2020-07-19-01:00:01 | nc -q 1 192.168.11.203 10004 + +If it is not the first: + + cd /mnt/btrfs/snapshots/ + btrfs send -p root-2020-07-19-01:00:01 \ + root-2020-07-20-01:00:01 | nc -q 1 192.168.11.203 10004 + +The `-p` can tell btrfs that the following subvolume is a parent of the +snapshot we are sending and therefore only send the difference. +The `-q 1` tells that non-openbsd varient of netcat to quit 1 second after +receiving and EOF message from the upstream program. + +After pressing enter on this command, btrfs send will begin passing data +through the pipe to netcat which will connect to the destination computer on the +port specified. You should begin to see informational output from btrfs at this +stage. + +If you hadn't thought to specify `-q` parameter, not to worry. You can monitor +that data is coming through the pipe using a tool like `nettop` or `iotop`. +After data transfer has ceased, simply hit Ctrl+C to close the pipe on both ends +at once. + +###Summing up + +And that is about all there is to sending btrfs snapshots with netcat. +You can transfer your snapshots as fast as your disks and LAN will allow. +Depending on your CPU you may also get better performance if you pipe through +gzip and gunzip. + +Tags: btrfs, netcat, linux diff --git a/troubleshooting-office-365-login-loop.html b/troubleshooting-office-365-login-loop.html new file mode 100644 index 0000000..70af5bd --- /dev/null +++ b/troubleshooting-office-365-login-loop.html @@ -0,0 +1,64 @@ + + + + + + + +Troubleshooting: Office 365 login loop + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Troubleshooting: Office 365 login loop +

+ +
March 29, 2019 — +Jesse Harris +
+ +

If your ever stuck with this issue it can be infuriating. I had the issue on +a linux install on my Precision 5510 but not on my home Gentoo +installation.

+
+

I tried isolating DNS, network, browsers, all to no avail. Until I stumbled +on this gem. I quickly noticed my timezone was not set correctly:

+
    harrisj@19wbpf2 /etc $ timedatectl 
+                   Local time: Fri 2019-03-29 13:26:58 UTC
+               Universal time: Fri 2019-03-29 13:26:58 UTC
+                     RTC time: Fri 2019-03-29 13:26:58
+                    Time zone: n/a (UTC, +0000)
+    System clock synchronized: no
+                  NTP service: inactive
+              RTC in local TZ: no
+
+

After setting the timezone:

+
    timedatectl set-timezone Australia/Brisbane
+
+

The datetime was now wrong, which was quickly corrected:

+
    timedatectl set-time "2019-03-29 13:31:45"
+
+

Restarted my browser and teams and now I'm a happy chappy!

+

Tags: Office365, Troubleshooting

+ + + + + + + + + + + +
+ +
+ diff --git a/troubleshooting-office-365-login-loop.md b/troubleshooting-office-365-login-loop.md new file mode 100644 index 0000000..fb8e491 --- /dev/null +++ b/troubleshooting-office-365-login-loop.md @@ -0,0 +1,33 @@ +Troubleshooting: Office 365 login loop + +If your ever stuck with this issue it can be infuriating. I had the issue on +a linux install on my [Precision 5510](my-setup.html) but not on my home Gentoo +installation. + +--- + +I tried isolating DNS, network, browsers, all to no avail. Until I stumbled +on this [gem][1]. I quickly noticed my timezone was not set correctly: + + harrisj@19wbpf2 /etc $ timedatectl + Local time: Fri 2019-03-29 13:26:58 UTC + Universal time: Fri 2019-03-29 13:26:58 UTC + RTC time: Fri 2019-03-29 13:26:58 + Time zone: n/a (UTC, +0000) + System clock synchronized: no + NTP service: inactive + RTC in local TZ: no + +After setting the timezone: + + timedatectl set-timezone Australia/Brisbane + +The datetime was now wrong, which was quickly corrected: + + timedatectl set-time "2019-03-29 13:31:45" + +Restarted my browser and teams and now I'm a happy chappy! + +Tags: Office365, Troubleshooting + +[1]:https://techcommunity.microsoft.com/t5/Microsoft-Teams/Edge-Checking-your-credentials/m-p/377480/highlight/true#M28333 diff --git a/trying-out-a-pull-request.html b/trying-out-a-pull-request.html new file mode 100644 index 0000000..a575ffe --- /dev/null +++ b/trying-out-a-pull-request.html @@ -0,0 +1,81 @@ + + + + + + + +Trying out a pull request + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Trying out a pull request +

+ +
October 06, 2019 — +Jesse Harris +
+ +

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.

+
+

You can find this information anywhere out there on the web. As always the +purpose of this blog is more of a notetaking for me, but the other angle I want +to cover is not the exact commands to type (That will be here too), but why you +are typing them.

+

Get setup

+

You want to start off with a clean local repository. That might mean running a +git pull, a git clone or switching to the master branch using git checkout.

+

I'm checking out a PR for my snapd ebuild +repo

+

What information will you need?

+

You will need to know the GitHub authors account name and the branch that they +are making changes from.

+

The commands

+

From here it's easy. Conceptually, we are checking out a local branch to +pull the changes into

+
        # localbranchname is a new branch where we will pull
+        #   the PR. It can be named whatever
+        # master is the branch we want the new branch to be
+        #   based off
+
+        git checkout -b <localbranchname> master
+        git pull <githubAddressToUsersFork>.git <branchTheyCommitedTo>
+
+

Merge to master

+

Perhaps your happy with the change. Your very close to being able to merge the +PR to your master repo. Here is how you would do that.

+
    +
  1. checkout your master branch

    +
  2. +
  3. merge the local branch you created earlier

    +
  4. +
  5. push changes back up to the remote origin

    +
         git checkout master
    +     git merge <localbranchname>
    +     git push origin master
    +
    +
  6. +
+

Tags: git, github

+ + + + + + + + +
+ +
+ diff --git a/trying-out-a-pull-request.md b/trying-out-a-pull-request.md new file mode 100644 index 0000000..4a1da99 --- /dev/null +++ b/trying-out-a-pull-request.md @@ -0,0 +1,59 @@ +Trying out a pull request + +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. + +--- + +You can find this information anywhere out there on the web. As always the +purpose of this blog is more of a notetaking for me, but the other angle I want +to cover is not the exact commands to type (That will be here too), but why you +are typing them. + +Get setup +--------- + +You want to start off with a clean local repository. That might mean running a +`git pull`, a `git clone` or switching to the master branch using `git +checkout`. + +I'm checking out a PR for my [snapd ebuild +repo](https://github.com/zigford/snapd) + +What information will you need? +------------------------------- + +You will need to know the GitHub authors account name and the branch that they +are making changes from. + +The commands +------------ + +From here it's easy. Conceptually, we are _checking out_ a local branch to +_pull_ the changes into + + + # localbranchname is a new branch where we will pull + # the PR. It can be named whatever + # master is the branch we want the new branch to be + # based off + + git checkout -b master + git pull .git + +Merge to master +--------------- + +Perhaps your happy with the change. Your very close to being able to merge the +PR to your master repo. Here is how you would do that. + +1. _checkout_ your master branch +2. _merge_ the local branch you created earlier +3. _push_ changes back up to the remote _origin_ + + git checkout master + git merge + git push origin master + +Tags: git, github diff --git a/using-the-latest-vim-on-gentoo.html b/using-the-latest-vim-on-gentoo.html new file mode 100644 index 0000000..12e0243 --- /dev/null +++ b/using-the-latest-vim-on-gentoo.html @@ -0,0 +1,113 @@ + + + + + + + +Using the latest vim on Gentoo + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Using the latest vim on Gentoo +

+ +
May 22, 2018 — +Jesse Harris +
+ + +

Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding:

+ +
        ACCEPT_KEYWORKS="~amd64"
+
+ +

to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits.

+ +

As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo:

+ +

Overview

+ +
    +
  1. Add a special keyword to vim's ACCEPT_KEYWORDS var
  2. +
  3. Unmerge existing vim
  4. +
  5. emerge the new vim
  6. +
+ +

Keywords

+ +

Newer versions of portage allow /etc/portage/package.keywords to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory.

+ +
    cd /etc/portage
+    if test -f package.keywords; then
+        mv package.keywords keywords
+        mkdir package.keywords
+        mv keywords package.keywords/
+    fi
+
+ +

And now, lets use the special keyword for the vim package which will +allow ebuilds from github

+ +
    echo app-editors/vim "**" > package.keywords/vim
+    echo app-editors/gvim "**" >> package.keywords/vim
+    echo app-editors/vim-core "**" >> package.keywords/vim
+
+ +

Unmerge existing vim

+ +
    emerge --unmerge app-editors/vim app-editors/gvim
+
+ +

Merge the new vim

+ +
    emerge app-editors/vim app-editors/gvim
+
+ +

Final thoughts.

+ +

This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running emerge --update vim gvim

+ +

Tags: gentoo, vim, git, ebuild

+ + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/using-the-latest-vim-on-gentoo.md b/using-the-latest-vim-on-gentoo.md new file mode 100755 index 0000000..5c09c09 --- /dev/null +++ b/using-the-latest-vim-on-gentoo.md @@ -0,0 +1,56 @@ +Using the latest vim on Gentoo + +Most people (including myself until recently), think of Gentoo as a bleeding +edge source distribution. This is pretty far from accurate as most packages +marked stable are quite out of date. And even if you decide to accept all +unstable packages by adding: + + ACCEPT_KEYWORKS="~amd64" + +to your make.conf file, you will likely be a bit disappointed when you can't +get the latest gnome bits. + +As my last post indicated, I'm a bit of a vim user and I want to have the +latest vim on all my machines (Windows at work, WSL/Ubuntu 18.04 on the +Windows box, and Gentoo at home). +To that end, here is the simple thing you need to do to get the latest Vim on +Gentoo: + +# Overview +1. Add a special keyword to vim's ACCEPT_KEYWORDS var +2. Unmerge existing vim +3. emerge the new vim + +## Keywords +Newer versions of portage allow _/etc/portage/package.keywords_ to be a +directory with simple files so that you can seperate files for seperate +packages. Now, lets check if it is a file or dir and convert it if it is +a directory. + + cd /etc/portage + if test -f package.keywords; then + mv package.keywords keywords + mkdir package.keywords + mv keywords package.keywords/ + fi + +And now, lets use the special keyword for the vim package which will +allow ebuilds from github + + echo app-editors/vim "**" > package.keywords/vim + echo app-editors/gvim "**" >> package.keywords/vim + echo app-editors/vim-core "**" >> package.keywords/vim + +## Unmerge existing vim + + emerge --unmerge app-editors/vim app-editors/gvim + +## Merge the new vim + + emerge app-editors/vim app-editors/gvim + +## Final thoughts. +This is the way I did it, but thinking about it now, it may be unnessecary +to unmerge vim. You could probably get away with running _emerge --update vim gvim_ + +Tags: gentoo, vim, git, ebuild diff --git a/video-editing-from-the-command-line.html b/video-editing-from-the-command-line.html new file mode 100644 index 0000000..bf8a887 --- /dev/null +++ b/video-editing-from-the-command-line.html @@ -0,0 +1,208 @@ + + + + + + + +Video editing from the command line + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Video editing from the command line +

+ +
October 05, 2019 — +Jesse Harris +
+ +

I previously posted about capturing video in +Linux. 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.

+
+

Firstly, there isn't a shortage of gui apps for editing video on Linux for very +basic editing. My requirements are very simple. I need to be able to cut and +join various video files, and product 2 output files. A file for hosting on the +web and a file for archival purposes.

+

Problem 1 - Audio Sync

+

I started out myself with pitivi and tried a few others. +My trouble with each editor was speed and accuracy (also my brain). On some +videos I had to adjust the audio sync and was driven mad by moving audio tracks +around. I had alot of trouble knowing if the audio was starting too early or too +late and which way to move the audio to correct it.

+

With a gui editor, this involves click and dragging an audio track one way or +another (for accuracy, you have to zoom in very far). Once zoomed in and you +move the track, you then need to zoom out, place the play head, click play and +then make a judgement if you made it better or worse.

+

For some reason, my brain could never tell exactly which way to move the audio +until it was way too far in the wrong direction. This was a source of +frustration that I initially solved using ffmpeg on the command line.

+

Using ffmpeg I wrote a very simple sh script to output a small time slice of +the video many times with different audio offsets. Then it was simply a matter +of watching each video and picking the right one. The resulting audio offset +that was used for that video can then be used on the entire clip.

+

Firstly, start by creating a small snippet of video where you will clearly be +able to see if the video is synced up.

+
        ffmpeg -i bigclip.mp4 -c copy -ss 00:01:55 -to 00:02:00 Small.mp4
+
+

Now we will use the following script

+
        #!/bin/sh
+
+        # fixaudiodelay.sh
+
+        Offset="${2}"
+        inputFile="${1}"
+        outputFile="${inputFile%%.*}-delayed${Offset}.mp4"
+        out="${3:-$outputFile}"
+        ffmpeg -i "${inputFile}" -itsoffset "${Offset}" \
+            -i "${inputFile}" -map 0:v -map 1:a -c copy "${out}"
+
+

The script will take parameter 1 is the clip, and parameter 2 is the audio +offset. We can use seq to generate a list of offsets to try and xargs to run +them.

+
        seq -2.0 .1 2.0 | xargs -n1 ./fixaudiodelay.sh Small.mp4
+
+

The result is 41 clips with .1 second offset difference. Play them all and find +the best offset. Then when you could use ./fixaudiodelay.sh BigClip.mp4 -1.7 +(or whatever was the best offset) to correct the entire file.

+

Problem 2 - Perfect splitting

+

The second problem I had with gui editors, is that many home videos are +completely different scenes butted up against each other on the tape. When +transferring these to a new modern format, we want our audience to be able to +skip the scenes.

+

With the gui editors, again we have the problem of accuracy along with the +inability to at once, save all the clips from the single file. Say you have 4 +distinct clips in a file. How can you mark each clip as a separate file then +press encode and walk away? You can't you would have to create 3 separate +projects and encode each one separately.

+

Solving it with ffmpeg is easier than you might think. When I showed cutting a +clip earlier, you can use the -ss parameter to declare where to start from in +the clip, and the -to parameter to declare the end. How I've solved it is like +this.

+
    +
  1. Create a track file which lists all the clips start, end and titles. I chose +to separate each clip by a line, and each parameter by a - dash. Eg

    +
         00:00:00-00:10:05-SnowTrip
    +     00:10:05.6-00:13:02-PlayingAtThePark
    +
    +
  2. +
  3. I came up with the start and end positions, simply by marking down the times +while watching the clip using mpv or vlc. However, the proof is in the +pudding, so I use ffmpeg with some parameters to produce test video files. +These won't be good enough quality to upload to the web, but are sufficient +for verifying the time stamps and are very quick to encode and see the +results.

    +

    Note You can't use the copy codec when cutting clips. As the keyframes +are not recreated

    +
         while IFS=- read START END TITLE 
    +     do
    +         OUTFILE="${TITLE}-Test.mp4"
    +         ffmpeg -nostdin -i BigClip.mp4 -c:v libx264 \
    +             -c:a aac -ss $START -to $END -preset ultrafast \
    +             $OUTFILE
    +     done < tracks.txt
    +
    +
  4. +
  5. After viewing the resulting files, I can make minute adjustments to the track +file so the clips are perfect. Then I adjust for a better file for the web by +changing the preset to veryslow and adding the following parameters

    +
                 -crf 23 -movflags faststart
    +
    +
  6. +
  7. Additionally in some cases, I add some video filters. I've found the +following work well:

    + + + + + + + + + + + + + + + + + + + + + +
    Desired affectParameter
    Increase volume-filter:a "volume=2.0"
    Deinterlace-vf "yadif"
    Archival QualityReplace libx264 with libx265
    +
  8. +
+

Problem 3 - Joining videos

+

The last problem I will discuss may only be a problem on Linux. While many of my +video files are converted from VHS using a composite to usb converter, some are +coming from DV tape. DV Tape stores it's data digitally in Mpeg-2 on a magnetic +tape. On Linux, I've been able to transfer these files using FireWire and a +command line tool dvgrab. The resultant content is many 1gb .dv files.

+

While these files can individually be processed by ffmpeg, it is more ideal to +join them into a single clip for processing so that you can grab clips that span +multiple files and use a single set of timestamps for processing. To adjust +ffmpeg for this use, we use another file which tells ffmpeg all the files to +concatenate.

+

Use the following sh to generate a file that ffmpeg can understand:

+
        for i in *.dv; do echo "file '$i'" >> files.txt; done 
+
+

TIP Did you know bash has a shorthand non-posix for loop?

+
        for i in *.dv; { echo "file '$i' >> files.txt; }
+
+

NOTE The space after the { is needed

+

Now use the resultant files.txt to create a single test clip of the whole lot:

+
        ffmpeg -f concat -safe 0 -i files.txt \
+            -c:v libx264 -c:a aac -crf 35 \
+            -preset ultrafast testconcat.mp4
+
+

You can now use this file to create timestamps relative to the whole +concatenated lot.

+

Problem 4 - LP vs SP

+

DV Camera's in the early 2000s started featuring a LP (Long Play) feature which +allowed them to drop the sample rate on the audio (and maybe video?) significantly +in order to fit more on the tape. This introduces a problem for ffmpeg.

+

If multiple clips on a single tape switch between LP and SP (Short Play or +standard play) then ffmpeg would only see what it encountered when it +first probed the file. The result could be video/audio playing either very fast +(chipmunk voice) or very slow. The trick here is to slice the .dv file far +enough in that ffmpeg's probe matches the clip of audio you begin to transcode. +It is not enough to simple specify the start position using -ss. +As ffmpeg will probe the start of the file, not the start specified by +-ss.

+

So we come now to the next tool in the unix tool belt dd. We can use dd to copy +a file but tell it to skip x bytes. Eg

+
        dd if=dvgrab-001.dv of=testdv.dv bs=1M skip=100
+
+

Using bs=1M and skip=100 will create a new file that will skip roughly 100 +megabytes of video at the start. Depending on where you clip begins/ends, you +will have to fiddle with the skip option and if you need more granular +control, you could reduce the bs (byte size) down into the kilobyte range.

+

If the resulting output file starts at the clip you are wanting to produce, you +could now replace the original dvgrab file from your tracks list file with the +newly generated file.

+

Tags: ffmpeg, dd, cli

+ + + + + + + + +
+ +
+ diff --git a/video-editing-from-the-command-line.md b/video-editing-from-the-command-line.md new file mode 100644 index 0000000..ab4137e --- /dev/null +++ b/video-editing-from-the-command-line.md @@ -0,0 +1,206 @@ +Video editing from the command line + +I previously posted about [capturing video in +Linux](converting-vhs-and-dv-to-modern-formats---part-1.html). 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. + +--- + +Firstly, there isn't a shortage of gui apps for editing video on Linux for very +basic editing. My requirements are very simple. I need to be able to cut and +join various video files, and product 2 output files. A file for hosting on the +web and a file for archival purposes. + +Problem 1 - Audio Sync +---------------------- + +I started out myself with [pitivi](http://www.pitivi.org/) and tried a few others. +My trouble with each editor was speed and accuracy (also my brain). On some +videos I had to adjust the audio sync and was driven mad by moving audio tracks +around. I had alot of trouble knowing if the audio was starting too early or too +late and which way to move the audio to correct it. + +With a gui editor, this involves click and dragging an audio track one way or +another (for accuracy, you have to zoom in very far). Once zoomed in and you +move the track, you then need to zoom out, place the play head, click play and +then make a judgement if you made it better or worse. + +For some reason, my brain could never tell exactly which way to move the audio +until it was way too far in the wrong direction. This was a source of +frustration that I initially solved using ffmpeg on the command line. + +Using ffmpeg I wrote a very simple sh script to output a small time slice of +the video many times with different audio offsets. Then it was simply a matter +of watching each video and picking the right one. The resulting audio offset +that was used for that video can then be used on the entire clip. + +Firstly, start by creating a small snippet of video where you will clearly be +able to see if the video is synced up. + + ffmpeg -i bigclip.mp4 -c copy -ss 00:01:55 -to 00:02:00 Small.mp4 + +Now we will use the following script + + #!/bin/sh + + # fixaudiodelay.sh + + Offset="${2}" + inputFile="${1}" + outputFile="${inputFile%%.*}-delayed${Offset}.mp4" + out="${3:-$outputFile}" + ffmpeg -i "${inputFile}" -itsoffset "${Offset}" \ + -i "${inputFile}" -map 0:v -map 1:a -c copy "${out}" + +The script will take parameter 1 is the clip, and parameter 2 is the audio +offset. We can use `seq` to generate a list of offsets to try and `xargs` to run +them. + + seq -2.0 .1 2.0 | xargs -n1 ./fixaudiodelay.sh Small.mp4 + +The result is 41 clips with .1 second offset difference. Play them all and find +the best offset. Then when you could use `./fixaudiodelay.sh BigClip.mp4 -1.7` +(or whatever was the best offset) to correct the entire file. + +Problem 2 - Perfect splitting +----------------------------- + +The second problem I had with gui editors, is that many home videos are +completely different scenes butted up against each other on the tape. When +transferring these to a new modern format, we want our audience to be able to +skip the scenes. + +With the gui editors, again we have the problem of accuracy along with the +inability to at once, save all the clips from the single file. Say you have 4 +distinct clips in a file. How can you mark each clip as a separate file then +press encode and walk away? You can't you would have to create 3 separate +projects and encode each one separately. + +Solving it with ffmpeg is easier than you might think. When I showed cutting a +clip earlier, you can use the `-ss` parameter to declare where to start from in +the clip, and the `-to` parameter to declare the end. How I've solved it is like +this. + +1. Create a track file which lists all the clips start, end and titles. I chose + to separate each clip by a line, and each parameter by a `-` dash. Eg + + 00:00:00-00:10:05-SnowTrip + 00:10:05.6-00:13:02-PlayingAtThePark + +2. I came up with the start and end positions, simply by marking down the times + while watching the clip using mpv or vlc. However, the proof is in the + pudding, so I use ffmpeg with some parameters to produce test video files. + These won't be good enough quality to upload to the web, but are sufficient + for verifying the time stamps and are very quick to encode and see the + results. + + **Note** _You can't use the `copy` codec when cutting clips. As the keyframes + are not recreated_ + + while IFS=- read START END TITLE + do + OUTFILE="${TITLE}-Test.mp4" + ffmpeg -nostdin -i BigClip.mp4 -c:v libx264 \ + -c:a aac -ss $START -to $END -preset ultrafast \ + $OUTFILE + done < tracks.txt + +3. After viewing the resulting files, I can make minute adjustments to the track + file so the clips are perfect. Then I adjust for a better file for the web by + changing the preset to `veryslow` and adding the following parameters + + -crf 23 -movflags faststart + +4. Additionally in some cases, I add some video filters. I've found the + following work well: + + + + + + + + + + + + + + + + + + + + + + +
Desired affectParameter
Increase volume-filter:a "volume=2.0"
Deinterlace-vf "yadif"
Archival QualityReplace libx264 with libx265
+ +Problem 3 - Joining videos +-------------------------- + +The last problem I will discuss may only be a problem on Linux. While many of my +video files are converted from VHS using a composite to usb converter, some are +coming from DV tape. DV Tape stores it's data digitally in Mpeg-2 on a magnetic +tape. On Linux, I've been able to transfer these files using FireWire and a +command line tool `dvgrab`. The resultant content is many 1gb .dv files. + +While these files can individually be processed by ffmpeg, it is more ideal to +join them into a single clip for processing so that you can grab clips that span +multiple files and use a single set of timestamps for processing. To adjust +ffmpeg for this use, we use another file which tells ffmpeg all the files to +concatenate. + +Use the following sh to generate a file that ffmpeg can understand: + + for i in *.dv; do echo "file '$i'" >> files.txt; done + +**TIP** _Did you know bash has a shorthand non-posix for loop?_ + + for i in *.dv; { echo "file '$i' >> files.txt; } + +**NOTE** _The space after the `{` is needed_ + +Now use the resultant files.txt to create a single test clip of the whole lot: + + ffmpeg -f concat -safe 0 -i files.txt \ + -c:v libx264 -c:a aac -crf 35 \ + -preset ultrafast testconcat.mp4 + +You can now use this file to create timestamps relative to the whole +concatenated lot. + +Problem 4 - LP vs SP +-------------------- + +DV Camera's in the early 2000s started featuring a LP (Long Play) feature which +allowed them to drop the sample rate on the audio (and maybe video?) significantly +in order to fit more on the tape. This introduces a problem for ffmpeg. + +If multiple clips on a single tape switch between LP and SP (Short Play or +standard play) then ffmpeg would only **see** what it encountered when it +first probed the file. The result could be video/audio playing either very fast +(chipmunk voice) or very slow. The trick here is to slice the .dv file far +enough in that ffmpeg's probe matches the clip of audio you begin to transcode. +It is not enough to simple specify the start position using `-ss`. +As ffmpeg will probe the start of the file, not the start specified by +`-ss`. + +So we come now to the next tool in the unix tool belt `dd`. We can use `dd` to copy +a file but tell it to **skip** x bytes. Eg + + dd if=dvgrab-001.dv of=testdv.dv bs=1M skip=100 + +Using `bs=1M` and `skip=100` will create a new file that will skip roughly 100 +megabytes of video at the start. Depending on where you clip begins/ends, you +will have to fiddle with the `skip` option and if you need more granular +control, you could reduce the `bs` (byte size) down into the kilobyte range. + +If the resulting output file starts at the clip you are wanting to produce, you +could now replace the original dvgrab file from your tracks list file with the +newly generated file. + +Tags: ffmpeg, dd, cli diff --git a/vim-and-powershell.html b/vim-and-powershell.html new file mode 100644 index 0000000..8de8e8a --- /dev/null +++ b/vim-and-powershell.html @@ -0,0 +1,103 @@ + + + + + + + +Vim and Powershell + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim and Powershell +

+ +
March 31, 2019 — +Jesse Harris +
+ +

Back in the days when Powershell was just a young pup there were a few +Vim users contributing to Vim via plugins to make writing powershell +a nicer experience. Syntax highlighting, auto filetype detection, snippets +and other quality of life things.

+
+

Since then, the release and rise of VSCode with it's strong Powershell +integrations have drawn most developer types away from Vim and new QOL features +have been few and far between.

+

I haven't given up on using Vim for powershell however for a few reasons:

+
    +
  • Battery life.
  • +
+

I spend most of my time running off laptops, and VSCode and other electron + based apps are designed for development speed first, execution speed second. + Running a terminal based app all day vs running an electron app can make + a serious difference to your battery life.

+
    +
  • Updates too often.
  • +
+

Every update to a tool like VSCode broadens it's audience and makes it a + great tool for more people. This is great to make an app with thousands of + features that each user will use a tiny sliver of those features. + I, on the other hand don't need or want 99% of those features.

+
    +
  • Focusing your skills
  • +
+

I'm pretty much a generalist in skills in IT, but there are a few tools + were I keep my focus to be as effective as possible. Using Vim well is one + of them

+

So with all this, I have been searching for a while for a plugin to make some +QOL improvements to Vim. A couple of months ago I stumbled upon ale a +general plugin that can be adapted to any language. It started out for +linting as the name implies, but it had grown to support fixing and +completion too.

+

At the time, there was an issue +raised to add PSScriptAnalyzer as a linter, and so I decided to see if +I could understand how to add a linter to ale.

+

I didn't know the VimScript language and trawling through the ale codebase +didn't make much sense to me. The project has some developer documentation, +however it assumes pre-knowledge of VimScript. That's when I did something +out of character. I read a book. Learn VimScript The Hard Way by Steve +Losh. It was a fun and enjoyable read, especially following along with the +exercises. I highly recommend reading it, even if you only have an interest +in using Vim.

+

Toward about half-way through reading the book, I felt confident enough to +have another crack at the PSScriptAnalyzer linter. This time the codebase +made much more sense to me and I was able to get a nicely working prototype +done in a morning.

+

Since then, I've written some tests, documentation and created a pull request +which was merged today on the ale project.

+

To use it, you just need to install the ale plugin. It defaults to using +PowerShell core, so if you want to use powershell.exe you will need to read +the help: :help ale-powershell to see the variable to override this setting. +Of course you will also need to have the PSScriptAnalyzer module installed.

+

Finally, there is one issue you can encounter particularly on windows +(btw, I've used it fine on Linux and MacOS), if you launch Vim using +powershell.exe but ale is using pwsh.exe, Vim will pass it's inherited +environment variables to it's child processes. This can lead to an issue where +the variable $Env:PSModulePath contains paths for powershell.exe and not +pwsh.exe, therefore if you don't have the PSScriptAnalyzer module installed +in both shells, ale won't be able to do any linting for you.

+

Tags: powershell, vim, ale

+ + + + + + + + + + + +
+ +
+ diff --git a/vim-and-powershell.md b/vim-and-powershell.md new file mode 100644 index 0000000..5706d66 --- /dev/null +++ b/vim-and-powershell.md @@ -0,0 +1,82 @@ +Vim and Powershell + +Back in the days when Powershell was just a young pup there were a few +Vim users contributing to Vim via [plugins][1] to make writing powershell +a nicer experience. Syntax highlighting, auto filetype detection, snippets +and other quality of life things. + +--- + +Since then, the release and rise of VSCode with it's strong Powershell +integrations have drawn most developer types away from Vim and new QOL features +have been few and far between. + +I haven't given up on using Vim for powershell however for a few reasons: + +* Battery life. + + I spend most of my time running off laptops, and VSCode and other electron + based apps are designed for development speed first, execution speed second. + Running a terminal based app all day vs running an electron app can make + a serious difference to your battery life. + +* Updates too often. + + Every update to a tool like VSCode broadens it's audience and makes it a + great tool for more people. This is great to make an app with thousands of + features that each user will use a tiny sliver of those features. + I, on the other hand don't need or want 99% of those features. + +* Focusing your skills + + I'm pretty much a generalist in skills in IT, but there are a few tools + were I keep my focus to be as effective as possible. Using Vim well is one + of them + +So with all this, I have been searching for a while for a plugin to make some +QOL improvements to Vim. A couple of months ago I stumbled upon [ale][2] a +general plugin that can be adapted to any language. It started out for +[linting][3] as the name implies, but it had grown to support fixing and +completion too. + +At the time, there was an [issue](https://github.com/w0rp/ale/issues/1264) +raised to add [PSScriptAnalyzer][4] as a linter, and so I decided to see if +I could understand how to add a linter to ale. + +I didn't know the [VimScript][5] language and trawling through the ale codebase +didn't make much sense to me. The project has some developer documentation, +however it assumes pre-knowledge of VimScript. That's when I did something +out of character. I read a book. [Learn VimScript The Hard Way][6] by Steve +Losh. It was a fun and enjoyable read, especially following along with the +exercises. I highly recommend reading it, even if you only have an interest +in using Vim. + +Toward about half-way through reading the book, I felt confident enough to +have another crack at the PSScriptAnalyzer linter. This time the codebase +made much more sense to me and I was able to get a nicely working prototype +done in a morning. + +Since then, I've written some tests, documentation and created a pull request +which was merged today on the ale project. + +To use it, you just need to install the ale plugin. It defaults to using +PowerShell core, so if you want to use `powershell.exe` you will need to read +the help: `:help ale-powershell` to see the variable to override this setting. +Of course you will also need to have the PSScriptAnalyzer module installed. + +Finally, there is one issue you can encounter particularly on windows +(btw, I've used it fine on Linux and MacOS), if you launch Vim using +`powershell.exe` but ale is using `pwsh.exe`, Vim will pass it's inherited +environment variables to it's child processes. This can lead to an issue where +the variable `$Env:PSModulePath` contains paths for `powershell.exe` and not +`pwsh.exe`, therefore if you don't have the PSScriptAnalyzer module installed +in both shells, ale won't be able to do any linting for you. + +Tags: powershell, vim, ale + +[1]:https://github.com/PProvost/Vim-ps1 +[2]:https://github.com/w0rp/ale +[3]:https://en.wikipedia.org/wiki/Lint_%28software%29 +[4]:https://github.com/PowerShell/PSScriptAnalyzer +[5]:https://en.wikipedia.org/wiki/Vim_(text_editor)#Vim_script +[6]:http://learnvimscriptthehardway.stevelosh.com/ diff --git a/vim-links.html b/vim-links.html new file mode 100644 index 0000000..22603e6 --- /dev/null +++ b/vim-links.html @@ -0,0 +1,48 @@ + + + + + + + +Vim Links + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim Links +

+ +
March 28, 2019 — +Jesse Harris +
+ +

This article will simply contain links I find usefull for vim

+
+ +

Tags: vim-tips, links

+ + + + + + + + + + + +
+ +
+ diff --git a/vim-links.md b/vim-links.md new file mode 100644 index 0000000..6ef3542 --- /dev/null +++ b/vim-links.md @@ -0,0 +1,14 @@ +Vim Links + +This article will simply contain links I find usefull for vim + +--- + +* David Winterbottom [Debugging Vim by example][1] +* Peter Provost [vim-ps1 Powershell filetype plugin][2] + + +Tags: vim-tips, links + +[1]:https://codeinthehole.com/tips/debugging-vim-by-example/ +[2]:https://github.com/PProvost diff --git a/vim-odd-jobs-1.html b/vim-odd-jobs-1.html new file mode 100644 index 0000000..64babb2 --- /dev/null +++ b/vim-odd-jobs-1.html @@ -0,0 +1,146 @@ + + + + + + + +Vim Odd Jobs 1 + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim Odd Jobs 1 +

+ +
March 30, 2019 — +Jesse Harris +
+ +

Today Clarissa did the shopping and as she was in a rush didn't have the time +to total the items in the trolley. She had updated the cost of each item in a +shared iCloud note and texted me to see if I could quickly add them up on my +computer.

+
+

This is the point where most people would pull out calc.exe and manually sum +them. Not I!.

+

I fired up the iCloud site on my machine and copy and pasted the iCloud note to +a fresh vim buffer:

+
    Shopping 2019
+    1st Isle:
+    Vedge
+    Potatoes 4 + 6 6 3 3 5 16.99 2 2 3 3 4.99 5.99 5.99 5.99 12.15 7.99 7.99 8.99
+    Other vedge for a meat + vedge dinner
+    Meats
+    Chicken dinner with a sauce (Indian or Apricot or some other chicken + rice meal)
+    Lunch Chicken
+    Sausages
+    Kids Junk Food
+    Tiny Teddies (Olivia’s request) 2.49 2.49
+    Flavoured Rice Cakes 6
+    Crackers 2.49 2.49
+    Dairy 2.69
+    Big tub of greek yogurt
+    Vanilla Bean Yogurt 3.99 3.99 3.99
+    Butter  - 4.99 4.99 4.99
+    Milk Powder  - 5.69 5.69 5.69
+    Second Isle
+    Corn Chips for Nachos
+    Nacho Salsa
+    Popcorn 2.49 2.49 9.98
+    A Cordial or somesuch 2.49
+    Third Isle
+    Frozen
+    Pies 3.55 3
+    Lasagne? 12
+    French Fires 1.89 1.89
+    Chicken Nuggets 2.99 2.99
+    Cleaning
+    Garbage Bags 1.79
+    Mozzie Coils
+    Last Isle
+    Food
+    Spaghetti Pasta .65 .65 1.59 1.59
+    Tinned Beetroot 1.15
+    Tinned Spagetti * .85 .85 .85
+    Indian or rice meal sauce 2.49 .99
+    Personal
+    Soap 1.99 3.49
+    Food
+    Brown Sugar 2.69
+    Bread 1.25 1.25
+    Wraps 1.95 1.95
+    2.99
+    8.49
+    1.99 1.99 1.99
+
+

My thought was this:

+
    +
  • Do a search and replace on everything bar the numbers
  • +
  • Quickly tally the numbers using bc
  • +
+

Step 1. Find the search

+

Best way to figure out a regular expression in vim is to enable these two +settings:

+
    :set hlsearch incsearch
+
+

With these set, you can begin a search by typing / then as you type results +are instantly highlighted.

+

After a few tries with negative lookbehinds and whatnot, I settled on this:

+
    /\v[a-zA-Z()+*?\- :]
+
+

The \v causes Vim to use a more modern regex pattern requiring far less +escape characters.

+

Run the search

+

I then ran the search of the whole file:

+
    :%s/\v[a-zA-Z()+*?\- :]/ /g
+
+

Then all I had to do was clean up double spaces and the blank lines

+
    :%s/\v^\s+//g    " removing leading spaces
+    :g/\v^$/d        " delete blank lines
+
+

Convert it to a format that bc would like

+
    :%s/\v\s/+/g     " replace spaces with +
+    :%s/\v\n/+/g     " replace newlines with +
+    :%s/\v\+$//g     " remove any trailing +'s
+
+

Tally with BC

+

You can do this from within Vim using the ! command or drop the shell and +do it

+
    :!cat % | bc
+
+

Now all that may seem a little over the top for tallying a shopping list, +however it's little exercises like this that can help you learn more vim, +regex, shell and other useful things

+

Extra credit

+

You could of course you another tool to add the numbers up. Here is how to do +it using awk having each number on a seperate line:

+
    :!awk '{n+=$1}; END{print n}' %
+
+

Using powershell each number on seperate line

+
    :!pwsh -com "&{gc %|\%{[double]\$n+=\$_};\$n}"
+
+

Credit for awk and bc goes to this askubuntu answer.

+

Tags: vim-tips, vim-odd-jobs

+ + + + + + + + + + + +
+ +
+ diff --git a/vim-odd-jobs-1.md b/vim-odd-jobs-1.md new file mode 100644 index 0000000..0a41b28 --- /dev/null +++ b/vim-odd-jobs-1.md @@ -0,0 +1,130 @@ +Vim Odd Jobs 1 + +Today Clarissa did the shopping and as she was in a rush didn't have the time +to total the items in the trolley. She had updated the cost of each item in a +shared iCloud note and texted me to see if I could quickly add them up on my +computer. + +--- + +This is the point where most people would pull out `calc.exe` and manually sum +them. Not I!. + +I fired up the iCloud site on my machine and copy and pasted the iCloud note to +a fresh vim buffer: + + Shopping 2019 + 1st Isle: + Vedge + Potatoes 4 + 6 6 3 3 5 16.99 2 2 3 3 4.99 5.99 5.99 5.99 12.15 7.99 7.99 8.99 + Other vedge for a meat + vedge dinner + Meats + Chicken dinner with a sauce (Indian or Apricot or some other chicken + rice meal) + Lunch Chicken + Sausages + Kids Junk Food + Tiny Teddies (Olivia’s request) 2.49 2.49 + Flavoured Rice Cakes 6 + Crackers 2.49 2.49 + Dairy 2.69 + Big tub of greek yogurt + Vanilla Bean Yogurt 3.99 3.99 3.99 + Butter - 4.99 4.99 4.99 + Milk Powder - 5.69 5.69 5.69 + Second Isle + Corn Chips for Nachos + Nacho Salsa + Popcorn 2.49 2.49 9.98 + A Cordial or somesuch 2.49 + Third Isle + Frozen + Pies 3.55 3 + Lasagne? 12 + French Fires 1.89 1.89 + Chicken Nuggets 2.99 2.99 + Cleaning + Garbage Bags 1.79 + Mozzie Coils + Last Isle + Food + Spaghetti Pasta .65 .65 1.59 1.59 + Tinned Beetroot 1.15 + Tinned Spagetti * .85 .85 .85 + Indian or rice meal sauce 2.49 .99 + Personal + Soap 1.99 3.49 + Food + Brown Sugar 2.69 + Bread 1.25 1.25 + Wraps 1.95 1.95 + 2.99 + 8.49 + 1.99 1.99 1.99 + +My thought was this: + +* Do a search and replace on everything bar the numbers +* Quickly tally the numbers using [`bc`][1] + +### Step 1. Find the search + +Best way to figure out a regular expression in vim is to enable these two +settings: + + :set hlsearch incsearch + +With these set, you can begin a search by typing `/` then as you type results +are instantly highlighted. + +After a few tries with negative lookbehinds and whatnot, I settled on this: + + /\v[a-zA-Z()+*?\- :] + +The `\v` causes Vim to use a more modern regex pattern requiring far less +escape characters. + +### Run the search + +I then ran the search of the whole file: + + :%s/\v[a-zA-Z()+*?\- :]/ /g + +Then all I had to do was clean up double spaces and the blank lines + + :%s/\v^\s+//g " removing leading spaces + :g/\v^$/d " delete blank lines + +### Convert it to a format that bc would like + + :%s/\v\s/+/g " replace spaces with + + :%s/\v\n/+/g " replace newlines with + + :%s/\v\+$//g " remove any trailing +'s + +### Tally with BC + +You can do this from within Vim using the `!` command or drop the shell and +do it + + :!cat % | bc + +Now all that may seem a little over the top for tallying a shopping list, +however it's little exercises like this that can help you learn more vim, +regex, shell and other useful things + +#### Extra credit + +You could of course you another tool to add the numbers up. Here is how to do +it using `awk` having each number on a seperate line: + + :!awk '{n+=$1}; END{print n}' % + +Using powershell _each number on seperate line_ + + :!pwsh -com "&{gc %|\%{[double]\$n+=\$_};\$n}" + +Credit for awk and bc goes to this [askubuntu][2] answer. + +Tags: vim-tips, vim-odd-jobs + +[1]:https://www.gnu.org/software/bc/manual/html_mono/bc.html +[2]:https://askubuntu.com/questions/785038/how-can-i-sum-numbers-on-lines-in-a-file diff --git a/vim-quickfix-and-powershell-revisited.html b/vim-quickfix-and-powershell-revisited.html new file mode 100644 index 0000000..ccabf1d --- /dev/null +++ b/vim-quickfix-and-powershell-revisited.html @@ -0,0 +1,122 @@ + + + + + + + +Vim Quickfix and PowerShell revisited + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim Quickfix and PowerShell revisited +

+ +
August 21, 2019 — +Jesse Harris +
+ +

Pretty much any language can be made to work well with Vim without having to +resort to Plugins. That's the beauty of it. Vim is a tool, PowerShell is a tool. +It's worth getting to know your tools intermitly to become an expert.

+
+

I won't say I'm an expert, but I have been enjoying using some more advanced +features of Vim and PowerShell lately. That's why when Enno wrote in +originally, I was eager to find a solution.

+

Recently Enno wrote in again

+
+

Dear Jesse,

+

I found no issue tracker in your repository +https://github.com/zigford/vim-powershell, therefore let me try to +reach out to you by mail:

+

Currently, one cannot jump to the error shown in the quickfix list, +because the file name is not contained in the output of &makeprg. Sadly, +:help errorfmt says

+

If the error format does not contain a file name Vim cannot switch to the +correct file. You will have to do this by hand.

+

But perhaps the parameters passed to pwsh can be tweaked so that the +file name shows up at some point?

+

Best wishes

+

Enno

+
+

That was about a month ago. Apologies for the delayed response Enno, I've been +busy playing with Gentoo on my new Raspberry Pi 4.

+

Anyway, tonight I decided to investigate how to solve the problem.

+

The problem can be summed up in 2 parts.

+
    +
  1. How to make PowerShell emit the filename
  2. +
  3. How to read the filename with errorformat
  4. +
+

Emit the FileName!

+

This one didn't take me too long to figure out. When I first borrowed code +from keith hill, I looked and understood what was happening conceptually +but did not think to use the interactive nature of PowerShell and see what else +it could do.

+

Anyway, tonight, the good ole Get-Member makes a solution bleeding obvious:

+
        $ExecutionContext.InvokeCommand|Get-Member
+
+        Name                    MemberType
+        ----                    ----------
+        InvokeScript            Method     
+        NewScriptBlock          Method
+        ToString                Method
+        CommandNotFoundAction   Property   
+        HasErrors               Property   
+        LocationChangedAction   Property   
+        PostCommandLookupAction Property   
+        PreCommandLookupAction  Property   
+
+

Using Keith Hills, code I quick adapt to using InvokeScript which probably (and +doesn't) need to be joining strings arrays together anymore.

+

Here, I demonstrate:

+
        trap {$_.tostring();continue}&{
+        >> [void]$ExecutionContext.InvokeCommand.InvokeScript('./bad.ps1')
+        >> }
+        At /Users/jpharris/bad.ps1:1 char:16
+        + function silly {
+        +                ~
+        Missing closing '}' in statement block or type definition.
+
+

So finally we have the filename where 'line' used to be before. All that's left +to do now is update the errorformat.

+

Errorformat

+

I say to myself "this shouldn't be too hard", and this is what I think should +work:

+
        set errorformat=%EAt\ %f:%l\ char:%c,%-C+%.%#,%Z%m,%-G\\s%#
+
+

But it doesn't! And I sit there for a few hours trying to debug it. Why won't it +work? The silly thing is, it does work and the errorformat is correct, but today +is one of those days I get to learn something new about Vim (just like every +other day).

+

I haven't been setting the errorformat in my vim window (I'm not a monster). +I've been setting it by editing the compiler PowerShell.vim file in my plugin.

+

I decide to check if the errorformat is being set correctly with:

+
        verbose set errorformat?
+        errorformat=%EAt line:%l char:%c,%-+%.%#,%Z%m,%-G\s%#
+            Last set from ~/.vimother/views/~=+bad.ps1= line 29
+
+

Ahuh! I did not know it, but errorformat can be saved into a view, therefore I +was never testing any of my changes!

+

Anyway, I best upload my change to github and head off to sleep.

+

Tags: vim, powershell

+ + + + + + + + + +
+ +
+ diff --git a/vim-quickfix-and-powershell.html b/vim-quickfix-and-powershell.html new file mode 100644 index 0000000..3bdf0cf --- /dev/null +++ b/vim-quickfix-and-powershell.html @@ -0,0 +1,126 @@ + + + + + + + +Vim Quickfix and PowerShell + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim Quickfix and PowerShell +

+ +
June 02, 2019 — +Jesse Harris +
+ +

Enno wrote in with a question on how Ale set's +Vim's makeprg and errorformat options when working with PowerShell.

+
+

Under the hood, I'm not sure if Ale uses those Vim features for processing +command output. Thus I'm not able to capture what those settings would look +like for PowerShell.

+

However the question did pique my curiosity and I'm interested in what the +options would look like if you wanted to parse PowerShell without Ale.

+

makeprg

+

Disclaimer

+

My understanding of many Vim features is limited, so take what you learn here +with a grain of salt.

+

makeprg defaults to the command make. That way you can enter :make and +have your current project compiled without leaving Vim. Alongside that, the +output is parsed using a string option errorformat.

+

In order for PowerShell to produce some syntax checking output, you can run a +small script over the code and parse it's output. Therefore I embedded the +script into the makeprg option like so:

+
    set makeprg=pwsh\ -command\ \"&{
+        \trap{$_.tostring();continue}&{
+        \$c=gc\ '%';$c=[string]::join([environment]::newline,$c);
+        \[void]$executioncontext.invokecommand.newscriptblock($c)
+        \}
+    \}\"
+
+

This works on win32 and you can see the resulting output by opening the quickfix +window with :copen

+

Unfortunately, on Unix, the most likely default shell will eat the PowerShell +$Variables so they must be escaped:

+
    set makeprg=pwsh\ -command\ \"&{
+        \trap{\\$_.tostring\();continue}&{
+        \\\$c=gc\ '%';\\$c=[string]::join([environment]::newline,\\$c);
+        \[void]\\$executioncontext.invokecommand.newscriptblock(\\$c)
+        \}
+    \}\"
+
+

Now that makeprg is good to go, time to sort out the errorformat.

+

errorformat

+

Errorformat uses scanf type parsing (which I had to google) that is a parsing +format used by c and other languages.

+

I spent a couple of hours today working this out by trial-and-error. While Vim's +:help errorformat documentation is great, particularly by including so many +examples, I didn't take the time to read it thoroughly initially.

+

Here is the winning formula:

+
    set errorformat=%EAt\ line:%l\ char:%c,%-C+%.%#,%Z%m,%-G\\s%#
+
+

Explanation:

+
    +
  • %E tells Vim to begin capturing a multi-line message
  • +
  • At\ line:%l records the line number where %l is
  • +
  • \ char:%c records the column number where %c is
  • +
  • %-C+%.%# continues a multi-line message, but removes this line from the + message if it contains + followed by .* regex
  • +
  • %Z%m tells Vim that this is the last line of a multi-line message and uses + the whole line
  • +
  • %-G\\s%# tells vim to discard lines that are full whitespace
  • +
+

VimRC

+

While I'm not sure I'll use this, as I like Ale, I hope it is useful to someone +out there, you could put it in your .vimrc like this:

+
    augroup powershell
+        autocmd!
+        autocmd BufNewFile,BufRead *.ps1,*.psm1 setlocal FileType=powershell
+        autocmd FileType powershell setlocal errorformat=%EAt\ line:%l\ char:%c,
+            \%-C+%.%#,
+            \%Z%m,
+            \%-G\\s%#
+        if has('win32')
+            autocmd FileType powershell set makeprg=pwsh\ -command\ \"&{
+                \trap{$_.tostring();continue}&{
+                \$c=gc\ '%';$c=[string]::join([environment]::newline,$c);
+                \[void]$executioncontext.invokecommand.newscriptblock($c)
+                \}
+            \}\"
+        else
+            autocmd FileType powershell set makeprg=pwsh\ -command\ \"&{
+                \trap{\\$_.tostring\();continue}&{
+                \\\$c=gc\ '%';\\$c=[string]::join([environment]::newline,\\$c);
+                \[void]\\$executioncontext.invokecommand.newscriptblock(\\$c)
+                \}
+            \}\"
+        endif
+    augroup END
+
+

Tags: powershell, vim

+ + + + + + + + + + + +
+ +
+ diff --git a/vim-quickfix-and-powershell.md b/vim-quickfix-and-powershell.md new file mode 100644 index 0000000..73cff7e --- /dev/null +++ b/vim-quickfix-and-powershell.md @@ -0,0 +1,105 @@ +Vim Quickfix and PowerShell + +Enno wrote in with a question on how [Ale](https://github.com/w0rp/ale) set's +Vim's `makeprg` and `errorformat` options when working with PowerShell. + +--- + +Under the hood, I'm not sure if Ale uses those Vim features for processing +command output. Thus I'm not able to capture what those settings would look +like for PowerShell. + +However the question did pique my curiosity and I'm interested in what the +options would look like if you wanted to parse PowerShell without Ale. + +### makeprg + +**Disclaimer** + +My understanding of many Vim features is limited, so take what you learn here +with a grain of salt. + +`makeprg` defaults to the command `make`. That way you can enter `:make` and +have your current project compiled without leaving Vim. Alongside that, the +output is parsed using a string option `errorformat`. + +In order for PowerShell to produce some syntax checking output, you can run a +small script over the code and parse it's output. Therefore I embedded the +script into the `makeprg` option like so: + + set makeprg=pwsh\ -command\ \"&{ + \trap{$_.tostring();continue}&{ + \$c=gc\ '%';$c=[string]::join([environment]::newline,$c); + \[void]$executioncontext.invokecommand.newscriptblock($c) + \} + \}\" + +This works on win32 and you can see the resulting output by opening the quickfix +window with `:copen` + +Unfortunately, on Unix, the most likely default shell will eat the PowerShell +`$Variables` so they must be escaped: + + set makeprg=pwsh\ -command\ \"&{ + \trap{\\$_.tostring\();continue}&{ + \\\$c=gc\ '%';\\$c=[string]::join([environment]::newline,\\$c); + \[void]\\$executioncontext.invokecommand.newscriptblock(\\$c) + \} + \}\" + +Now that `makeprg` is good to go, time to sort out the errorformat. + +###errorformat + +Errorformat uses scanf type parsing (which I had to google) that is a parsing +format used by c and other languages. + +I spent a couple of hours today working this out by trial-and-error. While Vim's +`:help errorformat` documentation is great, particularly by including so many +examples, I didn't take the time to read it thoroughly initially. + +Here is the winning formula: + + set errorformat=%EAt\ line:%l\ char:%c,%-C+%.%#,%Z%m,%-G\\s%# + +Explanation: + +* `%E` tells Vim to begin capturing a multi-line message +* `At\ line:%l` records the line number where %l is +* `\ char:%c` records the column number where %c is +* `%-C+%.%#` continues a multi-line message, but removes this line from the + message if it contains + followed by .\* regex +* `%Z%m` tells Vim that this is the last line of a multi-line message and uses + the whole line +* `%-G\\s%#` tells vim to discard lines that are full whitespace + +###VimRC + +While I'm not sure I'll use this, as I like Ale, I hope it is useful to someone +out there, you could put it in your .vimrc like this: + + augroup powershell + autocmd! + autocmd BufNewFile,BufRead *.ps1,*.psm1 setlocal FileType=powershell + autocmd FileType powershell setlocal errorformat=%EAt\ line:%l\ char:%c, + \%-C+%.%#, + \%Z%m, + \%-G\\s%# + if has('win32') + autocmd FileType powershell set makeprg=pwsh\ -command\ \"&{ + \trap{$_.tostring();continue}&{ + \$c=gc\ '%';$c=[string]::join([environment]::newline,$c); + \[void]$executioncontext.invokecommand.newscriptblock($c) + \} + \}\" + else + autocmd FileType powershell set makeprg=pwsh\ -command\ \"&{ + \trap{\\$_.tostring\();continue}&{ + \\\$c=gc\ '%';\\$c=[string]::join([environment]::newline,\\$c); + \[void]\\$executioncontext.invokecommand.newscriptblock(\\$c) + \} + \}\" + endif + augroup END + +Tags: powershell, vim diff --git a/vim-tip-edit-macro.html b/vim-tip-edit-macro.html new file mode 100644 index 0000000..2c07278 --- /dev/null +++ b/vim-tip-edit-macro.html @@ -0,0 +1,86 @@ + + + + + + + +Vim tips, macro's + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Vim tips, macro's +

+ +
September 02, 2018 — +Jesse Harris +
+ + +

Google it and you will find a couple of methods to edit vim macros. Here is +the method I like and will continue to use.

+ +
+ +

The following will paste a register to a new line, you edit the line and then +yank the content back to the register

+ +
    +
  1. Go to a new line
  2. +
  3. In normal mode enter "qp where q is the register
  4. +
  5. Edit the line (use Ctrl+V Ctrl+M to add a return)
  6. +
  7. Type "qyy to yank the line into register q
  8. +
+ +

Here are some key combo's you would have to type in for insert mode operations

+ +
    +
  • Enter: Ctrl+v Ctrl+m
  • +
  • Escape: Ctrl+v Ctrl+[
  • +
+ +

You can also add a macro into your vimrc with the following vimscript

+ +
        let @q='oAn inserted macro^['
+
+ +

With this, the macro stored in the q register will use o to open a new line in insert +mode, type 'An inserted macro' and then go back to normal mode.

+ +

If you have any comments or feedback, please email me +and let me know if you will allow your feedback to be posted here.

+ +

Tags: vim-tips, vim, vim-macros

+ + + + + + + + + + + + + + + + + + + + + +
+ +
+ diff --git a/vim-tip-edit-macro.md b/vim-tip-edit-macro.md new file mode 100644 index 0000000..2a6feb4 --- /dev/null +++ b/vim-tip-edit-macro.md @@ -0,0 +1,31 @@ +Vim tips, macro's + +Google it and you will find a couple of methods to edit vim macros. Here is +the method I like and will continue to use. + +--- + +_The following will paste a register to a new line, you edit the line and then +yank the content back to the register_ + +1. Go to a new line +2. In normal mode enter `"qp` where q is the register +3. Edit the line (use Ctrl+V Ctrl+M to add a return) +4. Type `"qyy` to yank the line into register q + +Here are some key combo's you would have to type in for insert mode operations + +* Enter: `Ctrl+v Ctrl+m` +* Escape: `Ctrl+v Ctrl+[` + +You can also add a macro into your vimrc with the following vimscript + + let @q='oAn inserted macro^[' + +With this, the macro stored in the q register will use o to open a new line in insert +mode, type 'An inserted macro' and then go back to normal mode. + +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. + +Tags: vim-tips, vim, vim-macros diff --git a/visitors.html b/visitors.html new file mode 100644 index 0000000..dafcc44 --- /dev/null +++ b/visitors.html @@ -0,0 +1,2510 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Statistics generated with VISITORS Web Log Analyzer version 0.7 +
 
General information
Information about analyzed log files
Generated: Sat Feb 29 23:25:07 2020 +
Number of entries processed 144119
Number of invalid entries 0
Processing time in seconds 8
 
Generated reports
Click on the report name you want to see
Number of reports generated 9
 
Unique visitors in each day
Multiple hits with the same IP, user agent and access day, are considered a single visit
Number of unique visitors 7644
Different days in logfile 205
07/Aug/2019   1 (0.0%) + + +
 
+
10/Aug/2019   39 (0.5%) + + +
  
+
11/Aug/2019   63 (0.8%) + + +
  
+
12/Aug/2019   52 (0.7%) + + +
  
+
13/Aug/2019   44 (0.6%) + + +
  
+
14/Aug/2019   61 (0.8%) + + +
  
+
15/Aug/2019   71 (0.9%) + + +
  
+
16/Aug/2019   71 (0.9%) + + +
  
+
17/Aug/2019   57 (0.7%) + + +
  
+
18/Aug/2019   52 (0.7%) + + +
  
+
19/Aug/2019   44 (0.6%) + + +
  
+
20/Aug/2019   72 (0.9%) + + +
  
+
21/Aug/2019   41 (0.5%) + + +
  
+
22/Aug/2019   35 (0.5%) + + +
  
+
23/Aug/2019   28 (0.4%) + + +
  
+
24/Aug/2019   32 (0.4%) + + +
  
+
25/Aug/2019   21 (0.3%) + + +
  
+
26/Aug/2019   31 (0.4%) + + +
  
+
27/Aug/2019   26 (0.3%) + + +
  
+
28/Aug/2019   35 (0.5%) + + +
  
+
29/Aug/2019   36 (0.5%) + + +
  
+
30/Aug/2019   29 (0.4%) + + +
  
+
31/Aug/2019   27 (0.4%) + + +
  
+
01/Sep/2019   19 (0.2%) + + +
  
+
02/Sep/2019   25 (0.3%) + + +
  
+
03/Sep/2019   21 (0.3%) + + +
  
+
04/Sep/2019   28 (0.4%) + + +
  
+
05/Sep/2019   37 (0.5%) + + +
  
+
06/Sep/2019   30 (0.4%) + + +
  
+
07/Sep/2019   29 (0.4%) + + +
  
+
08/Sep/2019   26 (0.3%) + + +
  
+
09/Sep/2019   27 (0.4%) + + +
  
+
10/Sep/2019   34 (0.4%) + + +
  
+
11/Sep/2019   33 (0.4%) + + +
  
+
12/Sep/2019   36 (0.5%) + + +
  
+
13/Sep/2019   30 (0.4%) + + +
  
+
14/Sep/2019   31 (0.4%) + + +
  
+
15/Sep/2019   28 (0.4%) + + +
  
+
16/Sep/2019   26 (0.3%) + + +
  
+
17/Sep/2019   30 (0.4%) + + +
  
+
18/Sep/2019   24 (0.3%) + + +
  
+
19/Sep/2019   29 (0.4%) + + +
  
+
20/Sep/2019   32 (0.4%) + + +
  
+
21/Sep/2019   36 (0.5%) + + +
  
+
22/Sep/2019   27 (0.4%) + + +
  
+
23/Sep/2019   27 (0.4%) + + +
  
+
24/Sep/2019   36 (0.5%) + + +
  
+
25/Sep/2019   27 (0.4%) + + +
  
+
26/Sep/2019   38 (0.5%) + + +
  
+
27/Sep/2019   33 (0.4%) + + +
  
+
28/Sep/2019   127 (1.7%) + + +
 
+
29/Sep/2019   33 (0.4%) + + +
  
+
30/Sep/2019   38 (0.5%) + + +
  
+
01/Oct/2019   27 (0.4%) + + +
  
+
02/Oct/2019   36 (0.5%) + + +
  
+
03/Oct/2019   39 (0.5%) + + +
  
+
04/Oct/2019   49 (0.6%) + + +
  
+
05/Oct/2019   71 (0.9%) + + +
  
+
06/Oct/2019   41 (0.5%) + + +
  
+
07/Oct/2019   30 (0.4%) + + +
  
+
08/Oct/2019   33 (0.4%) + + +
  
+
09/Oct/2019   32 (0.4%) + + +
  
+
10/Oct/2019   35 (0.5%) + + +
  
+
11/Oct/2019   39 (0.5%) + + +
  
+
12/Oct/2019   28 (0.4%) + + +
  
+
13/Oct/2019   39 (0.5%) + + +
  
+
14/Oct/2019   24 (0.3%) + + +
  
+
15/Oct/2019   39 (0.5%) + + +
  
+
16/Oct/2019   31 (0.4%) + + +
  
+
17/Oct/2019   32 (0.4%) + + +
  
+
18/Oct/2019   35 (0.5%) + + +
  
+
19/Oct/2019   31 (0.4%) + + +
  
+
20/Oct/2019   25 (0.3%) + + +
  
+
21/Oct/2019   32 (0.4%) + + +
  
+
22/Oct/2019   31 (0.4%) + + +
  
+
23/Oct/2019   34 (0.4%) + + +
  
+
24/Oct/2019   33 (0.4%) + + +
  
+
25/Oct/2019   35 (0.5%) + + +
  
+
26/Oct/2019   35 (0.5%) + + +
  
+
27/Oct/2019   27 (0.4%) + + +
  
+
28/Oct/2019   44 (0.6%) + + +
  
+
29/Oct/2019   32 (0.4%) + + +
  
+
30/Oct/2019   34 (0.4%) + + +
  
+
31/Oct/2019   31 (0.4%) + + +
  
+
01/Nov/2019   31 (0.4%) + + +
  
+
02/Nov/2019   48 (0.6%) + + +
  
+
03/Nov/2019   30 (0.4%) + + +
  
+
04/Nov/2019   39 (0.5%) + + +
  
+
05/Nov/2019   37 (0.5%) + + +
  
+
06/Nov/2019   42 (0.5%) + + +
  
+
07/Nov/2019   41 (0.5%) + + +
  
+
08/Nov/2019   43 (0.6%) + + +
  
+
09/Nov/2019   36 (0.5%) + + +
  
+
10/Nov/2019   39 (0.5%) + + +
  
+
11/Nov/2019   33 (0.4%) + + +
  
+
12/Nov/2019   43 (0.6%) + + +
  
+
13/Nov/2019   39 (0.5%) + + +
  
+
14/Nov/2019   29 (0.4%) + + +
  
+
15/Nov/2019   34 (0.4%) + + +
  
+
16/Nov/2019   55 (0.7%) + + +
  
+
17/Nov/2019   32 (0.4%) + + +
  
+
18/Nov/2019   42 (0.5%) + + +
  
+
19/Nov/2019   56 (0.7%) + + +
  
+
20/Nov/2019   39 (0.5%) + + +
  
+
21/Nov/2019   41 (0.5%) + + +
  
+
22/Nov/2019   42 (0.5%) + + +
  
+
23/Nov/2019   44 (0.6%) + + +
  
+
24/Nov/2019   30 (0.4%) + + +
  
+
25/Nov/2019   41 (0.5%) + + +
  
+
26/Nov/2019   30 (0.4%) + + +
  
+
27/Nov/2019   32 (0.4%) + + +
  
+
28/Nov/2019   41 (0.5%) + + +
  
+
29/Nov/2019   46 (0.6%) + + +
  
+
30/Nov/2019   34 (0.4%) + + +
  
+
01/Dec/2019   34 (0.4%) + + +
  
+
02/Dec/2019   31 (0.4%) + + +
  
+
03/Dec/2019   40 (0.5%) + + +
  
+
04/Dec/2019   41 (0.5%) + + +
  
+
05/Dec/2019   42 (0.5%) + + +
  
+
06/Dec/2019   46 (0.6%) + + +
  
+
07/Dec/2019   42 (0.5%) + + +
  
+
08/Dec/2019   54 (0.7%) + + +
  
+
09/Dec/2019   44 (0.6%) + + +
  
+
10/Dec/2019   45 (0.6%) + + +
  
+
11/Dec/2019   43 (0.6%) + + +
  
+
12/Dec/2019   43 (0.6%) + + +
  
+
13/Dec/2019   34 (0.4%) + + +
  
+
14/Dec/2019   35 (0.5%) + + +
  
+
15/Dec/2019   46 (0.6%) + + +
  
+
16/Dec/2019   42 (0.5%) + + +
  
+
17/Dec/2019   50 (0.7%) + + +
  
+
18/Dec/2019   41 (0.5%) + + +
  
+
19/Dec/2019   52 (0.7%) + + +
  
+
20/Dec/2019   42 (0.5%) + + +
  
+
21/Dec/2019   36 (0.5%) + + +
  
+
22/Dec/2019   24 (0.3%) + + +
  
+
23/Dec/2019   39 (0.5%) + + +
  
+
24/Dec/2019   50 (0.7%) + + +
  
+
25/Dec/2019   31 (0.4%) + + +
  
+
26/Dec/2019   39 (0.5%) + + +
  
+
27/Dec/2019   38 (0.5%) + + +
  
+
28/Dec/2019   43 (0.6%) + + +
  
+
29/Dec/2019   42 (0.5%) + + +
  
+
30/Dec/2019   54 (0.7%) + + +
  
+
31/Dec/2019   34 (0.4%) + + +
  
+
01/Jan/2020   33 (0.4%) + + +
  
+
02/Jan/2020   33 (0.4%) + + +
  
+
03/Jan/2020   41 (0.5%) + + +
  
+
04/Jan/2020   41 (0.5%) + + +
  
+
05/Jan/2020   34 (0.4%) + + +
  
+
06/Jan/2020   32 (0.4%) + + +
  
+
07/Jan/2020   33 (0.4%) + + +
  
+
08/Jan/2020   40 (0.5%) + + +
  
+
09/Jan/2020   32 (0.4%) + + +
  
+
10/Jan/2020   33 (0.4%) + + +
  
+
11/Jan/2020   40 (0.5%) + + +
  
+
12/Jan/2020   39 (0.5%) + + +
  
+
13/Jan/2020   35 (0.5%) + + +
  
+
14/Jan/2020   44 (0.6%) + + +
  
+
15/Jan/2020   51 (0.7%) + + +
  
+
16/Jan/2020   36 (0.5%) + + +
  
+
17/Jan/2020   40 (0.5%) + + +
  
+
18/Jan/2020   29 (0.4%) + + +
  
+
19/Jan/2020   27 (0.4%) + + +
  
+
20/Jan/2020   26 (0.3%) + + +
  
+
21/Jan/2020   29 (0.4%) + + +
  
+
22/Jan/2020   32 (0.4%) + + +
  
+
23/Jan/2020   34 (0.4%) + + +
  
+
24/Jan/2020   43 (0.6%) + + +
  
+
25/Jan/2020   34 (0.4%) + + +
  
+
26/Jan/2020   21 (0.3%) + + +
  
+
27/Jan/2020   31 (0.4%) + + +
  
+
28/Jan/2020   31 (0.4%) + + +
  
+
29/Jan/2020   42 (0.5%) + + +
  
+
30/Jan/2020   35 (0.5%) + + +
  
+
31/Jan/2020   32 (0.4%) + + +
  
+
01/Feb/2020   34 (0.4%) + + +
  
+
02/Feb/2020   27 (0.4%) + + +
  
+
03/Feb/2020   34 (0.4%) + + +
  
+
04/Feb/2020   38 (0.5%) + + +
  
+
05/Feb/2020   42 (0.5%) + + +
  
+
06/Feb/2020   36 (0.5%) + + +
  
+
07/Feb/2020   41 (0.5%) + + +
  
+
08/Feb/2020   31 (0.4%) + + +
  
+
09/Feb/2020   25 (0.3%) + + +
  
+
10/Feb/2020   38 (0.5%) + + +
  
+
11/Feb/2020   32 (0.4%) + + +
  
+
12/Feb/2020   46 (0.6%) + + +
  
+
13/Feb/2020   43 (0.6%) + + +
  
+
14/Feb/2020   35 (0.5%) + + +
  
+
15/Feb/2020   33 (0.4%) + + +
  
+
16/Feb/2020   40 (0.5%) + + +
  
+
17/Feb/2020   36 (0.5%) + + +
  
+
18/Feb/2020   48 (0.6%) + + +
  
+
19/Feb/2020   48 (0.6%) + + +
  
+
20/Feb/2020   45 (0.6%) + + +
  
+
21/Feb/2020   37 (0.5%) + + +
  
+
22/Feb/2020   39 (0.5%) + + +
  
+
23/Feb/2020   34 (0.4%) + + +
  
+
24/Feb/2020   35 (0.5%) + + +
  
+
25/Feb/2020   31 (0.4%) + + +
  
+
26/Feb/2020   24 (0.3%) + + +
  
+
27/Feb/2020   36 (0.5%) + + +
  
+
28/Feb/2020   39 (0.5%) + + +
  
+
29/Feb/2020   39 (0.5%) + + +
  
+
 
Unique visitors in each month
Multiple hits with the same IP, user agent and access day, are considered a single visit
Number of unique visitors 7644
Different months in logfile 7
Aug/2019   968 (12.7%) + + +
  
+
Sep/2019   997 (13.0%) + + +
  
+
Oct/2019   1084 (14.2%) + + +
  
+
Nov/2019   1169 (15.3%) + + +
  
+
Dec/2019   1277 (16.7%) + + +
 
+
Jan/2020   1083 (14.2%) + + +
  
+
Feb/2020   1066 (13.9%) + + +
  
+
 
Unique visitors from Google in each day
The red part of the bar expresses the percentage of visits originated from Google
Number of unique visitors 7644
Number of unique visitors from google 10
Different days in logfile 205
07/Aug/2019   0 (0.0%) + + +
 
+
10/Aug/2019   0 (0.0%) + + +
 
+
11/Aug/2019   0 (0.0%) + + +
 
+
12/Aug/2019   0 (0.0%) + + +
 
+
13/Aug/2019   0 (0.0%) + + +
 
+
14/Aug/2019   1 (1.6%) + + +
  
+
15/Aug/2019   0 (0.0%) + + +
 
+
16/Aug/2019   0 (0.0%) + + +
 
+
17/Aug/2019   0 (0.0%) + + +
 
+
18/Aug/2019   0 (0.0%) + + +
 
+
19/Aug/2019   0 (0.0%) + + +
 
+
20/Aug/2019   1 (1.4%) + + +
  
+
21/Aug/2019   0 (0.0%) + + +
 
+
22/Aug/2019   1 (2.9%) + + +
  
+
23/Aug/2019   1 (3.6%) + + +
  
+
24/Aug/2019   0 (0.0%) + + +
 
+
25/Aug/2019   0 (0.0%) + + +
 
+
26/Aug/2019   0 (0.0%) + + +
 
+
27/Aug/2019   0 (0.0%) + + +
 
+
28/Aug/2019   0 (0.0%) + + +
 
+
29/Aug/2019   0 (0.0%) + + +
 
+
30/Aug/2019   0 (0.0%) + + +
 
+
31/Aug/2019   0 (0.0%) + + +
 
+
01/Sep/2019   0 (0.0%) + + +
 
+
02/Sep/2019   0 (0.0%) + + +
 
+
03/Sep/2019   0 (0.0%) + + +
 
+
04/Sep/2019   0 (0.0%) + + +
 
+
05/Sep/2019   0 (0.0%) + + +
 
+
06/Sep/2019   0 (0.0%) + + +
 
+
07/Sep/2019   0 (0.0%) + + +
 
+
08/Sep/2019   0 (0.0%) + + +
 
+
09/Sep/2019   0 (0.0%) + + +
 
+
10/Sep/2019   0 (0.0%) + + +
 
+
11/Sep/2019   0 (0.0%) + + +
 
+
12/Sep/2019   0 (0.0%) + + +
 
+
13/Sep/2019   0 (0.0%) + + +
 
+
14/Sep/2019   0 (0.0%) + + +
 
+
15/Sep/2019   0 (0.0%) + + +
 
+
16/Sep/2019   0 (0.0%) + + +
 
+
17/Sep/2019   0 (0.0%) + + +
 
+
18/Sep/2019   0 (0.0%) + + +
 
+
19/Sep/2019   0 (0.0%) + + +
 
+
20/Sep/2019   0 (0.0%) + + +
 
+
21/Sep/2019   0 (0.0%) + + +
 
+
22/Sep/2019   0 (0.0%) + + +
 
+
23/Sep/2019   0 (0.0%) + + +
 
+
24/Sep/2019   0 (0.0%) + + +
 
+
25/Sep/2019   0 (0.0%) + + +
 
+
26/Sep/2019   0 (0.0%) + + +
 
+
27/Sep/2019   0 (0.0%) + + +
 
+
28/Sep/2019   0 (0.0%) + + +
 
+
29/Sep/2019   1 (3.0%) + + +
  
+
30/Sep/2019   0 (0.0%) + + +
 
+
01/Oct/2019   0 (0.0%) + + +
 
+
02/Oct/2019   0 (0.0%) + + +
 
+
03/Oct/2019   0 (0.0%) + + +
 
+
04/Oct/2019   0 (0.0%) + + +
 
+
05/Oct/2019   0 (0.0%) + + +
 
+
06/Oct/2019   0 (0.0%) + + +
 
+
07/Oct/2019   0 (0.0%) + + +
 
+
08/Oct/2019   0 (0.0%) + + +
 
+
09/Oct/2019   0 (0.0%) + + +
 
+
10/Oct/2019   0 (0.0%) + + +
 
+
11/Oct/2019   0 (0.0%) + + +
 
+
12/Oct/2019   0 (0.0%) + + +
 
+
13/Oct/2019   0 (0.0%) + + +
 
+
14/Oct/2019   0 (0.0%) + + +
 
+
15/Oct/2019   0 (0.0%) + + +
 
+
16/Oct/2019   0 (0.0%) + + +
 
+
17/Oct/2019   0 (0.0%) + + +
 
+
18/Oct/2019   0 (0.0%) + + +
 
+
19/Oct/2019   0 (0.0%) + + +
 
+
20/Oct/2019   0 (0.0%) + + +
 
+
21/Oct/2019   0 (0.0%) + + +
 
+
22/Oct/2019   0 (0.0%) + + +
 
+
23/Oct/2019   1 (2.9%) + + +
  
+
24/Oct/2019   0 (0.0%) + + +
 
+
25/Oct/2019   0 (0.0%) + + +
 
+
26/Oct/2019   0 (0.0%) + + +
 
+
27/Oct/2019   0 (0.0%) + + +
 
+
28/Oct/2019   0 (0.0%) + + +
 
+
29/Oct/2019   0 (0.0%) + + +
 
+
30/Oct/2019   0 (0.0%) + + +
 
+
31/Oct/2019   0 (0.0%) + + +
 
+
01/Nov/2019   0 (0.0%) + + +
 
+
02/Nov/2019   0 (0.0%) + + +
 
+
03/Nov/2019   0 (0.0%) + + +
 
+
04/Nov/2019   0 (0.0%) + + +
 
+
05/Nov/2019   0 (0.0%) + + +
 
+
06/Nov/2019   0 (0.0%) + + +
 
+
07/Nov/2019   0 (0.0%) + + +
 
+
08/Nov/2019   0 (0.0%) + + +
 
+
09/Nov/2019   0 (0.0%) + + +
 
+
10/Nov/2019   0 (0.0%) + + +
 
+
11/Nov/2019   0 (0.0%) + + +
 
+
12/Nov/2019   0 (0.0%) + + +
 
+
13/Nov/2019   0 (0.0%) + + +
 
+
14/Nov/2019   0 (0.0%) + + +
 
+
15/Nov/2019   0 (0.0%) + + +
 
+
16/Nov/2019   0 (0.0%) + + +
 
+
17/Nov/2019   0 (0.0%) + + +
 
+
18/Nov/2019   0 (0.0%) + + +
 
+
19/Nov/2019   0 (0.0%) + + +
 
+
20/Nov/2019   0 (0.0%) + + +
 
+
21/Nov/2019   0 (0.0%) + + +
 
+
22/Nov/2019   0 (0.0%) + + +
 
+
23/Nov/2019   0 (0.0%) + + +
 
+
24/Nov/2019   0 (0.0%) + + +
 
+
25/Nov/2019   0 (0.0%) + + +
 
+
26/Nov/2019   0 (0.0%) + + +
 
+
27/Nov/2019   0 (0.0%) + + +
 
+
28/Nov/2019   0 (0.0%) + + +
 
+
29/Nov/2019   0 (0.0%) + + +
 
+
30/Nov/2019   0 (0.0%) + + +
 
+
01/Dec/2019   0 (0.0%) + + +
 
+
02/Dec/2019   0 (0.0%) + + +
 
+
03/Dec/2019   0 (0.0%) + + +
 
+
04/Dec/2019   0 (0.0%) + + +
 
+
05/Dec/2019   0 (0.0%) + + +
 
+
06/Dec/2019   0 (0.0%) + + +
 
+
07/Dec/2019   0 (0.0%) + + +
 
+
08/Dec/2019   0 (0.0%) + + +
 
+
09/Dec/2019   0 (0.0%) + + +
 
+
10/Dec/2019   0 (0.0%) + + +
 
+
11/Dec/2019   0 (0.0%) + + +
 
+
12/Dec/2019   0 (0.0%) + + +
 
+
13/Dec/2019   0 (0.0%) + + +
 
+
14/Dec/2019   1 (2.9%) + + +
  
+
15/Dec/2019   0 (0.0%) + + +
 
+
16/Dec/2019   0 (0.0%) + + +
 
+
17/Dec/2019   0 (0.0%) + + +
 
+
18/Dec/2019   0 (0.0%) + + +
 
+
19/Dec/2019   0 (0.0%) + + +
 
+
20/Dec/2019   0 (0.0%) + + +
 
+
21/Dec/2019   0 (0.0%) + + +
 
+
22/Dec/2019   0 (0.0%) + + +
 
+
23/Dec/2019   0 (0.0%) + + +
 
+
24/Dec/2019   0 (0.0%) + + +
 
+
25/Dec/2019   0 (0.0%) + + +
 
+
26/Dec/2019   0 (0.0%) + + +
 
+
27/Dec/2019   0 (0.0%) + + +
 
+
28/Dec/2019   1 (2.3%) + + +
  
+
29/Dec/2019   0 (0.0%) + + +
 
+
30/Dec/2019   0 (0.0%) + + +
 
+
31/Dec/2019   0 (0.0%) + + +
 
+
01/Jan/2020   0 (0.0%) + + +
 
+
02/Jan/2020   0 (0.0%) + + +
 
+
03/Jan/2020   0 (0.0%) + + +
 
+
04/Jan/2020   0 (0.0%) + + +
 
+
05/Jan/2020   0 (0.0%) + + +
 
+
06/Jan/2020   0 (0.0%) + + +
 
+
07/Jan/2020   0 (0.0%) + + +
 
+
08/Jan/2020   0 (0.0%) + + +
 
+
09/Jan/2020   0 (0.0%) + + +
 
+
10/Jan/2020   0 (0.0%) + + +
 
+
11/Jan/2020   0 (0.0%) + + +
 
+
12/Jan/2020   0 (0.0%) + + +
 
+
13/Jan/2020   0 (0.0%) + + +
 
+
14/Jan/2020   0 (0.0%) + + +
 
+
15/Jan/2020   0 (0.0%) + + +
 
+
16/Jan/2020   0 (0.0%) + + +
 
+
17/Jan/2020   0 (0.0%) + + +
 
+
18/Jan/2020   0 (0.0%) + + +
 
+
19/Jan/2020   0 (0.0%) + + +
 
+
20/Jan/2020   0 (0.0%) + + +
 
+
21/Jan/2020   0 (0.0%) + + +
 
+
22/Jan/2020   0 (0.0%) + + +
 
+
23/Jan/2020   0 (0.0%) + + +
 
+
24/Jan/2020   1 (2.3%) + + +
  
+
25/Jan/2020   0 (0.0%) + + +
 
+
26/Jan/2020   0 (0.0%) + + +
 
+
27/Jan/2020   0 (0.0%) + + +
 
+
28/Jan/2020   1 (3.2%) + + +
  
+
29/Jan/2020   0 (0.0%) + + +
 
+
30/Jan/2020   0 (0.0%) + + +
 
+
31/Jan/2020   0 (0.0%) + + +
 
+
01/Feb/2020   0 (0.0%) + + +
 
+
02/Feb/2020   0 (0.0%) + + +
 
+
03/Feb/2020   0 (0.0%) + + +
 
+
04/Feb/2020   0 (0.0%) + + +
 
+
05/Feb/2020   0 (0.0%) + + +
 
+
06/Feb/2020   0 (0.0%) + + +
 
+
07/Feb/2020   0 (0.0%) + + +
 
+
08/Feb/2020   0 (0.0%) + + +
 
+
09/Feb/2020   0 (0.0%) + + +
 
+
10/Feb/2020   0 (0.0%) + + +
 
+
11/Feb/2020   0 (0.0%) + + +
 
+
12/Feb/2020   0 (0.0%) + + +
 
+
13/Feb/2020   0 (0.0%) + + +
 
+
14/Feb/2020   0 (0.0%) + + +
 
+
15/Feb/2020   0 (0.0%) + + +
 
+
16/Feb/2020   0 (0.0%) + + +
 
+
17/Feb/2020   0 (0.0%) + + +
 
+
18/Feb/2020   0 (0.0%) + + +
 
+
19/Feb/2020   0 (0.0%) + + +
 
+
20/Feb/2020   0 (0.0%) + + +
 
+
21/Feb/2020   0 (0.0%) + + +
 
+
22/Feb/2020   0 (0.0%) + + +
 
+
23/Feb/2020   0 (0.0%) + + +
 
+
24/Feb/2020   0 (0.0%) + + +
 
+
25/Feb/2020   0 (0.0%) + + +
 
+
26/Feb/2020   0 (0.0%) + + +
 
+
27/Feb/2020   0 (0.0%) + + +
 
+
28/Feb/2020   0 (0.0%) + + +
 
+
29/Feb/2020   0 (0.0%) + + +
 
+
 
Unique visitors from Google in each month
The red part of the bar expresses the percentage of visits originated from Google
Number of unique visitors 7644
Number of unique visitors from google 10
Different months in logfile 7
Aug/2019   4 (0.4%) + + +
 
+
Sep/2019   1 (0.1%) + + +
 
+
Oct/2019   1 (0.1%) + + +
 
+
Nov/2019   0 (0.0%) + + +
 
+
Dec/2019   2 (0.2%) + + +
 
+
Jan/2020   2 (0.2%) + + +
 
+
Feb/2020   0 (0.0%) + + +
 
+
 
Requested pages
Page requests ordered by hits
Different pages requested 38881
1)14851/robots.txt
2)8801/
3)3762/visitors.html
4)2858none
5)1859/snaps-on-gentoo.html
6)1114/snaps-on-gentoo---the-saga-continues.html
7)769/snapd-repository-for-gentoo.html
8)668/feed.rss
9)562/ansi-vt100-colors-in-powershell-core-prompt.html
10)492/converting-vhs-and-dv-to-modern-formats---part-1.html
11)479/scripts.html
12)461/gentoo-local-overlay.html
13)426/about.html
14)414/the-correct-way-to-implement--whatif-and--confirm-in-a-powershell-cmdlet.html
15)412/vim-and-powershell.html
16)404/live-on-64-bit-raspberry-pi-4-with-gentoo.html
17)402/links.html
18)378/all_posts.html
19)358/raspberry-pi-4.html
20)356/nagios/cgi-bin/tac.cgi
 
Requested images and CSS
Images and CSS requests ordered by hits
Different images and CSS requested 161
1)3552/favicon.ico
2)2418/main.css
3)2393/blog.css
4)414/nagios/stylesheets/common.css
5)414/nagios/js/jquery-1.12.4.min.js
6)413/nagios/js/nag_funcs.js
7)412/nagios/stylesheets/nag_funcs.css
8)283/nagios/images/tacenabled.png
9)280/nagios/stylesheets/tac.css
10)275/nagios/images/thermok.png
11)126/images/gentoo64bit.jpg
12)100/nagios/images/up.gif
13)100/nagios/images/down.gif
14)99/nagios/stylesheets/status.css
15)92/kronks/blog.css
16)91/kronks/main.css
17)72/nagios/images/comment.gif
18)69/images/connexent.jpeg
19)63/nagios/images/passiveonly.gif
20)62/nagios/images/disabled.gif
 
Referers
Referers ordered by visits (google excluded)
Different referers 217
1)5959none
2)1011https://www.google.com/
3)304https://zigford.org/
4)64http://m.facebook.com
5)58HTTP Banner Detection (https://security.ipip.net)
6)47http://103.35.83.212:443/
7)46http://zigford.org/wp-login.php
8)43https://zigford.org/snaps-on-gentoo.html
9)43http://zigford.org/snaps-on-gentoo---the-saga-continues.html
10)31http://zigford.org/
11)28https://zigford.org/snaps-on-gentoo---the-saga-continues.html
12)18https://duckduckgo.com/
13)17https://www.google.de/
14)17http://zigford.org/robots.txt
15)16http://www.zigford.org/wp-login.php
16)14http://progressive-seo.com
17)10Google Search Engine
18)10https://www.bing.com/
19)9http://super-seo-guru.com
20)9http://m.facebook.com/
 
Weekdays distribution
Percentage of hits in every day of the week
Mo   1107 (13.7%) + + +
  
+
Tu   1156 (14.3%) + + +
  
+
We   1130 (13.9%) + + +
  
+
Th   1172 (14.5%) + + +
  
+
Fr   1173 (14.5%) + + +
  
+
Sa   1311 (16.2%) + + +
 
+
Su   1053 (13.0%) + + +
  
+
 
Hours distribution
Percentage of hits in every hour of the day
00   1024 (12.6%) + + +
 
+
01   563 (6.9%) + + +
  
+
02   633 (7.8%) + + +
  
+
03   557 (6.9%) + + +
  
+
04   507 (6.3%) + + +
  
+
05   425 (5.2%) + + +
  
+
06   423 (5.2%) + + +
  
+
07   307 (3.8%) + + +
  
+
08   337 (4.2%) + + +
  
+
09   271 (3.3%) + + +
  
+
10   234 (2.9%) + + +
  
+
11   260 (3.2%) + + +
  
+
12   288 (3.6%) + + +
  
+
13   195 (2.4%) + + +
  
+
14   228 (2.8%) + + +
  
+
15   160 (2.0%) + + +
  
+
16   188 (2.3%) + + +
  
+
17   217 (2.7%) + + +
  
+
18   263 (3.2%) + + +
  
+
19   170 (2.1%) + + +
  
+
20   222 (2.7%) + + +
  
+
21   206 (2.5%) + + +
  
+
22   222 (2.7%) + + +
  
+
23   202 (2.5%) + + +
  
+
 
Statistics generated with VISITORS Web Log Analyzer version 0.7 +
 
diff --git a/win32-openssh-package.html b/win32-openssh-package.html new file mode 100644 index 0000000..55df90a --- /dev/null +++ b/win32-openssh-package.html @@ -0,0 +1,373 @@ + + + + + + + +Win32 OpenSSH Package + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Win32 OpenSSH Package +

+ +
August 14, 2018 — +Jesse Harris +
+ +

Update 20/09/2018

+

Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall:

+

New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow

+

Update 11/09/2018

+

I've made a copy of this script which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github.

+

[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"

+
+

I've recently been using Macos at work in order to share +admin responsibilities across the team. Still suppporting Windows, however +there are a couple of tools I use to make working Windows from a Mac +simpler.

+

PowerShell

+

Microsoft Open-Sourced PowerShell in 2016 and today +in 2018, you can get stable installations for Macos, Linux and Windows on +github which is often referred +to as PSCore.

+

As an aside, this new version of powershell is not nativly backward +compatible with compiled binary modules of the previous "Windows Powershell", +however recently in development is a new module: +WindowsCompatibility +(currently only available on Windows Insider builds) that allows your to +import "Windows Powershell" modules into PSCore.

+

When alpha and beta builds first became available I started testing remote +sessions from Linux and Macos to Windows (As I would prefer to work from a +unix system at work), but quickly found that the native "Enter-PSSession" +wasn't supported from PSCore.

+

OpenSSH

+

Around the same time, Microsoft began working with the OpenBSD's OpenSSH +project to bring official OpenSSH builds to Windows and the PSCore team +found a way to make "Enter-PSSession" work with this.

+

Packaging PSCore

+

Packaging PSCore is very straightforward and I won't go into detail here. +Suffice it to say that PSCore is released as an +MSI and these are very +simple to deploy using tools like Configuration Manager.

+

OpenSSH Package

+

Essentially I created a Windows Powershell script which follows the +installation directions on the Win32 OpenSSH github Installation page.

+

The Scripts

+

Deploying an application using scripts in Configuration Manager, usually +requires 3 scripts, and this case is no exception. I have provided the all +needed scripts below:

+

Install.ps1

+
[CmdLetBinding()]
+Param()
+
+#region Helper functions
+function Get-Path {
+    [CmdLetBinding()]
+    Param(
+        [ValidateSet(
+            "Machine",
+            "User"
+        )]$Context = "User",
+        [Switch]$Raw
+    )
+    If ($Context -eq "Machine") {
+        $Root = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager'
+    } else {
+        $Root = 'HKCU:'
+    }
+    If ($Raw){
+        Get-ItemPropertyValue -Path "$Root\Environment" -Name Path
+    } Else {
+        Try {
+
+            (Get-ItemPropertyValue -Path "$Root\Environment" `
+                -Name Path -EA SilentlyContinue) -split ';'
+        } Catch {
+            Write-Warning "No user environment variables found"
+        }
+    }
+}
+
+function Add-Path {
+    [CmdLetBinding()]
+    Param(
+        [Parameter(Mandatory=$True)]
+        [ValidateScript({
+            if (Test-Path -Path $_) {
+                $True
+            } else {
+                throw "Unable to validate path $_"
+            }
+            })]$Path,
+        [ValidateSet(
+            "Machine",
+            "User"
+        )]$Context
+    )
+
+    Write-Verbose "Adding $Path to environment"
+    if ($Context -eq 'Machine') {
+        If (! $Path -in (Get-Path -Context Machine)){
+            Write-Verbose "Adding $Path to machine context"
+            setx /m PATH "$(Get-Path -Context Machine -Raw);$Path"
+        }
+    } else {
+        Write-Verbose "Adding $Path to user context"
+        If (! $Path -in (Get-Path -Context User)){
+            Write-Verbose "Adding $Path to user context"
+            setx PATH "$(Get-Path -Context Use -Raw);$Path"
+        }
+    }
+}
+
+function New-SymbolicLink {
+Param($Link,$Target)
+    If (-Not (Test-Path -Path $Link)){
+        If ((Get-Item $Target).PSIsContainer) {
+            cmd.exe /c mklink /D $Link $Target
+        } Else {
+            cmd.exe /c mklink $Link $Target
+        }
+    }
+}
+#endregion
+
+# Extract OpenSSH
+$Archive = Get-ChildItem -Filter *.zip
+Expand-Archive -Path $Archive -DestinationPath $env:ProgramFiles
+Rename-Item -Path $Env:ProgramFiles\OpenSSH-Win64 -NewName OpenSSH
+
+#Add InstallDir to Path
+Add-Path -Path $Env:ProgramFiles\OpenSSH -Context Machine -Verbose
+
+# Configure OpenSSH
+& $Env:ProgramFiles\OpenSSH\install-sshd.ps1
+
+# Start sshd service
+
+Start-Service -Name sshd
+
+# Set service startup
+
+Set-Service sshd -StartupType Automatic
+Set-Service ssh-agent -StartupType Automatic
+
+# Setup pwsh link to work around 
+# https://github.com/PowerShell/Win32-OpenSSH/issues/784
+# Find PSCore Install and Make symbolic link
+
+$PSCoreDir = Get-ChildItem -Path $env:ProgramFiles\PowerShell `
+    -Directory | Select-Object -Last 1
+New-SymbolicLink -Link $env:SystemDrive\pwsh -Target $PSCoreDir.FullName
+
+# Enable Password Authentication and set pwsh as default shell
+$NewConfig = Get-Content -Path $Env:ProgramData\ssh\sshd_config | 
+    ForEach-Object {
+    Switch ($_) {
+        {$_ -match '^#PasswordAuthentication\syes'} {$_.replace('#','')}
+        {$_ -match '^#PubkeyAuthentication\syes'} {$_.replace('#','')}
+        {$_ -match '^Subsystem\s+sftp\s+'} {
+            'Subsystem    powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile'
+        }
+        Default {$_}
+    }
+}
+# Update sshd config
+Set-Content -Path $Env:ProgramData\ssh\sshd_config -Value $NewConfig `
+    -Force
+
+# Restart sshd
+Restart-Service sshd 
+
+

Uninstall.ps1

+
[CmdLetBinding()]
+Param()
+
+#region Helper functions
+
+    function Remove-SymbolicLink {
+Param($Link,$Target)
+    If (Test-Path -Path $Link){
+        If ((Get-Item $Target).PSIsContainer) {
+            cmd.exe /c rmdir $Link
+        
+        } Else {
+            cmd.exe /c del $Link
+        
+        }
+    
+    }
+
+    }
+
+function Get-Path {
+    [CmdLetBinding()]
+        Param(
+                [ValidateSet(
+            "Machine",
+            "User"
+        
+                    )]$Context = "User",
+        [Switch]$Raw
+    
+             )
+            If ($Context -eq "Machine") {
+        $Root = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager'
+    
+            } else {
+        $Root = 'HKCU:'
+    
+            }
+    If ($Raw){
+        Get-ItemPropertyValue -Path "$Root\Environment" -Name Path
+    
+    } Else {
+        Try {
+
+            (Get-ItemPropertyValue -Path "$Root\Environment" `
+                -Name Path -EA SilentlyContinue) -split ';'
+        
+        } Catch {
+            Write-Warning "No user environment variables found"
+        
+        }
+    
+    }
+
+}
+
+function Remove-Path {
+    [CmdLetBinding()]
+        Param(
+        [Parameter(Mandatory=$True)]
+        $Path,
+        [ValidateSet(
+            "Machine",
+            "User"
+        
+            )]$Context
+    
+             )
+
+    Write-Verbose "Removing $Path from environment"
+    if ($Context -eq 'Machine') {
+        If ($Path -in (Get-Path -Context Machine)){
+            Write-Verbose "Removing $Path from machine context"
+            $NewPath = ""
+            Get-Path -Context Machine | Where-Object {
+                $psItem -ne $Path -and
+                $psItem -ne ""
+            
+            } ForEach-Object {
+                    $NewPath += "$psItem;"
+            
+            }
+            setx /m PATH "$NewPath"
+        
+        }
+    
+    } else {
+        Write-Verbose "Removing $Path from user context"
+            If ($Path -in (Get-Path -Context User)){
+            Write-Verbose "Removing $Path from user context"
+            $NewPath = ""
+            Get-Path -Context User | Where-Object {
+                $psItem -ne $Path -and
+                $psItem -ne ""
+            
+            } ForEach-Object {
+                    $NewPath += "$psItem;"
+            
+            }
+            setx PATH "$NewPath"
+        
+            }
+    
+    }
+
+}
+
+#endregion
+
+& $Env:ProgramFiles\OpenSSH\uninstall-sshd.ps1
+
+# Extract OpenSSH
+Remove-Item -Path $env:ProgramFiles\OpenSSH -Recurse -Force
+Remove-Path -Path $env:ProgramFiles\OpenSSH -Context Machine -Verbose
+
+# Find PSCore Install and remove symbolic link
+
+$PSCoreDir = Get-ChildItem -Path $env:ProgramFiles\PowerShell -Directory | Select-Object -Last 1
+Remove-SymbolicLink -Link $env:SystemDrive\pwsh -Target $PSCoreDir.FullName
+
+# Remove old config
+Remove-Item -Path $env:ProgramData\ssh -Recurse -Force
+
+

Detect.ps1

+
$AssumeInstalled = $True
+
+If (-Not (Test-Path $Env:ProgramFiles\OpenSSH)) {
+    $AssumeInstalled = $False
+
+}
+
+If (-Not (Test-Path $Env:SystemDrive\pwsh)) {
+    $AssumeInstalled = $False
+
+}
+
+If (-Not (Get-Service sshd -ErrorAction SilentlyContinue)) {
+    $AssumeInstalled = $False
+
+}
+
+If ($AssumeInstalled) {
+    Write-Output "True"
+
+}
+
+

Using OpenSSH with Powershell

+

Now that I have used these scripts to deploy OpenSSH and PSCore, I can +PSRemote to a PC using my Mac.

+

The old way to use "Enter-PSSession" was by specifying the ComputerName +parameter like so:

+
PS\> Enter-PSSession -ComputerName Blah
+
+

However, when using OpenSSH with a PS Session you do the following:

+
PS\> Enter-PSSession -HostName Blah -UserName MrBlah
+
+

You could also setup a session in a variable and resue it multiple times +in a session:

+
PS\> $s = New-PSSesssion -HostName Blah -UserName MrBlah
+PS\> Enter-PSSession -Session $s
+
+[Blah] PS\>
+
+

I hope you have found this usefull.

+

Tags: powershell, pscore, openssh, windows, macos

+ + + + + + + + + +
+ +
+ diff --git a/win32-openssh-package.md b/win32-openssh-package.md new file mode 100644 index 0000000..3407e7e --- /dev/null +++ b/win32-openssh-package.md @@ -0,0 +1,367 @@ +Win32 OpenSSH Package + +#### Update 20/09/2018 + +Updated the script to UseBasicParsing so it works on Server core out of the box. +Also, if you have to allow the port on Windows Firewall: + +`New-NetFirewallRule -DisplayName "Allow SSH" -Direction Inbound -LocalPort 22 -Protocol TCP -Action Allow` + +#### Update 11/09/2018 + +I've made a copy of this [script][1] which downloads the dependencies (including +PSCore. Also of note, on a machine I ran it on, I had to set the allowed .Net +TLS modes before it would let me download from github. + +`[Net.ServicePointManager]::SecurityProtocol = "tls12, tls11, tls"` + +--- + +I've recently been using Macos at work in order to share +admin responsibilities across the team. Still suppporting Windows, however +there are a couple of tools I use to make working Windows from a Mac +simpler. + +## PowerShell + +Microsoft Open-Sourced PowerShell in [2016](https://azure.microsoft.com/en-us/blog/powershell-is-open-sourced-and-is-available-on-linux/) and today +in 2018, you can get stable installations for Macos, Linux and Windows on +[github](https://github.com/Powershell/Powershell) which is often referred +to as PSCore. + +As an aside, this new version of powershell is not nativly backward +compatible with compiled binary modules of the previous "Windows Powershell", +however recently in development is a new module: +[WindowsCompatibility](https://github.com/PowerShell/WindowsCompatibility) +(currently only available on Windows Insider builds) that allows your to +import "Windows Powershell" modules into PSCore. + +When alpha and beta builds first became available I started testing remote +sessions from Linux and Macos to Windows (As I would prefer to work from a +unix system at work), but quickly found that the native "Enter-PSSession" +wasn't supported from PSCore. + +## OpenSSH + +Around the same time, Microsoft began working with the OpenBSD's OpenSSH +project to bring official OpenSSH builds to Windows and the PSCore team +found a way to make "Enter-PSSession" work with this. + +## Packaging PSCore + +Packaging PSCore is very straightforward and I won't go into detail here. +Suffice it to say that PSCore is released as an +[MSI](https://en.wikipedia.org/wiki/Windows_Installer) and these are very +simple to deploy using tools like [Configuration Manager](https://aka.ms/sccm). + +## OpenSSH Package + +Essentially I created a Windows Powershell script which follows the +installation directions on the Win32 OpenSSH github [Installation](https://github.com/PowerShell/Win32-OpenSSH/wiki/Install-Win32-OpenSSH) page. + +### The Scripts + +Deploying an application using scripts in Configuration Manager, usually +requires 3 scripts, and this case is no exception. I have provided the all +needed scripts below: + +#### Install.ps1 + + [CmdLetBinding()] + Param() + + #region Helper functions + function Get-Path { + [CmdLetBinding()] + Param( + [ValidateSet( + "Machine", + "User" + )]$Context = "User", + [Switch]$Raw + ) + If ($Context -eq "Machine") { + $Root = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' + } else { + $Root = 'HKCU:' + } + If ($Raw){ + Get-ItemPropertyValue -Path "$Root\Environment" -Name Path + } Else { + Try { + + (Get-ItemPropertyValue -Path "$Root\Environment" ` + -Name Path -EA SilentlyContinue) -split ';' + } Catch { + Write-Warning "No user environment variables found" + } + } + } + + function Add-Path { + [CmdLetBinding()] + Param( + [Parameter(Mandatory=$True)] + [ValidateScript({ + if (Test-Path -Path $_) { + $True + } else { + throw "Unable to validate path $_" + } + })]$Path, + [ValidateSet( + "Machine", + "User" + )]$Context + ) + + Write-Verbose "Adding $Path to environment" + if ($Context -eq 'Machine') { + If (! $Path -in (Get-Path -Context Machine)){ + Write-Verbose "Adding $Path to machine context" + setx /m PATH "$(Get-Path -Context Machine -Raw);$Path" + } + } else { + Write-Verbose "Adding $Path to user context" + If (! $Path -in (Get-Path -Context User)){ + Write-Verbose "Adding $Path to user context" + setx PATH "$(Get-Path -Context Use -Raw);$Path" + } + } + } + + function New-SymbolicLink { + Param($Link,$Target) + If (-Not (Test-Path -Path $Link)){ + If ((Get-Item $Target).PSIsContainer) { + cmd.exe /c mklink /D $Link $Target + } Else { + cmd.exe /c mklink $Link $Target + } + } + } + #endregion + + # Extract OpenSSH + $Archive = Get-ChildItem -Filter *.zip + Expand-Archive -Path $Archive -DestinationPath $env:ProgramFiles + Rename-Item -Path $Env:ProgramFiles\OpenSSH-Win64 -NewName OpenSSH + + #Add InstallDir to Path + Add-Path -Path $Env:ProgramFiles\OpenSSH -Context Machine -Verbose + + # Configure OpenSSH + & $Env:ProgramFiles\OpenSSH\install-sshd.ps1 + + # Start sshd service + + Start-Service -Name sshd + + # Set service startup + + Set-Service sshd -StartupType Automatic + Set-Service ssh-agent -StartupType Automatic + + # Setup pwsh link to work around + # https://github.com/PowerShell/Win32-OpenSSH/issues/784 + # Find PSCore Install and Make symbolic link + + $PSCoreDir = Get-ChildItem -Path $env:ProgramFiles\PowerShell ` + -Directory | Select-Object -Last 1 + New-SymbolicLink -Link $env:SystemDrive\pwsh -Target $PSCoreDir.FullName + + # Enable Password Authentication and set pwsh as default shell + $NewConfig = Get-Content -Path $Env:ProgramData\ssh\sshd_config | + ForEach-Object { + Switch ($_) { + {$_ -match '^#PasswordAuthentication\syes'} {$_.replace('#','')} + {$_ -match '^#PubkeyAuthentication\syes'} {$_.replace('#','')} + {$_ -match '^Subsystem\s+sftp\s+'} { + 'Subsystem powershell c:\pwsh\pwsh.exe -sshs -NoLogo -NoProfile' + } + Default {$_} + } + } + # Update sshd config + Set-Content -Path $Env:ProgramData\ssh\sshd_config -Value $NewConfig ` + -Force + + # Restart sshd + Restart-Service sshd + +#### Uninstall.ps1 + + [CmdLetBinding()] + Param() + + #region Helper functions + + function Remove-SymbolicLink { + Param($Link,$Target) + If (Test-Path -Path $Link){ + If ((Get-Item $Target).PSIsContainer) { + cmd.exe /c rmdir $Link + + } Else { + cmd.exe /c del $Link + + } + + } + + } + + function Get-Path { + [CmdLetBinding()] + Param( + [ValidateSet( + "Machine", + "User" + + )]$Context = "User", + [Switch]$Raw + + ) + If ($Context -eq "Machine") { + $Root = 'HKLM:\SYSTEM\CurrentControlSet\Control\Session Manager' + + } else { + $Root = 'HKCU:' + + } + If ($Raw){ + Get-ItemPropertyValue -Path "$Root\Environment" -Name Path + + } Else { + Try { + + (Get-ItemPropertyValue -Path "$Root\Environment" ` + -Name Path -EA SilentlyContinue) -split ';' + + } Catch { + Write-Warning "No user environment variables found" + + } + + } + + } + + function Remove-Path { + [CmdLetBinding()] + Param( + [Parameter(Mandatory=$True)] + $Path, + [ValidateSet( + "Machine", + "User" + + )]$Context + + ) + + Write-Verbose "Removing $Path from environment" + if ($Context -eq 'Machine') { + If ($Path -in (Get-Path -Context Machine)){ + Write-Verbose "Removing $Path from machine context" + $NewPath = "" + Get-Path -Context Machine | Where-Object { + $psItem -ne $Path -and + $psItem -ne "" + + } ForEach-Object { + $NewPath += "$psItem;" + + } + setx /m PATH "$NewPath" + + } + + } else { + Write-Verbose "Removing $Path from user context" + If ($Path -in (Get-Path -Context User)){ + Write-Verbose "Removing $Path from user context" + $NewPath = "" + Get-Path -Context User | Where-Object { + $psItem -ne $Path -and + $psItem -ne "" + + } ForEach-Object { + $NewPath += "$psItem;" + + } + setx PATH "$NewPath" + + } + + } + + } + + #endregion + + & $Env:ProgramFiles\OpenSSH\uninstall-sshd.ps1 + + # Extract OpenSSH + Remove-Item -Path $env:ProgramFiles\OpenSSH -Recurse -Force + Remove-Path -Path $env:ProgramFiles\OpenSSH -Context Machine -Verbose + + # Find PSCore Install and remove symbolic link + + $PSCoreDir = Get-ChildItem -Path $env:ProgramFiles\PowerShell -Directory | Select-Object -Last 1 + Remove-SymbolicLink -Link $env:SystemDrive\pwsh -Target $PSCoreDir.FullName + + # Remove old config + Remove-Item -Path $env:ProgramData\ssh -Recurse -Force + +#### Detect.ps1 + + $AssumeInstalled = $True + + If (-Not (Test-Path $Env:ProgramFiles\OpenSSH)) { + $AssumeInstalled = $False + + } + + If (-Not (Test-Path $Env:SystemDrive\pwsh)) { + $AssumeInstalled = $False + + } + + If (-Not (Get-Service sshd -ErrorAction SilentlyContinue)) { + $AssumeInstalled = $False + + } + + If ($AssumeInstalled) { + Write-Output "True" + + } + +## Using OpenSSH with Powershell + +Now that I have used these scripts to deploy OpenSSH and PSCore, I can +PSRemote to a PC using my Mac. + +The old way to use "Enter-PSSession" was by specifying the ComputerName +parameter like so: + + PS\> Enter-PSSession -ComputerName Blah + +However, when using OpenSSH with a PS Session you do the following: + + PS\> Enter-PSSession -HostName Blah -UserName MrBlah + +You could also setup a session in a variable and resue it multiple times +in a session: + + PS\> $s = New-PSSesssion -HostName Blah -UserName MrBlah + PS\> Enter-PSSession -Session $s + + [Blah] PS\> + +I hope you have found this usefull. + +Tags: powershell, pscore, openssh, windows, macos + +[1]: scripts.html diff --git a/windows.html b/windows.html new file mode 100644 index 0000000..0bc3988 --- /dev/null +++ b/windows.html @@ -0,0 +1,122 @@ + + + + + + + +Windows + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Windows +

+ +
September 04, 2018 — +Jesse Harris +
+ + +

My opinions of Windows

+ +

Many in the free software community regard Windows as a pile of garbage. While +it does have it's flaws, I think many of these conclusions fail to see the +case for Windows.

+ +

I've read the book 'Show Stopper!: The Breakneck Race to Create Windows +NT and the Next Generation at Microsoft', and there are a few other posts +around the internet about the troubled history of Windows development.

+ +

Even with all of the beuracracy that has burdened it's development, it feels +like MS have really turned a corner with Windows 10.

+ +

The good

+ +

Here are some of the less commonly appreciated aspects of Windows:

+ +
    +
  • Runs on extrodinarily varied hardware
  • +
  • NTFS Volume Shadow Copies (Like free snapshots in btrfs and zfs)
  • +
  • Can take on any number of personalities (like WSL and 32bit windows on 64bit)
  • +
  • Can boot from a filesystem in a file (vhd)
  • +
  • Deeply scriptable (I've seen many say Windows is GUI only. Fallacy)
  • +
  • Out-of-band data deduplication. (Amazing feature that I haven't seen +replicated as well on Linux)
  • +
  • Highly customizable for business use cases
  • +
  • Strong sleep / power saving support
  • +
  • Robust remote desktop solution (No other OS has this implemented as well)
  • +
  • Great built-in virutalization
  • +
  • Windows Subsystem for Linux
  • +
  • Ability to refresh the PC with the click of a button
  • +
+ +

I'm also writing this article from a Windows command prompt on a Microsoft +Surface Pro 3. By the way, did you know openssh comes built-in to Windows since +the April 2018 release?

+ +

The bad

+ +

Some of these items are not the fault of Windows directly, but indirectly due +to being the most popular desktop operating system. In these cases a diligent +systems administrator can overcome these negative aspects of running Windows.

+ +
    +
  • Horrible console (Improvements coming with ConPTY)
  • +
  • No developer culture - Many developers have created user hostile apps +(ie, apps that consume too many resources, start on boot, are kinda like +malware)
  • +
  • The need to run Anti-Virus software. (Seriously annoying as often the AV +software consumes as many resources as the apps you are running, effectivly +halving the performance of your PC)
  • +
  • Third-party application install experience. (This problem is slowly going away as +more Win32 apps enter the store via Project Centenial)
  • +
+ +

Also of note is that now that Microsoft is starting to push S mode, some +of these issues may go away. Running a PC lean on third-party apps really makes +it a dream to use. Super long battery life, quiet, cool, bug-free. If you can +live with the built-in apps, I highly recommend giving it a go.

+ +
+ +

My history with Windows

+ +

My usage of windows has it's origins in MS-DOS, as it would for many who used +computers in the late 80's or earlie 90's.

+ +

Having used PC's since then, I've always had, either through work or home a PC +running a version of Windows covering most of the major releases.

+ +
    +
  • Windows 3.11 (at home on the parents PC)
  • +
  • Windows 95 (on my own PC, also began running Linux around this time)
  • +
  • Windows 98 (again on my own PC)
  • +
  • Windows 2000 Server (home PC)
  • +
  • Windows XP (Home and Work)
  • +
  • Windows 7 (Home and Work)
  • +
  • Windows 8.1 (Work, testing Surface hardware)
  • +
  • Windows 10 (Work)
  • +
+ +

A keen windows user may notice I skipped Milenium edition, Vista, and Windows +8. I did use them, but never ran them for any significant amount of time. I also +haven't listed any of the Server editions that I regularly used at work. +This list is just those used as a desktop operating system.

+ +

Since Windows XP, I've also been responsible for developing an MOE, and +repackaging software for use at work.

+ + + +
+ +
+ diff --git a/windows.md b/windows.md new file mode 100644 index 0000000..f5d982c --- /dev/null +++ b/windows.md @@ -0,0 +1,93 @@ +Windows + +#### My opinions of Windows + +Many in the free software community regard Windows as a pile of garbage. While +it does have it's flaws, I think many of these conclusions fail to see the +case for Windows. + +I've read the [book][1] 'Show Stopper!: The Breakneck Race to Create Windows +NT and the Next Generation at Microsoft', and there are a few other [posts][2] +around the internet about the [troubled][3] history of Windows development. + +Even with all of the beuracracy that has burdened it's development, it feels +like MS have really turned a corner with Windows 10. + +#### The good + +Here are some of the less commonly appreciated aspects of Windows: + +* Runs on extrodinarily varied hardware +* NTFS Volume Shadow Copies (Like free snapshots in btrfs and zfs) +* Can take on any number of personalities (like [WSL][6] and 32bit windows on 64bit) +* Can boot from a filesystem in a file (vhd) +* Deeply scriptable (I've seen many say Windows is GUI only. Fallacy) +* Out-of-band data deduplication. (Amazing feature that I haven't seen + replicated as well on Linux) +* Highly customizable for business use cases +* Strong sleep / power saving support +* Robust remote desktop solution (No other OS has this implemented as well) +* Great built-in virutalization +* [Windows Subsystem for Linux][6] +* Ability to refresh the PC with the click of a button + +I'm also writing this article from a Windows command prompt on a Microsoft +Surface Pro 3. By the way, did you know openssh comes built-in to Windows since +the April 2018 release? + +#### The bad + +Some of these items are not the fault of Windows directly, but indirectly due +to being the most popular desktop operating system. In these cases a diligent +systems administrator can overcome these negative aspects of running Windows. + +* Horrible console (Improvements coming with [ConPTY][4]) +* No developer culture - Many developers have created user hostile apps + (ie, apps that consume too many resources, start on boot, are kinda like + malware) +* The need to run Anti-Virus software. (Seriously annoying as often the AV + software consumes as many resources as the apps you are running, effectivly + halving the performance of your PC) +* Third-party application install experience. (This problem is slowly going away as + more Win32 apps enter the store via [Project Centenial][5]) + +Also of note is that now that Microsoft is starting to push [S mode][7], some +of these issues may go away. Running a PC lean on third-party apps really makes +it a dream to use. Super long battery life, quiet, cool, bug-free. If you can +live with the built-in apps, I highly recommend giving it a go. + +--- + +#### My history with Windows + +My usage of windows has it's origins in MS-DOS, as it would for many who used +computers in the late 80's or earlie 90's. + +Having used PC's since then, I've always had, either through work or home a PC +running a version of Windows covering most of the major releases. + +* Windows 3.11 (at home on the parents PC) +* Windows 95 (on my own PC, also began running Linux around this time) +* Windows 98 (again on my own PC) +* Windows 2000 Server (home PC) +* Windows XP (Home and Work) +* Windows 7 (Home and Work) +* Windows 8.1 (Work, testing Surface hardware) +* Windows 10 (Work) + +A keen windows user may notice I skipped Milenium edition, Vista, and Windows +8. I did use them, but never ran them for any significant amount of time. I also +haven't listed any of the Server editions that I regularly used at work. +This list is just those used as a desktop operating system. + +Since Windows XP, I've also been responsible for developing an [MOE][8], and +repackaging software for use at work. + +[1]: https://www.goodreads.com/book/show/1416925.Show_Stopper_ +[2]: https://medium.com/@benbob/what-really-happened-with-vista-an-insiders-retrospective-f713ee77c239 +[3]: https://hackernoon.com/what-really-happened-with-vista-4ca7ffb5a1a +[4]: https://blogs.msdn.microsoft.com/commandline/2018/08/02/windows-command-line-introducing-the-windows-pseudo-console-conpty/ +[5]: https://www.onmsft.com/news/what-is-project-centennial +[6]: https://docs.microsoft.com/en-us/windows/wsl/about +[7]: https://support.microsoft.com/en-us/help/4020089/windows-10-in-s-mode-faq +[8]: https://en.wikipedia.org/wiki/Standard_Operating_Environment diff --git a/write-information--write-host.html b/write-information--write-host.html new file mode 100644 index 0000000..44f9998 --- /dev/null +++ b/write-information--write-host.html @@ -0,0 +1,65 @@ + + + + + + + +Write-Information > Write-Host + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Write-Information > Write-Host +

+ +
September 06, 2018 — +Jesse Harris +
+ + +

June Blender writing for Hey, Scripting Guy! Blog:

+ +
+

The dilemma was how to fix the harmful aspects of Write-Host (can't suppress, +capture, or redirect), but keep it from polluting the output stream. And of +course, the solution must be backward compatible.

+ +

This most elegant solution is provided by the information stream and the +Write-Information cmdlet. The information stream is a new output stream that +works much like the error and warning streams.

+
+ +

The information stream is a feature of powershell versions 5.x that I missed +when it came out. Thus I have been avoiding using Write-Host in favour of +Write-Verbose since reading about Write-Host Considered Harmful.

+ +

If you care about writing reusable automation friendly code, go have a read.

+ +

Tags: powershell, streams

+ + + + + + + + + + + + + + + +
+ +
+ diff --git a/write-information--write-host.md b/write-information--write-host.md new file mode 100644 index 0000000..ec0f5dd --- /dev/null +++ b/write-information--write-host.md @@ -0,0 +1,22 @@ +Write-Information > Write-Host + +June Blender writing for [Hey, Scripting Guy! Blog][2]: + +> The dilemma was how to fix the harmful aspects of Write-Host (can't suppress, +> capture, or redirect), but keep it from polluting the output stream. And of +> course, the solution must be backward compatible. +> +> This most elegant solution is provided by the information stream and the +> Write-Information cmdlet. The information stream is a new output stream that +> works much like the error and warning streams. + +The information stream is a feature of powershell versions 5.x that I missed +when it came out. Thus I have been avoiding using Write-Host in favour of +Write-Verbose since reading about [Write-Host Considered Harmful][1]. + +If you care about writing reusable automation friendly code, go have a read. + +Tags: powershell, streams + +[1]: http://www.jsnover.com/blog/2013/12/07/write-host-considered-harmful/ +[2]: https://blogs.technet.microsoft.com/heyscriptingguy/2015/07/04/weekend-scripter-welcome-to-the-powershell-information-stream/ diff --git a/xargs-tips.html b/xargs-tips.html new file mode 100644 index 0000000..3bcf876 --- /dev/null +++ b/xargs-tips.html @@ -0,0 +1,75 @@ + + + + + + + +Xargs tips + +
+
+
+

zigford.org

+
About | Links | Scripts
Sharing linux/windows scripts and tips
+
+
+ +

+Xargs tips +

+ +
August 31, 2018 — +Jesse Harris +
+ +

After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell.

+
+

It's great to see the inspiration powershell has gained from +Unix systems and also great that it makes it easier for me to remember.

+

One paradigm I that I wished bash/*nix had is the Foreach-Object command. +It makes working on collections of objects a breeze. I often find myself +scratching my head when trying similar tasks on *nix. Enter xargs

+

Take this simple situation: I have a directory and I want to delete everything +bar a single .config file.

+
        $ ls -a
+        .   blog.css  .entry-23032.md      .footer.html  main.css
+        ..  .config   .entry-23032.md.swp  .header.html  .title.html
+
+

My powershell brain wants to:

+
        $ gci | ? Name -ne '.config' | foreach-object { rm $_ }
+
+

On *nix, Xargs is a bit like adding pipeline input to rm

+
        $ ls -a | grep -v '\.config' | xargs rm
+
+

xargs is going to automatically append the output of the previous command as +an argument of the rm command. In this case the argument has to be the final +argument, but that can be changed using the -I parameter which specifies a +substitue variable

+
        $ ls -a | grep -v '\.config' | xargs -I '{}' echo "Delete {} ?"
+
+

Of course the powershell line could be a bit shorter

+
        $ gci | ? Name -ne '\.config' | rm
+
+

If you have any comments or feedback, please email me +and let me know if you will allow your feedback to be posted here.

+

Tags: bash-v-powershell, xargs, bash, powershell

+ + + + + + + + + + + +
+ +
+ diff --git a/xargs-tips.md b/xargs-tips.md new file mode 100644 index 0000000..d8e5c0c --- /dev/null +++ b/xargs-tips.md @@ -0,0 +1,46 @@ +Xargs tips + +After 12 years being a Windows admin, I've now used powershell more than other +languages so I'm pretty fluent in it's syntax. So it makes me happy when I +stumble upon bash/linux scripting paradigms which have been brought over to +powershell. + +--- + +It's great to see the inspiration powershell has gained from +Unix systems and also great that it makes it easier for me to remember. + +One paradigm I that I wished bash/\*nix had is the `Foreach-Object` command. +It makes working on collections of objects a breeze. I often find myself +scratching my head when trying similar tasks on \*nix. Enter `xargs` + +Take this simple situation: I have a directory and I want to delete everything +bar a single .config file. + + $ ls -a + . blog.css .entry-23032.md .footer.html main.css + .. .config .entry-23032.md.swp .header.html .title.html + +My powershell brain wants to: + + $ gci | ? Name -ne '.config' | foreach-object { rm $_ } + +On \*nix, Xargs is a bit like adding pipeline input to rm + + $ ls -a | grep -v '\.config' | xargs rm + +`xargs` is going to automatically append the output of the previous command as +an argument of the rm command. In this case the argument has to be the final +argument, but that can be changed using the `-I` parameter which specifies a +substitue variable + + $ ls -a | grep -v '\.config' | xargs -I '{}' echo "Delete {} ?" + +Of course the powershell line could be a bit shorter + + $ gci | ? Name -ne '\.config' | rm + +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. + +Tags: bash-v-powershell, xargs, bash, powershell