Skip to content

Commit 4ea4638

Browse files
committed
Merge branch '002-footnote-noscript-fallback'
2 parents a76e01e + 64b949a commit 4ea4638

75 files changed

Lines changed: 6764 additions & 463 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/copilot-instructions.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
Auto-generated from all feature plans. Last updated: 2025-11-09
44

55
## Active Technologies
6+
- Perl 5.40+ (project standard per constitution) + Template Toolkit 2.x, Dialog.js (client-side for JS mode) (002-footnote-noscript-fallback)
7+
- N/A (static site generation, no database for this feature) (002-footnote-noscript-fallback)
68

79
- Perl 5.40+ + Devel::Cover, Test::Most, Type::Tiny, Getopt::Long, SQLite (001-test-coverage-improvement)
810

@@ -66,6 +68,7 @@ Perl 5.40+: Follow standard conventions from constitution.md
6668
- All tasks must pass entire test suite before completion
6769

6870
## Recent Changes
71+
- 002-footnote-noscript-fallback: Added Perl 5.40+ (project standard per constitution) + Template Toolkit 2.x, Dialog.js (client-side for JS mode)
6972

7073
- 001-test-coverage-improvement: Added Perl 5.40+ + Devel::Cover, Test::Most, Type::Tiny, Getopt::Long, SQLite
7174

articles/a-review-of-openais-new-chatgpt-o1.html

Lines changed: 47 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -331,7 +331,7 @@ <h1><a name="prolog-in-perl"></a>Prolog in Perl</h1>
331331

332332
<p>A long time ago, a gentleman named Adrian Howard posted about <a href="https://www.perlmonks.org/?node_id=193649" target="_blank">implementing
333333
something similar to Prolog in Perl, using
334-
continuations</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog" id="open-dialog-1"> <i class="fa fa-clipboard fa_custom"></i> </span>. It allows you to write
334+
continuations</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog js-only" id="open-dialog-1"> <i class="fa fa-clipboard fa_custom"></i> </span><noscript><a href="#footnote-1" id="footnote-1-return" aria-label="Footnote 1"><sup>[1]</sup></a></noscript>. It allows you to write
335335
something like this:</p>
336336

