From: Nick Bowler Date: Wed, 17 Apr 2024 02:34:19 +0000 (-0400) Subject: cdecl99-1.3 bash-5 hotfix X-Git-Url: https://git.draconx.ca/gitweb/homepage.git/commitdiff_plain/HEAD?hp=556a5888d1091c5fb1d202d911941941d0bba9c8 cdecl99-1.3 bash-5 hotfix Turns out that prior to release the package was not tested on any systems where /bin/sh is bash-5, and the configure script hits a parser bug in this shell regarding for loops in case statements. A workaround is to set CONFIG_SHELL environment variable to some other shell without this bug. But if that's not possible, this patch can be applied to avoid the bug. --- diff --git a/.gitmodules b/.gitmodules index d345e88..f24b460 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,3 +4,9 @@ [submodule "gitmodules/cdecl99"] path = gitmodules/cdecl99 url = https://git.draconx.ca/cdecl99.git +[submodule "gitmodules/rrace"] + path = gitmodules/rrace + url = https://git.draconx.ca/rrace.git +[submodule "gitmodules/rarpd-dx"] + path = gitmodules/rarpd-dx + url = https://git.draconx.ca/rarpd-dx.git diff --git a/Rules b/Rules index 26bcb40..1aa5907 100644 --- a/Rules +++ b/Rules @@ -1,6 +1,6 @@ #!/usr/bin/env ruby # -# Copyright © 2018-2020 Nick Bowler +# Copyright © 2018-2022 Nick Bowler # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by @@ -68,20 +68,24 @@ preprocess do @items.create("", attrs, "#{dir}/index.lst") end + + create_wkd_items(@items["/pubring.gpg"]) + create_hkp_items(@items["/pubring.gpg"]) end postprocess do # Gzip all text items for nginx http_static - if !ENV['GZIP_SITE'].to_s.empty? + gzip_site = !ENV['GZIP_SITE'].to_s.empty? + if gzip_site reps = @items.flat_map(&:reps).each do |rep| - file = rep.raw_path - next if !file or rep.binary? - - if system("gzip", "-ck9", file, [:out]=>[file + ".gz.tmp", "wb"]) - system("touch", "-r", file, file + ".gz.tmp") - File.rename(file + ".gz.tmp", file + ".gz") - else - File.unlink(file + ".gz.tmp") + next if rep.binary? + rep.instance_variable_get(:@item_rep).raw_paths[:last].each do |f| + if system("gzip", "-nck9", f, [:out]=>["#{f}.gz.tmp", "wb"]) + system("touch", "-r", f, "#{f}.gz.tmp") + File.rename("#{f}.gz.tmp", "#{f}.gz") + else + File.unlink("#{f}.gz.tmp") + end end end end @@ -206,16 +210,39 @@ compile '/images/*.jpg', rep: :info do end compile '/**/*.scss' do - filter :sass, syntax: :scss + filter :sass, syntax: :scss, load_paths: ["."] filter :css_source, uribase: \ "https://git.draconx.ca/gitweb/homepage.git/blob/" + @item[:gitrev] + ":" filter :css_clean_selectors, \ preserve_comments: true, \ preserve_hacks: true + snapshot :before_darkmode + filter :css_darkmode write @item.identifier.without_ext + '.css' end +compile '/style.scss', rep: :dark do + filter :compiled_content, snapshot: :before_darkmode + filter :css_darkmode, alternate: true + write "/dark.css" +end + +compile '/gpg/*' do + filter :wkd_export_armor + write "/pubring/#{@item.identifier.components.last}.asc" + write "/pubring/#{@item[:id64]}.asc" if @item[:id64] + write "/pubring/#{@item[:id32]}.asc" if @item[:id32] +end + +compile '/gpg/*', rep: :hu do + if @item[:wkd_hash] + filter :wkd_export + write "/pubring/wkd/" + @item[:wkd_hash] + end +end +ignore '/*.gpg' + compile '/**/*.svg' do filter :scour, comment_stripping: true write @item.identifier.to_s diff --git a/content/archive/cdecl99/cdecl99-1.2.tar.gz b/content/archive/cdecl99/cdecl99-1.2.tar.gz new file mode 120000 index 0000000..f2992a8 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.2.tar.gz @@ -0,0 +1 @@ +../../../.git/annex/objects/2f/p1/SHA512-s966058--01e7f4c09c32beac469900895d0e3115ceb083bc1e273cff30cd9a7b0427359c826e7d20d0d578af92ee88598f66f629f8c756ac8b5fa38f5f930e0f77d2ac76/SHA512-s966058--01e7f4c09c32beac469900895d0e3115ceb083bc1e273cff30cd9a7b0427359c826e7d20d0d578af92ee88598f66f629f8c756ac8b5fa38f5f930e0f77d2ac76 \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.2.tar.gz.sig b/content/archive/cdecl99/cdecl99-1.2.tar.gz.sig new file mode 120000 index 0000000..42a4117 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.2.tar.gz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/pj/JW/SHA512-s310--d32edf921631e3af7fcc7aacb9579c32215f86696e83d4bbead5ed998b1ed786a640e5e16bc7b9bfbf25980907396f8d8510bca70d7039beb908a030b30f32c3/SHA512-s310--d32edf921631e3af7fcc7aacb9579c32215f86696e83d4bbead5ed998b1ed786a640e5e16bc7b9bfbf25980907396f8d8510bca70d7039beb908a030b30f32c3 \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.2.tar.xz b/content/archive/cdecl99/cdecl99-1.2.tar.xz new file mode 120000 index 0000000..7330ce4 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.2.tar.xz @@ -0,0 +1 @@ +../../../.git/annex/objects/wg/1j/SHA512-s634148--a24f095fd66e0c7fceb1b089de92d5a96d8d21c2c59d5f91da8374ca1465f65041d806bcd5cd1299778dd4d25204390f437b481f8cb07b9fa0a88cecf19185c2/SHA512-s634148--a24f095fd66e0c7fceb1b089de92d5a96d8d21c2c59d5f91da8374ca1465f65041d806bcd5cd1299778dd4d25204390f437b481f8cb07b9fa0a88cecf19185c2 \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.2.tar.xz.sig b/content/archive/cdecl99/cdecl99-1.2.tar.xz.sig new file mode 120000 index 0000000..d70b59e --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.2.tar.xz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/PV/QZ/SHA512-s310--204a5c7003d96860a28671778099578a2f89d5f0c5d8b0a0bf883762555f0db7ca202248630cf2c07858d86d7faf450f566103e94676cedcafbe0fbcafa7ac8f/SHA512-s310--204a5c7003d96860a28671778099578a2f89d5f0c5d8b0a0bf883762555f0db7ca202248630cf2c07858d86d7faf450f566103e94676cedcafbe0fbcafa7ac8f \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch b/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch new file mode 100644 index 0000000..0ffc323 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3-bash5-fix.patch @@ -0,0 +1,49 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 +NotDashEscaped: You need gpg to verify this message + +The configure script included with the cdecl99-1.3 release fails on +bash-5 due to a parser bug in this shell. On affected systems, a +message similar to the following may be seen when running configure: + + ./configure: line 6631: syntax error near unexpected token `do' + ./configure: line 6631: `do' + +You can work around the problem by setting the CONFIG_SHELL environment +variable to some other shell before running configure; otherwise you can +apply this patch file with a command such as: + + % cd cdecl99-1.3 + % patch -p1 &6 + else + dx_cv_have_alignas=no +! for _dx_alignas +! in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))' + do + if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp" "#include + #define ALIGNAS_TEST(X) $_dx_alignas +--- 6626,6632 ---- + $as_echo_n "(cached) " >&6 + else + dx_cv_have_alignas=no +! for _dx_alignas in '_Alignas(X)' '__attribute__((__aligned__(X)))' '__declspec(align(X))' + do + if ac_fn_c_compute_int "$LINENO" "sizeof (struct { char a; char ALIGNAS_TEST(4) b; }) >= 8" "_dx_tmp" "#include + #define ALIGNAS_TEST(X) $_dx_alignas +-----BEGIN PGP SIGNATURE----- + +iQEzBAEBCAAdFiEEJagcgrvBtB9dtMuDW0XT0YW44fYFAmYfNBUACgkQW0XT0YW4 +4famBQf9GhDZJGOvrkDB5dGWwieXqFCWXJBbATVbY8JmY5wJupke5MqvDEQJ3tBr +A2YIcQZ67+KjA2LwWTTQhQgKkveQs1HWFdTDrHnhTm4dF4jZdlxwVK3K3kHCcref +uW+vl/6C9YkKcVcbf8OeHT4JVgYv2h7XRKW69XIB6lchdMc6rGNeStuCHyuGKYWG +7n3WH9bA5OBPmPAd6yUPmU4urWBHjZwxyTaFBYBO7T+9R3Q4KvvyzCfxt1JxTUPS +SmiQC1B0gg16/N2XJzCmnBsaVXSHdsvt8UrZeIZyWipejqtb2UR1MVnVToz/83NO +gh5tyhxXnYiQgRqd2/uRg9z+GzziDw== +=/RXF +-----END PGP SIGNATURE----- diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.gz b/content/archive/cdecl99/cdecl99-1.3.tar.gz new file mode 120000 index 0000000..b948234 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.gz @@ -0,0 +1 @@ +../../../.git/annex/objects/v9/65/SHA512-s897087--54ab0ce2db34beaee220cbed936b009added5a51b901c2251c7767df6e63a84a8ce6f59b59ec6b00925c2845674a8d5ef02e620bd5eb8074b52cd07441c005cd/SHA512-s897087--54ab0ce2db34beaee220cbed936b009added5a51b901c2251c7767df6e63a84a8ce6f59b59ec6b00925c2845674a8d5ef02e620bd5eb8074b52cd07441c005cd \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig b/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig new file mode 120000 index 0000000..57d10b0 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.gz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/4v/p3/SHA512-s310--b4b196e4df43c18634ba5dcc8823cf677931ceb0bd2965713db0a078d29e979c601f190e854caed60af7d7249a60f2b39cbd86c1bcdb9b43827945aa5acd5669/SHA512-s310--b4b196e4df43c18634ba5dcc8823cf677931ceb0bd2965713db0a078d29e979c601f190e854caed60af7d7249a60f2b39cbd86c1bcdb9b43827945aa5acd5669 \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.lz b/content/archive/cdecl99/cdecl99-1.3.tar.lz new file mode 120000 index 0000000..8382932 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.lz @@ -0,0 +1 @@ +../../../.git/annex/objects/3j/wf/SHA512-s591522--11f04eeda91ef127f6e3d5ef5e2cbb135e6a1f46a138640decbe80ed687c9fd2110a94b2fd883d8d0125704b36760c89cf41aeb5005f7965721b85fb55826b6c/SHA512-s591522--11f04eeda91ef127f6e3d5ef5e2cbb135e6a1f46a138640decbe80ed687c9fd2110a94b2fd883d8d0125704b36760c89cf41aeb5005f7965721b85fb55826b6c \ No newline at end of file diff --git a/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig b/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig new file mode 120000 index 0000000..fbb9bb9 --- /dev/null +++ b/content/archive/cdecl99/cdecl99-1.3.tar.lz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/3k/Mp/SHA512-s310--5c1d52ff133aeaaa7be59f5ec394ecf95d29341eb491909a12412f246b1d88251e6449aab9385797d0d3bf23eb6ff8fd8eedf80dbc446c4d61f5dbf43dc45ed4/SHA512-s310--5c1d52ff133aeaaa7be59f5ec394ecf95d29341eb491909a12412f246b1d88251e6449aab9385797d0d3bf23eb6ff8fd8eedf80dbc446c4d61f5dbf43dc45ed4 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.gz b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz new file mode 120000 index 0000000..5ed165b --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz @@ -0,0 +1 @@ +../../../.git/annex/objects/fv/p8/SHA512-s105283--742eeeccb8eba6daea7294ab696cd9e2ad92e84c1b81d5512c8654c5d1df258d5584c360569fe41b73b84757f0cfea93d5da1b67de59b4b920610009068b85de/SHA512-s105283--742eeeccb8eba6daea7294ab696cd9e2ad92e84c1b81d5512c8654c5d1df258d5584c360569fe41b73b84757f0cfea93d5da1b67de59b4b920610009068b85de \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig new file mode 120000 index 0000000..6c7a819 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.gz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/g6/j8/SHA512-s310--b40653638706881f135868329359e00c0c55134fadebebb4572f93de79c3d2ff39f6c0af7ad5dcc16f1ed9dd3b2afdca8b9af8dbd071a6b19afabc104658feb6/SHA512-s310--b40653638706881f135868329359e00c0c55134fadebebb4572f93de79c3d2ff39f6c0af7ad5dcc16f1ed9dd3b2afdca8b9af8dbd071a6b19afabc104658feb6 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.lz b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz new file mode 120000 index 0000000..cbf3770 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz @@ -0,0 +1 @@ +../../../.git/annex/objects/65/5W/SHA512-s82601--3642314e7390074a50f080c1d3039b1db6d57895efd40a8285a2cc95f5777962282b11edfee3a17caa10fe9c4dc129729fe4b3c6c02ddb411d1b6d57186e1278/SHA512-s82601--3642314e7390074a50f080c1d3039b1db6d57895efd40a8285a2cc95f5777962282b11edfee3a17caa10fe9c4dc129729fe4b3c6c02ddb411d1b6d57186e1278 \ No newline at end of file diff --git a/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig new file mode 120000 index 0000000..c219a09 --- /dev/null +++ b/content/archive/rarpd-dx/rarpd-dx-1.tar.lz.sig @@ -0,0 +1 @@ +../../../.git/annex/objects/k5/6V/SHA512-s310--530702e16b139db74862244dde8ddbb8d8618c462b935e3e9bc02fdf7e0fa58ff4d952aa444acfb524e4e4c0f2317a7c20a6cc65ec64ff2f9442b9a5753cfafe/SHA512-s310--530702e16b139db74862244dde8ddbb8d8618c462b935e3e9bc02fdf7e0fa58ff4d952aa444acfb524e4e4c0f2317a7c20a6cc65ec64ff2f9442b9a5753cfafe \ No newline at end of file diff --git a/content/icons/down.svg b/content/icons/down.svg index 95b82af..0c05c06 100644 --- a/content/icons/down.svg +++ b/content/icons/down.svg @@ -67,6 +67,7 @@ diff --git a/content/icons/folder.svg b/content/icons/folder.svg index 79b25c3..ff2f8d7 100644 --- a/content/icons/folder.svg +++ b/content/icons/folder.svg @@ -42,6 +42,7 @@ r="117.14286" /> diff --git a/content/icons/up.svg b/content/icons/up.svg index 54263df..63e8db3 100644 --- a/content/icons/up.svg +++ b/content/icons/up.svg @@ -89,6 +89,7 @@ diff --git a/content/images/eclipse-20220515-223224.jpg b/content/images/eclipse-20220515-223224.jpg new file mode 120000 index 0000000..ecd014e --- /dev/null +++ b/content/images/eclipse-20220515-223224.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/7V/6K/SHA512-s62206--3c7b5e8560109819d8616fbb77e86dfe275da79bee14a99958b849e2d45fd82196a3aa88d06f7d4bb6a5258a9ee025f5505ee120388c5066dfa1b09e3c61772f/SHA512-s62206--3c7b5e8560109819d8616fbb77e86dfe275da79bee14a99958b849e2d45fd82196a3aa88d06f7d4bb6a5258a9ee025f5505ee120388c5066dfa1b09e3c61772f \ No newline at end of file diff --git a/content/images/eclipse-20220515-223224.yaml b/content/images/eclipse-20220515-223224.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-223224.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-223904.jpg b/content/images/eclipse-20220515-223904.jpg new file mode 120000 index 0000000..8f52052 --- /dev/null +++ b/content/images/eclipse-20220515-223904.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/z1/gk/SHA512-s67272--ee40a65584c53a7bdf481f66b0633bfcb5612a832b6d033bd0e049d3b4556641168e4842e95a465031dccfb8516635c861ae64065a733cf7392bcbf88df790f3/SHA512-s67272--ee40a65584c53a7bdf481f66b0633bfcb5612a832b6d033bd0e049d3b4556641168e4842e95a465031dccfb8516635c861ae64065a733cf7392bcbf88df790f3 \ No newline at end of file diff --git a/content/images/eclipse-20220515-223904.yaml b/content/images/eclipse-20220515-223904.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-223904.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-225442.jpg b/content/images/eclipse-20220515-225442.jpg new file mode 120000 index 0000000..071bd37 --- /dev/null +++ b/content/images/eclipse-20220515-225442.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/56/0v/SHA512-s62547--acaa868e092acac5329ff17af7b36c6715b0b27c0c7e856199a5c0137fd6d27fbeb3cda7b2e71f6e45538108ecc3dc7782ea7a7ec332d2f903e79b2875d90b7c/SHA512-s62547--acaa868e092acac5329ff17af7b36c6715b0b27c0c7e856199a5c0137fd6d27fbeb3cda7b2e71f6e45538108ecc3dc7782ea7a7ec332d2f903e79b2875d90b7c \ No newline at end of file diff --git a/content/images/eclipse-20220515-225442.yaml b/content/images/eclipse-20220515-225442.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-225442.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-230507.jpg b/content/images/eclipse-20220515-230507.jpg new file mode 120000 index 0000000..0b86aad --- /dev/null +++ b/content/images/eclipse-20220515-230507.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/V2/pq/SHA512-s59928--c64ed7765384fd5bd27b61ccf2e927ae38dbce4737d50890c173a7e2b32ab47fea76129d804eb22462582d27e95d1703bb5c29e07e881ee4d91f3c9739f56e9a/SHA512-s59928--c64ed7765384fd5bd27b61ccf2e927ae38dbce4737d50890c173a7e2b32ab47fea76129d804eb22462582d27e95d1703bb5c29e07e881ee4d91f3c9739f56e9a \ No newline at end of file diff --git a/content/images/eclipse-20220515-230507.yaml b/content/images/eclipse-20220515-230507.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-230507.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-231141.jpg b/content/images/eclipse-20220515-231141.jpg new file mode 120000 index 0000000..597a301 --- /dev/null +++ b/content/images/eclipse-20220515-231141.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/pq/vJ/SHA512-s61153--ca215607a273fee73a79513d2e53ca76225a428f2ee2898e7616798802dac52703b24551644f235eca14660a32f5959b59f0960157748d73d0ccc6513a501c08/SHA512-s61153--ca215607a273fee73a79513d2e53ca76225a428f2ee2898e7616798802dac52703b24551644f235eca14660a32f5959b59f0960157748d73d0ccc6513a501c08 \ No newline at end of file diff --git a/content/images/eclipse-20220515-231141.yaml b/content/images/eclipse-20220515-231141.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-231141.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-231939.jpg b/content/images/eclipse-20220515-231939.jpg new file mode 120000 index 0000000..111cfce --- /dev/null +++ b/content/images/eclipse-20220515-231939.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/qK/wK/SHA512-s42573--ac7ec2f106c7924a66b021eac1d8e53d0f480fda49adb27ce6dfe715c05d4cd463a41ec4a8ce8dca50b186f0ef719b201b0d757d13e8f4f793d61f24ee68c2bc/SHA512-s42573--ac7ec2f106c7924a66b021eac1d8e53d0f480fda49adb27ce6dfe715c05d4cd463a41ec4a8ce8dca50b186f0ef719b201b0d757d13e8f4f793d61f24ee68c2bc \ No newline at end of file diff --git a/content/images/eclipse-20220515-231939.yaml b/content/images/eclipse-20220515-231939.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-231939.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-232447.jpg b/content/images/eclipse-20220515-232447.jpg new file mode 120000 index 0000000..237113e --- /dev/null +++ b/content/images/eclipse-20220515-232447.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/41/06/SHA512-s45985--47c57854f6bf0235a0beceadda5bd3e44e216ca10e4f48f1a15104d48c353405eca7d8b6834b411f2ea4d35e97fed5e83bc090db3902d2cdbbf40b6e025c6d8e/SHA512-s45985--47c57854f6bf0235a0beceadda5bd3e44e216ca10e4f48f1a15104d48c353405eca7d8b6834b411f2ea4d35e97fed5e83bc090db3902d2cdbbf40b6e025c6d8e \ No newline at end of file diff --git a/content/images/eclipse-20220515-232447.yaml b/content/images/eclipse-20220515-232447.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-232447.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-232709.jpg b/content/images/eclipse-20220515-232709.jpg new file mode 120000 index 0000000..2f3f5f7 --- /dev/null +++ b/content/images/eclipse-20220515-232709.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/7w/J8/SHA512-s46545--ce81c5cf09098e2c3d9566b7a23705d29e2db6c08f2dc3a5129294b546f814f8f4c84a28a4a82a236d327f55bf2e8930fa5afea2f67001ce5e565a35aa89eb39/SHA512-s46545--ce81c5cf09098e2c3d9566b7a23705d29e2db6c08f2dc3a5129294b546f814f8f4c84a28a4a82a236d327f55bf2e8930fa5afea2f67001ce5e565a35aa89eb39 \ No newline at end of file diff --git a/content/images/eclipse-20220515-232709.yaml b/content/images/eclipse-20220515-232709.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-232709.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-233454.jpg b/content/images/eclipse-20220515-233454.jpg new file mode 120000 index 0000000..fec7426 --- /dev/null +++ b/content/images/eclipse-20220515-233454.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/k1/5F/SHA512-s45317--093734cb997e659c34ccceff0899ffa33b42da32c10b8f1a26ca7fc7bebcde982835f85033731c1a17c43c90a695a6e5081721d68a07109bd090fe2dced56021/SHA512-s45317--093734cb997e659c34ccceff0899ffa33b42da32c10b8f1a26ca7fc7bebcde982835f85033731c1a17c43c90a695a6e5081721d68a07109bd090fe2dced56021 \ No newline at end of file diff --git a/content/images/eclipse-20220515-233454.yaml b/content/images/eclipse-20220515-233454.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-233454.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-233803.jpg b/content/images/eclipse-20220515-233803.jpg new file mode 120000 index 0000000..34a8b24 --- /dev/null +++ b/content/images/eclipse-20220515-233803.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/P3/Z3/SHA512-s61296--0fbbe13c91dd55730ab794c173ef89cb67236af9815183b89cb4cb2422d96a69b7642b545a9759c6d701c101468276e59a63fea597b6bdd8cd591b12b5dddede/SHA512-s61296--0fbbe13c91dd55730ab794c173ef89cb67236af9815183b89cb4cb2422d96a69b7642b545a9759c6d701c101468276e59a63fea597b6bdd8cd591b12b5dddede \ No newline at end of file diff --git a/content/images/eclipse-20220515-233803.yaml b/content/images/eclipse-20220515-233803.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-233803.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-234126.jpg b/content/images/eclipse-20220515-234126.jpg new file mode 120000 index 0000000..8a16ccc --- /dev/null +++ b/content/images/eclipse-20220515-234126.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/jP/q9/SHA512-s62280--e38d6442ee33be62ca39f1d0976888d1b8dde77fb84043133887190e25febd2dcc7f1c0351880d5879ab542b9db3854e172be60cad1208a859e30c30e1f774dc/SHA512-s62280--e38d6442ee33be62ca39f1d0976888d1b8dde77fb84043133887190e25febd2dcc7f1c0351880d5879ab542b9db3854e172be60cad1208a859e30c30e1f774dc \ No newline at end of file diff --git a/content/images/eclipse-20220515-234126.yaml b/content/images/eclipse-20220515-234126.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-234126.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-234942.jpg b/content/images/eclipse-20220515-234942.jpg new file mode 120000 index 0000000..1dd3e25 --- /dev/null +++ b/content/images/eclipse-20220515-234942.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/xv/81/SHA512-s75054--65490d25c866e5b275a84133da3305a2df5b31a5a5a83741ee6149d480c2fa1b446cde857487709b34bb7091f31de734b7bdc225250494f8b1ecdd1934957be2/SHA512-s75054--65490d25c866e5b275a84133da3305a2df5b31a5a5a83741ee6149d480c2fa1b446cde857487709b34bb7091f31de734b7bdc225250494f8b1ecdd1934957be2 \ No newline at end of file diff --git a/content/images/eclipse-20220515-234942.yaml b/content/images/eclipse-20220515-234942.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-234942.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220515-235136.jpg b/content/images/eclipse-20220515-235136.jpg new file mode 120000 index 0000000..40f0ebb --- /dev/null +++ b/content/images/eclipse-20220515-235136.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/0m/kX/SHA512-s74615--1af33e462be8dcc467fb5a81400438974197918af7caa39eea77113c6e49788df04585ea574efca75699d9a79d0f1f1623d4976c17b8129dbcb6a43a4ba84685/SHA512-s74615--1af33e462be8dcc467fb5a81400438974197918af7caa39eea77113c6e49788df04585ea574efca75699d9a79d0f1f1623d4976c17b8129dbcb6a43a4ba84685 \ No newline at end of file diff --git a/content/images/eclipse-20220515-235136.yaml b/content/images/eclipse-20220515-235136.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220515-235136.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20220516-000739.jpg b/content/images/eclipse-20220516-000739.jpg new file mode 120000 index 0000000..fc0b549 --- /dev/null +++ b/content/images/eclipse-20220516-000739.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/jW/6f/SHA512-s68109--7e627c88851979ffa02c55369993935c70d7a9e107ddbf334189825c87436a4fbc1d14249ffbc5f9f9b97acf752c27abe557d11b3f5bf385c62b22eee36b18b6/SHA512-s68109--7e627c88851979ffa02c55369993935c70d7a9e107ddbf334189825c87436a4fbc1d14249ffbc5f9f9b97acf752c27abe557d11b3f5bf385c62b22eee36b18b6 \ No newline at end of file diff --git a/content/images/eclipse-20220516-000739.yaml b/content/images/eclipse-20220516-000739.yaml new file mode 100644 index 0000000..6752422 --- /dev/null +++ b/content/images/eclipse-20220516-000739.yaml @@ -0,0 +1,4 @@ +--- +title: 2022-05-15/16 Lunar Eclipse from Ottawa +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-143755.jpg b/content/images/eclipse-20240408-143755.jpg new file mode 120000 index 0000000..36f5d3c --- /dev/null +++ b/content/images/eclipse-20240408-143755.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/zX/Px/SHA512-s389810--6d85094e85dbfcc4e73a7861d7992ab8d89d31f369ecc6d977ed89f646a96344dc9361374f8f08ba91f426acf9fdf53bfaad89f3f66563822cfc852b93f4cdef/SHA512-s389810--6d85094e85dbfcc4e73a7861d7992ab8d89d31f369ecc6d977ed89f646a96344dc9361374f8f08ba91f426acf9fdf53bfaad89f3f66563822cfc852b93f4cdef \ No newline at end of file diff --git a/content/images/eclipse-20240408-143755.yaml b/content/images/eclipse-20240408-143755.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-143755.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-151623.jpg b/content/images/eclipse-20240408-151623.jpg new file mode 120000 index 0000000..5b3949f --- /dev/null +++ b/content/images/eclipse-20240408-151623.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/7V/zg/SHA512-s302673--ee3080ea9d00aed29a5af1d407e7dfad733a63131a907cb2d52c7b4342a552bf1b2ad9fa4bd062b96d3355162e09220c14134180091db3d3c9fca5b2f2da464a/SHA512-s302673--ee3080ea9d00aed29a5af1d407e7dfad733a63131a907cb2d52c7b4342a552bf1b2ad9fa4bd062b96d3355162e09220c14134180091db3d3c9fca5b2f2da464a \ No newline at end of file diff --git a/content/images/eclipse-20240408-151623.yaml b/content/images/eclipse-20240408-151623.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-151623.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-152435.jpg b/content/images/eclipse-20240408-152435.jpg new file mode 120000 index 0000000..5abb405 --- /dev/null +++ b/content/images/eclipse-20240408-152435.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/v5/gQ/SHA512-s273018--1a0d88d6b0756be9b23771154e7062da73c442e3f9f8222a6097b8c079382effe64fd7db6f0f763968d983aa9dada88be56932ebee68cbb59e01523ef483662f/SHA512-s273018--1a0d88d6b0756be9b23771154e7062da73c442e3f9f8222a6097b8c079382effe64fd7db6f0f763968d983aa9dada88be56932ebee68cbb59e01523ef483662f \ No newline at end of file diff --git a/content/images/eclipse-20240408-152435.yaml b/content/images/eclipse-20240408-152435.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-152435.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/eclipse-20240408-152639.jpg b/content/images/eclipse-20240408-152639.jpg new file mode 120000 index 0000000..21e8d49 --- /dev/null +++ b/content/images/eclipse-20240408-152639.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/wf/58/SHA512-s348783--191e38f10a9f3d6c3e2334795e342b6ea92ba37e28502e102bf3034aae65e0c8bd9fdd8af9847e33e54059f4bcb6f6597394e1e76ff27403b4d606375735e62f/SHA512-s348783--191e38f10a9f3d6c3e2334795e342b6ea92ba37e28502e102bf3034aae65e0c8bd9fdd8af9847e33e54059f4bcb6f6597394e1e76ff27403b4d606375735e62f \ No newline at end of file diff --git a/content/images/eclipse-20240408-152639.yaml b/content/images/eclipse-20240408-152639.yaml new file mode 100644 index 0000000..d162875 --- /dev/null +++ b/content/images/eclipse-20240408-152639.yaml @@ -0,0 +1,7 @@ +--- +title: 2024-04-08 Total Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +description: | + The Sun's corona is visible during totality. The red spots on the fringes + are likely solar prominences. diff --git a/content/images/eclipse-20240408-152802.jpg b/content/images/eclipse-20240408-152802.jpg new file mode 120000 index 0000000..1eafa28 --- /dev/null +++ b/content/images/eclipse-20240408-152802.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/34/ZV/SHA512-s520397--1fb51e2946228e45bffa5b8552ad9243a52e8ba6fb8715a3885c602d0046a84724795717b4674753bf202dceefa2bee263a853909222217405889b5258db14d8/SHA512-s520397--1fb51e2946228e45bffa5b8552ad9243a52e8ba6fb8715a3885c602d0046a84724795717b4674753bf202dceefa2bee263a853909222217405889b5258db14d8 \ No newline at end of file diff --git a/content/images/eclipse-20240408-152802.yaml b/content/images/eclipse-20240408-152802.yaml new file mode 100644 index 0000000..bc26d22 --- /dev/null +++ b/content/images/eclipse-20240408-152802.yaml @@ -0,0 +1,7 @@ +--- +title: 2024-04-08 Diamond Ring near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +description: | + The sun's disc peeks out again at third contact producing the diamond ring + effect. diff --git a/content/images/eclipse-20240408-152846.jpg b/content/images/eclipse-20240408-152846.jpg new file mode 120000 index 0000000..f49afd2 --- /dev/null +++ b/content/images/eclipse-20240408-152846.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/W3/KV/SHA512-s295663--d941929c012be29bbb82e9c22b69280a64b7e9e21321cc7faf2e65088eb251deed5aa2a16b6820473fba40a1057dc72d6b3444e3b916691e8d68322b8d9e1201/SHA512-s295663--d941929c012be29bbb82e9c22b69280a64b7e9e21321cc7faf2e65088eb251deed5aa2a16b6820473fba40a1057dc72d6b3444e3b916691e8d68322b8d9e1201 \ No newline at end of file diff --git a/content/images/eclipse-20240408-152846.yaml b/content/images/eclipse-20240408-152846.yaml new file mode 100644 index 0000000..7eb4d34 --- /dev/null +++ b/content/images/eclipse-20240408-152846.yaml @@ -0,0 +1,4 @@ +--- +title: 2024-04-08 Solar Eclipse near Cornwall, ON +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 diff --git a/content/images/m48t59y-fixed.jpg b/content/images/m48t59y-fixed.jpg new file mode 120000 index 0000000..d0f066e --- /dev/null +++ b/content/images/m48t59y-fixed.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/wK/GG/SHA512-s215590--23ec4d09ab8ed674c51d1fa81145f4983e207ca989ec65c3035ba49c876aa01c37df3ca458b80ab7863607ec80ec8ac950bd03e7d83ec493adc40fef80c55f8d/SHA512-s215590--23ec4d09ab8ed674c51d1fa81145f4983e207ca989ec65c3035ba49c876aa01c37df3ca458b80ab7863607ec80ec8ac950bd03e7d83ec493adc40fef80c55f8d \ No newline at end of file diff --git a/content/images/m48t59y-fixed.yaml b/content/images/m48t59y-fixed.yaml new file mode 100644 index 0000000..6038682 --- /dev/null +++ b/content/images/m48t59y-fixed.yaml @@ -0,0 +1,6 @@ +--- +title: M48T59Y-70PC1 With Battery Clip +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + Finished repair of M48T59Y part with external battery clip glued on top. diff --git a/content/images/m48t59y-installed.jpg b/content/images/m48t59y-installed.jpg new file mode 120000 index 0000000..2fa0639 --- /dev/null +++ b/content/images/m48t59y-installed.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/jF/WK/SHA512-s821129--859631534da810c3a29d2246edf97a8d6a61a2ac67c21e18aee2753eb96a38a2856e45278f44db7a7a0ef9bb1c1ae6b00bc32e72b9b143b5d14a8abc7e376a1d/SHA512-s821129--859631534da810c3a29d2246edf97a8d6a61a2ac67c21e18aee2753eb96a38a2856e45278f44db7a7a0ef9bb1c1ae6b00bc32e72b9b143b5d14a8abc7e376a1d \ No newline at end of file diff --git a/content/images/m48t59y-installed.yaml b/content/images/m48t59y-installed.yaml new file mode 100644 index 0000000..2c74fe6 --- /dev/null +++ b/content/images/m48t59y-installed.yaml @@ -0,0 +1,6 @@ +--- +title: M48T59Y-70PC1 Repair Complete +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + Repaired M48T59Y chip installed onto the Sun Ultra 60 motherboard. diff --git a/content/images/m48t59y-solder.jpg b/content/images/m48t59y-solder.jpg new file mode 120000 index 0000000..5d8078e --- /dev/null +++ b/content/images/m48t59y-solder.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/8M/9g/SHA512-s146926--2dd1f0b920387121d4e1f658f151417d55d65dfa27a6b397343deeebde08636236a0e123a9cfa3fdeef8204425c3f7d00a5e5dcee121126535a140a059f6fb04/SHA512-s146926--2dd1f0b920387121d4e1f658f151417d55d65dfa27a6b397343deeebde08636236a0e123a9cfa3fdeef8204425c3f7d00a5e5dcee121126535a140a059f6fb04 \ No newline at end of file diff --git a/content/images/m48t59y-solder.yaml b/content/images/m48t59y-solder.yaml new file mode 100644 index 0000000..dc6253b --- /dev/null +++ b/content/images/m48t59y-solder.yaml @@ -0,0 +1,7 @@ +--- +title: M48T59Y-70PC1 Wire Leads +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + M48T59Y with battery leads connected, after disconnecting the internal + battery tabs. diff --git a/content/images/m48t59y-terminals.jpg b/content/images/m48t59y-terminals.jpg new file mode 120000 index 0000000..795475d --- /dev/null +++ b/content/images/m48t59y-terminals.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/98/V1/SHA512-s186948--c3277cf2aea7e159ee6203e9c7f5330f3a1c79a4d2c347c7637c19f354c7cafe2181b54fd40e84eba434a16340fb9cd3a87e76a636d45278846cb46c3d1f606e/SHA512-s186948--c3277cf2aea7e159ee6203e9c7f5330f3a1c79a4d2c347c7637c19f354c7cafe2181b54fd40e84eba434a16340fb9cd3a87e76a636d45278846cb46c3d1f606e \ No newline at end of file diff --git a/content/images/m48t59y-terminals.yaml b/content/images/m48t59y-terminals.yaml new file mode 100644 index 0000000..806df38 --- /dev/null +++ b/content/images/m48t59y-terminals.yaml @@ -0,0 +1,8 @@ +--- +title: M48T59Y-70PC1 Battery Terminals +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | + M48T59Y with internal battery connections exposed. The negative connection + is on the left, closest to pin 14. The positive connection is on the right, + closest to pin 16. diff --git a/content/images/m48t59y.jpg b/content/images/m48t59y.jpg new file mode 120000 index 0000000..40e10d3 --- /dev/null +++ b/content/images/m48t59y.jpg @@ -0,0 +1 @@ +../../.git/annex/objects/5f/mJ/SHA512-s141937--ebbd8a2ad4b6d4f1c6d66d9f7ba76685c5281bff3d0fb34f7e00e3016b8422c4935aa9b87caa1c4f8ed9b1b7f727b4f2c97d49991f483317c8248f536c225620/SHA512-s141937--ebbd8a2ad4b6d4f1c6d66d9f7ba76685c5281bff3d0fb34f7e00e3016b8422c4935aa9b87caa1c4f8ed9b1b7f727b4f2c97d49991f483317c8248f536c225620 \ No newline at end of file diff --git a/content/images/m48t59y.yaml b/content/images/m48t59y.yaml new file mode 100644 index 0000000..7258310 --- /dev/null +++ b/content/images/m48t59y.yaml @@ -0,0 +1,9 @@ +--- +title: M48T59Y-70PC1 +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +description: | +

