paritybit.ca

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 88e9fa131259c474d9b3378acdaf0a8a328c48dd
parent 91e04fc70e9d0d93ee0dcdb3584a4dd8a9994ca0
Author: Jake Bauer <jbauer@paritybit.ca>
Date:   Thu, 27 Feb 2020 20:48:14 -0500

Merge branch 'master' of git.sr.ht:~jbauer/paritybit.ca

Diffstat:
M.gitignore | 1-
MREADME.md | 18+++++++++++++++---
Mbuild/header.html | 12+++++++++---
Abuild/logo-git.svg | 116+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Abuild/logo-main.svg | 159+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Rpages/about-me.md -> pages/about.md | 0
Mpages/blog.md | 5+++--
Dpages/blog/blogroll.md | 135-------------------------------------------------------------------------------
Apages/blog/making-my-own-vim-statusline.md | 108+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apages/blog/urxvt-to-st.md | 102+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpages/blog/website-redesign.md | 10+++++++++-
Mpages/contact.md | 2+-
Mpages/home.md | 14+++++++++++---
Apages/links.md | 225+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpages/projects/usrmnt.md | 7++++---
Mpages/uses.md | 48+++++++++++++++++++++++++++++++++---------------
Apublic/android-chrome-192x192.png | 0
Apublic/android-chrome-512x512.png | 0
Apublic/apple-touch-icon.png | 0
Apublic/browserconfig.xml | 9+++++++++
Apublic/favicon-16x16.png | 0
Apublic/favicon-32x32.png | 0
Apublic/favicon.ico | 0
Dpublic/favicon.png | 0
Mpublic/feeds/blog-feed.xml | 212+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Mpublic/feeds/sitewide-feed.xml | 212+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Apublic/img/debian-openlogo-75.png | 0
Apublic/img/debian-with-btrfs/boot-mount.png | 0
Apublic/img/debian-with-btrfs/commands-before-boot-mount.png | 0
Apublic/img/debian-with-btrfs/df.png | 0
Apublic/img/debian-with-btrfs/partition-results.png | 0
Apublic/img/debian-with-btrfs/partition-screen.png | 0
Apublic/img/debian-with-btrfs/shell.png | 0
Apublic/img/debian-with-btrfs/target-fstab.png | 0
Apublic/img/laptop-screenshot-thumb.png | 0
Apublic/img/laptop-screenshot.png | 0
Apublic/img/logo-git-128x128.png | 0
Apublic/img/logo-git-32x32.png | 0
Apublic/img/logo-git-512x512.png | 0
Apublic/img/logo-main-256.png | 0
Apublic/img/old-logo.png | 0
Apublic/img/projects/usrmnt/screenshot.png | 0
Apublic/img/st-lynx-thumb.png | 0
Apublic/img/st-lynx.png | 0
Apublic/img/st-tc.png | 0
Apublic/img/st-vim.png | 0
Apublic/img/urxvt-lynx-thumb.png | 0
Apublic/img/urxvt-lynx.png | 0
Apublic/img/urxvt-tc.png | 0
Apublic/img/urxvt-vim.png | 0
Apublic/img/valid-rss-rogers.png | 0
Apublic/img/vcss.gif | 0
Apublic/img/vim-airline.gif | 0
Apublic/img/vim-airline.mp4 | 0
Apublic/img/vim-no-airline.gif | 0
Apublic/img/vim-no-airline.mp4 | 0
Apublic/mstile-144x144.png | 0
Apublic/mstile-150x150.png | 0
Apublic/mstile-310x150.png | 0
Apublic/mstile-310x310.png | 0
Apublic/mstile-70x70.png | 0
Apublic/safari-pinned-tab.svg | 2++
Apublic/site.webmanifest | 19+++++++++++++++++++
Mpublic/sitemap.xml | 12+++++++-----
Mpublish | 4+++-
Mstyle/main.css | 73+++----------------------------------------------------------------------
66 files changed, 1262 insertions(+), 243 deletions(-)

