File: thumbspage/examples/trnpix/results-2.0/_HEADER.html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- CAVEAT: doctype ^^^ borrowed from books/ genhtml insert: may fall out of sync -->
<!-- 12/15: Add a doctype spec on line 1 so IE does fixed footer positioning at bottom -->
<HTML>
<HEAD>
<!-- this page is outside the scope of main site's genhtml: content copied -->
<!-- use main site's style sheet for footer styles (+iOS landscape fix, <body> margin) -->
<link rel="stylesheet" type="text/css" href="../_main.css">
<!-- Feb2018: more stuff borrowed from main site, during mobile redesign -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="shortcut icon" type="image/x-icon" href="https://learning-python.com/favicon.ico" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- use a custom font for table etc (now also in _main.css) -->
<STYLE>
body { /* for entire body, except <pre> (alt: *) */
font-family: Arial, Helvetica, sans-serif; /* precedence list (or Verdana, Tahoma) */
} /* double quote if name embeds spaces */
</STYLE>
<!-- anonymous analytics, to prioritize work for high-traffic pages -->
<!--
Anonymous analytics to prioritize work, enabled in online resources
only. Automatically inserted on demand by tweak-analytics.py.
-->
<!-- 1) Universal Analytics tag (custom): stops collecting data on Jul-1-2023 -->
<SCRIPT>
// Start async JS-file fetch, if not already cached
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');
// Queue actions to run in order after async JS-file fetch finished
ga('create', 'UA-52579036-1', 'auto'); // Create tracker object (and queue)
ga('set', 'anonymizeIp', true); // Anonymize IP addr (&aip) [Jun-2019]
ga('send', 'pageview'); // Send page-view event now
</SCRIPT>
<!-- 2) Google Analytics 4 tag: added to site Oct-2022 (okay to keep UA tag) -->
<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=G-J8CTEZHX3L"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-J8CTEZHX3L');
</script>
<!-- End analytics insert -->
<TITLE>Teaching Python by Mark Lutz: Photos</TITLE>
</HEAD>
<BODY>
<!-- Aug2018: rewrite for new viewer pages in thumbspage -->
<H2><I>Teaching Python</I>: The Photos</H2>
<P>
This page collects assorted photos from my training and writing careers. The
location shots are from Python training trips (1997-2015); they increase in
both quality and quantity in later years because digital cameras hadn't yet
taken off when I started teaching (yes, it was that long ago).
Most of the pictures here are described on the
<A HREF="../python-activities-history.html"><I>Teaching Python</I></A> page.
<P>
<I>Usage tips</I>: the thumbs below scroll both ways, and open custom
image displays with navigation links. To resize images, resize your
desktop browser, rotate your phone, click Full, or tap for browser-native display
(more tips <A HREF="../thumbspage/UserGuide.html#Viewing Galleries">here</A>).
To make this
work, Python generates a browser-dependent
<A HREF="../cgi/showcode.py?name=trnpix/_thumbspage/2015-florida.JPG.html">stew</A>
of HTML layout, CSS styling,
and JavaScript logic; wasn't the web supposed to make this stuff easier?