The NVRAM module + used in my Sun Ultra 60 workstation. This combines a normal memory with a + real-time clock and an internal lithium primary cell to maintain everything. + However, the internal cell is long dead so this chip is dead too.

diff --git a/content/projects.md b/content/projects.md index 90413c9..8db0c42 100644 --- a/content/projects.md +++ b/content/projects.md @@ -4,6 +4,9 @@ copyright: 2019 Nick Bowler license: cc-by-nd-4.0 --- +*[RARP]: Reverse Address Resolution Protocol +*[ARP]: Address Resolution Protocol + Most of the operations here in the workshop are tracked on our local [git server](//git.draconx.ca) which can be browsed online. All the work here is [free as in freedom](//www.gnu.org/philosophy/free-sw) which means you are diff --git a/content/projects/cdecl99.md b/content/projects/cdecl99.md index c8ef5ba..c2fb9f4 100644 --- a/content/projects/cdecl99.md +++ b/content/projects/cdecl99.md @@ -1,9 +1,9 @@ --- title: Cdecl99 -copyright: 2021 Nick Bowler +copyright: 2021-2024 Nick Bowler license: gpl-3 or (at your option) any later version module: cdecl99 -release: v1.1 +release: v1.3 --- <%= project_readme %> diff --git a/content/projects/rarpd-dx.md b/content/projects/rarpd-dx.md new file mode 100644 index 0000000..9eaf368 --- /dev/null +++ b/content/projects/rarpd-dx.md @@ -0,0 +1,13 @@ +--- +title: RARP Daemon +copyright: 2023 Nick Bowler +license: gpl-2 or (at your option) any later version +module: rarpd-dx +release: v1 +--- + +*[RARP]: Reverse Address Resolution Protocol +*[ARP]: Address Resolution Protocol + +<%= project_readme %> + diff --git a/content/projects/rrace.md b/content/projects/rrace.md new file mode 100644 index 0000000..b5a111f --- /dev/null +++ b/content/projects/rrace.md @@ -0,0 +1,8 @@ +--- +title: RRace +copyright: 2022 Nick Bowler +license: gpl-3 or (at your option) any later version +module: rrace +--- + +<%= project_readme %> diff --git a/content/pubring.gpg b/content/pubring.gpg new file mode 100644 index 0000000..456deef Binary files /dev/null and b/content/pubring.gpg differ diff --git a/content/style.scss b/content/style.scss index 04736d8..17aff0b 100644 --- a/content/style.scss +++ b/content/style.scss @@ -1,7 +1,7 @@ /*! * Nick's web site: default stylesheet * - * Copyright © 2018-2021 Nick Bowler + * Copyright © 2018-2022 Nick Bowler * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,41 +17,58 @@ * along with this program. If not, see . */ -// colour definitions -$backgroundcolour: #ffffff; -$foregroundcolour: #000000; +@import "lib/colourmap.scss"; -$linkdefaultcolour: #0000cd; -$linkactivecolour: #ff0000; -$linkvisitedcolour: #800080; +@include defcolours + ( $background: #ffffff #000000 + , $foreground: #000000 #ffffff -$ruledefaultcolour: #d3d3d3; -$rulestrongcolour: #696969; + , $linkdefault: #0000cd #a3aaff + , $linkactive: #ff0000 + , $linkvisited: #800080 #e493f7 + , $focusring: #628cb2 -$annotationcolour: #708090; + , $annotation: #708090 + , $tableshade: #f5f5f5 #101010 -$tableshadecolour: #f5f5f5; + , $ruledefault: #d3d3d3 #494949 + , $rulestrong: #696969 #939393 + ); @mixin header_size($maxwidth, $fontsize) { font-size: $fontsize; max-width: 1em * ($maxwidth / $fontsize); } +html { @include usecolours($background-color: background); } body { - background-color: $backgroundcolour; - color: $foregroundcolour; + @include usecolours($color: foreground); font-family: sans-serif; margin: 1em; } -a:link { color: $linkdefaultcolour; border-color: $linkdefaultcolour; } -a:visited { color: $linkvisitedcolour; border-color: $linkvisitedcolour; } -a:active { color: $linkactivecolour; border-color: $linkactivecolour; } +a:link { + @include usecolours($color: linkdefault, $border-color: linkdefault); +} +a:visited { + @include usecolours($color: linkvisited, $border-color: linkvisited); +} +a:active { + @include usecolours($color: linkactive, $border-color: linkactive); +} + +@supports (outline-style: auto) { + a:link { border-width: 0; } + a:focus { @include usecolour(outline, focusring, auto); } + li, td, dt { &>a:link { border: solid 1px transparent; } } +} h1 { @include header_size(60em, 2em); } h2 { @include header_size(60em, 1.5em); } h5 { @include header_size(60em, 1em); } +h1, h2 { abbr { text-decoration: none; } } + @supports (display: grid) { .gallery { display: grid; @@ -61,6 +78,16 @@ h5 { @include header_size(60em, 1em); } p.img { margin: 0.5em 0; } } + + @media (max-width: 45em) { + .inline.gallery { + display: block; + p.img { + a { max-width: 24em; } + margin: 1em 0; + } + } + } } p.img { @@ -79,12 +106,22 @@ p.img { border: solid 2px; } + a.left { margin: 0 1em 0.5em 0; float: left; clear: left; } + a.right { margin: 0 0 0.5em 1em; float: right; clear: right; } + a.left, a.right { + @media (max-width: 45em) { float: none; margin: 0; } + + max-width: 24em; + } + small { - color: $foregroundcolour; - text-align: justify; + @include usecolours($color: foreground); @media (max-width: 24em) { text-align: left; } padding: 0.5ex; display: block; + display: -moz-inline-box; + display: inline-block; + text-align: justify; font-size: 0.9em; } } @@ -115,17 +152,19 @@ hr { clear: both; margin: 0.5em 0; border: 0; - border-top: 1px solid $ruledefaultcolour; + @include usecolour(border-top, ruledefault, 1px solid); } kbd { font-family: monospace; font-size: 0.95em; &:before { content: "% "; } + &.ok:before { content: "ok "; } &>span { white-space: nowrap; } blockquote & { display: block; + & + br { display: none; } text-align: left; padding-left: 3em; text-indent: -3em; @@ -133,17 +172,19 @@ kbd { } .permalink { + @include usecolours($color: annotation); font-size: small; - color: $annotationcolour; a:link, a:visited { color: inherit; } + a:active { @include usecolours($color: linkactive); } @media not screen { visibility: hidden; } } // General table styles. table { - border: 1px solid $ruledefaultcolour; + @include usecolour(border-top, ruledefault, 1px solid); border-collapse: collapse; + clear: both; width: 100%; } @@ -163,18 +204,20 @@ td, th { margin: 0; } -thead>tr, tbody>tr { border: solid $ruledefaultcolour; } -th, thead>tr { border-bottom: 1px solid $rulestrongcolour; } -tbody+tbody { border-bottom: 1px solid $ruledefaultcolour; } +thead>tr, tbody>tr { @include usecolour(border, ruledefault, solid); } +th, thead>tr { @include usecolour(border-bottom, rulestrong, 1px solid); } +tbody+tbody { @include usecolour(border-bottom, ruledefault, 1px solid); } *>table, *>th { border: none; } thead>tr { border-width: 1px; } tbody>tr { border-width: 0 1px; } -td + td { box-shadow: -1px 0 $backgroundcolour; } +td + td { + @include usecolour(box-shadow, background, -1px 0); +} tbody>tr { - &:nth-of-type(even) { background-color: $tableshadecolour; } - &:last-child { border-bottom: solid 1px $ruledefaultcolour; } + &:nth-of-type(even) { @include usecolours($background-color: tableshade); } + &:last-child { @include usecolour(border-bottom, ruledefault, solid 1px); } } // Specific table styles @@ -185,8 +228,8 @@ table.cc { } } -// CSS rules for stortable clicky table headers: Update the display of -// the /table based on the current state. Each column has its own set +// CSS rules for sortable clicky table headers: Update the display of +// the table based on the current state. Each column has its own set // nearly-identical rules, only the class names differ. // // The clickytables.xsl stylesheet generates two inputs for each column. @@ -275,10 +318,6 @@ $clickynames: name, date, size; } } - &:focus ~ table th.clicky-#{$col}>label~label>span:first-child { - border-color: $foregroundcolour; - } - // Unhide to allow keyboard navigation display: block !important; pointer-events: none; @@ -299,15 +338,22 @@ $clickynames: name, date, size; } } - &:focus ~ table th.clicky-#{$col}>label~label .svg { - border-color: $foregroundcolour; - } - pointer-events: none; position: absolute; opacity: 0; z-index: -2; } + + $focuslabel: ":focus ~ table th.clicky-#{$col}>label~label"; + #{"input.clicky-#{$col+$focuslabel}"}>span:first-child + , #{"input.clicky-#{$col}-rev#{$focuslabel}"} .svg + { + @include usecolours($border-color: foreground); + @at-root { @supports (outline-style: auto) { & { + @include usecolour(outline, focusring, auto); + border-color: transparent !important; + }}} + } } thead.clicky label { @@ -329,9 +375,13 @@ thead.clicky label { padding-right: 2px; } - &:active { color: $linkactivecolour; } + &:active { @include usecolours($color: linkactive); } &:first-child:active>span, &~label:active>.svg { - border-color: $linkactivecolour; + @include usecolours($border-color: linkactive); + @at-root { @supports (outline-style: auto) { & { + @include usecolour(outline, focusring, auto); + border-color: transparent; + }}} } .svg { @@ -399,7 +449,7 @@ table.filelist { } } -#footer p { color: $annotationcolour; } +#footer p { @include usecolours($color: annotation); } #article-info p { font-style: italic; } .wbr:after { content: "\200b"; } @@ -425,3 +475,25 @@ ul.ordered > { #sitetitle * { float: none; } #footer { padding: 0 1em; } } + +// lighten icon shadows in dark mode +@media (prefers-color-scheme: dark) { + svg.icons { path.shadow, g.shadow>* { opacity: 0.7; } } + svg.icons .shadow>stop { stop-color: #aaa; } + svg.return path.shadow { opacity: 0.45; } +} + +// page-specific dark mode styles +@media (prefers-color-scheme: dark) and (min-width: 35em) { + #page_weblog_responsive_tables { + @each $tN in t6 t7 t8 { + ##{$tN}>tbody>tr.#{$tN}-split { + @include usecolour_dark_(border-bottom, ruledefault); + + &:nth-of-type(odd) ~ tr:nth-of-type(odd) { + @include usecolour_dark_(background-color, tableshade); + } + } + } + } +} diff --git a/content/weblog/eclipse-20220515.md b/content/weblog/eclipse-20220515.md new file mode 100644 index 0000000..ab471b7 --- /dev/null +++ b/content/weblog/eclipse-20220515.md @@ -0,0 +1,11 @@ +--- +title: Lunar Eclipse in Ottawa on 2022-05-15 +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +published: 2022-05-16T01:17:29-0400 +--- + +<% images = @items.find_all("/images/eclipse-202205*.jpg") +images.sort_by(&:identifier).each do |item| %> +<%= gallery_img(item, caption: "") %> +<% end %> diff --git a/content/weblog/eclipse-20240408.md b/content/weblog/eclipse-20240408.md new file mode 100644 index 0000000..0cf01bf --- /dev/null +++ b/content/weblog/eclipse-20240408.md @@ -0,0 +1,14 @@ +--- +title: Solar Eclipse near Cornwall on 2024-04-08 +copyright: 2024 Nick Bowler +license: cc-by-sa-4.0 +published: 2024-04-09T00:44:23-0400 +updated: 2024-04-09T21:04:19-0400 +--- + +More to come... + +<% images = @items.find_all("/images/eclipse-20240408*.jpg") +images.sort_by(&:identifier).each do |item| %> +<%= gallery_img(item, caption: "") %> +<% end %> diff --git a/content/weblog/responsive-tables.md b/content/weblog/responsive-tables.md index 2063484..a668e16 100644 --- a/content/weblog/responsive-tables.md +++ b/content/weblog/responsive-tables.md @@ -272,12 +272,12 @@ are pretty easy to fix in the stylesheet. #t6>thead, #t6>tbody { display: grid; } #t6>tbody>tr.t6-split { border-bottom: 1px solid <%= - scss_get_var(:ruledefaultcolour) %>; } + scss_get_colour(:ruledefault) %>; } #t6>tbody>tr.t6-split:nth-of-type(odd) ~ tr:nth-of-type(even) { background-color: initial; } #t6>tbody>tr.t6-split:nth-of-type(odd) ~ tr:nth-of-type(odd) { - background-color: <%= scss_get_var(:tableshadecolour) %>; + background-color: <%= scss_get_colour(:tableshade) %>; } } } @@ -325,12 +325,12 @@ these techniques to [table 1](#t1). #t7>thead, #t7>tbody { display: grid; } #t7>tbody>tr.t7-split { border-bottom: 1px solid <%= - scss_get_var(:ruledefaultcolour) %>; } + scss_get_colour(:ruledefault) %>; } #t7>tbody>tr.t7-split:nth-of-type(odd) ~ tr:nth-of-type(even) { background-color: initial; } #t7>tbody>tr.t7-split:nth-of-type(odd) ~ tr:nth-of-type(odd) { - background-color: <%= scss_get_var(:tableshadecolour) %>; + background-color: <%= scss_get_colour(:tableshade) %>; } } } @@ -386,12 +386,12 @@ in a stylesheet. We will do it with more grids. #t8>thead, #t8>tbody { display: grid; } #t8>tbody>tr.t8-split { border-bottom: 1px solid <%= - scss_get_var(:ruledefaultcolour) %>; } + scss_get_colour(:ruledefault) %>; } #t8>tbody>tr.t8-split:nth-of-type(odd) ~ tr:nth-of-type(even) { background-color: initial; } #t8>tbody>tr.t8-split:nth-of-type(odd) ~ tr:nth-of-type(odd) { - background-color: <%= scss_get_var(:tableshadecolour) %>; + background-color: <%= scss_get_colour(:tableshade) %>; } } diff --git a/content/weblog/ultra60-nvram.md b/content/weblog/ultra60-nvram.md new file mode 100644 index 0000000..ec96370 --- /dev/null +++ b/content/weblog/ultra60-nvram.md @@ -0,0 +1,101 @@ +--- +title: M48T59Y-70PC1 NVRAM Battery Replacement +copyright: 2022 Nick Bowler +license: cc-by-sa-4.0 +published: 2022-07-09T12:12:21-0400 +--- + +*[NVRAM]: Non-Volatile Random Access Memory +*[SRAM]: Static Random-Access Memory +*[NOS]: New Old Stock +*[DIP]: Dual In-line Package +*[SOIC]: Small-Outline Integrated Circuit +*[MAC]: Media Access Control + +Thanks to [Mark Henderson's Sun NVRAM FAQ][nvram-faq] for providing invaluable +insight regarding this repair. +{:article-info="article-info"} + +[nvram-faq]: http://web.archive.org/web/20150919135835/http://www.squirrel.com/sun-nvram-hostid.faq.html + +The Sun Ultra 60 workstation uses an ST M48T59Y-70PC1 battery-backed SRAM with +real-time clock. When the embedded lithium primary cell inevitably dies, the +chip is essentially useless. The most noticeable negative effect of a dead +chip is that the workstation always powers up in a default configuration with +diag-switch? true, running several minutes of self tests every time, with +bogus MAC and host ID values. + +<%= floating_img(@items["/images/m48t59y.jpg"], caption: < + +This device was branded obsolescent by the manufacturer in April of 2008 and +has presumably been out of production since around that time. Similar chips +like the M48T58Y are still made but they are expensive (around $40) and slight +differences may result in compatibility problems. It appears that NOS parts +can be found fairly cheap online but these must be almost 15 years old by now +and who knows what state the embedded batteries are in. No thanks. + +One option could be to find the SOIC version of the M48T59Y for which NOS also +seems to be available, although somewhat less readily than the DIP modules, and +then construct an adapter board to fit into the DIP socket on the motherboard. +The SOIC package does not include the battery and crystal; instead, it has +contacts on the top to attach a separate "SNAPHAT" package which are still +made. This would be complicated and somewhat expensive. + +Fortunately, a straightforward (if time-consuming) repair is possible. This +is a literal hackjob: we can dig through the potting to expose the battery +terminals, disconnect the internal battery, and connect a normal battery clip. +This enables the use of readily-available CR2032 lithium primary cells that can +be replaced as needed, just like a normal PC. Since we already have the chip +we need, it is not necessary to source any obscure or expensive components. + +<%= +floating_img(@items["/images/m48t59y-terminals.jpg"], left: 1, caption: '') +%> + +<%= +floating_img(@items["/images/m48t59y-solder.jpg"], left: 1, caption: '') +%> + +The battery contacts are located on the end opposite pin 1, between pins +14 and 15. Looking underneath the chip there is a small well at either end +filled with potting compound. The battery connections are inside one of +these. Using a knife, cut back the plastic outer shell on the battery side, +then begin scraping away potting compound until the terminals are exposed. +You can use a suitable DIP socket to help protect the pins from accidental +damage. + +Once the terminals are exposed, the internal battery must be disconnected. +The thick protruding tabs near the bottom of the module are what we want +to solder to. The vertical strips going up and into the module are the +internal battery terminals. These can be desoldered from the tabs and +lifted out of the way, or simply cut off. + +With the time-consuming parts completed it is a straightforward matter to +connect a normal battery clip to the exposed terminals. As the Ultra 60 has +no clearance issues I simply glued it to the top of the chip. Since this +would obscure the barcode sticker which is useful to restore the original MAC +address and host ID, I moved this sticker to the side of the chip. + +Finally all that remains is to put everything back together and power up +the system. The system will run the full self-diagnostic tests again and +if all goes well, the "NVRAM Battery Detect Test" should no longer display +any errors. At the ok prompt, the memory can now be initialized. Where +"AA BB CC" are the six hexadecimal digits from the orange barcode sticker: + +set-defaults
+setenv diag-switch? false
+8 0 20 AA BB CC AABBCC mkpl
<Ctrl-D><Ctrl-R>

+.idprom
+reset + +<%= gallery_img(@items["/images/m48t59y-fixed.jpg"], caption: < +<%= gallery_img(@items["/images/m48t59y-installed.jpg"], caption: < diff --git a/gitmodules/cdecl99 b/gitmodules/cdecl99 index 6cc7c1a..db974c0 160000 --- a/gitmodules/cdecl99 +++ b/gitmodules/cdecl99 @@ -1 +1 @@ -Subproject commit 6cc7c1ad6a714b7ea8ae1445e502ec7ce4ecf4ab +Subproject commit db974c0a690f2044dcbc06446333837c3c3e1cec diff --git a/gitmodules/rarpd-dx b/gitmodules/rarpd-dx new file mode 160000 index 0000000..e560983 --- /dev/null +++ b/gitmodules/rarpd-dx @@ -0,0 +1 @@ +Subproject commit e5609838c7733c84200f368bfd89bf2fe07b3d9e diff --git a/gitmodules/rrace b/gitmodules/rrace new file mode 160000 index 0000000..c1dbd8f --- /dev/null +++ b/gitmodules/rrace @@ -0,0 +1 @@ +Subproject commit c1dbd8fcf932d82b4d77da62288b4a6cdf5c1470 diff --git a/layouts/default.xml b/layouts/default.xml index 2e003ae..2f78b3d 100644 --- a/layouts/default.xml +++ b/layouts/default.xml @@ -2,7 +2,7 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - +
@@ -265,7 +212,7 @@

- + Except as otherwise noted, copying Copying @@ -400,18 +347,44 @@

+ + + - + +
-

- Posted - -

+ + +
+ +

+ Posted + + + + , last updated + + + +

+
+ + + + + + + + + @@ -439,7 +412,14 @@ -