337337
<div class="shadow"><pre class="scrolled"><code class="language-perl">sub male ( $var, $continuation ) {
@@ -347,7 +347,7 @@ <h1><a name="prolog-in-perl"></a>Prolog in Perl</h1>
347347

348348
<p>That’s seems almost ridiculous, but suffice it to that this approach is
349349
powerful and <a href="https://github.com/Ovid/aI-Logic/" target="_blank">I even hacked together a quick module to genericize
350-
this</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog" id="open-dialog-2"> <i class="fa fa-clipboard fa_custom"></i> </span> But Howard’s approach lacked some key
350+
this</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog js-only" id="open-dialog-2"> <i class="fa fa-clipboard fa_custom"></i> </span><noscript><a href="#footnote-2" id="footnote-2-return" aria-label="Footnote 2"><sup>[2]</sup></a></noscript> But Howard’s approach lacked some key
351351
features, including list handling. That’s the bit I want to explain now.</p>
352352

353353
<p>Let’s say, in Perl, you want to append one list to another:</p>
@@ -396,7 +396,7 @@ <h1><a name="prolog-in-perl"></a>Prolog in Perl</h1>
396396

397397
<p>Some errors it suggested I fix weren’t actually errors. For example, it told me
398398
I had to load a module, apparently unaware that <code>use base $module</code> does that for
399-
you.<span aria-label="Open Footnote" class="open-dialog" id="open-dialog-3"> <i class="fa fa-clipboard fa_custom"></i> </span>. When o1 was getting bogged down in details like that, it
399+
you.<span aria-label="Open Footnote" class="open-dialog js-only" id="open-dialog-3"> <i class="fa fa-clipboard fa_custom"></i> </span><noscript><a href="#footnote-3" id="footnote-3-return" aria-label="Footnote 3"><sup>[3]</sup></a></noscript>. When o1 was getting bogged down in details like that, it
400400
wasn’t fixing the actual problems I needed it to fix.</p>
401401

402402
<p>It also failed to diagnose a critical error where, in my manual changes to the
@@ -661,11 +661,17 @@ <h1><a name="summary"></a>Summary</h1>
661661

662662

663663
<!-- footnotes https://bitsofco.de/accessible-modal-dialog/ -->
664-
<div class="dialog-overlay" tabindex="-1"></div>
664+
665+
<!-- Show JS-only elements when JavaScript is enabled (Feature 002) -->
666+
<script>
667+
document.write('<style>.js-only { display: inline; }</style>');
668+
</script>
669+
670+
<div class="dialog-overlay" tabindex="-1" aria-hidden="true"></div>
665671

666672
<script type="text/javascript" src="/static/js/Dialog.js"></script>
667673

668-
<div id="dialog-1" class="dialog" role="dialog" aria-labelledby="note-1" aria-describedby="note-description-1">
674+
<div id="dialog-1" class="dialog" role="dialog" aria-labelledby="note-1" aria-describedby="note-description-1" aria-hidden="true">
669675
<strong id="note-1">Footnotes</strong>
670676
<p id="note-description-1" class="sr-only">Note number 1</p>
671677
<div>Please
@@ -679,7 +685,7 @@ <h1><a name="summary"></a>Summary</h1>
679685
myDialog1.addEventListeners('#open-dialog-1', '#close-dialog-1');
680686
</script>
681687

682-
<div id="dialog-2" class="dialog" role="dialog" aria-labelledby="note-2" aria-describedby="note-description-2">
688+
<div id="dialog-2" class="dialog" role="dialog" aria-labelledby="note-2" aria-describedby="note-description-2" aria-hidden="true">
683689
<strong id="note-2">Footnotes</strong>
684690
<p id="note-description-2" class="sr-only">Note number 2</p>
685691
<div>'Hack' is the operative
@@ -693,7 +699,7 @@ <h1><a name="summary"></a>Summary</h1>
693699
myDialog2.addEventListeners('#open-dialog-2', '#close-dialog-2');
694700
</script>
695701

696-
<div id="dialog-3" class="dialog" role="dialog" aria-labelledby="note-3" aria-describedby="note-description-3">
702+
<div id="dialog-3" class="dialog" role="dialog" aria-labelledby="note-3" aria-describedby="note-description-3" aria-hidden="true">
697703
<strong id="note-3">Footnotes</strong>
698704
<p id="note-description-3" class="sr-only">Note number 3</p>
699705
<div>We'll ignore the fact that the <tt>base</tt> module is not
@@ -708,6 +714,40 @@ <h1><a name="summary"></a>Summary</h1>
708714
</script>
709715

710716

717+
<!-- NoScript fallback for footnotes (Feature 002-footnote-noscript-fallback) -->
718+
<noscript>
719+
<aside class="footnotes" id="footnotes-section" aria-label="Footnotes">
720+
<h2><a name="footnotes"></a>Footnotes</h2>
721+
<ol>
722+
723+
<li id="footnote-1">
724+
Please
725+
excuse the very 1999 appearance of that web site.
726+
<a href="#footnote-1-return" aria-label="Return to footnote 1 reference">
727+
↩ Return to text
728+
</a>
729+
</li>
730+
731+
<li id="footnote-2">
732+
'Hack' is the operative
733+
word. It is not good code.
734+
<a href="#footnote-2-return" aria-label="Return to footnote 2 reference">
735+
↩ Return to text
736+
</a>
737+
</li>
738+
739+
<li id="footnote-3">
740+
We'll ignore the fact that the <tt>base</tt> module is not
741+
recommended.
742+
<a href="#footnote-3-return" aria-label="Return to footnote 3 reference">
743+
↩ Return to text
744+
</a>
745+
</li>
746+
747+
</ol>
748+
</aside>
749+
</noscript>
750+
711751
</body>
712752
</html>
713753

articles/ai-generated-content-innovation-or-intellectual-theft.html

Lines changed: 40 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -267,7 +267,7 @@ <h1><a name="introduction"></a>Introduction</h1>
267267

268268
<p>It’s no exaggeration to say that we’re worried <a href="/articles/will-you-lose-your-job-to-ai.html">we might lose our jobs to
269269
AI</a>. The value of human language
270-
translation outside of specialized contexts<span aria-label="Open Footnote" class="open-dialog" id="open-dialog-1"> <i class="fa fa-clipboard fa_custom"></i> </span> is effectively zero. Call center workers have, for years,
270+
translation outside of specialized contexts<span aria-label="Open Footnote" class="open-dialog js-only" id="open-dialog-1"> <i class="fa fa-clipboard fa_custom"></i> </span><noscript><a href="#footnote-1" id="footnote-1-return" aria-label="Footnote 1"><sup>[1]</sup></a></noscript> is effectively zero. Call center workers have, for years,
271271
been replaced with AI systems, systems which are getting even better.
272272
Copywriters and journalists are seeing generative AI encroach on their work.</p>
273273

@@ -477,7 +477,7 @@ <h2><a name="legislating-ai"></a>Legislating AI</h2>
477477

478478
<p>Remember Prohibition? Though well-intentioned, <a href="https://prohibition.themobmuseum.org/the-history/the-rise-of-organized-crime/the-mob-during-prohibition/" target="_blank">it almost single-handedly
479479
created organized crime in the
480-
US</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog" id="open-dialog-2"> <i class="fa fa-clipboard fa_custom"></i> </span></p>
480+
US</a> <span class="fa fa-external-link fa_custom"></span>.<span aria-label="Open Footnote" class="open-dialog js-only" id="open-dialog-2"> <i class="fa fa-clipboard fa_custom"></i> </span><noscript><a href="#footnote-2" id="footnote-2-return" aria-label="Footnote 2"><sup>[2]</sup></a></noscript></p>
481481

482482
<p>Remember the Smoot-Hawley Tariff Act of 1930? That was passed during the Great
483483
Depression, raising tariffs to protect US agriculture. Due to the retaliatory
@@ -639,11 +639,17 @@ <h1><a name="conclusion"></a>Conclusion</h1>
639639

640640

641641
<!-- footnotes https://bitsofco.de/accessible-modal-dialog/ -->
642-
<div class="dialog-overlay" tabindex="-1"></div>
642+
643+
<!-- Show JS-only elements when JavaScript is enabled (Feature 002) -->
644+
<script>
645+
document.write('<style>.js-only { display: inline; }</style>');
646+
</script>
647+
648+
<div class="dialog-overlay" tabindex="-1" aria-hidden="true"></div>
643649

644650
<script type="text/javascript" src="/static/js/Dialog.js"></script>
645651

646-
<div id="dialog-1" class="dialog" role="dialog" aria-labelledby="note-1" aria-describedby="note-description-1">
652+
<div id="dialog-1" class="dialog" role="dialog" aria-labelledby="note-1" aria-describedby="note-description-1" aria-hidden="true">
647653
<strong id="note-1">Footnotes</strong>
648654
<p id="note-description-1" class="sr-only">Note number 1</p>
649655
<div>Legal, medical,
@@ -657,7 +663,7 @@ <h1><a name="conclusion"></a>Conclusion</h1>
657663
myDialog1.addEventListeners('#open-dialog-1', '#close-dialog-1');
658664
</script>
659665

660-
<div id="dialog-2" class="dialog" role="dialog" aria-labelledby="note-2" aria-describedby="note-description-2">
666+
<div id="dialog-2" class="dialog" role="dialog" aria-labelledby="note-2" aria-describedby="note-description-2" aria-hidden="true">
661667
<strong id="note-2">Footnotes</strong>
662668
<p id="note-description-2" class="sr-only">Note number 2</p>
663669
<div>If you argue that it was not well-intended, I argue that you need to
@@ -675,6 +681,35 @@ <h1><a name="conclusion"></a>Conclusion</h1>
675681
</script>
676682

677683

684+
<!-- NoScript fallback for footnotes (Feature 002-footnote-noscript-fallback) -->
685+
<noscript>
686+
<aside class="footnotes" id="footnotes-section" aria-label="Footnotes">
687+
<h2><a name="footnotes"></a>Footnotes</h2>
688+
<ol>
689+
690+
<li id="footnote-1">
691+
Legal, medical,
692+
fiction, etc.
693+
<a href="#footnote-1-return" aria-label="Return to footnote 1 reference">
694+
↩ Return to text
695+
</a>
696+
</li>
697+
698+
<li id="footnote-2">
699+
If you argue that it was not well-intended, I argue that you need to
700+
read a history book or three on the topic. I think it was a bad law from the
701+
start, but one of the many reasons it was proposed was to protect women being
702+
abused by drunken husbands. Turns out that women were abused even more during
703+
Prohibition.
704+
<a href="#footnote-2-return" aria-label="Return to footnote 2 reference">
705+
↩ Return to text
706+
</a>
707+
</li>
708+
709+
</ol>
710+
</aside>
711+
</noscript>
712+
678713
</body>
679714
</html>
680715

0 commit comments

Comments
 (0)