diff --git a/.gitignore b/.gitignore @@ -3,7 +3,6 @@ public/feeds/*.bak !*/ public/html/** public/css/** -public/img/** build/*-content.html build/*/ *.swp diff --git a/README.md b/README.md @@ -1,13 +1,25 @@ # paritybit.ca Web Site -This is the bare markdown files, un-minified CSS files, essential public files, -and build script for the [paritybit.ca](https://www.paritybit.ca) website. +## Use of Git Logo -The build script `createpages.sh` was written to serve the needs of building my +The Git Logo (incorporated in the logo for +[git.paritybit.ca](https://git.paritybit.ca) by me) was created by [Jason +Long](https://twitter.com/jasonlong) and is licensed under the [Creative Commons +Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/). +It was retrieved from https://git-scm.com/downloads/logos. + +## Build Scripts + +The build script `compile` was written to serve the needs of building my webpages and was not coded to be a tool for the general public. Therefore, a lot of the solutions depend on structuring a page in a specific way and the whole script looks quite hacky. It makes me feel warm and fuzzy. +The publishing script `publish` was also written in a similar way and is +particularly tailored to the layout and design of my webpages. + +## Format of a Valid Page + To build a page that is properly compiled by the script, there are 5 essential things: diff --git a/build/header.html b/build/header.html @@ -4,7 +4,13 @@ <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> - <link rel="icon" type="image/png" href="/favicon.png"> + <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"> + <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png"> + <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png"> + <link rel="manifest" href="/site.webmanifest"> + <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5"> + <meta name="msapplication-TileColor" content="#da532c"> + <meta name="theme-color" content="#ffffff"> <title>paritybit.ca</title> </head> <body> @@ -16,10 +22,10 @@ <nav id="navigation" aria-label="Main Navigation"> <a href="/">Home</a> <a href="/blog">Blog</a> - <a href="/blog/blogroll">Blogroll</a> + <a href="/links">Links</a> <a href="/projects">Projects</a> <a href="/guides">Guides</a> - <a href="/about-me">About</a> + <a href="/about">About</a> <a href="/now">Now</a> <a href="/contact">Contact</a> </nav> diff --git a/build/logo-git.svg b/build/logo-git.svg @@ -0,0 +1,116 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="147.91107mm" + height="147.91107mm" + viewBox="0 0 147.91107 147.91107" + version="1.1" + id="svg8" + sodipodi:docname="logo-git.svg" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" + inkscape:export-filename="/home/jbauer/logo-git-512.png" + inkscape:export-xdpi="87.923096" + inkscape:export-ydpi="87.923096"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="0.9899495" + inkscape:cx="138.27202" + inkscape:cy="291.64704" + inkscape:document-units="mm" + inkscape:current-layer="layer5" + showgrid="false" + inkscape:window-width="1900" + inkscape:window-height="1035" + inkscape:window-x="1930" + inkscape:window-y="35" + inkscape:window-maximized="0" + showguides="true"> + <inkscape:grid + type="xygrid" + id="grid826" + originx="-0.014663695" + originy="-148.43702" /> + </sodipodi:namedview> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title></dc:title> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ring" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-0.0146637,-0.65190125)"> + <g + inkscape:groupmode="layer" + id="layer4" + inkscape:label="Center"> + <circle + style="fill:#e7cb8f;fill-opacity:1;stroke:none;stroke-width:6.22857141;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path882" + cx="73.96994" + cy="75.165779" + r="41.199406" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Inner Ring"> + <ellipse + id="path3713-3" + cx="74.200211" + cy="74.834587" + style="fill:none;stroke:#bb7777;stroke-width:8.75710011;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + rx="60.476608" + ry="60.287617" /> + </g> + <circle + id="path3713" + cx="73.9702" + cy="74.607437" + style="fill:none;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + r="68.955536" + clip-path="none" /> + </g> + <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="Symbol"> + <g + transform="matrix(0.66691671,0,0,-0.66691671,43.125778,105.58646)" + inkscape:label="ink_ext_XXXXXX" + id="g1412"> + <g + transform="scale(0.1)" + id="g1414"> + <path + inkscape:connector-curvature="0" + id="path1416" + style="fill:#100f0d;fill-opacity:1;fill-rule:nonzero;stroke:none" + d="M 901.547,500.352 500.355,901.527 c -23.093,23.11 -60.566,23.11 -83.691,0 L 333.363,818.211 439.039,712.535 c 24.559,8.293 52.723,2.727 72.293,-16.847 19.688,-19.696 25.207,-48.102 16.699,-72.75 L 629.887,521.094 c 24.648,8.496 53.066,3.004 72.754,-16.711 27.5,-27.492 27.5,-72.059 0,-99.574 -27.52,-27.516 -72.078,-27.516 -99.61,0 -20.683,20.703 -25.801,51.097 -15.312,76.582 l -95,94.992 V 326.414 c 6.699,-3.32 13.027,-7.742 18.613,-13.312 27.5,-27.497 27.5,-72.059 0,-99.598 -27.5,-27.488 -72.09,-27.488 -99.57,0 -27.5,27.539 -27.5,72.101 0,99.598 6.797,6.789 14.668,11.925 23.066,15.363 v 252.281 c -8.398,3.438 -16.25,8.531 -23.066,15.367 -20.828,20.821 -25.84,51.395 -15.157,76.977 L 292.426,777.285 17.3281,502.211 c -23.10544,-23.129 -23.10544,-60.602 0,-83.711 L 418.539,17.3242 c 23.098,-23.10545 60.559,-23.10545 83.691,0 L 901.547,416.641 c 23.117,23.113 23.117,60.605 0,83.711" /> + </g> + </g> + </g> +</svg> diff --git a/build/logo-main.svg b/build/logo-main.svg @@ -0,0 +1,159 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + xmlns:dc="http://purl.org/dc/elements/1.1/" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns="http://www.w3.org/2000/svg" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + width="147.91107mm" + height="147.91107mm" + viewBox="0 0 147.91107 147.91107" + version="1.1" + id="svg8" + sodipodi:docname="logo-main.svg" + inkscape:version="0.92.4 (5da689c313, 2019-01-14)" + inkscape:export-filename="/home/jbauer/logo-main-32.png" + inkscape:export-xdpi="5.4951935" + inkscape:export-ydpi="5.4951935"> + <defs + id="defs2" /> + <sodipodi:namedview + id="base" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageopacity="0.0" + inkscape:pageshadow="2" + inkscape:zoom="1.4" + inkscape:cx="124.16203" + inkscape:cy="270.64655" + inkscape:document-units="mm" + inkscape:current-layer="layer4" + showgrid="false" + inkscape:window-width="945" + inkscape:window-height="1029" + inkscape:window-x="1930" + inkscape:window-y="41" + inkscape:window-maximized="0" + showguides="true"> + <inkscape:grid + type="xygrid" + id="grid826" + originx="-0.014663695" + originy="-148.43702" /> + </sodipodi:namedview> + <metadata + id="metadata5"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:format>image/svg+xml</dc:format> + <dc:type + rdf:resource="http://purl.org/dc/dcmitype/StillImage" /> + <dc:title /> + </cc:Work> + </rdf:RDF> + </metadata> + <g + inkscape:label="Ring" + inkscape:groupmode="layer" + id="layer1" + transform="translate(-0.0146637,-0.65190125)"> + <g + inkscape:groupmode="layer" + id="layer4" + inkscape:label="Center"> + <circle + style="fill:#e7cb8f;fill-opacity:1;stroke:none;stroke-width:6.22857141;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path882" + cx="73.96994" + cy="75.165779" + r="41.199406" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Inner Ring"> + <ellipse + id="path3713-3" + cx="74.200211" + cy="74.834587" + style="fill:none;stroke:#bb7777;stroke-width:8.75710011;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + rx="60.476608" + ry="60.287617" /> + </g> + <circle + id="path3713" + cx="73.9702" + cy="74.607437" + style="fill:none;stroke:#000000;stroke-width:10;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + r="68.955536" + clip-path="none" /> + </g> + <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="Symbol"> + <rect + style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect1516" + width="54.932537" + height="61.036152" + x="46.271008" + y="44.213783" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.53634924;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 101.20351,64.660892 H 46.271013" + id="path1533" + inkscape:connector-curvature="0" /> + <path + style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.53634924;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 101.20351,84.802822 H 46.271013" + id="path1535" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.53634924;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 64.88704,105.24997 V 44.213781" + id="path1537" + inkscape:connector-curvature="0" /> + <path + style="fill:none;stroke:#000000;stroke-width:0.53634924;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + d="M 83.197886,105.24997 V 44.213781" + id="path1541" + inkscape:connector-curvature="0" /> + <circle + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1543" + cx="55.589924" + cy="95.004578" + r="7.629519" /> + <circle + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1543-3" + cx="74.173256" + cy="94.950089" + r="7.6295199" /> + <circle + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1543-3-6" + cx="92.102631" + cy="95.004585" + r="7.6295199" /> + <circle + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1543-3-7" + cx="92.059029" + cy="75.058838" + r="7.6295199" /> + <circle + style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.92275137;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path1543-3-5" + cx="74.064255" + cy="54.622627" + r="7.6295199" /> + </g> +</svg> diff --git a/pages/about-me.md b/pages/about.md diff --git a/pages/blog.md b/pages/blog.md @@ -12,16 +12,17 @@ Subscribe to the blog feed</a> This is the place where I put all of my ramblings, rants, essays, and random thoughts and ideas. You can find links to other blogs that I follow on my -[blogroll](blog/blogroll). +[blogroll](/links#Blogroll). ### 2020 <ul> + <li>2020-02-24 <a href="blog/making-my-own-vim-statusline">Making My Own Vim Statusline</a></li> + <li>2020-02-14 <a href="blog/urxvt-to-st">Switching from urxvt to st</a></li> <li>2020-02-06 <a href="blog/website-redesign">Making My Website More Accessible</a></li> </ul> ### 2019 <ul> - <li>2020-02-06 <a href="blog/website-redesign">Making My Website More Accessible</a></li> <li>2019-12-30 <a href="blog/automating-publishing">Automating the Publishing of Articles</a></li> <li>2019-12-21 <a href="blog/arguing-effectively">How to Argue Effectively</a></li> diff --git a/pages/blog/blogroll.md b/pages/blog/blogroll.md @@ -1,135 +0,0 @@ -## Blogroll - -[//]: # "Blogs that I follow; most of which are in the same domain as my blog (i.e. technology, programming, system administration, privacy, etc)." - -[//]: # "main.min.css" - -[//]: # - -Below are a bunch of blogs that I follow; most of which are in the same domain as -my blog (i.e. technology, programming, system administration, privacy, etc). -They are listed in alphabetical order with the primary language of the blog -noted beside each entry. The content of the blogs listed below do not -necessarily represent my views and opinions. - -* <b>[EN]</b> – [Adventures in Techland](https://brandelune.github.io/) - -* <b>[EN]</b> – [Andy Bell's Blog](https://hankchizljaw.com/) - -* <b>[EN]</b> – [Anil Dash's Blog](https://anildash.com/) - -* <b>[EN]</b> – [Aral Balkan](https://ar.al/) - -* <b>[EN]</b> – [ayekat's Blog](http://ayekat.ch/blog) - -* <b>[EN]</b> – [Berfr Blog](https://berfr.me/) - -* <b>[EN]</b> – [Beyer Matthias' Blog](https://beyermatthias.de/blog/) - -* <b>[EN]</b> – [bn4t's Blog](https://bn4t.me/posts/) - -* <b>[EN]</b> – [Brandon Nolet's Blog](https://bnolet.me/posts/) - -* <b>[EN]</b> – [Ctrl Blog](https://www.ctrl.blog/) - -* <b>[EN]</b> – [Codesections Blog](https://www.codesections.com/blog/) - -* <b>[EN]</b> – [Christoph Slim's Blog](https://slim.page/interests.html) - -* <b>[EN]</b> – [Daniel Playfair Cal's Blog](https://www.danielplayfaircal.com/) - -* <b>[EN]</b> – [Danny van Kooten's Blog](https://dannyvankooten.com/blog/) - -* <b>[EN]</b> – [davd.io](https://www.davd.io/) - -* <b>[EN]</b> – [Desmond Rivet's Blog](https://desmondrivet.com/blog/) - -* <b>[EN]</b> – [Drew DeVault's Blog](https://drewdevault.com/) - -* <b>[DE]</b> – [einGeek](https://blog.ein-geek.de/) - -* <b>[FR]</b> – [Eleos in space](https://blog.eleos.space/) - -* <b>[EN]</b> – [Emanuel Pina's Blog](https://emanuelpina.pt/) - -* <b>[EN]</b> – [Fred's Notes](https://ramblings.fred.moe/) - -* <b>[EN]</b> – [fnux's Blog](https://fnux.ch/) - -* <b>[EN]</b> – [Garett Dimon's Blog](https://garrettdimon.com/) - -* <b>[EN]</b> – [Gokberk Yaltirakli's Blog](https://www.gkbrk.com/) - -* <b>[EN]</b> – [Humaid AlQassimi's Blog](https://humaidq.ae/blog/) - -* <b>[EN]</b> – [Humbug](https://humbug.pw/) - -* <b>[EN]</b> – [jakob.space](http://jakob.space/) - -* <b>[EN]</b> – [Jamie's Notes](https://jamiesnotes.com/) - -* <b>[EN]</b> – [Jan's Blog](https://janboddez.tech/) - -* <b>[EN]</b> – [jlelse's Blog](https://jlelse.blog/) - -* <b>[EN]</b> – [Jonathan Borichevsky's Blog](https://jborichevskiy.com/posts/) - -* <b>[EN]</b> – [J.R. Swab's Blog](https://jrswab.com/blog) - -* <b>[EN]</b> – [Justin Vollmer's Blog](https://www.justinvollmer.com/) - -* <b>[EN]</b> – [Kev Quirk's Blog](https://kevq.uk/) - -* <b>[EN]</b> – [Kindly](https://pensinspace.net/kindly/) - -* <b>[EN]</b> – [Kriscience](https://krsc.amk.land/) - -* <b>[DE]</b> – [Kuketz IT-Security](https://www.kuketz-blog.de/) - -* <b>[EN]</b> – [Kyle Piira's Blog](https://www.kylepiira.com/category/blog/) - -* <b>[EN]</b> – [Laura Kalbag's Blog](https://laurakalbag.com/posts/) - -* <b>[EN]</b> – [Lev's Hacking Notes](https://dev.levlaz.org/) - -* <b>[EN]</b> – [Lukas Rosenstock's Blog](https://lukasrosenstock.net/) - -* <b>[EN]</b> – [Matt Baer](https://write.as/matt/) - -* <b>[EN]</b> – [Matthias Ott's Blog](https://matthiasott.com/articles) - -* <b>[EN]</b> – [Max Böck's Blog](https://mxb.dev/blog) - -* <b>[EN]</b> – [Nduli's World](https://jnduli.co.ke/) - -* <b>[EN]</b> – [Nix Adventures](https://nixing.mx/blog/blog.html) - -* <b>[EN]</b> – [NullBuffer](https://nullbuffer.com/) - -* <b>[EN]</b> – [Rahul Chowdhury's Blog](https://rahulchowdhury.co/) - -* <b>[EN]</b> – [Ramblings from Jessie](https://blog.jessfraz.com/) - -* <b>[EN]</b> – [Read the Tea Leaves](https://nolanlawson.com/) - -* <b>[EN]</b> – [Remy Sharp's Blog](https://remysharp.com/) - -* <b>[EN]</b> – [Ryland Goldstein](https://www.cdevn.com/) - -* <b>[EN]</b> – [Sam Whited's Blog](https://blog.samwhited.com/) - -* <b>[EN]</b> – [Saura's Blog](https://blog.sasach.work/) - -* <b>[EN]</b> – [Sean Behan's Blog](https://www.seanbehan.dev/) - -* <b>[EN]</b> – [Seth Godin's Blog](https://seths.blog/) - -* <b>[EN]</b> – [Superposition.ca](https://www.superposition.ca) - -* <b>[EN]</b> – [Surya's Blog](https://blog.suryad.com/) - -* <b>[EN]</b> – [Todd Davies' Blog](https://todddavies.co.uk/blog/) - -* <b>[EN]</b> – [tonsky.me](https://tonsky.me/) - -* <b>[EN]</b> – [Zheano Blog](https://zheanoblog.eu/) diff --git a/pages/blog/making-my-own-vim-statusline.md b/pages/blog/making-my-own-vim-statusline.md @@ -0,0 +1,108 @@ +## Making My Own Vim Statusline + +[//]: # "After using a plugin to see what was taking the most time for my vim configuration to start, I decided to ditch airline and write my own statusline." + +[//]: # "main.min.css" + +[//]: # + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-24 | + <b>Last Updated:</b> 2020-02-24 +</div> + +I was playing around with a plugin that I came across while browsing +[r/vim](https://old.reddit.com/r/vim) called +[vim-startuptime](https://github.com/dstein64/vim-startuptime). It's a vim +plugin by Daniel Steinberg ([dstein64](https://github.com/dstein64) on GitHub) +which measures the amount of time each component of your vim configuration takes +to load when you launch vim. This way, you can get an idea of what is taking the +most time and causing your previously-lightning-quick text editor to take what +feels like an eternity to become ready. + +I took 5 measurements, back to back, opening my vimrc and I noticed that my vim +configuration was taking roughly 132.35ms on average to finish loading (with a +standard deviation of 2.69ms). Although that sounds fast, it was definitely +noticeable as it was just past the [100ms commonly accepted +limit](https://www.nngroup.com/articles/response-times-3-important-limits/) for +a user interface to feel like it was responding instantaneously. Below is a +video showing a very clear and noticable delay when launching vim: + +<figure> + <video controls> + <source src="/img/vim-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure> + +* [Download the mp4 video (310K)](/img/vim-airline.mp4) +* [Download a GIF (4.7M)](/img/vim-airline.gif) + +Although vim-startuptime showed me a graph of each component's execution time, +the statistics shown didn't reveal a specific component that could be causing +the startuptime to be this long. In fact, it appeared that it was the cumulative +effect of loading each of my plugins and parsing my vimrc which was causing the +overall startuptime to be noticeably long. So, I decided to figure out if this +was the case by experimenting. I removed all of my plugins (but kept my vimrc +the same) and, as expected, my startuptime dropped to the 20ms range. +One-by-one, I added my plugins back in. To my surprise, I noticed a huge jump in +startuptime when I added vim-airline back in. Vim-airline was the plugin that I +was using to display an aesthetically pleasing statusbar and buffer bar at the +bottom and top of my vim windows respectively and it was causing my startuptime +to effectively double! No other plugin had that drastic of an effect. + +I decided, then, that I was going to replace vim-airline with my own custom +statusline. + +I used a [blog post by +Irrellia](https://irrellia.github.io/blogs/vim-statusline/) to get me started +and found that it was actually really easy to make a good-looking and functional +statusline. About 100 lines of vimscript later and I had a customized statusline +that fulfilled my needs and looked really good (in my humble opinion). I also +put my custom statusline into a plugin folder in my `.vim/bundle/` directory so +that it would be automatically loaded by Pathogen as if it was a regular plugin. + +I will fully admit that I pretty much copied the colour scheme used in the +tutorial verbatim because I really liked the way it looked. Little did I know, +this would start a whole week of tinkering with my setup (I'll get into that in +an upcoming blog post). + +Something that I missed from vim-airline was that top line which displayed a +list of open buffers and highlighted the currently active buffer. I thought +about doing it myself but the implementation looked a little too complicated for +my mediocre vimscript skills. Instead, I replaced that specific functionality +with another really lightweight plugin called +[vim-buftabline](https://github.com/ap/vim-buftabline). + +Once I was finished tinkering, I tested my new custom statusline (with the +vim-buftabline plugin too) using the same method which I used to test my +previous configuration and found that the average startup time had dropped to a +mere 66.85ms (with a standard deviation of 1.79ms)! That's a roughly 2 times +improvement in speed; it felt instantaneous again! Here, have a look at the +video below: + +<figure> + <video controls> + <source src="/img/vim-no-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure> + +* [Download the mp4 video (321K)](/img/vim-no-airline.mp4) +* [Download a GIF (5.0M)](/img/vim-no-airline.gif) + +I've put my statusline in its own git repository which you can find [on +sourcehut](https://git.sr.ht/~jbauer/vim-fastline) or [on my self-hosted git +server](https://git.paritybit.ca/jbauer/vim-fastline). I've decided to call it +vim-fastline. I don't plan to do anything even remotely comparable to +vim-airline with it but I want to make it available in case others want to hack +on it. + +Not only was it fun and educational to program my own statusline, it had +significant performance benefits, and it now sort of feels like my vim +configuration is much more personal and not just a collection of plugins. It +feels like it's _"my configuration_" if that makes sense. I encourage you to +give it a try even if you're happy with your current configuration. + +Happy hacking! diff --git a/pages/blog/urxvt-to-st.md b/pages/blog/urxvt-to-st.md @@ -0,0 +1,102 @@ +## Switching from urxvt to st + +[//]: # "It's really important for me to have a terminal application that performs well, feels good to use, and has every feature that I need. Unfortunately, since I started using urxvt about a year ago now, I've slowly begun to notice things missing or not working quite right." + +[//]: # "main.min.css" + +[//]: # + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-14 | + <b>Last Updated:</b> 2020-02-15 +</div> + +_**Update:** Reworded paragraph on trying other terminals._ + +I spend most of my time working in the terminal. Whether it's email with +Neomutt, music with ncmpcpp, programming with Neovim, or administrating my +systems, I feel the most comfortable and in control when using the terminal. +That's why it's really important for me to have a terminal application that +performs well, feels good to use, and has every feature that I need without me +noticing that something isn't working or doesn't look quite right. + +Unfortunately, since I started using urxvt about a year ago now, I've slowly +begun to notice things missing or not working quite right. For example, despite +being called "rxvt-unicode-256color", urxvt doesn't really handle unicode +characters that well. Take a look at the example below: + +<figure> + <a href="/img/urxvt-vim.png"><img src="/img/urxvt-vim.png" alt="A screenshot of neovim + in urxvt showing the statusline with two boxes where unicode characters + should be."/></a> +</figure> + +This was really noticeable and, even though those unicode characters aren't +super important, it would still annoy me when I saw boxes where characters +should be. This was even worse when I was browsing the Internet using lynx in +urxvt (this page is the [W3 Schools HTML5 Symbols +Reference](https://www.w3schools.com/charsets/ref_utf_symbols.asp)): + +<figure> + <a href="/img/urxvt-lynx.png"><img src="/img/urxvt-lynx-thumb.png" alt="A screenshot + of lynx in urxvt on an HTML5 symbols reference page showing boxes where + unicode symbols should be."/></a> +</figure> + +Not to mention, urxvt doesn't have truecolour support which, while not super +important to me, is definitely a bonus in st's favour. The screenshot below +shows urxvt's output for [this truecolour test](https://gist.github.com/XVilka/8346728): + +<figure> + <a href="/img/urxvt-tc.png"><img src="/img/urxvt-tc.png" alt="A screenshot of urxvt's + output when tested for truecolour support where there isn't a smooth colour + gradient and many characters don't look right."/></a> +</figure> + +I heard about st from other people on the Internet and from videos that I came +across on Youtube and it intrigued me because of Suckless' (the creators of st) +unique philosophy regarding software development. I also gave some other +terminals a try (kitty, konsole, xfce4-terminal) but either found them to need +far too many dependencies, have far too many unnecessary features, or take far +too long to load so I decided to give st a shot. + +Once I got done configuring it and patching it with the couple additions that I +wanted (a scrollback buffer and the ability to copy URLs so that I could open +them in my browser), I compiled it and started playing around with it. +Immediately I noticed that it felt just as fast as urxvt, it used less +RAM (something like 10-15M per window instead of 20-25M), and, when testing +side-by-side with urxvt, I would sometimes forget which terminal was which +because st looked and felt just like urxvt. It was essentially a drop-in +replacement even for the scripts that I have which launched applications using +urxvt. + +But, of course, I was really after better unicode and truecolour support. St +delivered perfectly despite only being told to use my regular font (fallback +fonts aren't supported in st without a patch). Have a look: + +<figure> + <a href="/img/st-vim.png"><img src="/img/st-vim.png" alt="A screenshot of neovim in st + showing the statusline with the correct characters displayed."/></a> +</figure> + +<figure> + <a href="/img/st-lynx.png"><img src="/img/st-lynx-thumb.png" alt="A screenshot of lynx + in st on an HTML5 symbols reference page showing the right unicode + symbols."/></a> +</figure> + +<figure> + <a href="/img/st-tc.png"><img src="/img/st-tc.png" alt="A screenshot of st's output + when tested for truecolour support where there is the expected smooth colour + gradient."/></a> +</figure> + +I am very happy with st and I don't at all mind the fact that I have to +re-compile it when I want to make changes or if a new version is released. It +feels like a personal build of the software tailored to my needs without +anything else that I don't need or don't want. + +If you want to try out st, follow this link to the [st +website](https://st.suckless.org/). You can view my build of st in [my dotfiles +repository](https://git.sr.ht/~jbauer/dotfiles). diff --git a/pages/blog/website-redesign.md b/pages/blog/website-redesign.md @@ -9,9 +9,12 @@ <div class="byline"> <b>Written By:</b> Jake Bauer | <b>Posted:</b> 2020-02-06 | - <b>Last Updated:</b> 2020-02-06 + <b>Last Updated:</b> 2020-02-13 </div> +_**Update**: Added more links to helpful validators and resources at the bottom +of the page._ + For about one and a half months now I've been working on redesigning paritybit.ca to make it more accessible. In that time I've completely overhauled the design of the website to make it scale better on different screen sizes and @@ -80,3 +83,8 @@ Below is a list of resources that I used in redesigning my website: * [W3 Introduction to Accesibility](https://www.w3.org/WAI/fundamentals/accessibility-intro/) * [W3 Page Structure Explanation](https://www.w3.org/WAI/tutorials/page-structure/regions/) * [W3 Schools CSS Reference](https://www.w3schools.com/css) +* [WAVE Web Accessibility Validation Tool](https://wave.webaim.org/) +* [Google's PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights/) +* [Inclusively Hidden (a blog post about hiding things accessibly)](https://www.scottohara.me/blog/2017/04/14/inclusively-hidden.html) +* [WebPageTest](https://www.webpagetest.org/) +* [WebPageTest's Lighthouse Test (run Lighthouse without Google Chrome)](https://www.webpagetest.org/lighthouse) diff --git a/pages/contact.md b/pages/contact.md @@ -16,4 +16,4 @@ attention to it (e.g. a reply to one of my blog posts), please send an email to [feedback@paritybit.ca](mailto:feedback@paritybit.ca). To get into contact with me personally, you can find my email and GPG key on the -[About Me](/about-me) page. +[about page](/about). diff --git a/pages/home.md b/pages/home.md @@ -6,9 +6,13 @@ [//]: # -This is the personal website of me, [Jake Bauer](/about-me). This is where I -host my blog and where I post my projects and guides. Everything is accessible -through the links at the top of the page. +paritybit.ca is the personal website of me, Jake Bauer. This is where I post the +things I create like my [projects](/projects), [guides](/guides), and [blog +posts](/blog). I've also collected a bunch of useful links which I put on [the +links page](/links). + +Learn more about me, this site, and the tools and programs I use on [the about +page](/about). <div class="feed-wrapper"> <h3 class="feed-title">What's New:</h3> @@ -16,6 +20,10 @@ through the links at the top of the page. src="/img/feed-icon.png" width="15" height="15" alt="Click for RSS Feed"/> </a> </div> +2020-02-24 <a class="feed-item" href="blog/making-my-own-vim-statusline">New Blog Post: Making My Own Vim Statusline</a> + +2020-02-14 <a class="feed-item" href="blog/urxvt-to-st">New Blog Post: Switching from urxvt to st</a> + 2020-02-06 <a class="feed-item" href="blog/website-redesign">New Blog Post: Making My Website More Accessible</a> 2020-01-08 <a class="feed-item" href="guides/firefox-new-tab-dark">New Guide: How to Make the New Tab Page Dark Themed in Firefox</a> diff --git a/pages/links.md b/pages/links.md @@ -0,0 +1,225 @@ +## Links + +[//]: # "Useful links that I've collected and wish to share or remember for the future. Everything from Internet culture, useful pieces of wisdom, other blogs, and more." + +[//]: # "main.min.css" + +[//]: # "Internet Culture; The Workplace; Videos and Lectures; Programming; sub:Vim; sub:Web Design; Blogroll" + +### Internet Culture + +* [Hacker Laws](https://github.com/dwmkerr/hacker-laws) - "Laws, Theories, + Principles and Patterns that developers will find useful." + +* [How To Ask Questions The Smart Way](http://catb.org/~esr/faqs/smart-questions.html) - + A document by [Eric S. + Raymond](https://en.wikipedia.org/wiki/Eric_S._Raymond) about how to ask + questions on the Internet. An essential read for everyone seeking help of + strangers on the Internet. + +* [How to ask good questions](https://jvns.ca/blog/good-questions/) - + An article by [Julia Evans](https://jvns.ca/about/) about asking good + questions. This deals more with asking questions of people you know rather + than of strangers on the Internet and it is also more friendly in its tone + (although I do like and respect the + ["kick-in-the-pants"](https://idioms.thefreedictionary.com/a+kick+in+the+pants) + tone of Eric S. Raymond's essay). + +* [How to Become a Hacker](http://www.catb.org/~esr/faqs/hacker-howto.html) - + A valuable read for anyone wanting to become a programmer, wanting to + contribute to free/open source projects, or anyone who is a self-proclaimed + "hacker". + +* [Use plaintext email](https://useplaintext.email) - A website detailing the + reasons why you should use plaintext email instead of HTML email. Also talks + about email ettiquette which makes this a must-read if you are thinking of + contributing to software projects which do most of their communication over + email (e.g. Debian, the Linux kernel). + +### The Workplace + +* [The Unspoken Truth About Managing Geeks](https://www.computerworld.com/article/2527153/opinion-the-unspoken-truth-about-managing-geeks.html) - + A valuable read for anyone managing a technical group of people. + +### Videos and Lectures + +* [The Missing Semester of Your CS Education](https://missing.csail.mit.edu/) - + A great resource on the things that are really helpful as a programmer and + computer scientist but which school glosses over and expects you to figure + out on your own. Things like making effective use of the terminal, using + tools like vim, and version control. + +* [FOSDEM 2020 - The Selfish Contributor Explained](https://fosdem.org/2020/schedule/event/selfish_contributor/) - + A talk about what motivates open source contributors and what can happen + when people feel like they're being taken advantage of. + +* [How to Do 90% of What Plugins Do (With Just Vim)](https://www.invidio.us/watch?v=XA2WjJbmmoM) - + Taking a look at the often-unrealized capabilities of plain old Vim. + +### Programming + +* [Computers Can Be Understood](https://blog.nelhage.com/post/computers-can-be-understood/) - + Computers, while they may seem mystic, operate deterministically. It is + worth the time of every programmer/engineer to understand the systems that + we use or are developing with. + +#### Vim + +* [Vim anti-patterns](https://sanctum.geek.nz/arabesque/vim-anti-patterns/) - + A writeup of some of the traps people can fall into when using vim and how + to get out of them (I know I'm guilty of a few). + +* [vimways.org](https://vimways.org/) - A collection of some good tips and + tricks for using vim more efficiently/effectively. + +* [vimcasts.org](http://vimcasts.org/) - A collection of useful tutorials and + webcasts on using vim. + +#### Web Design + +* [CO2 emissions on the web](https://dannyvankooten.com/website-carbon-emissions/) - + A fantastic article about the hidden impact of our websites and Internet + traffic. Every byte counts. + +* [Website Carbon Calculator](https://www.websitecarbon.com/) - See the estimated impact + your website is having on the environment. + +* [The Website Obestiy Crisis](https://idlewords.com/talks/website_obesity.htm) - + A detailed overview of the current crisis regarding the size of modern + websites and the issues arising from this "obesity crisis". + +### Blogroll + +Below are a bunch of blogs that I follow; most of which are in the same domain as +my blog (i.e. technology, programming, system administration, privacy, etc). +They are listed in alphabetical order with the primary language of the blog +noted beside each entry. The content of the blogs listed below do not +necessarily represent my views and opinions. + +* <b>[EN]</b> – [Adventures in Techland](https://brandelune.github.io/) + +* <b>[EN]</b> – [Andy Bell's Blog](https://hankchizljaw.com/) + +* <b>[EN]</b> – [Anil Dash's Blog](https://anildash.com/) + +* <b>[EN]</b> – [Aral Balkan](https://ar.al/) + +* <b>[EN]</b> – [ayekat's Blog](http://ayekat.ch/blog) + +* <b>[EN]</b> – [Berfr Blog](https://berfr.me/) + +* <b>[EN]</b> – [Beyer Matthias' Blog](https://beyermatthias.de/blog/) + +* <b>[EN]</b> – [bn4t's Blog](https://bn4t.me/posts/) + +* <b>[EN]</b> – [Brandon Nolet's Blog](https://bnolet.me/posts/) + +* <b>[EN]</b> – [Ctrl Blog](https://www.ctrl.blog/) + +* <b>[EN]</b> – [Codesections Blog](https://www.codesections.com/blog/) + +* <b>[EN]</b> – [Christoph Slim's Blog](https://slim.page/interests.html) + +* <b>[EN]</b> – [Daniel Playfair Cal's Blog](https://www.danielplayfaircal.com/) + +* <b>[EN]</b> – [Danny van Kooten's Blog](https://dannyvankooten.com/blog/) + +* <b>[EN]</b> – [davd.io](https://www.davd.io/) + +* <b>[EN]</b> – [Desmond Rivet's Blog](https://desmondrivet.com/blog/) + +* <b>[EN]</b> – [Drew DeVault's Blog](https://drewdevault.com/) + +* <b>[EN]</b> – [Disty Phillips' Blog](https://dusty.phillips.codes/) + +* <b>[DE]</b> – [einGeek](https://blog.ein-geek.de/) + +* <b>[FR]</b> – [Eleos in space](https://blog.eleos.space/) + +* <b>[EN]</b> – [Emanuel Pina's Blog](https://emanuelpina.pt/) + +* <b>[EN]</b> – [Fred's Notes](https://ramblings.fred.moe/) + +* <b>[EN]</b> – [fnux's Blog](https://fnux.ch/) + +* <b>[EN]</b> – [Garett Dimon's Blog](https://garrettdimon.com/) + +* <b>[EN]</b> – [Gokberk Yaltirakli's Blog](https://www.gkbrk.com/) + +* <b>[EN]</b> – [Humaid AlQassimi's Blog](https://humaidq.ae/blog/) + +* <b>[EN]</b> – [Humbug](https://humbug.pw/) + +* <b>[EN]</b> – [jakob.space](http://jakob.space/) + +* <b>[EN]</b> – [Jamie's Notes](https://jamiesnotes.com/) + +* <b>[EN]</b> – [Jan's Blog](https://janboddez.tech/) + +* <b>[EN]</b> – [jlelse's Blog](https://jlelse.blog/) + +* <b>[EN]</b> – [Jonathan Borichevsky's Blog](https://jborichevskiy.com/posts/) + +* <b>[EN]</b> – [J.R. Swab's Blog](https://jrswab.com/blog) + +* <b>[EN]</b> – [Justin Vollmer's Blog](https://www.justinvollmer.com/) + +* <b>[EN]</b> – [Kev Quirk's Blog](https://kevq.uk/) + +* <b>[EN]</b> – [Kindly](https://pensinspace.net/kindly/) + +* <b>[EN]</b> – [Kriscience](https://krsc.amk.land/) + +* <b>[DE]</b> – [Kuketz IT-Security](https://www.kuketz-blog.de/) + +* <b>[EN]</b> – [Kyle Piira's Blog](https://www.kylepiira.com/category/blog/) + +* <b>[EN]</b> – [Laura Kalbag's Blog](https://laurakalbag.com/posts/) + +* <b>[EN]</b> – [Lev's Hacking Notes](https://dev.levlaz.org/) + +* <b>[EN]</b> – [Lukas Rosenstock's Blog](https://lukasrosenstock.net/) + +* <b>[EN]</b> – [Matt Baer](https://write.as/matt/) + +* <b>[EN]</b> – [Matthias Ott's Blog](https://matthiasott.com/articles) + +* <b>[EN]</b> – [Max Böck's Blog](https://mxb.dev/blog) + +* <b>[EN]</b> – [Nduli's World](https://jnduli.co.ke/) + +* <b>[EN]</b> – [Nelson Elhage's Blog](https://blog.nelhage.com/) + +* <b>[EN]</b> – [Nix Adventures](https://nixing.mx/blog/blog.html) + +* <b>[EN]</b> – [NullBuffer](https://nullbuffer.com/) + +* <b>[EN]</b> – [Rahul Chowdhury's Blog](https://rahulchowdhury.co/) + +* <b>[EN]</b> – [Ramblings from Jessie](https://blog.jessfraz.com/) + +* <b>[EN]</b> – [Read the Tea Leaves](https://nolanlawson.com/) + +* <b>[EN]</b> – [Remy Sharp's Blog](https://remysharp.com/) + +* <b>[EN]</b> – [Rocket Nine Labs](https://rocketnine.space/post/) + +* <b>[EN]</b> – [Ryland Goldstein](https://www.cdevn.com/) + +* <b>[EN]</b> – [Sam Whited's Blog](https://blog.samwhited.com/) + +* <b>[EN]</b> – [Saura's Blog](https://blog.sasach.work/) + +* <b>[EN]</b> – [Sean Behan's Blog](https://www.seanbehan.dev/) + +* <b>[EN]</b> – [Seth Godin's Blog](https://seths.blog/) + +* <b>[EN]</b> – [Superposition.ca](https://www.superposition.ca) + +* <b>[EN]</b> – [Surya's Blog](https://blog.suryad.com/) + +* <b>[EN]</b> – [Todd Davies' Blog](https://todddavies.co.uk/blog/) + +* <b>[EN]</b> – [tonsky.me](https://tonsky.me/) + +* <b>[EN]</b> – [Zheano Blog](https://zheanoblog.eu/) diff --git a/pages/projects/usrmnt.md b/pages/projects/usrmnt.md @@ -18,12 +18,13 @@ action"/></a> ### Download -[Download the Latest Version (1.1.1)](/share/usrmnt) +[Get it from the Git Repository](https://git.sr.ht/~jbauer/usrmnt) -[View the Git Repository](https://git.sr.ht/~jbauer/tools-and-utilities/tree/master/usrmnt) +[Alternate Git Repository](https://git.paritybit.ca/jbauer/usrmnt) As always, I am open to any feedback, requests, bug reports, or contributions -you may have. +you may have. Please send these to the sourcehut git repository as +git.paritybit.ca is just a mirror. ### Contributing diff --git a/pages/uses.md b/pages/uses.md @@ -6,7 +6,7 @@ [//]: # "Hardware; sub:Desktop; sub:Laptop; sub:Tablets; sub:Phone; sub:Server Equipment; Software" -This page is for those whom are curious about the programs and equipment I use +This page is for those who are curious about the programs and equipment I use to get work done. It is inspired by [uses.tech](https://uses.tech/). ### Hardware @@ -54,7 +54,7 @@ desktop monitors. - With dock and keyboard - Runs the latest Ubuntu -* Samsung Galaxy Tab III - Used for reading PDFs, kept entirely offline. +* Samsung Galaxy Tab 3 Lite - Used for reading PDFs, kept entirely offline. - 1GB RAM - 8GB Storage - With protective folding case @@ -95,7 +95,7 @@ the future. <figure> <a href="/img/laptop-screenshot.png"><img src="/img/laptop-screenshot-thumb.png" alt="A picture of my laptop's desktop - with some applications open"/></a> + with some applications open."/></a> <figcaption>The desktop environment of my laptop in action.</figcaption> </figure> @@ -161,14 +161,18 @@ manager. #### Fonts -I am partial to the [DejaVu](https://dejavu-fonts.github.io/) set of fonts. I +I am partial to the [DejaVu](https://dejavu-fonts.github.io/) font family. I use them pretty much everywhere. #### Terminal -I use [urxvt](http://software.schmorp.de/pkg/rxvt-unicode.html) as my terminal -emulator. I like how it can be configured with Xresources and that it's really -simple and light. No frills. +I use [st](https://st.suckless.org/) (aka Simple Terminal). I actually really +like the model of patching a minimal piece of software with the features that I +need and I enjoy the simplicity, speed, and light feeling of it. + +I used to use [urxvt](http://software.schmorp.de/pkg/rxvt-unicode.html) but it +didn't handle unicode that well and lacked truecolour support so [I switched to +st](/blog/urxvt-to-st). #### File Manager @@ -178,10 +182,13 @@ manager. #### Text Editor/IDE -[Neovim](https://neovim.io/). I got used to the keybindings and can't switch now -as they have been burned into my brain and muscles. I use a select few plugins -and a colour scheme to make things the way I like them. Vim is quite powerful as -both a text editor and a language-agnostic IDE. +[Neovim](https://neovim.io/). I am very comfortable with the keybindings and +modal nature of vim and vim-like editors. I use a select few plugins and a +colour scheme but try to keep things as small and manageable as possible. Vim is +quite powerful as both a text editor and a language-agnostic IDE. For example, +its LaTeX support with the various LaTeX plugins (I use +[LaTeX-Box](https://github.com/LaTeX-Box-Team/LaTeX-Box) as part of +[vim-polyglot](https://github.com/sheerun/vim-polyglot)) is top notch. #### Web Browser @@ -239,6 +246,11 @@ for managing my tens-of-gigabytes large music collection. versatile. It also integrates with youtube-dl so I can watch Youtube videos without opening my web browser. +#### Music Visualizer + +I use [vis](https://github.com/dpayne/cli-visualizer). Even though ncmpcpp has +built-in visualizers, I like the way vis looks. + #### RSS Feed Reader [Newsboat](https://newsboat.org/) because it's simple, easy, terminal-based, and @@ -247,10 +259,16 @@ application I want (e.g. open a Youtube feed in MPV). #### Document Creation -I use [LibreOffice](https://www.libreoffice.org/) for those tasks which require -spreadsheets or when someone "requires" that something be submitted in .docx -format but otherwise I use Neovim with either LaTeX, markdown, groff, or just -plain text. +I will typically write documents in either markdown or LaTeX. I use +[LibreOffice](https://www.libreoffice.org/) for those tasks which require +spreadsheets (I have a fairly complex budgeting spreadsheet) or when someone +"requires" that something be submitted in .docx format. + +#### Presentations + +I prefer using [sent](https://tools.suckless.org/sent/) because I like the style +of presentation that the tool produces. If I ever need anything more complex I +opt for [Beamer](https://ctan.org/pkg/beamer). #### Day Planning/Organization/Notes diff --git a/public/android-chrome-192x192.png b/public/android-chrome-192x192.png Binary files differ. diff --git a/public/android-chrome-512x512.png b/public/android-chrome-512x512.png Binary files differ. diff --git a/public/apple-touch-icon.png b/public/apple-touch-icon.png Binary files differ. diff --git a/public/browserconfig.xml b/public/browserconfig.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="utf-8"?> +<browserconfig> + <msapplication> + <tile> + <square150x150logo src="/mstile-150x150.png"/> + <TileColor>#da532c</TileColor> + </tile> + </msapplication> +</browserconfig> diff --git a/public/favicon-16x16.png b/public/favicon-16x16.png Binary files differ. diff --git a/public/favicon-32x32.png b/public/favicon-32x32.png Binary files differ. diff --git a/public/favicon.ico b/public/favicon.ico Binary files differ. diff --git a/public/favicon.png b/public/favicon.png Binary files differ. diff --git a/public/feeds/blog-feed.xml b/public/feeds/blog-feed.xml @@ -7,6 +7,218 @@ <description>The latest blog posts from paritybit.ca. </description> <item> + <title>New Blog Post: Making My Own Vim Statusline</title> + <link>https://www.paritybit.ca/blog/making-my-own-vim-statusline</link> + <guid>https://www.paritybit.ca/blog/making-my-own-vim-statusline</guid> + <pubDate>Mon, 24 Feb 2020 22:42:05 -0500</pubDate> + <description><![CDATA[<h2>Making My Own Vim Statusline</h2> + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-24 | + <b>Last Updated:</b> 2020-02-24 +</div> + +<p>I was playing around with a plugin that I came across while browsing +<a href="https://old.reddit.com/r/vim">r/vim</a> called +<a href="https://github.com/dstein64/vim-startuptime">vim-startuptime</a>. It's a vim +plugin by Daniel Steinberg (<a href="https://github.com/dstein64">dstein64</a> on GitHub) +which measures the amount of time each component of your vim configuration takes +to load when you launch vim. This way, you can get an idea of what is taking the +most time and causing your previously-lightning-quick text editor to take what +feels like an eternity to become ready.</p> + +<p>I took 5 measurements, back to back, opening my vimrc and I noticed that my vim +configuration was taking roughly 132.35ms on average to finish loading (with a +standard deviation of 2.69ms). Although that sounds fast, it was definitely +noticeable as it was just past the <a href="https://www.nngroup.com/articles/response-times-3-important-limits/">100ms commonly accepted +limit</a> for +a user interface to feel like it was responding instantaneously. Below is a +video showing a very clear and noticable delay when launching vim:</p> + +<p><figure> + <video controls> + <source src="/img/vim-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure></p> + +<ul> +<li><a href="/img/vim-airline.mp4">Download the mp4 video (310K)</a></li> +<li><a href="/img/vim-airline.gif">Download a GIF (4.7M)</a></li> +</ul> + +<p>Although vim-startuptime showed me a graph of each component's execution time, +the statistics shown didn't reveal a specific component that could be causing +the startuptime to be this long. In fact, it appeared that it was the cumulative +effect of loading each of my plugins and parsing my vimrc which was causing the +overall startuptime to be noticeably long. So, I decided to figure out if this +was the case by experimenting. I removed all of my plugins (but kept my vimrc +the same) and, as expected, my startuptime dropped to the 20ms range. +One-by-one, I added my plugins back in. To my surprise, I noticed a huge jump in +startuptime when I added vim-airline back in. Vim-airline was the plugin that I +was using to display an aesthetically pleasing statusbar and buffer bar at the +bottom and top of my vim windows respectively and it was causing my startuptime +to effectively double! No other plugin had that drastic of an effect.</p> + +<p>I decided, then, that I was going to replace vim-airline with my own custom +statusline.</p> + +<p>I used a <a href="https://irrellia.github.io/blogs/vim-statusline/">blog post by +Irrellia</a> to get me started +and found that it was actually really easy to make a good-looking and functional +statusline. About 100 lines of vimscript later and I had a customized statusline +that fulfilled my needs and looked really good (in my humble opinion). I also +put my custom statusline into a plugin folder in my <code>.vim/bundle/</code> directory so +that it would be automatically loaded by Pathogen as if it was a regular plugin.</p> + +<p>I will fully admit that I pretty much copied the colour scheme used in the +tutorial verbatim because I really liked the way it looked. Little did I know, +this would start a whole week of tinkering with my setup (I'll get into that in +an upcoming blog post).</p> + +<p>Something that I missed from vim-airline was that top line which displayed a +list of open buffers and highlighted the currently active buffer. I thought +about doing it myself but the implementation looked a little too complicated for +my mediocre vimscript skills. Instead, I replaced that specific functionality +with another, really lightweight plugin called +<a href="https://github.com/ap/vim-buftabline">vim-buftabline</a>.</p> + +<p>Once I was finished tinkering, I tested my new custom statusline (with the +vim-buftabline plugin too) using the same method which I used to test my +previous configuration and found that the average startup time had dropped to a +mere 66.85ms (with a standard deviation of 1.79ms)! That's a roughly 2 times +improvement in speed; it felt instantaneous again! Here, have a look at the +video below:</p> + +<p><figure> + <video controls> + <source src="/img/vim-no-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure></p> + +<ul> +<li><a href="/img/vim-no-airline.mp4">Download the mp4 video (310K)</a></li> +<li><a href="/img/vim-no-airline.gif">Download a GIF (4.7M)</a></li> +</ul> + +<p>I've put my statusline in its own git repository which you can find <a href="https://git.sr.ht/~jbauer/vim-fastline">on +sourcehut</a> or <a href="https://git.paritybit.ca/jbauer/vim-fastline">on my self-hosted git +server</a>. I've decided to call it +vim-fastline. I don't plan to do anything even remotely comparable to +vim-airline with it but I want to make it available in case others want to hack +on it.</p> + +<p>Not only was it fun and educational to program my own statusline, it had +significant performance benefits, and it now sort of feels like my vim +configuration is much more personal and not just a collection of plugins. It +feels like it's <em>"my configuration</em>" if that makes sense. I encourage you to +give it a try even if you're happy with your current configuration.</p> + +<p>Happy hacking!</p>]]></description> +</item> +<item> + <title>New Blog Post: Switching from urxvt to st</title> + <link>https://www.paritybit.ca/blog/urxvt-to-st</link> + <guid>https://www.paritybit.ca/blog/urxvt-to-st</guid> + <pubDate>Fri, 14 Feb 2020 22:34:26 -0500</pubDate> + <description><![CDATA[<h2>Switching from urxvt to st</h2> + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-14 | + <b>Last Updated:</b> 2020-02-14 +</div> + +<p>I spend most of my time working in the terminal. Whether it's email with +Neomutt, music with ncmpcpp, programming with Neovim, or administrating my +systems, I feel the most comfortable and in control when using the terminal. +That's why it's really important for me to have a terminal application that +performs well, feels good to use, and has every feature that I need without me +noticing that something isn't working or doesn't look quite right.</p> + +<p>Unfortunately, since I started using urxvt about a year ago now, I've slowly +begun to notice things missing or not working quite right. For example, despite +being called "rxvt-unicode-256color", urxvt doesn't really handle unicode +characters that well. Take a look at the example below:</p> + +<p><figure> + <a href="/img/urxvt-vim.png"><img src="/img/urxvt-vim.png" alt="A screenshot of neovim + in urxvt showing the statusline with two boxes where unicode characters + should be."/></a> +</figure></p> + +<p>This was really noticeable and, even though those unicode characters aren't +super important, it would still annoy me when I saw boxes where characters +should be. This was even worse when I was browsing the Internet using lynx in +urxvt (this page is the <a href="https://www.w3schools.com/charsets/ref_utf_symbols.asp">W3 Schools HTML5 Symbols +Reference</a>:</p> + +<p><figure> + <a href="/img/urxvt-lynx.png"><img src="/img/urxvt-lynx-thumb.png" alt="A screenshot + of lynx in urxvt on an HTML5 symbols reference page showing boxes where + unicode symbols should be."/></a> +</figure></p> + +<p>Not to mention, urxvt doesn't have truecolour support which, while not super +important to me, is definitely a bonus in st's favour. The screenshot below +shows urxvt's output for <a href="https://gist.github.com/XVilka/8346728">this truecolour test</a>:</p> + +<p><figure> + <a href="/img/urxvt-tc.png"><img src="/img/urxvt-tc.png" alt="A screenshot of urxvt's + output when tested for truecolour support where there isn't a smooth colour + gradient and many characters don't look right."/></a> +</figure></p> + +<p>I heard about st from other people on the Internet and from videos that I came +across on Youtube and it intrigued me because of Suckless' (the creators of st) +unique philosophy regarding software development. I also gave other terminals a +try but either found them to need far too many dependencies (e.g. konsole, +xfce4-terminal) or to just have far too many unnecessary features or feel slow +to load (e.g. kitty). So I decided to give st a shot.</p> + +<p>Once I got done configuring it, and patching it with the couple additions that I +wanted (a scrollback buffer and the ability to copy URLs so that I could open +them in my browser), I compiled it and started playing around with it. +Immediately I noticed that it felt just as fast as urxvt, it used less +RAM (something like 10-15M per window instead of 20-25M), and, when testing +side-by-side with urxvt, I would sometimes forget which terminal was which +because st looked and felt just like urxvt. It was essentially a drop-in +replacement even for the scripts that I have which launched applications using +urxvt.</p> + +<p>But of course, I was really after better unicode and truecolour support. St +delivered perfectly, despite only being told to use my regular font (fallback +fonts aren't supported in st without a patch). Have a look:</p> + +<p><figure> + <a href="/img/st-vim.png"><img src="/img/st-vim.png" alt="A screenshot of neovim in st + showing the statusline with the correct characters displayed."/></a> +</figure></p> + +<p><figure> + <a href="/img/st-lynx.png"><img src="/img/st-lynx-thumb.png" alt="A screenshot of lynx + in st on an HTML5 symbols reference page showing the right unicode + symbols."/></a> +</figure></p> + +<p><figure> + <a href="/img/st-tc.png"><img src="/img/st-tc.png" alt="A screenshot of st's output + when tested for truecolour support where there is the expected smooth colour + gradient."/></a> +</figure></p> + +<p>I am very happy with st and I don't at all mind the fact that I have to +re-compile it when I want to make changes or if a new version is released. It +feels like a personal build of the software tailored to my needs without +anything else that I don't need or don't want.</p> + +<p>If you want to try out st, follow this link to the <a href="https://st.suckless.org/">st +website</a>. You can view my build of st in <a href="https://git.sr.ht/~jbauer/dotfiles">my dotfiles +repository</a>.</p>]]></description> +</item> +<item> <title>New Blog Post: Making My Website More Accessible</title> <link>https://www.paritybit.ca/blog/website-redesign</link> <guid>https://www.paritybit.ca/blog/website-redesign</guid> diff --git a/public/feeds/sitewide-feed.xml b/public/feeds/sitewide-feed.xml @@ -7,6 +7,218 @@ <description>The feed that covers all notable additions, updates, announcements, and other changes for the entire paritybit.ca website.</description> <item> + <title>New Blog Post: Making My Own Vim Statusline</title> + <link>https://www.paritybit.ca/blog/making-my-own-vim-statusline</link> + <guid>https://www.paritybit.ca/blog/making-my-own-vim-statusline</guid> + <pubDate>Mon, 24 Feb 2020 22:42:05 -0500</pubDate> + <description><![CDATA[<h2>Making My Own Vim Statusline</h2> + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-24 | + <b>Last Updated:</b> 2020-02-24 +</div> + +<p>I was playing around with a plugin that I came across while browsing +<a href="https://old.reddit.com/r/vim">r/vim</a> called +<a href="https://github.com/dstein64/vim-startuptime">vim-startuptime</a>. It's a vim +plugin by Daniel Steinberg (<a href="https://github.com/dstein64">dstein64</a> on GitHub) +which measures the amount of time each component of your vim configuration takes +to load when you launch vim. This way, you can get an idea of what is taking the +most time and causing your previously-lightning-quick text editor to take what +feels like an eternity to become ready.</p> + +<p>I took 5 measurements, back to back, opening my vimrc and I noticed that my vim +configuration was taking roughly 132.35ms on average to finish loading (with a +standard deviation of 2.69ms). Although that sounds fast, it was definitely +noticeable as it was just past the <a href="https://www.nngroup.com/articles/response-times-3-important-limits/">100ms commonly accepted +limit</a> for +a user interface to feel like it was responding instantaneously. Below is a +video showing a very clear and noticable delay when launching vim:</p> + +<p><figure> + <video controls> + <source src="/img/vim-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure></p> + +<ul> +<li><a href="/img/vim-airline.mp4">Download the mp4 video (310K)</a></li> +<li><a href="/img/vim-airline.gif">Download a GIF (4.7M)</a></li> +</ul> + +<p>Although vim-startuptime showed me a graph of each component's execution time, +the statistics shown didn't reveal a specific component that could be causing +the startuptime to be this long. In fact, it appeared that it was the cumulative +effect of loading each of my plugins and parsing my vimrc which was causing the +overall startuptime to be noticeably long. So, I decided to figure out if this +was the case by experimenting. I removed all of my plugins (but kept my vimrc +the same) and, as expected, my startuptime dropped to the 20ms range. +One-by-one, I added my plugins back in. To my surprise, I noticed a huge jump in +startuptime when I added vim-airline back in. Vim-airline was the plugin that I +was using to display an aesthetically pleasing statusbar and buffer bar at the +bottom and top of my vim windows respectively and it was causing my startuptime +to effectively double! No other plugin had that drastic of an effect.</p> + +<p>I decided, then, that I was going to replace vim-airline with my own custom +statusline.</p> + +<p>I used a <a href="https://irrellia.github.io/blogs/vim-statusline/">blog post by +Irrellia</a> to get me started +and found that it was actually really easy to make a good-looking and functional +statusline. About 100 lines of vimscript later and I had a customized statusline +that fulfilled my needs and looked really good (in my humble opinion). I also +put my custom statusline into a plugin folder in my <code>.vim/bundle/</code> directory so +that it would be automatically loaded by Pathogen as if it was a regular plugin.</p> + +<p>I will fully admit that I pretty much copied the colour scheme used in the +tutorial verbatim because I really liked the way it looked. Little did I know, +this would start a whole week of tinkering with my setup (I'll get into that in +an upcoming blog post).</p> + +<p>Something that I missed from vim-airline was that top line which displayed a +list of open buffers and highlighted the currently active buffer. I thought +about doing it myself but the implementation looked a little too complicated for +my mediocre vimscript skills. Instead, I replaced that specific functionality +with another, really lightweight plugin called +<a href="https://github.com/ap/vim-buftabline">vim-buftabline</a>.</p> + +<p>Once I was finished tinkering, I tested my new custom statusline (with the +vim-buftabline plugin too) using the same method which I used to test my +previous configuration and found that the average startup time had dropped to a +mere 66.85ms (with a standard deviation of 1.79ms)! That's a roughly 2 times +improvement in speed; it felt instantaneous again! Here, have a look at the +video below:</p> + +<p><figure> + <video controls> + <source src="/img/vim-no-airline.mp4" type="video/mp4"> + Your browser does not support the video tag, try the download links below. + </video> +</figure></p> + +<ul> +<li><a href="/img/vim-no-airline.mp4">Download the mp4 video (310K)</a></li> +<li><a href="/img/vim-no-airline.gif">Download a GIF (4.7M)</a></li> +</ul> + +<p>I've put my statusline in its own git repository which you can find <a href="https://git.sr.ht/~jbauer/vim-fastline">on +sourcehut</a> or <a href="https://git.paritybit.ca/jbauer/vim-fastline">on my self-hosted git +server</a>. I've decided to call it +vim-fastline. I don't plan to do anything even remotely comparable to +vim-airline with it but I want to make it available in case others want to hack +on it.</p> + +<p>Not only was it fun and educational to program my own statusline, it had +significant performance benefits, and it now sort of feels like my vim +configuration is much more personal and not just a collection of plugins. It +feels like it's <em>"my configuration</em>" if that makes sense. I encourage you to +give it a try even if you're happy with your current configuration.</p> + +<p>Happy hacking!</p>]]></description> +</item> +<item> + <title>New Blog Post: Switching from urxvt to st</title> + <link>https://www.paritybit.ca/blog/urxvt-to-st</link> + <guid>https://www.paritybit.ca/blog/urxvt-to-st</guid> + <pubDate>Fri, 14 Feb 2020 22:34:26 -0500</pubDate> + <description><![CDATA[<h2>Switching from urxvt to st</h2> + +<div class="byline"> +<b>Written By:</b> Jake Bauer | + <b>Posted:</b> 2020-02-14 | + <b>Last Updated:</b> 2020-02-14 +</div> + +<p>I spend most of my time working in the terminal. Whether it's email with +Neomutt, music with ncmpcpp, programming with Neovim, or administrating my +systems, I feel the most comfortable and in control when using the terminal. +That's why it's really important for me to have a terminal application that +performs well, feels good to use, and has every feature that I need without me +noticing that something isn't working or doesn't look quite right.</p> + +<p>Unfortunately, since I started using urxvt about a year ago now, I've slowly +begun to notice things missing or not working quite right. For example, despite +being called "rxvt-unicode-256color", urxvt doesn't really handle unicode +characters that well. Take a look at the example below:</p> + +<p><figure> + <a href="/img/urxvt-vim.png"><img src="/img/urxvt-vim.png" alt="A screenshot of neovim + in urxvt showing the statusline with two boxes where unicode characters + should be."/></a> +</figure></p> + +<p>This was really noticeable and, even though those unicode characters aren't +super important, it would still annoy me when I saw boxes where characters +should be. This was even worse when I was browsing the Internet using lynx in +urxvt (this page is the <a href="https://www.w3schools.com/charsets/ref_utf_symbols.asp">W3 Schools HTML5 Symbols +Reference</a>:</p> + +<p><figure> + <a href="/img/urxvt-lynx.png"><img src="/img/urxvt-lynx-thumb.png" alt="A screenshot + of lynx in urxvt on an HTML5 symbols reference page showing boxes where + unicode symbols should be."/></a> +</figure></p> + +<p>Not to mention, urxvt doesn't have truecolour support which, while not super +important to me, is definitely a bonus in st's favour. The screenshot below +shows urxvt's output for <a href="https://gist.github.com/XVilka/8346728">this truecolour test</a>:</p> + +<p><figure> + <a href="/img/urxvt-tc.png"><img src="/img/urxvt-tc.png" alt="A screenshot of urxvt's + output when tested for truecolour support where there isn't a smooth colour + gradient and many characters don't look right."/></a> +</figure></p> + +<p>I heard about st from other people on the Internet and from videos that I came +across on Youtube and it intrigued me because of Suckless' (the creators of st) +unique philosophy regarding software development. I also gave other terminals a +try but either found them to need far too many dependencies (e.g. konsole, +xfce4-terminal) or to just have far too many unnecessary features or feel slow +to load (e.g. kitty). So I decided to give st a shot.</p> + +<p>Once I got done configuring it, and patching it with the couple additions that I +wanted (a scrollback buffer and the ability to copy URLs so that I could open +them in my browser), I compiled it and started playing around with it. +Immediately I noticed that it felt just as fast as urxvt, it used less +RAM (something like 10-15M per window instead of 20-25M), and, when testing +side-by-side with urxvt, I would sometimes forget which terminal was which +because st looked and felt just like urxvt. It was essentially a drop-in +replacement even for the scripts that I have which launched applications using +urxvt.</p> + +<p>But of course, I was really after better unicode and truecolour support. St +delivered perfectly, despite only being told to use my regular font (fallback +fonts aren't supported in st without a patch). Have a look:</p> + +<p><figure> + <a href="/img/st-vim.png"><img src="/img/st-vim.png" alt="A screenshot of neovim in st + showing the statusline with the correct characters displayed."/></a> +</figure></p> + +<p><figure> + <a href="/img/st-lynx.png"><img src="/img/st-lynx-thumb.png" alt="A screenshot of lynx + in st on an HTML5 symbols reference page showing the right unicode + symbols."/></a> +</figure></p> + +<p><figure> + <a href="/img/st-tc.png"><img src="/img/st-tc.png" alt="A screenshot of st's output + when tested for truecolour support where there is the expected smooth colour + gradient."/></a> +</figure></p> + +<p>I am very happy with st and I don't at all mind the fact that I have to +re-compile it when I want to make changes or if a new version is released. It +feels like a personal build of the software tailored to my needs without +anything else that I don't need or don't want.</p> + +<p>If you want to try out st, follow this link to the <a href="https://st.suckless.org/">st +website</a>. You can view my build of st in <a href="https://git.sr.ht/~jbauer/dotfiles">my dotfiles +repository</a>.</p>]]></description> +</item> +<item> <title>New Blog Post: Making My Website More Accessible</title> <link>https://www.paritybit.ca/blog/website-redesign</link> <guid>https://www.paritybit.ca/blog/website-redesign</guid> diff --git a/public/img/debian-openlogo-75.png b/public/img/debian-openlogo-75.png Binary files differ. diff --git a/public/img/debian-with-btrfs/boot-mount.png b/public/img/debian-with-btrfs/boot-mount.png Binary files differ. diff --git a/public/img/debian-with-btrfs/commands-before-boot-mount.png b/public/img/debian-with-btrfs/commands-before-boot-mount.png Binary files differ. diff --git a/public/img/debian-with-btrfs/df.png b/public/img/debian-with-btrfs/df.png Binary files differ. diff --git a/public/img/debian-with-btrfs/partition-results.png b/public/img/debian-with-btrfs/partition-results.png Binary files differ. diff --git a/public/img/debian-with-btrfs/partition-screen.png b/public/img/debian-with-btrfs/partition-screen.png Binary files differ. diff --git a/public/img/debian-with-btrfs/shell.png b/public/img/debian-with-btrfs/shell.png Binary files differ. diff --git a/public/img/debian-with-btrfs/target-fstab.png b/public/img/debian-with-btrfs/target-fstab.png Binary files differ. diff --git a/public/img/laptop-screenshot-thumb.png b/public/img/laptop-screenshot-thumb.png Binary files differ. diff --git a/public/img/laptop-screenshot.png b/public/img/laptop-screenshot.png Binary files differ. diff --git a/public/img/logo-git-128x128.png b/public/img/logo-git-128x128.png Binary files differ. diff --git a/public/img/logo-git-32x32.png b/public/img/logo-git-32x32.png Binary files differ. diff --git a/public/img/logo-git-512x512.png b/public/img/logo-git-512x512.png Binary files differ. diff --git a/public/img/logo-main-256.png b/public/img/logo-main-256.png Binary files differ. diff --git a/public/img/old-logo.png b/public/img/old-logo.png Binary files differ. diff --git a/public/img/projects/usrmnt/screenshot.png b/public/img/projects/usrmnt/screenshot.png Binary files differ. diff --git a/public/img/st-lynx-thumb.png b/public/img/st-lynx-thumb.png Binary files differ. diff --git a/public/img/st-lynx.png b/public/img/st-lynx.png Binary files differ. diff --git a/public/img/st-tc.png b/public/img/st-tc.png Binary files differ. diff --git a/public/img/st-vim.png b/public/img/st-vim.png Binary files differ. diff --git a/public/img/urxvt-lynx-thumb.png b/public/img/urxvt-lynx-thumb.png Binary files differ. diff --git a/public/img/urxvt-lynx.png b/public/img/urxvt-lynx.png Binary files differ. diff --git a/public/img/urxvt-tc.png b/public/img/urxvt-tc.png Binary files differ. diff --git a/public/img/urxvt-vim.png b/public/img/urxvt-vim.png Binary files differ. diff --git a/public/img/valid-rss-rogers.png b/public/img/valid-rss-rogers.png Binary files differ. diff --git a/public/img/vcss.gif b/public/img/vcss.gif Binary files differ. diff --git a/public/img/vim-airline.gif b/public/img/vim-airline.gif Binary files differ. diff --git a/public/img/vim-airline.mp4 b/public/img/vim-airline.mp4 Binary files differ. diff --git a/public/img/vim-no-airline.gif b/public/img/vim-no-airline.gif Binary files differ. diff --git a/public/img/vim-no-airline.mp4 b/public/img/vim-no-airline.mp4 Binary files differ. diff --git a/public/mstile-144x144.png b/public/mstile-144x144.png Binary files differ. diff --git a/public/mstile-150x150.png b/public/mstile-150x150.png Binary files differ. diff --git a/public/mstile-310x150.png b/public/mstile-310x150.png Binary files differ. diff --git a/public/mstile-310x310.png b/public/mstile-310x310.png Binary files differ. diff --git a/public/mstile-70x70.png b/public/mstile-70x70.png Binary files differ. diff --git a/public/safari-pinned-tab.svg b/public/safari-pinned-tab.svg @@ -0,0 +1 @@ +<svg version="1" xmlns="http://www.w3.org/2000/svg" width="933.333" height="933.333" viewBox="0 0 700.000000 700.000000"><path d="M327.8.5c-.1.1-4.1.5-8.8.9-8.7.7-10.5.9-22.5 2.7-11.6 1.8-12.3 1.9-19.2 3.5-22.7 5.1-37.3 9.5-55.3 16.6C154.7 50.8 96.6 98 57.5 158c-11.4 17.5-19.8 32.7-26 47-2.1 4.7-4.5 10.3-5.5 12.5-5.6 12.8-15.1 42.7-17.5 55.6-.3 1.3-1.1 5.8-2 9.9-2.9 14.7-3.6 20-5.2 37-1.5 16.4-.8 59.2 1.2 71.1.2 1.3.6 4.6.9 7.4.9 7.8 2.3 15.6 5.1 28.5 3.1 14.2 10.9 39.3 17.5 55.5 4.9 12.3 17.3 37 23.5 46.8 3 4.9 5.5 9.2 5.5 9.7 0 .4.3 1 .8 1.2.4.2 3.3 4.1 6.4 8.8 6.3 9.4 21 28 29 36.6 20.6 22 41.2 39.8 63.8 54.8 17.8 11.7 20.8 13.6 36.5 21.5 33.9 17.3 74 30 109 34.6 2.2.2 5.6.7 7.5 1 18.6 2.6 69.7 2.7 83.7.1 1.7-.3 10.4-1.6 14.8-2.1 6.1-.8 20.6-4 32-7 38.6-10.3 71.3-24.8 103.8-46.3 26.7-17.6 51.1-38.8 70-60.7 3.3-3.9 6.3-7.2 6.7-7.5 1.2-1 13.7-17.6 19.2-25.5 10.7-15.4 23-37.3 30.5-54 6.3-14.1 7.1-16.2 10.6-26 4.6-13.1 7.2-21.5 9.3-29.5 1.5-6.3 1.8-7.4 2.9-12.3 1.4-6 5.5-29.9 6-35.2.4-3.3.9-7.1 1.1-8.5.9-4.7 1.1-52.5.3-60.5-1.5-16.5-2.1-22-2.4-22.5-.2-.3-.6-3-1-6s-2.2-12.3-4-20.5c-5.3-23.2-10.2-38.6-19.7-60.9-39.1-92-116.9-163.5-212.1-195.1-15.6-5.1-41-11.3-53.7-13-1.9-.3-4.6-.7-6-1-1.3-.2-5.2-.7-8.6-1.1-3.3-.3-7.4-.8-9-1-3.2-.5-54-1.4-54.6-.9zm46.7 87c8.1.7 14.6 1.5 17.1 2 1.2.3 3.9.7 6 1.1 3.3.4 8.7 1.7 26.6 5.9 2.5.6 20 6.5 22.3 7.5 1.1.5 4.9 2.1 8.5 3.6 3.6 1.4 11 4.9 16.5 7.7 55.1 28 98.6 74.3 123.8 131.7 8.7 19.7 16.4 48.1 19.1 70.5 2.6 20.3 2.6 48.6.1 66.3-1.2 9.2-1.7 12.3-3.1 19.2-16.5 83.2-73.6 154.6-151.4 189.2-18.8 8.4-43.3 16.3-57 18.3-2.5.4-4.7.8-5 1-1 .6-16.6 2.6-26 3.2-18.6 1.4-43.5.6-58.5-1.6-35-5.4-70.2-17.8-97.3-34.2-3.5-2.1-6.6-3.9-6.9-3.9-.3 0-1.5-.8-2.8-1.8-1.2-.9-3.3-2.4-4.5-3.2-3.9-2.6-13.8-9.8-16.2-11.8-1.3-1.1-4.5-3.9-7.3-6.2-25.6-21.6-49.3-51.6-64.1-81.1C109 460.1 102 444 102.7 444c.3 0 .1-.6-.4-1.3-3-3.6-12-38.4-13.8-52.6-.4-3-.8-6.3-1-7.3-.8-4-1.7-21.2-1.8-32.1 0-14.7.9-26.4 3.4-42.2 1.5-10 1.9-11.5 5.4-25 5.2-19.9 9.3-30.8 19.8-51.7 29.6-59.2 82.2-105.9 145.7-129.3 22.9-8.4 47.5-13.6 71.5-15.1 5.5-.4 10.1-.7 10.2-.9.5-.3 26.7.4 32.8 1z"/><path d="M344.7 157.6c-.1.1-4 .4-8.7.8-11.6.8-17.4 1.6-25 3.2-3.6.8-7.6 1.7-9 2-3 .6-14.7 4.2-17.5 5.4-1.1.5-4.2 1.6-7 2.6-13.4 4.8-35.9 18.1-50.2 29.6-3.9 3.2-7.9 5.8-8.7 5.8-.9 0-1.6.6-1.6 1.3 0 .8-3 4.5-6.6 8.3-28.2 29.4-45.5 63.6-52.6 103.9-3.2 18-3.1 49.8.3 66.8 7.8 39.9 25.3 73.6 53.1 102.1 4.1 4.3 5.8 6.8 5.8 8.7 0 2.2.4 2.6 2.3 2.2 1.6-.3 4.7 1.4 11.1 6.3 47.7 35.9 103.5 48.5 161.2 36.4 8.8-1.9 25.6-6.9 29.9-8.9 1.1-.6 4.3-2 7-3.1 13.5-5.8 28.5-14.7 41.2-24.6 4.5-3.5 8.9-6.4 9.7-6.4.9 0 1.6-.6 1.6-1.3 0-.6 3.4-4.8 7.6-9.1 23.6-24.6 39.3-51.1 48.4-81.9 5.4-18.1 7.5-33.3 7.5-55.2 0-17.7-.5-23.4-3.5-38-6.4-32-19.6-60-40.3-85.3-30.7-37.5-73.5-61.8-122.7-69.6-4.9-.8-32.7-2.5-33.3-2z"/></svg> +\ No newline at end of file diff --git a/public/site.webmanifest b/public/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "", + "short_name": "", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/public/sitemap.xml b/public/sitemap.xml @@ -3,13 +3,15 @@ <url><loc>https://www.paritybit.ca</loc></url> <url><loc>https://www.paritybit.ca/home</loc></url> <url><loc>https://www.paritybit.ca/blog</loc></url> + <url><loc>https://www.paritybit.ca/blog/making-my-own-vim-statusline</loc></url> + <url><loc>https://www.paritybit.ca/blog/urxvt-to-st</loc></url> <url><loc>https://www.paritybit.ca/blog/website-redesign</loc></url> <url><loc>https://www.paritybit.ca/blog/automating-publishing</loc></url> <url><loc>https://www.paritybit.ca/blog/arguing-effectively</loc></url> <url><loc>https://www.paritybit.ca/blog/difficulty-of-privacy-education</loc></url> <url><loc>https://www.paritybit.ca/blog/qutebrowser-to-firefox</loc></url> <url><loc>https://www.paritybit.ca/blog/china</loc></url> - <url><loc>https://www.paritybit.ca/blog/other-blogs</loc></url> + <url><loc>https://www.paritybit.ca/links</loc></url> <url><loc>https://www.paritybit.ca/projects</loc></url> <url><loc>https://www.paritybit.ca/projects/borderlands-3-dps-calculator</loc></url> <url><loc>https://www.paritybit.ca/projects/usrmnt</loc></url> @@ -20,10 +22,10 @@ <url><loc>https://www.paritybit.ca/guides/firefox-new-tab-dark</loc></url> <url><loc>https://www.paritybit.ca/guides/debian-with-btrfs</loc></url> <url><loc>https://www.paritybit.ca/guides/using-rm-with-trash</loc></url> - <url><loc>https://www.paritybit.ca/about-me</loc></url> - <url><loc>https://www.paritybit.ca/now</loc></url> - <url><loc>https://www.paritybit.ca/contact</loc></url> - <url><loc>https://www.paritybit.ca/toolset</loc></url> + <url><loc>https://www.paritybit.ca/about</loc></url> + <url><loc>https://www.paritybit.ca/now</loc></url> + <url><loc>https://www.paritybit.ca/contact</loc></url> + <url><loc>https://www.paritybit.ca/uses</loc></url> <url><loc>https://www.paritybit.ca/about-site</loc></url> <url><loc>https://www.paritybit.ca/feeds/sitewide-feed.xml</loc></url> <url><loc>https://www.paritybit.ca/feeds/blog-feed.xml</loc></url> diff --git a/publish b/publish @@ -95,7 +95,9 @@ fi # Update the relevant category page if [ $publishBlog ]; then - sed -i "/<ul>/a \ \ \ \ \<li\>$miniDate \<a href=\"$basePage\/$filename\"\>$pageTitle\<\/a\>\<\/li\>" pages/$basePage.md + awk -v pt="$pageTitle" -v bp="$basePage" -v f="$filename" -v d="$miniDate"\ + '{print} /^<ul>/ && !n {print " <li>"d" <a href=\""bp"/"f"\">"pt"</a></li>"; n++}'\ + pages/"$basePage".md > tmp.md && mv tmp.md pages/"$basePage".md elif [ $publishProject ]; then while true; do read -p "Is this a web-utility? " yn diff --git a/style/main.css b/style/main.css @@ -15,18 +15,6 @@ --info-fg: #ffffff; --border-dark: #585858; --shadow: #000000; - /* LIGHT THEME COLOURS */ - --bg-light: #ffffff; - --fg-light: #222222; - --bg-alt-light: #ededed; - --fg-alt-light: #333333; - --unvis-link-light: #0645ad; /* From Wikipedia's Scheme */ - --vis-link-light: #663366; /* From Wikipedia's Scheme */ - --hov-link-light: #0b0080; - --danger-bg-light: #aa0000; - --warning-bg-light: #c25400; - --notice-bg-light: #2d37cd; - --border-light: #a3a3a3; } body { @@ -91,7 +79,7 @@ pre { background-color: var(--bg-alt); font-family: "DejaVu Sans Mono", monospace; overflow-x: auto; - border: 3px var(--border-dark) solid; + border: 2px var(--border-dark) solid; padding: 1em; text-indent: -0.25em; /*Needed otherwise first line indented for some reason*/ } @@ -113,7 +101,7 @@ kbd { padding: 0 4px; } -img { +img, video { max-width: 100%; } @@ -240,7 +228,7 @@ select { float: right; margin: 0 0 1em 1em; width: 40%; - border: 3px var(--border-dark) solid; + border: 2px var(--border-dark) solid; background-color: var(--kbd-fg); } @@ -293,58 +281,3 @@ select { margin-top: 1.5em; } } - -@media all and (prefers-color-scheme: light) { - nav > a:visited { - color: var(--unvis-link-light); - } - body { - background-color: var(--bg-light); - color: var(--fg-light); - } - h1, h2, h3, h4, h5 ,h6 { - color: var(--fg-alt-light); - } - pre { - background-color: var(--bg-alt-light); - border: 3px var(--border-light) solid; - } - code { - background-color: var(--bg-alt-light); - color: var(--fg-alt-light); - } - .inline-notice { - background-color: var(--notice-bg-light); - } - .inline-warning { - background-color: var(--warning-bg-light); - } - .inline-danger { - background-color: var(--danger-bg-light); - } - a { - color: var(--unvis-link-light); - } - a:visited { - color: var(--vis-link-light); - } - a:hover { - color: var(--hov-link-light); - } - input { - color: var(--fg-alt-light); - background-color: var(--bg-alt-light); - } - button { - color: var(--fg-alt-light); - background-color: var(--bg-alt-light); - } - select { - color: var(--fg-alt-light); - background-color: var(--bg-alt-light); - } - #table-of-contents { - background-color: var(--bg-alt-light); - border: 3px var(--border-light) solid; - } -}