PageSourceSearch

https://jglennox.com/category/blog/

html jglennox.com collected 2026-10-06 14:00:50 UTC 61,768 bytes, 627 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3<head>
4<meta charset="UTF-8">
5<meta name="viewport" content="width=device-width, initial-scale=1">
6<title>Blog | James G. Lennox</title>
7<link rel="profile" href="http://gmpg.org/xfn/11">
8<link rel="pingback" href="https://jglennox.com/xmlrpc.php">
9
10<meta name='robots' content='max-image-preview:large' />
11
12<!-- Async WordPress.com Remote Login -->
13<script id="wpcom_remote_login_js">
14var wpcom_remote_login_extra_auth = '';
15function wpcom_remote_login_remove_dom_node_id( element_id ) {
16	var dom_node = document.getElementById( element_id );
17	if ( dom_node ) { dom_node.parentNode.removeChild( dom_node ); }
18}
19function wpcom_remote_login_remove_dom_node_classes( class_name ) {
20	var dom_nodes = document.querySelectorAll( '.' + class_name );
21	for ( var i = 0; i < dom_nodes.length; i++ ) {
22		dom_nodes[ i ].parentNode.removeChild( dom_nodes[ i ] );
23	}
24}
25function wpcom_remote_login_final_cleanup() {
26	wpcom_remote_login_remove_dom_node_classes( "wpcom_remote_login_msg" );
27	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
28	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_validate" );
29	wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_js" );
30	wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_iframe" );
31	wpcom_remote_login_remove_dom_node_id( "wpcom_request_access_styles" );
32}
33
34// Watch for messages back from the remote login
35window.addEventListener( "message", function( e ) {
36	if ( e.origin === "https://r-login.wordpress.com" ) {
37		var data = {};
38		try {
39			data = JSON.parse( e.data );
40		} catch( e ) {
41			wpcom_remote_login_final_cleanup();
42			return;
43		}
44
45		if ( data.msg === 'LOGIN' ) {
46			// Clean up the login check iframe
47			wpcom_remote_login_remove_dom_node_id( "wpcom_remote_login_key" );
48
49			var id_regex = new RegExp( /^[0-9]+$/ );
50			var token_regex = new RegExp( /^.*|.*|.*$/ );
51			if (
52				token_regex.test( data.token )
53				&& id_regex.test( data.wpcomid )
54			) {
55				// We have everything we need to ask for a login
56				var script = document.createElement( "script" );
57				script.setAttribute( "id", "wpcom_remote_login_validate" );
58				script.src = '/remote-login.php?wpcom_remote_login=validate'
59					+ '&wpcomid=' + data.wpcomid
60					+ '&token=' + encodeURIComponent( data.token )
61					+ '&host=' + window.location.protocol
62					+ '//' + window.location.hostname
63					+ '&postid=380'
64					+ '&is_singular=';
65				document.body.appendChild( script );
66			}
67
68			return;
69		}
70
71		// Safari ITP, not logged in, so redirect
72		if ( data.msg === 'LOGIN-REDIRECT' ) {
73			window.location = 'https://wordpress.com/log-in?redirect_to=' + window.location.href;
74			return;
75		}
76
77		// Safari ITP, storage access failed, remove the request
78		if ( data.msg === 'LOGIN-REMOVE' ) {
79			var css_zap = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } @media screen and ( max-width: 782px ) { html { margin-top: 0 !important; } * html body { margin-top: 0 !important; } }';
80			var style_zap = document.createElement( 'style' );
81			style_zap.type = 'text/css';
82			style_zap.appendChild( document.createTextNode( css_zap ) );
83			document.body.appendChild( style_zap );
84
85			var e = document.getElementById( 'wpcom_request_access_iframe' );
86			e.parentNode.removeChild( e );
87
88			document.cookie = 'wordpress_com_login_access=denied; path=/; max-age=31536000';
89
90			return;
91		}
92
93		// Safari ITP
94		if ( data.msg === 'REQUEST_ACCESS' ) {
95			console.log( 'request access: safari' );
96
97			// Check ITP iframe enable/disable knob
98			if ( wpcom_remote_login_extra_auth !== 'safari_itp_iframe' ) {
99				return;
100			}
101
102			// If we are in a "private window" there is no ITP.
103			var private_window = false;
104			try {
105				var opendb = window.openDatabase( null, null, null, null );
106			} catch( e ) {
107				private_window = true;
108			}
109
110			if ( private_window ) {
111				console.log( 'private window' );
112				return;
113			}
114
115			var iframe = document.createElement( 'iframe' );
116			iframe.id = 'wpcom_request_access_iframe';
117			iframe.setAttribute( 'scrolling', 'no' );
118			iframe.setAttribute( 'sandbox', 'allow-storage-access-by-user-activation allow-scripts allow-same-origin allow-top-navigation-by-user-activation' );
119			iframe.src = 'https://r-login.wordpress.com/remote-login.php?wpcom_remote_login=request_access&origin=' + encodeURIComponent( data.origin ) + '&wpcomid=' + encodeURIComponent( data.wpcomid );
120
121			var css = 'html { -webkit-transition: margin-top 1s; transition: margin-top 1s; } /* 9001 */ html { margin-top: 46px !important; } * html body { margin-top: 46px !important; } @media screen and ( max-width: 660px ) { html { margin-top: 71px !important; } * html body { margin-top: 71px !important; } #wpcom_request_access_iframe { display: block; height: 71px !important; } } #wpcom_request_access_iframe { border: 0px; height: 46px; position: fixed; top: 0; left: 0; width: 100%; min-width: 100%; z-index: 99999; background: #23282d; } ';
122
123			var style = document.createElement( 'style' );
124			style.type = 'text/css';
125			style.id = 'wpcom_request_access_styles';
126			style.appendChild( document.createTextNode( css ) );
127			document.body.appendChild( style );
128
129			document.body.appendChild( iframe );
130		}
131
132		if ( data.msg === 'DONE' ) {
133			wpcom_remote_login_final_cleanup();
134		}
135	}
136}, false );
137
138// Inject the remote login iframe after the page has had a chance to load
139// more critical resources
140window.addEventListener( "DOMContentLoaded", function( e ) {
141	var iframe = document.createElement( "iframe" );
142	iframe.style.display = "none";
143	iframe.setAttribute( "scrolling", "no" );
144	iframe.setAttribute( "id", "wpcom_remote_login_key" );
145	iframe.src = "https://r-login.wordpress.com/remote-login.php"
146		+ "?wpcom_remote_login=key"
147		+ "&origin=aHR0cHM6Ly9qZ2xlbm5veC5jb20%3D"
148		+ "&wpcomid=94178876"
149		+ "&time=" + Math.floor( Date.now() / 1000 );
150	document.body.appendChild( iframe );
151}, false );
152</script>
152
153<link rel='dns-prefetch' href='//s2.wp.com' />
154<link rel='dns-prefetch' href='//fonts-api.wp.com' />
155<link rel='dns-prefetch' href='//s0.wp.com' />
156<link rel="alternate" type="application/rss+xml" title="James G. Lennox &raquo; Feed" href="https://jglennox.com/feed/" />
157<link rel="alternate" type="application/rss+xml" title="James G. Lennox &raquo; Comments Feed" href="https://jglennox.com/comments/feed/" />
158<link rel="alternate" type="application/rss+xml" title="James G. Lennox &raquo; Blog Category Feed" href="https://jglennox.com/category/blog/feed/" />
159	
159<script type="text/javascript">
160		/* <![CDATA[ */
161		function addLoadEvent(func) {
162			var oldonload = window.onload;
163			if (typeof window.onload != 'function') {
164				window.onload = func;
165			} else {
166				window.onload = function () {
167					oldonload();
168					func();
169				}
170			}
171		}
172		/* ]]> */
173	</script>
173
174	<style id="wp-img-auto-sizes-contain-inline-css">
175img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}
176/*# sourceURL=wp-img-auto-sizes-contain-inline-css */
177</style>
178<style id="wp-emoji-styles-inline-css">
179
180	img.wp-smiley, img.emoji {
181		display: inline !important;
182		border: none !important;
183		box-shadow: none !important;
184		height: 1em !important;
185		width: 1em !important;
186		margin: 0 0.07em !important;
187		vertical-align: -0.1em !important;
188		background: none !important;
189		padding: 0 !important;
190	}
191/*# sourceURL=wp-emoji-styles-inline-css */
192</style>
193<style id="wp-block-library-inline-css">
194:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122,0,223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0,124,186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0,107,160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0,90,135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
194--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0px)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0px}}
195
196/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.4.0/build/styles/block-library/common.min.css */
197</style>
198<style id="wp-block-library-inline-css-extra">
199.has-text-align-justify {
200	text-align:justify;
201}
202.has-text-align-justify{text-align:justify;}
203/*# sourceURL=wp-block-library-inline-css */
204</style>
205
206<style id="classic-theme-styles-inline-css">
207.wp-block-button__link{background-color:#32373c;border-radius:9999px;box-shadow:none;color:#fff;font-size:1.125em;padding:calc(.667em + 2px) calc(1.333em + 2px);text-decoration:none}.wp-block-file__button{background:#32373c;color:#fff}.wp-block-accordion-heading{margin:0}.wp-block-accordion-heading__toggle{background-color:inherit!important;color:inherit!important}.wp-block-accordion-heading__toggle:not(:focus-visible){outline:none}.wp-block-accordion-heading__toggle:focus,.wp-block-accordion-heading__toggle:hover{background-color:inherit!important;border:none;box-shadow:none;color:inherit;padding:var(--wp--preset--spacing--20,1em) 0;text-decoration:none}.wp-block-accordion-heading__toggle:focus-visible{outline:auto;outline-offset:0}.wp-block-tab:not(.has-text-color){color:inherit!important}.wp-block-tab:not(.has-background){background-color:inherit!important}.wp-block-tab:focus,.wp-block-tab:hover{text-decoration:none}.wp-block-tab:focus-visible{outline:auto;outline-offset:0}
208/*# sourceURL=/wp-content/plugins/gutenberg-core/v23.4.0/build/styles/block-library/classic.min.css */
209</style>
210
211<link crossorigin='anonymous' rel='stylesheet' id='all-css-10-1' href='/_static/??-eJx9jUsOwjAMRC+EY6UgCAvEWZrEKoG4jWq3hduTLvisurFG1nszuBQIQ6/UK5Y8dakXDIPPQ3gINsY6Y0ESl0ww0mwOGJPolwDRVyYTRHb4V8QT/L
211pGqn8ura4EU0wtZeKKbWlLih1p1eWTQem5rZQ6A96XkUSgXk4Tg97qlqzelS/26KzbN835dH8DjlpbIA==&cssminify=yes' type='text/css' media='all' />
212<style id="global-styles-inline-css">
213:root{--wp--preset--aspect-ratio--square: 1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black: #000000;--wp--preset--color--cyan-bluish-gray: #abb8c3;--wp--preset--color--white: #ffffff;--wp--preset--color--pale-pink: #f78da7;--wp--preset--color--vivid-red: #cf2e2e;--wp--preset--color--luminous-vivid-orange: #ff6900;--wp--preset--color--luminous-vivid-amber: #fcb900;--wp--preset--color--light-green-cyan: #7bdcb5;--wp--preset--color--vivid-green-cyan: #00d084;--wp--preset--color--pale-cyan-blue: #8ed1fc;--wp--preset--color--vivid-cyan-blue: #0693e3;--wp--preset--color--vivid-purple: #9b51e0;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple: linear-gradient(135deg,rgb(6,147,227) 0%,rgb(155,81,224) 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan: linear-gradient(135deg,rgb(122,220,180) 0%,rgb(0,208,130) 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange: linear-gradient(135deg,rgb(252,185,0) 0%,rgb(255,105,0) 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red: linear-gradient(135deg,rgb(255,105,0) 0%,rgb(207,46,46) 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray: linear-gradient(135deg,rgb(238,238,238) 0%,rgb(169,184,195) 100%);
213--wp--preset--gradient--cool-to-warm-spectrum: linear-gradient(135deg,rgb(74,234,220) 0%,rgb(151,120,209) 20%,rgb(207,42,186) 40%,rgb(238,44,130) 60%,rgb(251,105,98) 80%,rgb(254,248,76) 100%);--wp--preset--gradient--blush-light-purple: linear-gradient(135deg,rgb(255,206,236) 0%,rgb(152,150,240) 100%);--wp--preset--gradient--blush-bordeaux: linear-gradient(135deg,rgb(254,205,165) 0%,rgb(254,45,45) 50%,rgb(107,0,62) 100%);--wp--preset--gradient--luminous-dusk: linear-gradient(135deg,rgb(255,203,112) 0%,rgb(199,81,192) 50%,rgb(65,88,208) 100%);--wp--preset--gradient--pale-ocean: linear-gradient(135deg,rgb(255,245,203) 0%,rgb(182,227,212) 50%,rgb(51,167,181) 100%);--wp--preset--gradient--electric-grass: linear-gradient(135deg,rgb(202,248,128) 0%,rgb(113,206,126) 100%);--wp--preset--gradient--midnight: linear-gradient(135deg,rgb(2,3,129) 0%,rgb(40,116,252) 100%);--wp--preset--font-size--small: 13px;--wp--preset--font-size--medium: 20px;--wp--preset--font-size--large: 36px;--wp--preset--font-size--x-large: 42px;--wp--preset--font-family--albert-sans: 'Albert Sans', sans-serif;--wp--preset--font-family--alegreya: Alegreya, serif;--wp--preset--font-family--arvo: Arvo, serif;--wp--preset--font-family--bodoni-moda: 'Bodoni Moda', serif;--wp--preset--font-family--bricolage-grotesque: 'Bricolage Grotesque', sans-serif;--wp--preset--font-family--cabin: Cabin, sans-serif;--wp--preset--font-family--chivo: Chivo, sans-serif;--wp--preset--font-family--commissioner: Commissioner, sans-serif;--wp--preset--font-family--cormorant: Cormorant, serif;--wp--preset--font-family--courier-prime: 'Courier Prime', monospace;--wp--preset--font-family--crimson-pro: 'Crimson Pro', serif;--wp--preset--font-family--dm-mono: 'DM Mono', monospace;--wp--preset--font-family--dm-sans: 'DM Sans', sans-serif;--wp--preset--font-family--dm-serif-display: 'DM Serif Display', serif;--wp--preset--font-family--domine: Domine, serif;--wp--preset--font-family--eb-garamond: 'EB Garamond', serif;--wp--preset--font-family--epilogue: Epilogue, sans-serif;--wp--preset--font-family--fahkwang: Fahkwang, sans-serif;--wp--preset--font-family--figtree: Figtree, sans-serif;--wp--preset--font-family--fira-sans: 'Fira Sans', sans-serif;--wp--preset--font-family--fjalla-one: 'Fjalla One', sans-serif;--wp--preset--font-family--fraunces: Fraunces, serif;--wp--preset--font-family--gabarito: Gabarito, system-ui;--wp--preset--font-family--ibm-plex-mono: 'IBM Plex Mono', monospace;--wp--preset--font-family--ibm-plex-sans: 'IBM Plex Sans', sans-serif;--wp--preset--font-family--ibarra-real-nova: 'Ibarra Real Nova', serif;--wp--preset--font-family--instrument-serif: 'Instrument Serif', serif;--wp--preset--font-family--inter: Inter, sans-serif;--wp--preset--font-family--josefin-sans: 'Josefin Sans', sans-serif;--wp--preset--font-family--jost: Jost, sans-serif;--wp--preset--font-family--libre-baskerville: 'Libre Baskerville', serif;--wp--preset--font-family--libre-franklin: 'Libre Franklin', sans-serif;--wp--preset--font-family--literata: Literata, serif;--wp--preset--font-family--lora: Lora, serif;--wp--preset--font-family--merriweather: Merriweather, serif;--wp--preset--font-family--montserrat: Montserrat, sans-serif;--wp--preset--font-family--newsreader: Newsreader, serif;--wp--preset--font-family--noto-sans-mono: 'Noto Sans Mono', sans-serif;--wp--preset--font-family--nunito: Nunito, sans-serif;--wp--preset--font-family--open-sans: 'Open Sans', sans-serif;--wp--preset--font-family--overpass: Overpass, sans-serif;--wp--preset--font-family--pt-serif: 'PT Serif', serif;--wp--preset--font-family--petrona: Petrona, serif;--wp--preset--font-family--piazzolla: Piazzolla, serif;--wp--preset--font-family--playfair-display: 'Playfair Display', serif;--wp--preset--font-family--plus-jakarta-sans: 'Plus Jakarta Sans', sans-serif;--wp--preset--font-family--poppins: Poppins, sans-serif;--wp--preset--font-family--raleway: Raleway, sans-serif;--wp--preset--font-family--roboto: Roboto, sans-serif;--wp--preset--font-family--roboto-slab: 'Roboto Slab', serif;--wp--preset--font-family--rubik: Rubik, sans-serif;--wp--preset--font-family--rufina: Rufina, serif;--wp--preset--font-family--sora: Sora, sans-serif;--wp--preset--font-family--source-sans-3: 'Source Sans 3', sans-serif;--wp--preset--font-family--source-serif-4: 'Source Serif 4', serif;--wp--preset--font-family--space-mono: 'Space Mono', monospace;--wp--preset--font-family--syne: Syne, sans-serif;--wp--preset--font-family--texturina: Texturina, serif;--wp--preset--font-family--urbanist: Urbanist, sans-serif;--wp--preset--font-family--work-sans: 'Work Sans', sans-serif;--wp--preset--spacing--20: 0.44rem;--wp--preset--spacing--30: 0.67rem;--wp--preset--spacing--40: 1rem;--wp--preset--spacing--50: 1.5rem;--wp--preset--spacing--60: 2.25rem;--wp--preset--spacing--70: 3.38rem;--wp--preset--spacing--80: 5.06rem;--wp--preset--shadow--natural: 6px 6px 9px rgba(0, 0, 0, 0.2);--wp--preset--shadow--deep: 12px 12px 50px rgba(0, 0, 0, 0.4);--wp--preset--shadow--sharp: 6px 6px 0px rgba(0, 0, 0, 0.2);--wp--preset--shadow--outlined: 6px 6px 0px -3px rgb(255, 255, 255), 6px 6px rgb(0, 0, 0);--wp--preset--shadow--crisp: 6px 6px 0px rgb(0, 0, 0);}.wp-block-button{--wp--preset--dimension--25: 25%;--wp--preset--dimension--50: 50%;--wp--preset--dimension--75: 75%;--wp--preset--dimension--100: 100%;}:where(body) { margin: 0; }:where(.is-layout-flex){gap: 0.5em;}:where(.is-layout-grid){gap: 0.5em;}body .is-layout-flex{display: flex;}.is-layout-flex{flex-wrap: wrap;align-items: center;}.is-layout-flex > :is(*, div){margin: 0;}body .is-layout-grid{display: grid;}.is-layout-grid > :is(*, div){margin: 0;}body{padding-top: 0px;padding-right: 0px;padding-bottom: 0px;padding-left: 0px;}:root :where(.wp-element-button, .wp-block-button__link){background-color: #32373c;border-width: 0;color: #fff;font-family: inherit;font-size: inherit;font-style: inherit;font-weight: inherit;letter-spacing: inherit;line-height: inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration: none;text-transform: inherit;}.has-black-color{color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-color{color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-color{color: var(--wp--preset--color--white) !important;}.has-pale-pink-color{color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-color{color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-color{color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-color{color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-color{color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-color{color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-color{color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-color{color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-color{color: var(--wp--preset--color--vivid-purple) !important;}.has-black-background-color{background-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-background-color{background-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-background-color{background-color: var(--wp--preset--color--white) !important;}.has-pale-pink-background-color{background-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-background-color{background-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-background-color{background-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-background-color{background-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-background-color{background-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-background-color{background-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-background-color{background-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-background-color{background-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-background-color{background-color: var(--wp--preset--color--vivid-purple) !important;}.has-black-border-color{border-color: var(--wp--preset--color--black) !important;}.has-cyan-bluish-gray-border-color{border-color: var(--wp--preset--color--cyan-bluish-gray) !important;}.has-white-border-color{border-color: var(--wp--preset--color--white) !important;}.has-pale-pink-border-color{border-color: var(--wp--preset--color--pale-pink) !important;}.has-vivid-red-border-color{border-color: var(--wp--preset--color--vivid-red) !important;}.has-luminous-vivid-orange-border-color{border-color: var(--wp--preset--color--luminous-vivid-orange) !important;}.has-luminous-vivid-amber-border-color{border-color: var(--wp--preset--color--luminous-vivid-amber) !important;}.has-light-green-cyan-border-color{border-color: var(--wp--preset--color--light-green-cyan) !important;}.has-vivid-green-cyan-border-color{border-color: var(--wp--preset--color--vivid-green-cyan) !important;}.has-pale-cyan-blue-border-color{border-color: var(--wp--preset--color--pale-cyan-blue) !important;}.has-vivid-cyan-blue-border-color{border-color: var(--wp--preset--color--vivid-cyan-blue) !important;}.has-vivid-purple-border-color{border-color: var(--wp--preset--color--vivid-purple) !important;}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background: var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple) !important;}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background: var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan) !important;}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange) !important;}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background: var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red) !important;}
213.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background: var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray) !important;}.has-cool-to-warm-spectrum-gradient-background{background: var(--wp--preset--gradient--cool-to-warm-spectrum) !important;}.has-blush-light-purple-gradient-background{background: var(--wp--preset--gradient--blush-light-purple) !important;}.has-blush-bordeaux-gradient-background{background: var(--wp--preset--gradient--blush-bordeaux) !important;}.has-luminous-dusk-gradient-background{background: var(--wp--preset--gradient--luminous-dusk) !important;}.has-pale-ocean-gradient-background{background: var(--wp--preset--gradient--pale-ocean) !important;}.has-electric-grass-gradient-background{background: var(--wp--preset--gradient--electric-grass) !important;}.has-midnight-gradient-background{background: var(--wp--preset--gradient--midnight) !important;}.has-small-font-size{font-size: var(--wp--preset--font-size--small) !important;}.has-medium-font-size{font-size: var(--wp--preset--font-size--medium) !important;}.has-large-font-size{font-size: var(--wp--preset--font-size--large) !important;}.has-x-large-font-size{font-size: var(--wp--preset--font-size--x-large) !important;}.has-albert-sans-font-family{font-family: var(--wp--preset--font-family--albert-sans) !important;}.has-alegreya-font-family{font-family: var(--wp--preset--font-family--alegreya) !important;}.has-arvo-font-family{font-family: var(--wp--preset--font-family--arvo) !important;}.has-bodoni-moda-font-family{font-family: var(--wp--preset--font-family--bodoni-moda) !important;}.has-bricolage-grotesque-font-family{font-family: var(--wp--preset--font-family--bricolage-grotesque) !important;}.has-cabin-font-family{font-family: var(--wp--preset--font-family--cabin) !important;}.has-chivo-font-family{font-family: var(--wp--preset--font-family--chivo) !important;}.has-commissioner-font-family{font-family: var(--wp--preset--font-family--commissioner) !important;}.has-cormorant-font-family{font-family: var(--wp--preset--font-family--cormorant) !important;}.has-courier-prime-font-family{font-family: var(--wp--preset--font-family--courier-prime) !important;}.has-crimson-pro-font-family{font-family: var(--wp--preset--font-family--crimson-pro) !important;}.has-dm-mono-font-family{font-family: var(--wp--preset--font-family--dm-mono) !important;}.has-dm-sans-font-family{font-family: var(--wp--preset--font-family--dm-sans) !important;}.has-dm-serif-display-font-family{font-family: var(--wp--preset--font-family--dm-serif-display) !important;}.has-domine-font-family{font-family: var(--wp--preset--font-family--domine) !important;}.has-eb-garamond-font-family{font-family: var(--wp--preset--font-family--eb-garamond) !important;}.has-epilogue-font-family{font-family: var(--wp--preset--font-family--epilogue) !important;}.has-fahkwang-font-family{font-family: var(--wp--preset--font-family--fahkwang) !important;}.has-figtree-font-family{font-family: var(--wp--preset--font-family--figtree) !important;}.has-fira-sans-font-family{font-family: var(--wp--preset--font-family--fira-sans) !important;}.has-fjalla-one-font-family{font-family: var(--wp--preset--font-family--fjalla-one) !important;}.has-fraunces-font-family{font-family: var(--wp--preset--font-family--fraunces) !important;}.has-gabarito-font-family{font-family: var(--wp--preset--font-family--gabarito) !important;}.has-ibm-plex-mono-font-family{font-family: var(--wp--preset--font-family--ibm-plex-mono) !important;}.has-ibm-plex-sans-font-family{font-family: var(--wp--preset--font-family--ibm-plex-sans) !important;}.has-ibarra-real-nova-font-family{font-family: var(--wp--preset--font-family--ibarra-real-nova) !important;}.has-instrument-serif-font-family{font-family: var(--wp--preset--font-family--instrument-serif) !important;}.has-inter-font-family{font-family: var(--wp--preset--font-family--inter) !important;}.has-josefin-sans-font-family{font-family: var(--wp--preset--font-family--josefin-sans) !important;}.has-jost-font-family{font-family: var(--wp--preset--font-family--jost) !important;}.has-libre-baskerville-font-family{font-family: var(--wp--preset--font-family--libre-baskerville) !important;}.has-libre-franklin-font-family{font-family: var(--wp--preset--font-family--libre-franklin) !important;}.has-literata-font-family{font-family: var(--wp--preset--font-family--literata) !important;}.has-lora-font-family{font-family: var(--wp--preset--font-family--lora) !important;}.has-merriweather-font-family{font-family: var(--wp--preset--font-family--merriweather) !important;}.has-montserrat-font-family{font-family: var(--wp--preset--font-family--montserrat) !important;}.has-newsreader-font-family{font-family: var(--wp--preset--font-family--newsreader) !important;}.has-noto-sans-mono-font-family{font-family: var(--wp--preset--font-family--noto-sans-mono) !important;}.has-nunito-font-family{font-family: var(--wp--preset--font-family--nunito) !important;}.has-open-sans-font-family{font-family: var(--wp--preset--font-family--open-sans) !important;}.has-overpass-font-family{font-family: var(--wp--preset--font-family--overpass) !important;}.has-pt-serif-font-family{font-family: var(--wp--preset--font-family--pt-serif) !important;}.has-petrona-font-family{font-family: var(--wp--preset--font-family--petrona) !important;}.has-piazzolla-font-family{font-family: var(--wp--preset--font-family--piazzolla) !important;}.has-playfair-display-font-family{font-family: var(--wp--preset--font-family--playfair-display) !important;}.has-plus-jakarta-sans-font-family{font-family: var(--wp--preset--font-family--plus-jakarta-sans) !important;}.has-poppins-font-family{font-family: var(--wp--preset--font-family--poppins) !important;}.has-raleway-font-family{font-family: var(--wp--preset--font-family--raleway) !important;}.has-roboto-font-family{font-family: var(--wp--preset--font-family--roboto) !important;}.has-roboto-slab-font-family{font-family: var(--wp--preset--font-family--roboto-slab) !important;}.has-rubik-font-family{font-family: var(--wp--preset--font-family--rubik) !important;}.has-rufina-font-family{font-family: var(--wp--preset--font-family--rufina) !important;}.has-sora-font-family{font-family: var(--wp--preset--font-family--sora) !important;}.has-source-sans-3-font-family{font-family: var(--wp--preset--font-family--source-sans-3) !important;}.has-source-serif-4-font-family{font-family: var(--wp--preset--font-family--source-serif-4) !important;}.has-space-mono-font-family{font-family: var(--wp--preset--font-family--space-mono) !important;}.has-syne-font-family{font-family: var(--wp--preset--font-family--syne) !important;}.has-texturina-font-family{font-family: var(--wp--preset--font-family--texturina) !important;}.has-urbanist-font-family{font-family: var(--wp--preset--font-family--urbanist) !important;}.has-work-sans-font-family{font-family: var(--wp--preset--font-family--work-sans) !important;}
214/*# sourceURL=global-styles-inline-css */
215</style>
216
217<link rel='stylesheet' id='hemingway-rewritten-fonts-css' href='https://fonts-api.wp.com/css?family=Raleway%3A400%2C300%2C700%7CLato%3A400%2C700%2C400italic%2C700italic&#038;subset=latin%2Clatin-ext' media='all' />
218<link crossorigin='anonymous' rel='stylesheet' id='all-css-14-1' href='/_static/??-eJyFjkEOwiAQRS8kTruoXRmPYigZkQoDYYaQ3l5qXNRo6u6/zLyfDzUpE0mQBOSOARlSmaAlR7bqRWWs2Um7A8vi8WiYD7CRQlHJF+uIYUZJ2jzeDFwIro4MWCTMrgn8O351/hmydr7GqJpMDHuTMk4+2hYttK8N7kkWo/LRaHGRPkDdvHZ5VS/h3I9jf+rGoRvmJ3fXepc=&cssminify=yes' type='text/css' media='all' />
219<style id="hemingway-rewritten-style-inline-css">
220.entry-categories, .entry-tags { clip: rect(1px, 1px, 1px, 1px); height: 1px; position: absolute; overflow: hidden; width: 1px; }
221/*# sourceURL=hemingway-rewritten-style-inline-css */
222</style>
223<link crossorigin='anonymous' rel='stylesheet' id='print-css-15-1' href='/wp-content/mu-plugins/global-print/global-print.css?m=1465851035i&cssminify=yes' type='text/css' media='print' />
224<style id="jetpack-global-styles-frontend-style-inline-css">
225:root { --font-headings: unset; --font-base: unset; --font-headings-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif; --font-base-default: -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",sans-serif;}
226/*# sourceURL=jetpack-global-styles-frontend-style-inline-css */
227</style>
228<link crossorigin='anonymous' rel='stylesheet' id='all-css-18-1' href='/wp-content/themes/h4/global.css?m=1420737423i&cssminify=yes' type='text/css' media='all' />
229<script id="wpcom-actionbar-placeholder-js-extra">
230var actionbardata = {"siteID":"94178876","postID":"0","siteURL":"https://jglennox.com","xhrURL":"https://jglennox.com/wp-admin/admin-ajax.php","nonce":"a384d8bf5a","isLoggedIn":"","statusMessage":"","subsEmailDefault":"instantly","proxyScriptUrl":"https://s0.wp.com/wp-content/js/wpcom-proxy-request.js?m=1513050504i&amp;ver=20211021","i18n":{"followedText":"New posts from this site will now appear in your \u003Ca href=\"https://wordpress.com/reader\"\u003EReader\u003C/a\u003E","foldBar":"Collapse this bar","unfoldBar":"Expand this bar","shortLinkCopied":"Shortlink copied to clipboard."}};
231//# sourceURL=wpcom-actionbar-placeholder-js-extra
232</script>
vendor: 1 bytes, line 232
232
233<script id="jetpack-mu-wpcom-settings-js-before">
234var JETPACK_MU_WPCOM_SETTINGS = {"assetsUrl":"https://s1.wp.com/wp-content/mu-plugins/jetpack-mu-wpcom-plugin/sun/jetpack_vendor/automattic/jetpack-mu-wpcom/src/build/"};
235//# sourceURL=jetpack-mu-wpcom-settings-js-before
236</script>
vendor: 1 bytes, line 236
236
237<script crossorigin='anonymous' type='text/javascript'  src='/wp-content/js/rlt-proxy.js?m=1720530689i'></script>
vendor: 1 bytes, line 237
237
238<script id="rlt-proxy-js-after">
239	rltInitialize( {"token":null,"iframeOrigins":["https:\/\/widgets.wp.com"]} );
240//# sourceURL=rlt-proxy-js-after
241</script>
241
242<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://jglennox.wordpress.com/xmlrpc.php?rsd" />
243<meta name="generator" content="WordPress.com" />
244
245<!-- Jetpack Open Graph Tags -->
246<meta property="og:type" content="website" />
247<meta property="og:title" content="Blog &#8211; James G. Lennox" />
248<meta property="og:url" content="https://jglennox.com/category/blog/" />
249<meta property="og:site_name" content="James G. Lennox" />
250<meta property="og:image" content="https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=200" />
251<meta property="og:image:width" content="200" />
252<meta property="og:image:height" content="200" />
253<meta property="og:image:alt" content="" />
254<meta property="og:locale" content="en_US" />
255
256<!-- End Jetpack Open Graph Tags -->
257<link rel='openid.server' href='https://jglennox.com/?openidserver=1' />
258<link rel='openid.delegate' href='https://jglennox.com/' />
259<link rel="search" type="application/opensearchdescription+xml" href="https://jglennox.com/osd.xml" title="James G. Lennox" />
260<link rel="search" type="application/opensearchdescription+xml" href="https://s1.wp.com/opensearch.xml" title="WordPress.com" />
261		<style type="text/css">
262			.recentcomments a {
263				display: inline !important;
264				padding: 0 !important;
265				margin: 0 !important;
266			}
267
268			table.recentcommentsavatartop img.avatar, table.recentcommentsavatarend img.avatar {
269				border: 0px;
270				margin: 0;
271			}
272
273			table.recentcommentsavatartop a, table.recentcommentsavatarend a {
274				border: 0px !important;
275				background-color: transparent !important;
276			}
277
278			td.recentcommentsavatarend, td.recentcommentsavatartop {
279				padding: 0px 0px 1px 0px;
280				margin: 0px;
281			}
282
283			td.recentcommentstextend {
284				border: none !important;
285				padding: 0px 0px 2px 10px;
286			}
287
288			.rtl td.recentcommentstextend {
289				padding: 0px 10px 2px 0px;
290			}
291
292			td.recentcommentstexttop {
293				border: none;
294				padding: 0px 0px 0px 10px;
295			}
296
297			.rtl td.recentcommentstexttop {
298				padding: 0px 10px 0px 0px;
299			}
300		</style>
301		<meta name="description" content="Posts about Blog written by jglennox" />
302	<style type="text/css">
303			.site-title,
304		.site-description,
305		.site-branding {
306			position: absolute;
307			clip: rect(1px, 1px, 1px, 1px);
308		}
309				.site-header-image {
310			background-image: url(https://jglennox.com/wp-content/uploads/2015/06/cropped-img_08562.jpg);
311		}
312		</style>
313	<link rel="icon" href="https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=32" sizes="32x32" />
314<link rel="icon" href="https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=192" sizes="192x192" />
315<link rel="apple-touch-icon" href="https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=180" />
316<meta name="msapplication-TileImage" content="https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=270" />
317</head>
318
319<body class="archive category category-blog category-273 wp-theme-pubhemingway-rewritten customizer-styles-applied jetpack-reblog-enabled categories-hidden tags-hidden">
320<div id="page" class="hfeed site">
321
322	<header id="masthead" class="site-header" role="banner">
323		<div class="site-header-image">
324			<div class="site-branding-wrapper">
325				<div class="site-branding">
326					<h1 class="site-title"><a href="https://jglennox.com/" rel="home">James G. Lennox</a></h1>
327					<h2 class="site-description">Philosophical Traveler</h2>
328				</div>
329			</div>
330		</div>
331	</header><!-- #masthead -->
332	<nav id="site-navigation" class="main-navigation clear" role="navigation">
333		<button class="menu-toggle" aria-controls="primary-menu" aria-expanded="false"><span class="screen-reader-text">Menu</span></button>
334		<a class="skip-link screen-reader-text" href="#content">Skip to content</a>
335
336		<div class="menu-menu-1-container"><ul id="primary-menu" class="menu"><li id="menu-item-50" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-home menu-item-50"><a href="https://jglennox.com/">Home</a></li>
337<li id="menu-item-54" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-54"><a href="https://jglennox.com/research/">Research</a></li>
338<li id="menu-item-52" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-52"><a target="_blank" rel="noopener" href="https://jglennox.files.wordpress.com/2021/06/james-lennox-cv-2021.pdf">Curriculum Vitae</a></li>
339<li id="menu-item-53" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-53"><a href="https://jglennox.com/publications/">Publications</a></li>
340<li id="menu-item-137" class="menu-item menu-item-type-taxonomy menu-item-object-category current-menu-item menu-item-137"><a href="https://jglennox.com/category/blog/" aria-current="page">Blog</a></li>
341<li id="menu-item-138" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-138"><a href="https://jglennox.com/category/travel-and-recreation/">Travel and Recreation</a></li>
342<li id="menu-item-847" class="menu-item menu-item-type-taxonomy menu-item-object-category menu-item-847"><a href="https://jglennox.com/category/jgl-poetry/">JGL: Poetry</a></li>
343</ul></div>		<div id="header-search-toggle">
344			<span class="screen-reader-text">Search</span>
345		</div>
346		<div id="header-search">
347			<form role="search" method="get" class="search-form" action="https://jglennox.com/">
348				<label>
349					<span class="screen-reader-text">Search for:</span>
350					<input type="search" class="search-field" placeholder="Search &hellip;" value="" name="s" />
351				</label>
352				<input type="submit" class="search-submit" value="Search" />
353			</form>		</div>
354	</nav><!-- #site-navigation -->
355	<div id="content" class="site-content">
356
357	<section id="primary" class="content-area">
358		<main id="main" class="site-main" role="main">
359
360		
361			<header class="page-header">
362				<h1 class="page-title">
363					Blog				</h1>
364							</header><!-- .page-header -->
365
366						
367				
368<article id="post-380" class="post-380 post type-post status-publish format-standard has-post-thumbnail hentry category-blog">
369	<header class="entry-header">
370							<h1 class="entry-title"><a href="https://jglennox.com/2018/05/31/welcome-to-lennox-street/" rel="bookmark">Welcome to Lennox&nbsp;Street</a></h1>						<div class="entry-meta">
371			<span class="posted-on"><a href="https://jglennox.com/2018/05/31/welcome-to-lennox-street/" rel="bookmark"><time class="entry-date published" datetime="2018-05-31T00:43:08+00:00">May 31, 2018</time><time class="updated" datetime="2019-05-02T11:19:49+00:00">May 2, 2019</time></a></span><span class="byline"><span class="sep"> / </span><span class="author vcard"><a class="url fn n" href="https://jglennox.com/author/jglennox/">jglennox</a></span></span>						<span class="comments-link"><span class="sep"> / </span><a href="https://jglennox.com/2018/05/31/welcome-to-lennox-street/#respond">Leave a comment</a></span>
372								</div><!-- .entry-meta -->
373			</header><!-- .entry-header -->
374
375		<div class="entry-content">
376		<p>The Lennox Street marker featured in the photograph above is embedded in an iron fence around a 19th century building in Edinburgh, Scotland. That photo was taken on my first visit to that beautiful city&#8211;Athens of the North&#8211;in 1987, while I was in Great Britain as a fellow of Clare Hall, Cambridge. I&#8217;ve been back a number of times since, and each time it seems I&#8217;m visiting an entirely different city.  It has, apparently, many facets. My father&#8217;s side of my family is, on <em>his</em> father&#8217;s side, from Southern Scotland, so I was not surprised to find a street in Edinburgh bearing my family name.  What struck me about this street sign was the straightforward, no frills assertiveness of the letters combined with the artfully decorative way in which the surrounding vinery had been handled&#8211;trimmed back enough that there could be no doubt about the name, yet with tendrils creeping over it here and there, leaves casting dappling shadows all over it. Like the artfully managed &#8216;naturalness&#8217; of an English garden, you are left wondering whether those tendrils not quite hiding the letters of the street name had escaped the gardner&#8217;s trimmer, or were carefully left untrimmed to given the <em>impression</em> of naturalness.</p>
377<p>I&#8217;ve chosen that sign as the name of this blog.  I&#8217;m inviting you to enjoy Lennox Street.  But it is <em>my</em> street! I look forward to people reading and responding to what they find on this street, and I may, or may not, interact with those who respond&#8211;after all, its a blog.  My first actual blog post will include the rules that will govern interactions on Lennox Street.  But for now, welcome!</p>
378			</div><!-- .entry-content -->
379	</article><!-- #post-## -->
380
381			
382			
383		
384		</main><!-- #main -->
385	</section><!-- #primary -->
386
387
388	<div id="secondary" class="widget-area" role="complementary">
389		<aside id="media_image-4" class="widget widget_media_image"><style>.widget.widget_media_image { overflow: hidden; }.widget.widget_media_image img { height: auto; max-width: 100%; }</style><img width="150" height="142" src="https://jglennox.com/wp-content/uploads/2016/07/img_1834-e1469370524282.jpg?w=150" class="image wp-image-134  attachment-150x142 size-150x142" alt="" style="max-width: 100%; height: auto;" decoding="async" loading="lazy" srcset="https://jglennox.com/wp-content/uploads/2016/07/img_1834-e1469370524282.jpg?w=150 150w, https://jglennox.com/wp-content/uploads/2016/07/img_1834-e1469370524282.jpg?w=300 300w" sizes="auto, (max-width: 150px) 100v
389w, 150px" data-attachment-id="134" data-permalink="https://jglennox.com/img_1834/" data-orig-file="https://jglennox.com/wp-content/uploads/2016/07/img_1834-e1469370524282.jpg" data-orig-size="2048,1933" data-comments-opened="1" data-image-meta="{&quot;aperture&quot;:&quot;2.4&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 5&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1436621326&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.12&quot;,&quot;iso&quot;:&quot;50&quot;,&quot;shutter_speed&quot;:&quot;0.00066401062416999&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}" data-image-title="IMG_1834" data-image-description="" data-image-caption="" data-large-file="https://jglennox.com/wp-content/uploads/2016/07/img_1834-e1469370524282.jpg?w=676" /></aside><aside id="text-4" class="widget widget_text"><h1 class="widget-title">Contact</h1>			<div class="textwidget">James G. Lennox
390<br>Professor Emeritus of History and Philosophy of Science<br>
391<a href="mailto:[email protected]">[email protected]</a>
392</div>
393		</aside>	</div><!-- #secondary -->
394
395	</div><!-- #content -->
396	<footer id="colophon" class="site-footer" role="contentinfo">
397				<div class="site-info">
398			<a href="https://wordpress.com/?ref=footer_blog" rel="nofollow">Blog at WordPress.com.</a>
399			
400					</div><!-- .site-info -->
401	</footer><!-- #colophon -->
402</div><!-- #page -->
403
404<!--  -->
405<script type="speculationrules">
406{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/files/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/pub/hemingway-rewritten/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]}
407</script>
vendor: 1 bytes, line 407
407
408<script id="grofiles-cards-js" src="//0.gravatar.com/js/hovercards/hovercards.min.js?ver=202627d1133547e8a1f2801609f51cef12522abe7f6647d869e9fbc974fe356a37e613"></script>
vendor: 1 bytes, line 408
408
409<script id="wpgroho-js-extra">
410var WPGroHo = {"my_hash":""};
411//# sourceURL=wpgroho-js-extra
412</script>
vendor: 1 bytes, line 412
412
413<script crossorigin='anonymous' type='text/javascript'  src='/wp-content/mu-plugins/gravatar-hovercards/wpgroho.js?m=1610363240i'></script>
413
414
415	
415<script>
416		// Initialize and attach hovercards to all gravatars
417		( function() {
418			function init() {
419				if ( typeof Gravatar === 'undefined' ) {
420					return;
421				}
422
423				if ( typeof Gravatar.init !== 'function' ) {
424					return;
425				}
426
427				Gravatar.profile_cb = function ( hash, id ) {
428					WPGroHo.syncProfileData( hash, id );
429				};
430
431				Gravatar.my_hash = WPGroHo.my_hash;
432				Gravatar.init(
433					'body',
434					'#wp-admin-bar-my-account',
435					{
436						i18n: {
437							'Edit your profile →': 'Edit your profile →',
438							'View profile →': 'View profile →',
439							'Contact': 'Contact',
440							'Send money': 'Send money',
441							'Sorry, we are unable to load this Gravatar profile.': 'Sorry, we are unable to load this Gravatar profile.',
442							'Gravatar not found.': 'Gravatar not found.',
443							'Too Many Requests.': 'Too Many Requests.',
444							'Internal Server Error.': 'Internal Server Error.',
445							'Is this you?': 'Is this you?',
446							'Claim your free profile.': 'Claim your free profile.',
447							'Email': 'Email',
448							'Home Phone': 'Home Phone',
449							'Work Phone': 'Work Phone',
450							'Cell Phone': 'Cell Phone',
451							'Contact Form': 'Contact Form',
452							'Calendar': 'Calendar',
453						},
454					}
455				);
456			}
457
458			if ( document.readyState !== 'loading' ) {
459				init();
460			} else {
461				document.addEventListener( 'DOMContentLoaded', init );
462			}
463		} )();
464	</script>
464
465
466		<div style="display:none">
467	</div>
468		<div id="actionbar" dir="ltr" style="display: none;"
469			class="actnbr-pub-hemingway-rewritten actnbr-has-follow actnbr-has-actions">
470		<ul>
471								<li class="actnbr-btn actnbr-hidden">
472								<a class="actnbr-action actnbr-actn-follow " href="">
473			<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z"  fill-rule="evenodd"></path></svg>
474			<span>Subscribe</span>
475		</a>
476		<a class="actnbr-action actnbr-actn-following  no-display" href="">
477			<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg>
478			<span>Subscribed</span>
479		</a>
480							<div class="actnbr-popover tip tip-top-left actnbr-notice" id="follow-bubble">
481							<div class="tip-arrow"></div>
482							<div class="tip-inner actnbr-follow-bubble">
483															<ul>
484											<li class="actnbr-sitename">
485			<a href="https://jglennox.com">
486				<img loading='lazy' alt='' src='https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=50' srcset='https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=50 1x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=75 1.5x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=100 2x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=150 3x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=200 4x' class='avatar avatar-50' height='50' width='50' />				James G. Lennox			</a>
487		</li>
488										<div class="actnbr-message no-display"></div>
489									<form method="post" action="https://subscribe.wordpress.com" accept-charset="utf-8" style="display: none;">
490																				<div>
491										<input type="email" name="email" placeholder="Enter your email address" class="actnbr-email-field" aria-label="Enter your email address" />
492										</div>
493										<input type="hidden" name="action" value="subscribe" />
494										<input type="hidden" name="blog_id" value="94178876" />
495										<input type="hidden" name="source" value="https://jglennox.com/category/blog/" />
496										<input type="hidden" name="sub-type" value="actionbar-follow" />
497										<input type="hidden" id="_wpnonce" name="_wpnonce" value="7fa04c287e" />										<div class="actnbr-button-wrap">
498											<button type="submit" value="Sign me up">
499												Sign me up											</button>
500										</div>
501									</form>
502									<li class="actnbr-login-nudge">
503										<div>
504											Already have a WordPress.com account? <a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fjglennox.com%252F2018%252F05%252F31%252Fwelcome-to-lennox-street%252F">Log in now.</a>										</div>
505									</li>
506								</ul>
507															</div>
508						</div>
509					</li>
510							<li class="actnbr-ellipsis actnbr-hidden">
511				<svg class="gridicon gridicons-ellipsis" height="24" width="24" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><g><path d="M7 12c0 1.104-.896 2-2 2s-2-.896-2-2 .896-2 2-2 2 .896 2 2zm12-2c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2zm-7 0c-1.104 0-2 .896-2 2s.896 2 2 2 2-.896 2-2-.896-2-2-2z"/></g></svg>				<div class="actnbr-popover tip tip-top-left actnbr-more">
512					<div class="tip-arrow"></div>
513					<div class="tip-inner">
514						<ul>
515								<li class="actnbr-sitename">
516			<a href="https://jglennox.com">
517				<img loading='lazy' alt='' src='https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=
51750' srcset='https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=50 1x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=75 1.5x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=100 2x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=150 3x, https://jglennox.com/wp-content/uploads/2019/04/cropped-img_0782.jpg?w=200 4x' class='avatar avatar-50' height='50' width='50' />				James G. Lennox			</a>
518		</li>
519								<li class="actnbr-folded-follow">
520										<a class="actnbr-action actnbr-actn-follow " href="">
521			<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path clip-rule="evenodd" d="m4 4.5h12v6.5h1.5v-6.5-1.5h-1.5-12-1.5v1.5 10.5c0 1.1046.89543 2 2 2h7v-1.5h-7c-.27614 0-.5-.2239-.5-.5zm10.5 2h-9v1.5h9zm-5 3h-4v1.5h4zm3.5 1.5h-1v1h1zm-1-1.5h-1.5v1.5 1 1.5h1.5 1 1.5v-1.5-1-1.5h-1.5zm-2.5 2.5h-4v1.5h4zm6.5 1.25h1.5v2.25h2.25v1.5h-2.25v2.25h-1.5v-2.25h-2.25v-1.5h2.25z"  fill-rule="evenodd"></path></svg>
522			<span>Subscribe</span>
523		</a>
524		<a class="actnbr-action actnbr-actn-following  no-display" href="">
525			<svg class="gridicon" height="20" width="20" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill-rule="evenodd" clip-rule="evenodd" d="M16 4.5H4V15C4 15.2761 4.22386 15.5 4.5 15.5H11.5V17H4.5C3.39543 17 2.5 16.1046 2.5 15V4.5V3H4H16H17.5V4.5V12.5H16V4.5ZM5.5 6.5H14.5V8H5.5V6.5ZM5.5 9.5H9.5V11H5.5V9.5ZM12 11H13V12H12V11ZM10.5 9.5H12H13H14.5V11V12V13.5H13H12H10.5V12V11V9.5ZM5.5 12H9.5V13.5H5.5V12Z" fill="#008A20"></path><path class="following-icon-tick" d="M13.5 16L15.5 18L19 14.5" stroke="#008A20" stroke-width="1.5"></path></svg>
526			<span>Subscribed</span>
527		</a>
528								</li>
529														<li class="actnbr-signup"><a href="https://wordpress.com/start/">Sign up</a></li>
530							<li class="actnbr-login"><a href="https://wordpress.com/log-in?redirect_to=https%3A%2F%2Fr-login.wordpress.com%2Fremote-login.php%3Faction%3Dlink%26back%3Dhttps%253A%252F%252Fjglennox.com%252F2018%252F05%252F31%252Fwelcome-to-lennox-street%252F">Log in</a></li>
531															<li class="flb-report">
532									<a href="https://wordpress.com/abuse/?report_url=https://jglennox.com" target="_blank" rel="noopener noreferrer">
533										Report this content									</a>
534								</li>
535															<li class="actnbr-reader">
536									<a href="https://wordpress.com/reader/feeds/131277502">
537										View site in Reader									</a>
538								</li>
539															<li class="actnbr-subs">
540									<a href="https://subscribe.wordpress.com/">Manage subscriptions</a>
541								</li>
542																<li class="actnbr-fold"><a href="">Collapse this bar</a></li>
543														</ul>
544					</div>
545				</div>
546			</li>
547		</ul>
548	</div>
549	
550<script>
551window.addEventListener( "DOMContentLoaded", function( event ) {
552	var link = document.createElement( "link" );
553	link.href = "/wp-content/mu-plugins/actionbar/actionbar.css?v=20250116";
554	link.type = "text/css";
555	link.rel = "stylesheet";
556	document.head.appendChild( link );
557
558	var script = document.createElement( "script" );
559	script.src = "/wp-content/mu-plugins/actionbar/actionbar.js?v=20250204";
560	document.body.appendChild( script );
561} );
562</script>
562
563
564	
565	
565<script type="text/javascript">
566		(function () {
567			var wpcom_reblog = {
568				source: 'toolbar',
569
570				toggle_reblog_box_flair: function (obj_id, post_id) {
571
572					// Go to site selector. This will redirect to their blog if they only have one.
573					const postEndpoint = `https://wordpress.com/post`;
574
575					// Ideally we would use the permalink here, but fortunately this will be replaced with the 
576					// post permalink in the editor.
577					const originalURL = `${ document.location.href }?page_id=${ post_id }`; 
578					
579					const url =
580						postEndpoint +
581						'?url=' +
582						encodeURIComponent( originalURL ) +
583						'&is_post_share=true' +
584						'&v=5';
585
586					const redirect = function () {
587						if (
588							! window.open( url, '_blank' )
589						) {
590							location.href = url;
591						}
592					};
593
594					if ( /Firefox/.test( navigator.userAgent ) ) {
595						setTimeout( redirect, 0 );
596					} else {
597						redirect();
598					}
599				},
600			};
601
602			window.wpcom_reblog = wpcom_reblog;
603		})();
604	</script>
vendor: 1 bytes, line 604
604
605<script crossorigin='anonymous' type='text/javascript'  src='/_static/??-eJydjMENhDAMBBs6nzkhQT6IWgIK4ABOhA2B7kkB94HfaEc7mCL0gdWxok5udYJx7zAT8ZjsBZtLG2n26OXf/PXywUcRtgeNVim8+MpMERbiGYbQ7wIDnTnSrs2vMqUxpqgLfwOphk9C'></script>
vendor: 1 bytes, line 605
605
606<script id="wp-emoji-settings" type="application/json">
607{"baseUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/72x72/","ext":".png","svgUrl":"https://s0.wp.com/wp-content/mu-plugins/wpcom-smileys/twemoji/2/svg/","svgExt":".svg","source":{"concatemoji":"/wp-includes/js/wp-emoji-release.min.js?m=1764078722i&ver=7.0-RC4-62382"}}
608</script>
vendor: 1 bytes, line 608
608
609<script type="module">
610/*! This file is auto-generated */
611const a=JSON.parse(document.getElementById("wp-emoji-settings").textContent),o=(window._wpemojiSettings=a,"wpEmojiSettingsSupports"),s=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(o,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const a=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===a[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,a){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!a(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,a){let r;const o=(r="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),s=(o.textBaseline="top",o.font="600 32px Arial",{});return e.forEach(e=>{s[e]=t(o,e,n,a)}),s}function r(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}a.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(o));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(s),u.toString(),c.toString(),p.toString()].join(",")+"));",a=new Blob([e],{type:"text/javascript"});const r=new Worker(URL.createObjectURL(a),{name:"wpTestEmojiSupports"});return void(r.onmessage=e=>{i(n=e.data),r.terminate(),t(n)})}catch(e){}i(n=f(s,u,c,p))}t(n)}).then(e=>{for(const n in e)a.supports[n]=e[n],a.supports.everything=a.supports.everything&&a.supports[n],"flag"!==n&&(a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&a.supports[n]);var t;a.supports.everythingExceptFlag=a.supports.everythingExceptFlag&&!a.supports.flag,a.supports.everything||((t=a.source||{}).concatemoji?r(t.concatemoji):t.wpemoji&&t.twemoji&&(r(t.twemoji),r(t.wpemoji)))});
612//# sourceURL=/wp-includes/js/wp-emoji-loader.min.js
613</script>
vendor: 1 bytes, line 613
613
614<script src="//stats.wp.com/w.js?68" defer></script>
614 
614<script type="text/javascript">
615_tkq = window._tkq || [];
616_stq = window._stq || [];
617_tkq.push(['storeContext', {'blog_id':'94178876','blog_tz':'0','user_lang':'en','blog_lang':'en','user_id':'0'}]);
618		// Prevent sending pageview tracking from WP-Admin pages.
619		_stq.push(['view', {'blog':'94178876','v':'wpcom','tz':'0','user_id':'0','arch_cat':'blog','arch_results':'1','subd':'jglennox'}]);
620		_stq.push(['extra', {'crypt':'UE5tW3cvZGRxL09NNmxvT3ZDNHFjbVVXa3pUa0t6W0FXUHZaU1dVYT89fEV5Qi51Wz9zemhVMDRQK1N5NltiOVg5L19ENHhiLnpQSThEWUlMcWVVXVtxWTk1K1UydTJoRXlOS2srVy9ZUVA5Lk8uM1FrcUJjRlJwTUNfZzk1VnQsZWdvZmYtM1hDd1NSM3MtJm13P2p8blljK09qZTR4OFNybkI0UXxpWDM5eDlhTVNWcUYrWnx3aWElQiYxNzQ='}]);
621_stq.push([ 'clickTrackerInit', '94178876', '0' ]);
622</script>
622
623<noscript><img src="https://pixel.wp.com/b.gif?v=noscript" style="height:1px;width:1px;overflow:hidden;position:absolute;bottom:1px;" alt="" /></noscript>
624<meta id="bilmur" property="bilmur:data" content="" data-provider="wordpress.com" data-service="simple" data-site-tz="Etc/GMT-0" data-custom-props="{&quot;logged_in&quot;:&quot;0&quot;,&quot;wptheme&quot;:&quot;pub\/hemingway-rewritten&quot;,&quot;wptheme_is_block&quot;:&quot;0&quot;}"  >
625		
625<script defer src="/wp-content/js/bilmur.min.js?i=17&amp;m=202627"></script>
625 	
626</body>
627</html>

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.