CINXE.COM
Roy Foster | Author | LibraryThing
<!DOCTYPE html> <html class="lt2 no-js" data-product="lt2" data-available_styles="verdant_14 verdant_12 verdant_tight_12 system_14 system_15 georgia_14 system_large atkinson_16" lang639="en" lang="eng" ><head> <!-- ROOT --> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset-utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <title>Roy Foster | Author | LibraryThing</title> <meta name="apple-mobile-web-app-capable" content="yes"/> <meta name="msapplication-config" content="none"/> <script type="text/javascript"> ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; window.NREUM||(NREUM={}),__nr_require=function(t,e,n){function r(n){if(!e[n]){var o=e[n]={exports:{}};t[n][0].call(o.exports,function(e){var o=t[n][1][e];return r(o||e)},o,o.exports)}return e[n].exports}if("function"==typeof __nr_require)return __nr_require;for(var o=0;o<n.length;o++)r(n[o]);return r}({1:[function(t,e,n){function r(t){try{s.console&&console.log(t)}catch(e){}}var o,i=t("ee"),a=t(32),s={};try{o=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(s.console=!0,o.indexOf("dev")!==-1&&(s.dev=!0),o.indexOf("nr_dev")!==-1&&(s.nrDev=!0))}catch(c){}s.nrDev&&i.on("internal-error",function(t){r(t.stack)}),s.dev&&i.on("fn-err",function(t,e,n){r(n.stack)}),s.dev&&(r("NR AGENT IN DEVELOPMENT MODE"),r("flags: "+a(s,function(t,e){return t}).join(", ")))},{}],2:[function(t,e,n){function r(t,e,n,r,s){try{l?l-=1:o(s||new UncaughtException(t,e,n),!0)}catch(f){try{i("ierr",[f,c.now(),!0])}catch(d){}}return"function"==typeof u&&u.apply(this,a(arguments))}function UncaughtException(t,e,n){this.message=t||"Uncaught error with no additional information",this.sourceURL=e,this.line=n}function o(t,e){var n=e?null:c.now();i("err",[t,n])}var i=t("handle"),a=t(33),s=t("ee"),c=t("loader"),f=t("gos"),u=window.onerror,d=!1,p="nr@seenError";if(!c.disabled){var l=0;c.features.err=!0,t(1),window.onerror=r;try{throw new Error}catch(h){"stack"in h&&(t(14),t(13),"addEventListener"in window&&t(7),c.xhrWrappable&&t(15),d=!0)}s.on("fn-start",function(t,e,n){d&&(l+=1)}),s.on("fn-err",function(t,e,n){d&&!n[p]&&(f(n,p,function(){return!0}),this.thrown=!0,o(n))}),s.on("fn-end",function(){d&&!this.thrown&&l>0&&(l-=1)}),s.on("internal-error",function(t){i("ierr",[t,c.now(),!0])})}},{}],3:[function(t,e,n){var r=t("loader");r.disabled||(r.features.ins=!0)},{}],4:[function(t,e,n){function r(){U++,L=g.hash,this[u]=y.now()}function o(){U--,g.hash!==L&&i(0,!0);var t=y.now();this[h]=~~this[h]+t-this[u],this[d]=t}function i(t,e){E.emit("newURL",[""+g,e])}function a(t,e){t.on(e,function(){this[e]=y.now()})}var s="-start",c="-end",f="-body",u="fn"+s,d="fn"+c,p="cb"+s,l="cb"+c,h="jsTime",m="fetch",v="addEventListener",w=window,g=w.location,y=t("loader");if(w[v]&&y.xhrWrappable&&!y.disabled){var x=t(11),b=t(12),E=t(9),R=t(7),O=t(14),T=t(8),S=t(15),P=t(10),M=t("ee"),C=M.get("tracer"),N=t(23);t(17),y.features.spa=!0;var L,U=0;M.on(u,r),b.on(p,r),P.on(p,r),M.on(d,o),b.on(l,o),P.on(l,o),M.buffer([u,d,"xhr-resolved"]),R.buffer([u]),O.buffer(["setTimeout"+c,"clearTimeout"+s,u]),S.buffer([u,"new-xhr","send-xhr"+s]),T.buffer([m+s,m+"-done",m+f+s,m+f+c]),E.buffer(["newURL"]),x.buffer([u]),b.buffer(["propagate",p,l,"executor-err","resolve"+s]),C.buffer([u,"no-"+u]),P.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"]),a(T,m+s),a(T,m+"-done"),a(P,"new-jsonp"),a(P,"jsonp-end"),a(P,"cb-start"),E.on("pushState-end",i),E.on("replaceState-end",i),w[v]("hashchange",i,N(!0)),w[v]("load",i,N(!0)),w[v]("popstate",function(){i(0,U>1)},N(!0))}},{}],5:[function(t,e,n){function r(){var t=new PerformanceObserver(function(t,e){var n=t.getEntries();s(v,[n])});try{t.observe({entryTypes:["resource"]})}catch(e){}}function o(t){if(s(v,[window.performance.getEntriesByType(w)]),window.performance["c"+p])try{window.performance[h](m,o,!1)}catch(t){}else try{window.performance[h]("webkit"+m,o,!1)}catch(t){}}function i(t){}if(window.performance&&window.performance.timing&&window.performance.getEntriesByType){var a=t("ee"),s=t("handle"),c=t(14),f=t(13),u=t(6),d=t(23),p="learResourceTimings",l="addEventListener",h="removeEventListener",m="resourcetimingbufferfull",v="bstResource",w="resource",g="-start",y="-end",x="fn"+g,b="fn"+y,E="bstTimer",R="pushState",O=t("loader");if(!O.disabled){O.features.stn=!0,t(9),"addEventListener"in window&&t(7);var T=NREUM.o.EV;a.on(x,function(t,e){var n=t[0];n instanceof T&&(this.bstStart=O.now())}),a.on(b,function(t,e){var n=t[0];n instanceof T&&s("bst",[n,e,this.bstStart,O.now()])}),c.on(x,function(t,e,n){this.bstStart=O.now(),this.bstType=n}),c.on(b,function(t,e){s(E,[e,this.bstStart,O.now(),this.bstType])}),f.on(x,function(){this.bstStart=O.now()}),f.on(b,function(t,e){s(E,[e,this.bstStart,O.now(),"requestAnimationFrame"])}),a.on(R+g,function(t){this.time=O.now(),this.startPath=location.pathname+location.hash}),a.on(R+y,function(t){s("bstHist",[location.pathname+location.hash,this.startPath,this.time])}),u()?(s(v,[window.performance.getEntriesByType("resource")]),r()):l in window.performance&&(window.performance["c"+p]?window.performance[l](m,o,d(!1)):window.performance[l]("webkit"+m,o,d(!1))),document[l]("scroll",i,d(!1)),document[l]("keypress",i,d(!1)),document[l]("click",i,d(!1))}}},{}],6:[function(t,e,n){e.exports=function(){return"PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver}},{}],7:[function(t,e,n){function r(t){for(var e=t;e&&!e.hasOwnProperty(u);)e=Object.getPrototypeOf(e);e&&o(e)}function o(t){s.inPlace(t,[u,d],"-",i)}function i(t,e){return t[1]}var a=t("ee").get("events"),s=t("wrap-function")(a,!0),c=t("gos"),f=XMLHttpRequest,u="addEventListener",d="removeEventListener";e.exports=a,"getPrototypeOf"in Object?(r(document),r(window),r(f.prototype)):f.prototype.hasOwnProperty(u)&&(o(window),o(f.prototype)),a.on(u+"-start",function(t,e){var n=t[1];if(null!==n&&("function"==typeof n||"object"==typeof n)){var r=c(n,"nr@wrapped",function(){function t(){if("function"==typeof n.handleEvent)return n.handleEvent.apply(n,arguments)}var e={object:t,"function":n}[typeof n];return e?s(e,"fn-",null,e.name||"anonymous"):n});this.wrapped=t[1]=r}}),a.on(d+"-start",function(t){t[1]=this.wrapped||t[1]})},{}],8:[function(t,e,n){function r(t,e,n){var r=t[e];"function"==typeof r&&(t[e]=function(){var t=i(arguments),e={};o.emit(n+"before-start",[t],e);var a;e[m]&&e[m].dt&&(a=e[m].dt);var s=r.apply(this,t);return o.emit(n+"start",[t,a],s),s.then(function(t){return o.emit(n+"end",[null,t],s),t},function(t){throw o.emit(n+"end",[t],s),t})})}var o=t("ee").get("fetch"),i=t(33),a=t(32);e.exports=o;var s=window,c="fetch-",f=c+"body-",u=["arrayBuffer","blob","json","text","formData"],d=s.Request,p=s.Response,l=s.fetch,h="prototype",m="nr@context";d&&p&&l&&(a(u,function(t,e){r(d[h],e,f),r(p[h],e,f)}),r(s,"fetch",c),o.on(c+"end",function(t,e){var n=this;if(e){var r=e.headers.get("content-length");null!==r&&(n.rxSize=r),o.emit(c+"done",[null,e],n)}else o.emit(c+"done",[t],n)}))},{}],9:[function(t,e,n){var r=t("ee").get("history"),o=t("wrap-function")(r);e.exports=r;var i=window.history&&window.history.constructor&&window.history.constructor.prototype,a=window.history;i&&i.pushState&&i.replaceState&&(a=i),o.inPlace(a,["pushState","replaceState"],"-")},{}],10:[function(t,e,n){function r(t){function e(){f.emit("jsonp-end",[],l),t.removeEventListener("load",e,c(!1)),t.removeEventListener("error",n,c(!1))}function n(){f.emit("jsonp-error",[],l),f.emit("jsonp-end",[],l),t.removeEventListener("load",e,c(!1)),t.removeEventListener("error",n,c(!1))}var r=t&&"string"==typeof t.nodeName&&"script"===t.nodeName.toLowerCase();if(r){var o="function"==typeof t.addEventListener;if(o){var a=i(t.src);if(a){var d=s(a),p="function"==typeof d.parent[d.key];if(p){var l={};u.inPlace(d.parent,[d.key],"cb-",l),t.addEventListener("load",e,c(!1)),t.addEventListener("error",n,c(!1)),f.emit("new-jsonp",[t.src],l)}}}}}function o(){return"addEventListener"in window}function i(t){var e=t.match(d);return e?e[1]:null}function a(t,e){var n=t.match(l),r=n[1],o=n[3];return o?a(o,e[r]):e[r]}function s(t){var e=t.match(p);return e&&e.length>=3?{key:e[2],parent:a(e[1],window)}:{key:t,parent:window}}var c=t(23),f=t("ee").get("jsonp"),u=t("wrap-function")(f);if(e.exports=f,o()){var d=/[?&](?:callback|cb)=([^&#]+)/,p=/(.*)\.([^.]+)/,l=/^(\w+)(\.|$)(.*)$/,h=["appendChild","insertBefore","replaceChild"];Node&&Node.prototype&&Node.prototype.appendChild?u.inPlace(Node.prototype,h,"dom-"):(u.inPlace(HTMLElement.prototype,h,"dom-"),u.inPlace(HTMLHeadElement.prototype,h,"dom-"),u.inPlace(HTMLBodyElement.prototype,h,"dom-")),f.on("dom-start",function(t){r(t[0])})}},{}],11:[function(t,e,n){var r=t("ee").get("mutation"),o=t("wrap-function")(r),i=NREUM.o.MO;e.exports=r,i&&(window.MutationObserver=function(t){return this instanceof i?new i(o(t,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype)},{}],12:[function(t,e,n){function r(t){var e=i.context(),n=s(t,"executor-",e,null,!1),r=new f(n);return i.context(r).getCtx=function(){return e},r}var o=t("wrap-function"),i=t("ee").get("promise"),a=t("ee").getOrSetContext,s=o(i),c=t(32),f=NREUM.o.PR;e.exports=i,f&&(window.Promise=r,["all","race"].forEach(function(t){var e=f[t];f[t]=function(n){function r(t){return function(){i.emit("propagate",[null,!o],a,!1,!1),o=o||!t}}var o=!1;c(n,function(e,n){Promise.resolve(n).then(r("all"===t),r(!1))});var a=e.apply(f,arguments),s=f.resolve(a);return s}}),["resolve","reject"].forEach(function(t){var e=f[t];f[t]=function(t){var n=e.apply(f,arguments);return t!==n&&i.emit("propagate",[t,!0],n,!1,!1),n}}),f.prototype["catch"]=function(t){return this.then(null,t)},f.prototype=Object.create(f.prototype,{constructor:{value:r}}),c(Object.getOwnPropertyNames(f),function(t,e){try{r[e]=f[e]}catch(n){}}),o.wrapInPlace(f.prototype,"then",function(t){return function(){var e=this,n=o.argsToArray.apply(this,arguments),r=a(e);r.promise=e,n[0]=s(n[0],"cb-",r,null,!1),n[1]=s(n[1],"cb-",r,null,!1);var c=t.apply(this,n);return r.nextPromise=c,i.emit("propagate",[e,!0],c,!1,!1),c}}),i.on("executor-start",function(t){t[0]=s(t[0],"resolve-",this,null,!1),t[1]=s(t[1],"resolve-",this,null,!1)}),i.on("executor-err",function(t,e,n){t[1](n)}),i.on("cb-end",function(t,e,n){i.emit("propagate",[n,!0],this.nextPromise,!1,!1)}),i.on("propagate",function(t,e,n){this.getCtx&&!e||(this.getCtx=function(){if(t instanceof Promise)var e=i.context(t);return e&&e.getCtx?e.getCtx():this})}),r.toString=function(){return""+f})},{}],13:[function(t,e,n){var r=t("ee").get("raf"),o=t("wrap-function")(r),i="equestAnimationFrame";e.exports=r,o.inPlace(window,["r"+i,"mozR"+i,"webkitR"+i,"msR"+i],"raf-"),r.on("raf-start",function(t){t[0]=o(t[0],"fn-")})},{}],14:[function(t,e,n){function r(t,e,n){t[0]=a(t[0],"fn-",null,n)}function o(t,e,n){this.method=n,this.timerDuration=isNaN(t[1])?0:+t[1],t[0]=a(t[0],"fn-",this,n)}var i=t("ee").get("timer"),a=t("wrap-function")(i),s="setTimeout",c="setInterval",f="clearTimeout",u="-start",d="-";e.exports=i,a.inPlace(window,[s,"setImmediate"],s+d),a.inPlace(window,[c],c+d),a.inPlace(window,[f,"clearImmediate"],f+d),i.on(c+u,r),i.on(s+u,o)},{}],15:[function(t,e,n){function r(t,e){d.inPlace(e,["onreadystatechange"],"fn-",s)}function o(){var t=this,e=u.context(t);t.readyState>3&&!e.resolved&&(e.resolved=!0,u.emit("xhr-resolved",[],t)),d.inPlace(t,y,"fn-",s)}function i(t){x.push(t),m&&(E?E.then(a):w?w(a):(R=-R,O.data=R))}function a(){for(var t=0;t<x.length;t++)r([],x[t]);x.length&&(x=[])}function s(t,e){return e}function c(t,e){for(var n in t)e[n]=t[n];return e}t(7);var f=t("ee"),u=f.get("xhr"),d=t("wrap-function")(u),p=t(23),l=NREUM.o,h=l.XHR,m=l.MO,v=l.PR,w=l.SI,g="readystatechange",y=["onload","onerror","onabort","onloadstart","onloadend","onprogress","ontimeout"],x=[];e.exports=u;var b=window.XMLHttpRequest=function(t){var e=new h(t);try{u.emit("new-xhr",[e],e),e.addEventListener(g,o,p(!1))}catch(n){try{u.emit("internal-error",[n])}catch(r){}}return e};if(c(h,b),b.prototype=h.prototype,d.inPlace(b.prototype,["open","send"],"-xhr-",s),u.on("send-xhr-start",function(t,e){r(t,e),i(e)}),u.on("open-xhr-start",r),m){var E=v&&v.resolve();if(!w&&!v){var R=1,O=document.createTextNode(R);new m(a).observe(O,{characterData:!0})}}else f.on("fn-end",function(t){t[0]&&t[0].type===g||a()})},{}],16:[function(t,e,n){function r(t){if(!s(t))return null;var e=window.NREUM;if(!e.loader_config)return null;var n=(e.loader_config.accountID||"").toString()||null,r=(e.loader_config.agentID||"").toString()||null,f=(e.loader_config.trustKey||"").toString()||null;if(!n||!r)return null;var h=l.generateSpanId(),m=l.generateTraceId(),v=Date.now(),w={spanId:h,traceId:m,timestamp:v};return(t.sameOrigin||c(t)&&p())&&(w.traceContextParentHeader=o(h,m),w.traceContextStateHeader=i(h,v,n,r,f)),(t.sameOrigin&&!u()||!t.sameOrigin&&c(t)&&d())&&(w.newrelicHeader=a(h,m,v,n,r,f)),w}function o(t,e){return"00-"+e+"-"+t+"-01"}function i(t,e,n,r,o){var i=0,a="",s=1,c="",f="";return o+"@nr="+i+"-"+s+"-"+n+"-"+r+"-"+t+"-"+a+"-"+c+"-"+f+"-"+e}function a(t,e,n,r,o,i){var a="btoa"in window&&"function"==typeof window.btoa;if(!a)return null;var s={v:[0,1],d:{ty:"Browser",ac:r,ap:o,id:t,tr:e,ti:n}};return i&&r!==i&&(s.d.tk=i),btoa(JSON.stringify(s))}function s(t){return f()&&c(t)}function c(t){var e=!1,n={};if("init"in NREUM&&"distributed_tracing"in NREUM.init&&(n=NREUM.init.distributed_tracing),t.sameOrigin)e=!0;else if(n.allowed_origins instanceof Array)for(var r=0;r<n.allowed_origins.length;r++){var o=h(n.allowed_origins[r]);if(t.hostname===o.hostname&&t.protocol===o.protocol&&t.port===o.port){e=!0;break}}return e}function f(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.enabled}function u(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.exclude_newrelic_header}function d(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&NREUM.init.distributed_tracing.cors_use_newrelic_header!==!1}function p(){return"init"in NREUM&&"distributed_tracing"in NREUM.init&&!!NREUM.init.distributed_tracing.cors_use_tracecontext_headers}var l=t(29),h=t(18);e.exports={generateTracePayload:r,shouldGenerateTrace:s}},{}],17:[function(t,e,n){function r(t){var e=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var r=0;r<p;r++)t.removeEventListener(d[r],this.listener,!1);return e.protocol&&"data"===e.protocol?void g("Ajax/DataUrl/Excluded"):void(e.aborted||(n.duration=a.now()-this.startTime,this.loadCaptureCalled||4!==t.readyState?null==e.status&&(e.status=0):i(this,t),n.cbTime=this.cbTime,s("xhr",[e,n,this.startTime,this.endTime,"xhr"],this)))}}function o(t,e){var n=c(e),r=t.params;r.hostname=n.hostname,r.port=n.port,r.protocol=n.protocol,r.host=n.hostname+":"+n.port,r.pathname=n.pathname,t.parsedOrigin=n,t.sameOrigin=n.sameOrigin}function i(t,e){t.params.status=e.status;var n=v(e,t.lastSize);if(n&&(t.metrics.rxSize=n),t.sameOrigin){var r=e.getResponseHeader("X-NewRelic-App-Data");r&&(t.params.cat=r.split(", ").pop())}t.loadCaptureCalled=!0}var a=t("loader");if(a.xhrWrappable&&!a.disabled){var s=t("handle"),c=t(18),f=t(16).generateTracePayload,u=t("ee"),d=["load","error","abort","timeout"],p=d.length,l=t("id"),h=t(24),m=t(22),v=t(19),w=t(23),g=t(25).recordSupportability,y=NREUM.o.REQ,x=window.XMLHttpRequest;a.features.xhr=!0,t(15),t(8),u.on("new-xhr",function(t){var e=this;e.totalCbs=0,e.called=0,e.cbTime=0,e.end=r,e.ended=!1,e.xhrGuids={},e.lastSize=null,e.loadCaptureCalled=!1,e.params=this.params||{},e.metrics=this.metrics||{},t.addEventListener("load",function(n){i(e,t)},w(!1)),h&&(h>34||h<10)||t.addEventListener("progress",function(t){e.lastSize=t.loaded},w(!1))}),u.on("open-xhr-start",function(t){this.params={method:t[0]},o(this,t[1]),this.metrics={}}),u.on("open-xhr-end",function(t,e){"loader_config"in NREUM&&"xpid"in NREUM.loader_config&&this.sameOrigin&&e.setRequestHeader("X-NewRelic-ID",NREUM.loader_config.xpid);var n=f(this.parsedOrigin);if(n){var r=!1;n.newrelicHeader&&(e.setRequestHeader("newrelic",n.newrelicHeader),r=!0),n.traceContextParentHeader&&(e.setRequestHeader("traceparent",n.traceContextParentHeader),n.traceContextStateHeader&&e.setRequestHeader("tracestate",n.traceContextStateHeader),r=!0),r&&(this.dt=n)}}),u.on("send-xhr-start",function(t,e){var n=this.metrics,r=t[0],o=this;if(n&&r){var i=m(r);i&&(n.txSize=i)}this.startTime=a.now(),this.listener=function(t){try{"abort"!==t.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==t.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof e.onload))&&o.end(e)}catch(n){try{u.emit("internal-error",[n])}catch(r){}}};for(var s=0;s<p;s++)e.addEventListener(d[s],this.listener,w(!1))}),u.on("xhr-cb-time",function(t,e,n){this.cbTime+=t,e?this.onloadCalled=!0:this.called+=1,this.called!==this.totalCbs||!this.onloadCalled&&"function"==typeof n.onload||this.end(n)}),u.on("xhr-load-added",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&!this.xhrGuids[n]&&(this.xhrGuids[n]=!0,this.totalCbs+=1)}),u.on("xhr-load-removed",function(t,e){var n=""+l(t)+!!e;this.xhrGuids&&this.xhrGuids[n]&&(delete this.xhrGuids[n],this.totalCbs-=1)}),u.on("xhr-resolved",function(){this.endTime=a.now()}),u.on("addEventListener-end",function(t,e){e instanceof x&&"load"===t[0]&&u.emit("xhr-load-added",[t[1],t[2]],e)}),u.on("removeEventListener-end",function(t,e){e instanceof x&&"load"===t[0]&&u.emit("xhr-load-removed",[t[1],t[2]],e)}),u.on("fn-start",function(t,e,n){e instanceof x&&("onload"===n&&(this.onload=!0),("load"===(t[0]&&t[0].type)||this.onload)&&(this.xhrCbStart=a.now()))}),u.on("fn-end",function(t,e){this.xhrCbStart&&u.emit("xhr-cb-time",[a.now()-this.xhrCbStart,this.onload,e],e)}),u.on("fetch-before-start",function(t){function e(t,e){var n=!1;return e.newrelicHeader&&(t.set("newrelic",e.newrelicHeader),n=!0),e.traceContextParentHeader&&(t.set("traceparent",e.traceContextParentHeader),e.traceContextStateHeader&&t.set("tracestate",e.traceContextStateHeader),n=!0),n}var n,r=t[1]||{};"string"==typeof t[0]?n=t[0]:t[0]&&t[0].url?n=t[0].url:window.URL&&t[0]&&t[0]instanceof URL&&(n=t[0].href),n&&(this.parsedOrigin=c(n),this.sameOrigin=this.parsedOrigin.sameOrigin);var o=f(this.parsedOrigin);if(o&&(o.newrelicHeader||o.traceContextParentHeader))if("string"==typeof t[0]||window.URL&&t[0]&&t[0]instanceof URL){var i={};for(var a in r)i[a]=r[a];i.headers=new Headers(r.headers||{}),e(i.headers,o)&&(this.dt=o),t.length>1?t[1]=i:t.push(i)}else t[0]&&t[0].headers&&e(t[0].headers,o)&&(this.dt=o)}),u.on("fetch-start",function(t,e){this.params={},this.metrics={},this.startTime=a.now(),this.dt=e,t.length>=1&&(this.target=t[0]),t.length>=2&&(this.opts=t[1]);var n,r=this.opts||{},i=this.target;if("string"==typeof i?n=i:"object"==typeof i&&i instanceof y?n=i.url:window.URL&&"object"==typeof i&&i instanceof URL&&(n=i.href),o(this,n),"data"!==this.params.protocol){var s=(""+(i&&i instanceof y&&i.method||r.method||"GET")).toUpperCase();this.params.method=s,this.txSize=m(r.body)||0}}),u.on("fetch-done",function(t,e){if(this.endTime=a.now(),this.params||(this.params={}),"data"===this.params.protocol)return void g("Ajax/DataUrl/Excluded");this.params.status=e?e.status:0;var n;"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var r={txSize:this.txSize,rxSize:n,duration:a.now()-this.startTime};s("xhr",[this.params,r,this.startTime,this.endTime,"fetch"],this)})}},{}],18:[function(t,e,n){var r={};e.exports=function(t){if(t in r)return r[t];if(0===(t||"").indexOf("data:"))return{protocol:"data"};var e=document.createElement("a"),n=window.location,o={};e.href=t,o.port=e.port;var i=e.href.split("://");!o.port&&i[1]&&(o.port=i[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===i[0]?"443":"80"),o.hostname=e.hostname||n.hostname,o.pathname=e.pathname,o.protocol=i[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var a=!e.protocol||":"===e.protocol||e.protocol===n.protocol,s=e.hostname===document.domain&&e.port===n.port;return o.sameOrigin=a&&(!e.hostname||s),"/"===o.pathname&&(r[t]=o),o}},{}],19:[function(t,e,n){function r(t,e){var n=t.responseType;return"json"===n&&null!==e?e:"arraybuffer"===n||"blob"===n||"json"===n?o(t.response):"text"===n||""===n||void 0===n?o(t.responseText):void 0}var o=t(22);e.exports=r},{}],20:[function(t,e,n){function r(){}function o(t,e,n,r){return function(){return u.recordSupportability("API/"+e+"/called"),i(t+e,[f.now()].concat(s(arguments)),n?null:this,r),n?void 0:this}}var i=t("handle"),a=t(32),s=t(33),c=t("ee").get("tracer"),f=t("loader"),u=t(25),d=NREUM;"undefined"==typeof window.newrelic&&(newrelic=d);var p=["setPageViewName","setCustomAttribute","setErrorHandler","finished","addToTrace","inlineHit","addRelease"],l="api-",h=l+"ixn-";a(p,function(t,e){d[e]=o(l,e,!0,"api")}),d.addPageAction=o(l,"addPageAction",!0),d.setCurrentRouteName=o(l,"routeName",!0),e.exports=newrelic,d.interaction=function(){return(new r).get()};var m=r.prototype={createTracer:function(t,e){var n={},r=this,o="function"==typeof e;return i(h+"tracer",[f.now(),t,n],r),function(){if(c.emit((o?"":"no-")+"fn-start",[f.now(),r,o],n),o)try{return e.apply(this,arguments)}catch(t){throw c.emit("fn-err",[arguments,this,t],n),t}finally{c.emit("fn-end",[f.now()],n)}}}};a("actionText,setName,setAttribute,save,ignore,onEnd,getContext,end,get".split(","),function(t,e){m[e]=o(h,e)}),newrelic.noticeError=function(t,e){"string"==typeof t&&(t=new Error(t)),u.recordSupportability("API/noticeError/called"),i("err",[t,f.now(),!1,e])}},{}],21:[function(t,e,n){function r(t){if(NREUM.init){for(var e=NREUM.init,n=t.split("."),r=0;r<n.length-1;r++)if(e=e[n[r]],"object"!=typeof e)return;return e=e[n[n.length-1]]}}e.exports={getConfiguration:r}},{}],22:[function(t,e,n){e.exports=function(t){if("string"==typeof t&&t.length)return t.length;if("object"==typeof t){if("undefined"!=typeof ArrayBuffer&&t instanceof ArrayBuffer&&t.byteLength)return t.byteLength;if("undefined"!=typeof Blob&&t instanceof Blob&&t.size)return t.size;if(!("undefined"!=typeof FormData&&t instanceof FormData))try{return JSON.stringify(t).length}catch(e){return}}}},{}],23:[function(t,e,n){var r=!1;try{var o=Object.defineProperty({},"passive",{get:function(){r=!0}});window.addEventListener("testPassive",null,o),window.removeEventListener("testPassive",null,o)}catch(i){}e.exports=function(t){return r?{passive:!0,capture:!!t}:!!t}},{}],24:[function(t,e,n){var r=0,o=navigator.userAgent.match(/Firefox[\/\s](\d+\.\d+)/);o&&(r=+o[1]),e.exports=r},{}],25:[function(t,e,n){function r(t,e){var n=[a,t,{name:t},e];return i("storeMetric",n,null,"api"),n}function o(t,e){var n=[s,t,{name:t},e];return i("storeEventMetrics",n,null,"api"),n}var i=t("handle"),a="sm",s="cm";e.exports={constants:{SUPPORTABILITY_METRIC:a,CUSTOM_METRIC:s},recordSupportability:r,recordCustom:o}},{}],26:[function(t,e,n){function r(){return s.exists&&performance.now?Math.round(performance.now()):(i=Math.max((new Date).getTime(),i))-a}function o(){return i}var i=(new Date).getTime(),a=i,s=t(34);e.exports=r,e.exports.offset=a,e.exports.getLastTimestamp=o},{}],27:[function(t,e,n){function r(t){return!(!t||!t.protocol||"file:"===t.protocol)}e.exports=r},{}],28:[function(t,e,n){function r(t,e){var n=t.getEntries();n.forEach(function(t){"first-paint"===t.name?l("timing",["fp",Math.floor(t.startTime)]):"first-contentful-paint"===t.name&&l("timing",["fcp",Math.floor(t.startTime)])})}function o(t,e){var n=t.getEntries();if(n.length>0){var r=n[n.length-1];if(f&&f<r.startTime)return;var o=[r],i=a({});i&&o.push(i),l("lcp",o)}}function i(t){t.getEntries().forEach(function(t){t.hadRecentInput||l("cls",[t])})}function a(t){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;if(e)return e.type&&(t["net-type"]=e.type),e.effectiveType&&(t["net-etype"]=e.effectiveType),e.rtt&&(t["net-rtt"]=e.rtt),e.downlink&&(t["net-dlink"]=e.downlink),t}function s(t){if(t instanceof w&&!y){var e=Math.round(t.timeStamp),n={type:t.type};a(n),e<=h.now()?n.fid=h.now()-e:e>h.offset&&e<=Date.now()?(e-=h.offset,n.fid=h.now()-e):e=h.now(),y=!0,l("timing",["fi",e,n])}}function c(t){"hidden"===t&&(f=h.now(),l("pageHide",[f]))}if(!("init"in NREUM&&"page_view_timing"in NREUM.init&&"enabled"in NREUM.init.page_view_timing&&NREUM.init.page_view_timing.enabled===!1)){var f,u,d,p,l=t("handle"),h=t("loader"),m=t(31),v=t(23),w=NREUM.o.EV;if("PerformanceObserver"in window&&"function"==typeof window.PerformanceObserver){u=new PerformanceObserver(r);try{u.observe({entryTypes:["paint"]})}catch(g){}d=new PerformanceObserver(o);try{d.observe({entryTypes:["largest-contentful-paint"]})}catch(g){}p=new PerformanceObserver(i);try{p.observe({type:"layout-shift",buffered:!0})}catch(g){}}if("addEventListener"in document){var y=!1,x=["click","keydown","mousedown","pointerdown","touchstart"];x.forEach(function(t){document.addEventListener(t,s,v(!1))})}m(c)}},{}],29:[function(t,e,n){function r(){function t(){return e?15&e[n++]:16*Math.random()|0}var e=null,n=0,r=window.crypto||window.msCrypto;r&&r.getRandomValues&&(e=r.getRandomValues(new Uint8Array(31)));for(var o,i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx",a="",s=0;s<i.length;s++)o=i[s],"x"===o?a+=t().toString(16):"y"===o?(o=3&t()|8,a+=o.toString(16)):a+=o;return a}function o(){return a(16)}function i(){return a(32)}function a(t){function e(){return n?15&n[r++]:16*Math.random()|0}var n=null,r=0,o=window.crypto||window.msCrypto;o&&o.getRandomValues&&Uint8Array&&(n=o.getRandomValues(new Uint8Array(31)));for(var i=[],a=0;a<t;a++)i.push(e().toString(16));return i.join("")}e.exports={generateUuid:r,generateSpanId:o,generateTraceId:i}},{}],30:[function(t,e,n){function r(t,e){if(!o)return!1;if(t!==o)return!1;if(!e)return!0;if(!i)return!1;for(var n=i.split("."),r=e.split("."),a=0;a<r.length;a++)if(r[a]!==n[a])return!1;return!0}var o=null,i=null,a=/Version\/(\S+)\s+Safari/;if(navigator.userAgent){var s=navigator.userAgent,c=s.match(a);c&&s.indexOf("Chrome")===-1&&s.indexOf("Chromium")===-1&&(o="Safari",i=c[1])}e.exports={agent:o,version:i,match:r}},{}],31:[function(t,e,n){function r(t){function e(){t(s&&document[s]?document[s]:document[i]?"hidden":"visible")}"addEventListener"in document&&a&&document.addEventListener(a,e,o(!1))}var o=t(23);e.exports=r;var i,a,s;"undefined"!=typeof document.hidden?(i="hidden",a="visibilitychange",s="visibilityState"):"undefined"!=typeof document.msHidden?(i="msHidden",a="msvisibilitychange"):"undefined"!=typeof document.webkitHidden&&(i="webkitHidden",a="webkitvisibilitychange",s="webkitVisibilityState")},{}],32:[function(t,e,n){function r(t,e){var n=[],r="",i=0;for(r in t)o.call(t,r)&&(n[i]=e(r,t[r]),i+=1);return n}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],33:[function(t,e,n){function r(t,e,n){e||(e=0),"undefined"==typeof n&&(n=t?t.length:0);for(var r=-1,o=n-e||0,i=Array(o<0?0:o);++r<o;)i[r]=t[e+r];return i}e.exports=r},{}],34:[function(t,e,n){e.exports={exists:"undefined"!=typeof window.performance&&window.performance.timing&&"undefined"!=typeof window.performance.timing.navigationStart}},{}],ee:[function(t,e,n){function r(){}function o(t){function e(t){return t&&t instanceof r?t:t?f(t,c,a):a()}function n(n,r,o,i,a){if(a!==!1&&(a=!0),!l.aborted||i){t&&a&&t(n,r,o);for(var s=e(o),c=m(n),f=c.length,u=0;u<f;u++)c[u].apply(s,r);var p=d[y[n]];return p&&p.push([x,n,r,s]),s}}function i(t,e){g[t]=m(t).concat(e)}function h(t,e){var n=g[t];if(n)for(var r=0;r<n.length;r++)n[r]===e&&n.splice(r,1)}function m(t){return g[t]||[]}function v(t){return p[t]=p[t]||o(n)}function w(t,e){l.aborted||u(t,function(t,n){e=e||"feature",y[n]=e,e in d||(d[e]=[])})}var g={},y={},x={on:i,addEventListener:i,removeEventListener:h,emit:n,get:v,listeners:m,context:e,buffer:w,abort:s,aborted:!1};return x}function i(t){return f(t,c,a)}function a(){return new r}function s(){(d.api||d.feature)&&(l.aborted=!0,d=l.backlog={})}var c="nr@context",f=t("gos"),u=t(32),d={},p={},l=e.exports=o();e.exports.getOrSetContext=i,l.backlog=d},{}],gos:[function(t,e,n){function r(t,e,n){if(o.call(t,e))return t[e];var r=n();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(t,e,{value:r,writable:!0,enumerable:!1}),r}catch(i){}return t[e]=r,r}var o=Object.prototype.hasOwnProperty;e.exports=r},{}],handle:[function(t,e,n){function r(t,e,n,r){o.buffer([t],r),o.emit(t,e,n)}var o=t("ee").get("handle");e.exports=r,r.ee=o},{}],id:[function(t,e,n){function r(t){var e=typeof t;return!t||"object"!==e&&"function"!==e?-1:t===window?0:a(t,i,function(){return o++})}var o=1,i="nr@id",a=t("gos");e.exports=r},{}],loader:[function(t,e,n){function r(){if(!S++){var t=T.info=NREUM.info,e=v.getElementsByTagName("script")[0];if(setTimeout(f.abort,3e4),!(t&&t.licenseKey&&t.applicationID&&e))return f.abort();c(R,function(e,n){t[e]||(t[e]=n)});var n=a();s("mark",["onload",n+T.offset],null,"api"),s("timing",["load",n]);var r=v.createElement("script");0===t.agent.indexOf("http://")||0===t.agent.indexOf("https://")?r.src=t.agent:r.src=h+"://"+t.agent,e.parentNode.insertBefore(r,e)}}function o(){"complete"===v.readyState&&i()}function i(){s("mark",["domContent",a()+T.offset],null,"api")}var a=t(26),s=t("handle"),c=t(32),f=t("ee"),u=t(30),d=t(27),p=t(21),l=t(23),h=p.getConfiguration("ssl")===!1?"http":"https",m=window,v=m.document,w="addEventListener",g="attachEvent",y=m.XMLHttpRequest,x=y&&y.prototype,b=!d(m.location);NREUM.o={ST:setTimeout,SI:m.setImmediate,CT:clearTimeout,XHR:y,REQ:m.Request,EV:m.Event,PR:m.Promise,MO:m.MutationObserver};var E=""+location,R={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",agent:"js-agent.newrelic.com/nr-spa-1215.min.js"},O=y&&x&&x[w]&&!/CriOS/.test(navigator.userAgent),T=e.exports={offset:a.getLastTimestamp(),now:a,origin:E,features:{},xhrWrappable:O,userAgent:u,disabled:b};if(!b){t(20),t(28),v[w]?(v[w]("DOMContentLoaded",i,l(!1)),m[w]("load",r,l(!1))):(v[g]("onreadystatechange",o),m[g]("onload",r)),s("mark",["firstbyte",a.getLastTimestamp()],null,"api");var S=0}},{}],"wrap-function":[function(t,e,n){function r(t,e){function n(e,n,r,c,f){function nrWrapper(){var i,a,u,p;try{a=this,i=d(arguments),u="function"==typeof r?r(i,a):r||{}}catch(l){o([l,"",[i,a,c],u],t)}s(n+"start",[i,a,c],u,f);try{return p=e.apply(a,i)}catch(h){throw s(n+"err",[i,a,h],u,f),h}finally{s(n+"end",[i,a,p],u,f)}}return a(e)?e:(n||(n=""),nrWrapper[p]=e,i(e,nrWrapper,t),nrWrapper)}function r(t,e,r,o,i){r||(r="");var s,c,f,u="-"===r.charAt(0);for(f=0;f<e.length;f++)c=e[f],s=t[c],a(s)||(t[c]=n(s,u?c+r:r,o,c,i))}function s(n,r,i,a){if(!h||e){var s=h;h=!0;try{t.emit(n,r,i,e,a)}catch(c){o([c,n,r,i],t)}h=s}}return t||(t=u),n.inPlace=r,n.flag=p,n}function o(t,e){e||(e=u);try{e.emit("internal-error",t)}catch(n){}}function i(t,e,n){if(Object.defineProperty&&Object.keys)try{var r=Object.keys(t);return r.forEach(function(n){Object.defineProperty(e,n,{get:function(){return t[n]},set:function(e){return t[n]=e,e}})}),e}catch(i){o([i],n)}for(var a in t)l.call(t,a)&&(e[a]=t[a]);return e}function a(t){return!(t&&t instanceof Function&&t.apply&&!t[p])}function s(t,e){var n=e(t);return n[p]=t,i(t,n,u),n}function c(t,e,n){var r=t[e];t[e]=s(r,n)}function f(){for(var t=arguments.length,e=new Array(t),n=0;n<t;++n)e[n]=arguments[n];return e}var u=t("ee"),d=t(33),p="nr@original",l=Object.prototype.hasOwnProperty,h=!1;e.exports=r,e.exports.wrapFunction=s,e.exports.wrapInPlace=c,e.exports.argsToArray=f},{}]},{},["loader",2,17,5,3,4]); ;NREUM.loader_config={accountID:"2883957",trustKey:"2883957",agentID:"520756539",licenseKey:"NRJS-012b8030e06bfdc9233",applicationID:"520756539"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"NRJS-012b8030e06bfdc9233",applicationID:"520756539",sa:1} </script> <meta name="librarything_env" content="beta" /> <meta name="librarything_lang" content="eng" /> <meta name="librarything_product" content="lt2" /> <meta id="viewport" name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=5.0, user-scalable=1, viewport-fit=cover"> <!-- DNS Preconnect --> <link rel="preconnect" href="//image.librarything.com"/> <link rel="preconnect" href="//image.librarything.com" crossorigin/> <link rel="preconnect" href="//pics.cdn.librarything.com"/> <link rel="preconnect" href="//pics.cdn.librarything.com" crossorigin/> <link rel="preconnect" href="//images-na.ssl-images-amazon.com"/> <link rel="preconnect" href="//images-na.ssl-images-amazon.com" crossorigin/> <!-- DNS Prefetch --> <link rel="dns-prefetch" href="//ajax.googleapis.com"/> <link rel="dns-prefetch" href="//ssl.google-analytics.com"/> <link rel="dns-prefetch" href="//books.google.com"/> <link rel="icon" href="/favicon_lt_32.ico" sizes="any" /><link rel="icon" href="/favicon_lt.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="/apple-touch-icon.png"> <!-- Base --> <meta name="description" content="LibraryThing catalogs yours books online, easily, quickly and for free."/> <meta name="keywords" content="librarything, library, thing, catalog your books, catalogue your books, book cataloging, library, free book catalog, catalogue"/> <meta name="language" content="en"/> <meta name="apple-itunes-app" content="app-id=948824489"/> <meta name="google-play-app" content="app-id=com.librarything.librarything"/> <meta name="small_image" content="https://pics.cdn.librarything.com//picsizes/82/5d/825dc294c46be8765494c7441514330414c5141_v5.jpg"/> <!-- Facebook/Open Graph --> <meta property="fb:app_id" content="79305890602"/> <meta property="og:site_name" content="LibraryThing.com"/> <meta property="og:url" content="https://www.librarything.com/author/fosterroy"/> <meta property="og:title" content="Roy Foster | Author | LibraryThing"/> <meta property="og:type" content="website"/> <meta property="og:description" content="LibraryThing catalogs yours books online, easily, quickly and for free."/> <!-- Twitter --> <meta name="twitter:card" content="summary"/> <meta name="twitter:site" content="@LibraryThing"/> <meta name="twitter:title" content="Roy Foster | Author | LibraryThing"/> <meta name="twitter:description" content="LibraryThing catalogs yours books online, easily, quickly and for free."/> <!-- end of meta - print_sharedataA --> <link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://image.librarything.com/css/bootstrap-3.3.4.min.css?v=3" type="text/css" /><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_vars.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_main.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://image.librarything.com/css/lt2_tabs.css?v=3" type="text/css" /><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_forms.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt1.5_nav_bridge.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_main_grid.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_content.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_lt1_overrides.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_verdant_14.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_verdant_12.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_verdant_tight_12.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_system_14.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_system_15.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_georgia_14.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_system_large.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker_atkinson_16.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/notifier_control.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://image.librarything.com/css/fontawesome6.4.2/css/all.min.css?v=3" type="text/css" /><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://image.librarything.com/css/lticon_fonts.css?v=3" type="text/css" /><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/jqueryui_autocomplete_lt2.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://image.librarything.com/css/toastify.css?v=3" type="text/css" /><link loadpriority="high" data-bundle="lt2_core" rel="stylesheet" href="https://www.librarything.com//css/lt2_toastify.css?v=5297" type="text/css"> <link loadpriority="high" data-bundle="lt2_deferred" rel="stylesheet" href="https://www.librarything.com//css/lt2_popup.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_deferred" rel="stylesheet" href="https://www.librarything.com//css/lt2_stylepicker.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_deferred" rel="stylesheet" href="https://www.librarything.com//css/lt_lightbox2020.css?v=5297" type="text/css"><link loadpriority="high" data-bundle="lt2_deferred" rel="stylesheet" href="https://www.librarything.com//css/addbooks_express.css?v=5297" type="text/css"> <link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/author_lt2.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/work_and_author.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/newshelf.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//commonknowledge/fwiki.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/newlinks.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/gallery.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/lt2_bentobox.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/lt2_charts.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/lt2_filterband.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/bookreviews.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/bookreviews_lt2.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/sprites.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/lists_lists.css?v=5297" type="text/css"><link data-bundle="author_main" rel="stylesheet" href="https://www.librarything.com//css/list.css?v=5297" type="text/css"> <style data-bundle="translated_css" type="text/css" ver="5297"> spoiler:before { content:"Spoiler (click to see)" !important; } spoiler.spoiled:before { content: "Spoiler" !important; } </style><script fetchpriority="high" src="https://image.librarything.com/js/jquery-3.7.1.min.js?v=2"></script><link rel="stylesheet" href="https://image.librarything.com/js/jquery-ui/jquery-ui-1.13.2/jquery-ui.min.css?v=2" /><script fetchpriority="high" src="https://image.librarything.com/js/jquery-ui/jquery-ui-1.13.2/jquery-ui.min.js?v=2"></script><script fetchpriority="high" src="https://image.librarything.com/js2/jquery.ui.touch-punch.min.js?v=2"></script><script defer data-bundle="IE11_cssvars_polyfill">window.MSInputMethodContext && document.documentMode && document.write('<script src="https://cdn.jsdelivr.net/gh/nuxodin/ie11CustomProperties@4.1.0/ie11CustomProperties.min.js"><\x2fscript>');</script><script defer data-bundle="iOSSafari_100vh_pollyfill"> try { var lt = lt || {}; } catch(err){} iOSSafari_100vh_pollyfill_setVh = () => { const vh = parseFloat((window.innerHeight * 0.01).toFixed(2)); document.documentElement.style.setProperty('--vh', `${vh}px`); document.documentElement.style.setProperty('--vh100', `${window.innerHeight}px`); return vh; }; window.addEventListener('load', iOSSafari_100vh_pollyfill_setVh); </script><script defer data-bundle="translated_js" type="text/javascript" fetchpriority="high" version="5297"> try { var LibraryThing = LibraryThing || {}; } catch(er){} LibraryThing.translated_vars_key = ""; LibraryThing._isLT2 = 1; LibraryThing.lt2_popup_style = "lt2"; LibraryThing.is_signed_in = 0; LibraryThing.isDevBox = 0; LibraryThing.loaded_translated_vars = 1; LibraryThing.servers = LibraryThing.servers || {}; LibraryThing.servers.image = "https://image.librarything.com"; LibraryThing.servers.pics = "https://pics.cdn.librarything.com/"; LibraryThing.ltstrings = LibraryThing.ltstrings || {}; LibraryThing.ltstrings.yes = "Yes"; LibraryThing.ltstrings.no = "No"; LibraryThing.ltstrings.save = "Save"; LibraryThing.ltstrings.cancel = "Cancel"; LibraryThing.ltstrings.savereview = "Save Review"; LibraryThing.ltstrings.saving = "saving"; LibraryThing.ltstrings.loading = "Loading..."; LibraryThing.ltstrings.confirm = "Confirm?"; LibraryThing.ltstrings.rejectAndDeleteAuthor = "Reject and delete this author?"; LibraryThing.ltstrings.referrer = ""; LibraryThing.ltstrings.areyousure = "Are you sure?"; LibraryThing.ltstrings.areyousure_immediate = "This item will be deleted immediately. Are you sure you want to delete this item?"; LibraryThing.ltstrings.getting_help = "Getting help..."; LibraryThing.ltstrings.alt_cover_image = "Cover Image"; LibraryThing.ltstrings.close = "Close"; LibraryThing.ltstrings.show_more_elipses = "Show more..."; LibraryThing.ltstrings.show_more = "Show More"; LibraryThing.ltstrings.show_less = "Show Less"; LibraryThing.ltstrings.show_all = "Show All"; LibraryThing.ltstrings.see_more_elipses = "See more..."; LibraryThing.ltstrings.see_more = "See More"; LibraryThing.ltstrings.see_less = "See Less"; LibraryThing.ltstrings.see_all = "See All"; LibraryThing.ltstrings.attempting_size_calc = "Attempting to calculate size"; LibraryThing.ltstrings.approximately = "approximately"; LibraryThing.ltstrings.deleteinventory = "Clear all inventory information for this collection?"; LibraryThing.ltstrings.abx_addbook = "Add Book"; LibraryThing.ltstrings.genre_flag_confirmation = "Flag this genre as egregiously wrong?"; LibraryThing.ltstrings.loader_messagesA = [ "Still Loading...", "A lot of thinking happening...", "It seems we may be here a while...", "Maybe you should start a book...", "In fact, maybe you should start writing a book...", "We have hit a writers block but we are still working on it..." ]; LibraryThing.ltstrings.datatables = { "emptyTable": "No data available in table", "info": "Showing _START_ to _END_ of _TOTAL_ entries", "infoEmpty": "Showing 0 to 0 of 0 entries", "infoFiltered": "(filtered from _MAX_ total entries)", "lengthMenu": "Show _MENU_ entries", "loadingRecords": "Loading...", "processing": "Processing...", "search": "Search:", "zeroRecords": "No matching records found", "paginate": { "first": "First", "last": "Last", "next": "Next", "previous": "Previous" }, "aria": { "sortAscending": ": activate to sort column ascending", "sortDescending": ": activate to sort column descending" } }; LibraryThing.ltstrings.recs = { "filter": { "tagRemove": "Are you sure you want to enter tag remove mode?", "tagReset": "Are you sure you want to reset your default tags?", } }; </script><script loadpriority="high" data-bundle="lt2_core" src="https://image.librarything.com/js2/lt2_jsinit.js" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://image.librarything.com/js2/mmlog.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://image.librarything.com/js/modernizr_lt.3.6.0010.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://image.librarything.com/js/jquery.visible.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://www.librarything.com//js2/lt2_basics.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://www.librarything.com//js2/lt2_main.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://www.librarything.com//js2/autocomplete.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_core" src="https://image.librarything.com/js2/toastify.js?v=2" type="text/javascript" language="Javascript"></script> </head><body data-gv="5297" data-product="lt2" data-lt2="1" data-observe-resizes data-fa_v="6" data-fa class="lt2 serifed_headers disambiguationpage option2 lt1nav author main ie6or7 ie7or8 ie ie7 " ><div id="skiptocontent"><a tabindex="0" href="#lt2_content">Skip to main content</a></div> <nav id="lt1_nav" role="navigation" aria-label="Main Navigation"><a class="anchor" name="top"></a><a class="anchor" name="t"></a><div id="masthead" class="ie6or7 ie7or8 ie ie7 "> <a title="Home" href="/" target="_top"> <img id="masthead_logo_wordmark2" src="https://image.librarything.com/pics/lt1wordmark_150w.png" srcset="https://image.librarything.com/pics/lt1wordmark_300w.png 2x, https://image.librarything.com/pics/lt1wordmark_450w.png 3x" alt="LibraryThing Home" /> <img id="masthead_lt_logo2" src="https://image.librarything.com/pics/ltlogo_square_fff_trans.png" srcset="https://image.librarything.com/pics/ltlogo_square_fff_trans@2x.png 2x, https://image.librarything.com/pics/ltlogo_square_fff_trans@3x.png 3x" alt="LibraryThing Home" /> </a> <nav id="tabs" role="region" aria-label="Main Navigation Choices"> <a class="sitenav_item g1" data-icon="" id="masttab_home" href="/" target="_top">Home</a><a class="sitenav_item g3" id="masttab_groups" href="/ngroups" target="_top">Groups</a><a class="sitenav_item g3 spacer_after" id="masttab_talk" href="/talk" target="_top">Talk</a><a class="sitenav_item g4" id="masttab_more" href="/more" target="_top">More</a><a class="sitenav_item g4" id="masttab_z" href="/zeitgeist" target="_top">Zeitgeist</a> <div class="sitenav_item g6" id="mobile_topmenu"> <i class="fas fa-bars"></i> <div class="navicon" id="lt2_navnotifications"> </div> </div> </nav> <div id="mobile_topmenu_content"> <a class="sitenav_item g1" data-icon="" id="masttab_home" href="/" target="_top">Home</a> <a class="sitenav_item g3" id="masttab_groups" href="/ngroups" target="_top">Groups</a> <a class="sitenav_item g3 spacer_after" id="masttab_talk" href="/talk" target="_top">Talk</a> <a class="sitenav_item g4" id="masttab_more" href="/more" target="_top">More</a> <a class="sitenav_item g4" id="masttab_z" href="/zeitgeist" target="_top">Zeitgeist</a><div class="separator"></div><a id="mastheadSigninLink" href="/" target="_top">Sign in / Join</a><a href="#" onclick="languagelist(0,0,0); return false;"><i class="fa-solid fa-globe"></i> English</a><a href="https://wiki.librarything.com/index.php/HelpThing:Author_controller" target="_top">Help</a> </div> <div id="mast_alt"> <div id="mastsearch"> <form action="/search.php" method="GET" target="_top" role="search" id="sbarform" name="sbarform"> <div id="mastsearch_container"> <input type="hidden" name="searchtype" value="newwork_titles"/> <input type="text" id="mastsearch_query" value="" placeholder="Search LibraryThing" name="term"> <img id="mastsearch_glass" tabindex=0 title="Search Site" alt="Search Site" src="https://image.librarything.com/pics/sbar_4.png" srcset="https://image.librarything.com/pics/sbar_4@2x.png 2x, https://image.librarything.com/pics/sbar_4@3x.png 3x" height="13px" width="12px" onclick="document.sbarform.submit();"/> </div> </form> </div> <div id="mastuser"> <ul> <li class="mastuseritem" data-id="userpad_signin"><a id="mastheadSigninLink" href="/" target="_top">Sign in / Join</a></li><li class="mastuseritem" data-id="userpad_langs"><a href="#" onclick="languagelist(0,0,0); return false;"><i class="fa-solid fa-globe"></i> English</a></li><li class="mastuseritem" data-id="userpad_help"><a href="https://wiki.librarything.com/index.php/HelpThing:Author_controller" target="_top">Help</a></li> </ul> </div> </div> <div id="mast_rule"></div> <ul id="languagechoice" style="display:none;" onmouseover="languagemenu=true;" onmouseout="languagemenu=false;setTimeout(function(){if (!languagemenu) {document.getElementById('languagechoice').style.display='none';}},1000);"></ul></div></nav><div id="lt2_maincontent" class="flex col3" data-content-product="lt2" ><div id="lt2_sitemessage" class="sitemessage_show downmessage_num_61 sitemessage_warning"><div id="lt2_sitemessage_content_container"><div id="lt2_sitemessage_content"><i class="fas fa-gift santathing-msg-icon" style="color: indianred;"></i> <a href="/santathing.php" class="alwaysblue">Come participate in SantaThing, our yearly gift-giving tradition!</a></div><div id="lt2_sitemessage_controls"><a class="dismiss dismiss btn btn-default btn-sm" onclick="lt.dismiss_sitemessage(61);" id="sitemessage_close">Dismiss</a></div></div></div><a class="anchor" name="top"></a><a class="anchor" name="t"></a><nav id="lt_mainsidebar" class="lt2_sidebar lt_mainsidebar" ><div id="mobile_pagemenu"><div id="sidebar_control_name"><span id="sidebar_dropdownmenu_currentpage_name">Disambiguation Page</span><span class="sidebar_control_iconstack fa-stack fa-1x"> <i class="fas fa-copy fa-stack-1x"></i> <i class="sidebar_control_iconstack_caret fas fa-caret-down fa-stack-1x"></i> </span></div></div><div class="dyn_nav_menu" data-observe-resizes ><div class="sidebar_group default_group"><div class="sidenav_subgroup lt2_nogrouptitle " id="sidenav_action_subgroup_itemA"><a id="lt2_sidebar_main" href="/author/fosterroy" class="sidebar_menu_item selected" ><span class="lt2_sidebar_accordion_title">Disambiguation Page</span></a></div></div><div class="sidebar_group authordetails"><div class="sidenav_subgroup lt2_nogrouptitle " id="sidenav_action_subgroup_itemA"><a id="lt2_sidebar_names" href="/author/fosterroy/names" class="sidebar_menu_item" ><span class="lt2_sidebar_accordion_title">Names</span></a></div></div></div></nav> <main data-observe-resizes id="lt2_content" class="with_sidebar" role="main"><div class="lt2_loading_indicator"></div> <div id="lt2_content_interior"> <a class="anchor" name="top"></a><a class="anchor" name="t"></a> <section class="first lt2_pagecard_section subpage"><div id="lt2_mainimage_containerbox"><div id="lt2_mainimage_container"><div class="primaryimage mainleftimage disambiguationimages manyauthorpics"><img name="picture" border="0" src="https://pics.cdn.librarything.com//picsizes/30/0f/300f7603bc3b4b365494c744151426b41475141_v5.jpg"><img name="picture" border="0" src="https://pics.cdn.librarything.com//picsizes/30/0f/300f7603bc3b4b365494c744151426b41475141_v5.jpg"></div></div></div><div class="topcard_headbox headbox"><div class="topcard_header_collection"><h1>Roy Foster (disambiguation)</h1><p class="subtitle plaintext">"Roy Foster" is composed of at least 2 distinct authors, divided by their works.</p></div><div class="pagecard_messages"></div></div></section><section class="w_a_section" id="section_mainworks" ><h2 class="lt_turndown" id="u_7d33" data-caret-id="tdc_u_7d33" data-hidden-id="tdh_u_d0cb" data-visible="1" onclick="lt.newauthor.saveSticky("mainworks", event);;lt.turndown_toggle(this, event);" href="javascript:void(0);" data-duration="200" data-name="mainworks" data-group="worksections" ><i class="fa-solid fa-chevron-up turndown_indicator" id="tdc_u_7d33" data-turndown-style="chevron" ></i>Author Division</h2><span id="tdh_u_d0cb" ><a name="mainworks"></a><div class="worklist"><div class="disambig_block"><div class="disambig_block_img"><a href="/author/fosterroy-1"><img class="minidisambiguation cover" alt="" src="https://pics.cdn.librarything.com//picsizes/30/0f/300f7603bc3b4b365494c744151426b41475141_v5.jpg" srcset="https://pics.cdn.librarything.com//picsizes/b2/83/b2832590ca6816e65494c7441514449414d6741_v5.jpg 2x, https://pics.cdn.librarything.com//picsizes/9c/2f/9c2f2396aa479e865494c744151417341537742_v5.jpg 3x" /></a></div><div class="disambig_block_content"><h3><a href="/author/fosterroy-1">Roy Foster <span class="splitnumber">(1)</span></a></h3><div class="disambiguationDiv"><div id="u_a57c3da9" class="lt_itemlist list"><div class="ltil_item " > <a href="/work/25033478" data-workid="25033478" data-title="On-Seamus-Heaney" class="" >On Seamus Heaney</a> <span class="date">(2020)</span> <span class="copies note">36 copies</span></div><div class="ltil_item " > <a href="/work/8745450" data-workid="8745450" data-title="Trinity-Tales-Trinity-College-Dublin-in-the-Sixties" class="" >Trinity Tales: Trinity College Dublin in the Sixties</a> <span class="date">(2009)</span> — Contributor — <span class="copies note">14 copies</span><span class="reviews note">, 1 review</span></div><div class="ltil_item " > <a href="/work/7257123" data-workid="7257123" data-title="The-Strange-Death-of-Romantic-Ireland" class="" >The Strange Death of Romantic Ireland</a> <span class="copies note">8 copies</span></div><div class="ltil_item " > <a href="/work/4217260" data-workid="4217260" data-title="Unfinished-Ireland-Essays-on-Hubert-Butler" class="" >Unfinished Ireland: Essays on Hubert Butler</a> <span class="date">(2002)</span> — Contributor — <span class="copies note">5 copies</span></div><div class="ltil_item " > <a href="/work/8964354" data-workid="8964354" data-title="Casement-cults-the-best-account-yet-in-TLS-5504-26-Sept-2008-%5Breview-of-Seamas-OSiochains-Roger-Casement-imperialist-rebel-revolutionary%5D" class="" >'Casement cults: the best account yet ... ' in TLS 5504, 26 Sept 2008 [review of Seamas O'Siochain's 'Roger Casement:…</a> <span class="copies note">1 copy</span></div><div class="ltil_item " > <a href="/work/24860003" data-workid="24860003" data-title="A-Fanatic-Heart-Geldof-On-W-B-Yeats" class="" >A Fanatic Heart: Geldof On W. B. Yeats</a> <span class="date">(2018)</span> <span class="copies note">1 copy</span></div></div></div></div></div><div class="disambig_block"><div class="disambig_block_img"><a href="/author/fosterroy-2"><img class="minidisambiguation cover" alt="" src="https://pics.cdn.librarything.com//picsizes/30/0f/300f7603bc3b4b365494c744151426b41475141_v5.jpg" srcset="https://pics.cdn.librarything.com//picsizes/b2/83/b2832590ca6816e65494c7441514449414d6741_v5.jpg 2x, https://pics.cdn.librarything.com//picsizes/9c/2f/9c2f2396aa479e865494c744151417341537742_v5.jpg 3x" /></a></div><div class="disambig_block_content"><h3><a href="/author/fosterroy-2">Roy Foster <span class="splitnumber">(2)</span></a></h3><div class="disambiguationDiv"><div id="u_043da079" class="lt_itemlist list"><div class="ltil_item " > <a href="/work/12013532" data-workid="12013532" data-title="Worlds-Greatest-Conspiracy-Volume-I" class="" >World's Greatest Conspiracy, Volume I</a> <span class="date">(1992)</span> <span class="copies note">1 copy</span></div></div></div></div></div><div class="disambig_block"><div class="disambig_block_img"><a href="/author/fosterroy-0"><img class="minidisambiguation cover" alt="" src="https://pics.cdn.librarything.com//picsizes/30/0f/300f7603bc3b4b365494c744151426b41475141_v5.jpg" srcset="https://pics.cdn.librarything.com//picsizes/b2/83/b2832590ca6816e65494c7441514449414d6741_v5.jpg 2x, https://pics.cdn.librarything.com//picsizes/9c/2f/9c2f2396aa479e865494c744151417341537742_v5.jpg 3x" /></a></div><div class="disambig_block_content"><h3>Roy Foster <span class="splitnumber">(unknown)</span></h3><div class="disambiguationDiv"><div id="u_c4dc28bd" class="lt_itemlist list"><div class="ltil_item " > <a href="/work/218592" data-workid="218592" data-title="The-South" class="" >The South</a> <span class="date">(1990)</span> — Introduction, some editions — <span class="copies note">458 copies</span><span class="reviews note">, 11 reviews</span></div><div class="ltil_item " > <a href="/work/6114480" data-workid="6114480" data-title="First-Folio-A-Little-Book-of-Folio-Forewords" class="" >First Folio: A Little Book of Folio Forewords</a> <span class="date">(2008)</span> — Contributor — <span class="copies note">185 copies</span><span class="reviews note">, 1 review</span></div><div class="ltil_item " > <a href="/work/13478834" data-workid="13478834" data-title="Daily-Mirror-Mirrorscope-Gives-You-The-Moon-%5BFriday-July-18-1969%5D" class="" >Daily Mirror - Mirrorscope: Gives You The Moon [Friday, July 18, 1969]</a> <span class="copies note">1 copy</span></div><div class="ltil_item " > <a href="/work/23173066" data-workid="23173066" data-title="Relics-of-a-tuft-hunter" class="" >Relics of a tuft-hunter</a> <span class="copies note">1 copy</span></div><div class="ltil_item " > <a href="/work/31727943" data-workid="31727943" data-title="The-Folio-Poets-W-B-Yeats" class="" >The Folio Poets; W. B. Yeats</a> <span class="copies note">1 copy</span></div><div class="ltil_item " > <a href="/work/33075878" data-workid="33075878" data-title="Vivid-Faces-The-Revolutionary-Generation-in-Ireland-1890-1923" class="" >Vivid Faces (The Revolutionary Generation in Ireland, 1890-1923)</a> <span class="copies note">1 copy</span></div></div></div></div></div></div></span></section><section class="w_a_section" id="section_common_knowledge" ><h2 class="lt_turndown" id="u_8d9a" data-caret-id="tdc_u_8d9a" data-hidden-id="tdh_u_37dd" data-visible="1" onclick="lt.newauthor.saveSticky("common_knowledge", event);;lt.turndown_toggle(this, event);" href="javascript:void(0);" data-duration="200" data-name="common_knowledge" data-group="worksections" ><i class="fa-solid fa-chevron-up turndown_indicator" id="tdc_u_8d9a" data-turndown-style="chevron" ></i>Common Knowledge</h2><span id="tdh_u_37dd" ><a name="common_knowledge"></a><div id="fwikiContainerTablediv"><div class="" role="alert">There is no Common Knowledge data for this author yet. <a onclick="lt.newauthor.editCk(380622, 1, 0);return false;">You can help</a>.</div></div></span></section><a name="bottom"></a></div></main><div id="lt_altsidebar" class="lt2_sidebar lt_altsidebar" ><div class="dyn_nav_menu" data-observe-resizes ><div class="sidebar_group rightcontent"><div class="sidebar_content lt2_nogrouptitle "><div class="w_a_section greenbox" id="section_pics" ><a name="pics"></a><div class="lt2_mini_gallery"><h2 class="first">Pictures</h2><div class="gallery_footer_actions"><div><div class="ui_jump_link ui_jump_link" ><a id="u_f1f3" class="bluelink" href="/gallery/author/fosterroy" >Author Gallery <i class="fa-regular fa-chevron-right"></i></a></div></div></div></div></div><div class="w_a_section greenbox" id="section_improve" ><h2>Helper Hub</h2><a name="improve"></a><p>LibraryThing members improve authors by combining author names and works, separating out homonymous authors into separate identities, and more.</p><div class="ui_jump_link ui_jump_link" ><a id="u_224d" class="bluelink" href="/author/fosterroy/helperhub" >Helper Hub <i class="fa-regular fa-chevron-right"></i></a></div></div></div></div></div></div><div id="helpdrawer" data-helpurl="https%3A%2F%2Fwiki.librarything.com%2Fapi.php%3Fformat%3Djson%26action%3Dparse%26origin%3D%2A%26servedby%3D1%26page%3DHelpThing%3AAuthor_controller" data-baseurl="https%3A%2F%2Fwiki.librarything.com%2Fapi.php%3Fformat%3Djson%26action%3Dparse%26origin%3D%2A%26servedby%3D1%26page%3D" ><a id="hdclose" href="#" onclick="lt.helpdrawer_close();return false;" class="greylink" title="Close Help"><i class="fa-solid fa-circle-xmark"></i></a><div id="hdc"></div></div><footer class="lt2_footer bluelink"><div class="lt2_footer_links controlitems"><a href="#" id="stylepicker_switch" onclick="lt.stylepick_switch();return false;"><i class="fas fa-text-size"></i> Change Style</a><a class="footer_displaymode" data-dmode="0" title="Toggle Desktop Version" href="#" onclick="return lt.desktopversion();"><span id="footer_desktop"><i class="fas fa-desktop"></i>Desktop View</span><span id="footer_mobile"><i class="far fa-mobile-alt"></i>Mobile View</span></a></div><div class="lt2_footer_links"><a href="/" target="_top">Home</a><a href="/about" target="_top">About</a><a href="/contact" target="_top">Contact</a><a href="/privacy" target="_top">Privacy</a><a href="https://wiki.librarything.com/index.php/HelpThing:Author_controller" target="_top">Help</a></div><div class="lt2_footer_links small"><a href="https://blog.librarything.com" target="_blank">Blog</a><a href="https://wiki.librarything.com">WikiThing</a><a href="/commonknowledge/">Common Knowledge</a><a href="/ner">Early Reviewers</a><a href="/legacylibraries">Legacy Libraries</a><a href="/local">Local</a><a href="/developer">APIs</a><a href="https://www.librarycat.org/">TinyCat <i class="lti lti-tinycat"></i></a></div></footer><div id="lt2_stylepicker"><div id="lt2_stylepicker_close" onclick="lt.stylepick_switch();"><i aria-label="Close" class="fas fa-times"></i></div><a href="#" title="verdant_14" data-style="verdant_14" onclick="lt.stylepick('verdant_14');return false;" class="stylepicker_item alwaysblue selected ">Verdana Standard</a><a href="#" title="verdant_12" data-style="verdant_12" onclick="lt.stylepick('verdant_12');return false;" class="stylepicker_item alwaysblue ">Verdana Small</a><a href="#" title="verdant_tight_12" data-style="verdant_tight_12" onclick="lt.stylepick('verdant_tight_12');return false;" class="stylepicker_item alwaysblue ">The Lorax</a><a href="#" title="system_14" data-style="system_14" onclick="lt.stylepick('system_14');return false;" class="stylepicker_item alwaysblue ">System Standard</a><a href="#" title="system_15" data-style="system_15" onclick="lt.stylepick('system_15');return false;" class="stylepicker_item alwaysblue ">System Large</a><a href="#" title="georgia_14" data-style="georgia_14" onclick="lt.stylepick('georgia_14');return false;" class="stylepicker_item alwaysblue ">Georgia</a><a href="#" title="system_large" data-style="system_large" onclick="lt.stylepick('system_large');return false;" class="stylepicker_item alwaysblue ">Large Text</a><a href="#" title="atkinson_16" data-style="atkinson_16" onclick="lt.stylepick('atkinson_16');return false;" class="stylepicker_item alwaysblue ">Atkinson</a></div><div id="gdpr_notice" class=""><button class="btn" id="gdpr_closebutton" onclick="gdpr_notice_clicked();return false;">I Agree</button><div id="gdpr_content">This site uses cookies to deliver our services, improve performance, for analytics, and (if not signed in) for advertising. By using LibraryThing you acknowledge that you have read and understand our <a href="/privacy" class="alwaysblue">Terms of Service and Privacy Policy</a>. Your use of the site and services is subject to these policies and terms.</div></div></div><div id="lt2_page_overlay"></div><div id="bottomscripts"><script loadpriority="high" data-bundle="lt2_deferred" src="https://image.librarything.com/js2/lt2_tabs.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://image.librarything.com/js/jquery.truncator.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js/lt_utility.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://image.librarything.com/js/jquery.easing.1.3.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/lt2_popup.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://image.librarything.com/js2/imagesloaded.pkgd.js?v=2" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/lt_lightbox2020.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/lt_maxbox.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/addbooks_express.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/collections.js?v=5297" type="text/javascript" language="Javascript"></script><script loadpriority="high" data-bundle="lt2_deferred" src="https://www.librarything.com//js2/ratings.js?v=5297" type="text/javascript" language="Javascript"></script> <script data-bundle="author_main" src="https://www.librarything.com//js2/author_lt2.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//commonknowledge/fwiki.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//js2/newlinks.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//js/arbitrarypics2.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://image.librarything.com/js/plotly-latest.min.js?v=2" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://image.librarything.com/js/chroma.min.js?v=2" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://image.librarything.com/js/d3-color.v2.min.js?v=2" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//js2/lt_chart_util.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://image.librarything.com/js/base64.js?v=2" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//js2/reviewMods.js?v=5297" type="text/javascript" language="Javascript"></script><script data-bundle="author_main" src="https://www.librarything.com//js2/lists_lt2.js?v=5297" type="text/javascript" language="Javascript"></script> <script data-bundle="" src="https://www.librarything.com//js2/popularity_chart.js?v=5297" type="text/javascript" language="Javascript"></script> <script data-bundle="lt2_bottomscripts_scriptLinesA" type="text/javascript" language="javascript"> $J(function() { lt.newauthor.getMembers('fosterroy'); }); </script> <script async src="https://www.googletagmanager.com/gtag/js?id=G-3FXSBC8C5V"></script> <script> window.lt2_prod = 'lt2'; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} if (window.lt2_prod === 'talpa') { gtag('consent', 'default', { 'ad_storage': 'granted', 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': 'granted' }); } else { let consent_settingsA = {"ad_storage":"denied","analytics_storage":"denied"}; var consent_setting = 'denied'; gtag('consent', 'default', { 'ad_storage': consent_settingsA.ad_storage, 'ad_user_data': 'denied', 'ad_personalization': 'denied', 'analytics_storage': consent_settingsA.analytics_storage }); } gtag('js', new Date()); gtag('config', 'G-3FXSBC8C5V'); //gtag('config', 'LTNonMember'); // global_domain = </script> </div><script>(function(){function c(){var b=a.contentDocument||a.contentWindow.document;if(b){var d=b.createElement('script');d.innerHTML="window.__CF$cv$params={r:'8e81ede6e84940a4',t:'MTczMjU0MDc1Ni4wMDAwMDA='};var a=document.createElement('script');a.nonce='';a.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js';document.getElementsByTagName('head')[0].appendChild(a);";b.getElementsByTagName('head')[0].appendChild(d)}}if(document.body){var a=document.createElement('iframe');a.height=1;a.width=1;a.style.position='absolute';a.style.top=0;a.style.left=0;a.style.border='none';a.style.visibility='hidden';document.body.appendChild(a);if('loading'!==document.readyState)c();else if(window.addEventListener)document.addEventListener('DOMContentLoaded',c);else{var e=document.onreadystatechange||function(){};document.onreadystatechange=function(b){e(b);'loading'!==document.readyState&&(document.onreadystatechange=e,c())}}}})();</script>