<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Andy-Clark | SFiO.org</title><link>https://www.sfio.org/authors/andy-clark/</link><atom:link href="https://www.sfio.org/authors/andy-clark/index.xml" rel="self" type="application/rss+xml"/><description>Andy-Clark</description><generator>Source Themes Academic (https://sourcethemes.com/academic/)</generator><language>en-us</language><copyright>© 2016 - 2026 ASFIO - All Rights Reserved</copyright><lastBuildDate>Tue, 05 May 2009 00:00:00 +0000</lastBuildDate><image><url>https://www.sfio.org/images/logo.svg</url><title>Andy-Clark</title><link>https://www.sfio.org/authors/andy-clark/</link></image><item><title>The Extended Mind</title><link>https://www.sfio.org/interaction/2016-1/the-extended-mind/</link><pubDate>Tue, 05 May 2009 00:00:00 +0000</pubDate><guid>https://www.sfio.org/interaction/2016-1/the-extended-mind/</guid><description>&lt;p>&lt;a href="https://www.sfio.org/authors/andy-clark/">Andy-Clark&lt;/a>, &lt;a href="https://www.sfio.org/authors/david-chalmers/">David-Chalmers&lt;/a>&lt;/p>
&lt;h2 class="red-heading">Abstract&lt;/h2>
&lt;p>Where does the mind stop and the rest of the world
begin? The question invites two standard replies. Some
accept the boundaries of skin and skull, and say that what is
outside the body is outside the mind. Others are impressed by
arguments suggesting that the meaning of our words ‘just ain’t
in the head’, and hold that this externalism about meaning
carries over into an externalism about mind. We propose to
pursue a third position. We advocate a very different sort of
externalism: an active externalism, based on the active role of
the environment in driving cognitive processes.&lt;/p>
&lt;h2 class="red-heading">Article&lt;/h2>
&lt;script src="https://www.sfio.org/js/pdf.js">&lt;/script>
&lt;div style="margin-left: 20px; margin-bottom: 20px;">
&lt;button id="prev">Previous&lt;/button>&amp;nbsp; &amp;nbsp;
&lt;button id="next">Next&lt;/button>&amp;nbsp; &amp;nbsp;
&lt;a href="article.pdf" download="article.pdf" target="_blank">Download&lt;/a>
&amp;nbsp; &amp;nbsp;
&lt;span>Page: &lt;span id="page_num">&lt;/span> / &lt;span id="page_count">&lt;/span>&lt;/span>
&lt;/div>
&lt;p>&lt;canvas id="the-canvas" style="border: 1px solid black; direction: ltr; width: 800px;">&lt;/canvas>&lt;/p>
&lt;script id="script">
// If absolute URL from the remote server is provided, configure the CORS
// header on that server.
var url = './article.pdf';
// Loaded via &lt;script> tag, create shortcut to access PDF.js exports.
var pdfjsLib = window['pdfjs-dist/build/pdf'];
// The workerSrc property shall be specified.
pdfjsLib.GlobalWorkerOptions.workerSrc = '/js/pdf.worker.js';
var pdfDoc = null,
pageNum = 1,
pageRendering = false,
pageNumPending = null,
scale = 2,
canvas = document.getElementById('the-canvas'),
ctx = canvas.getContext('2d');
/**
* Get page info from document, resize canvas accordingly, and render page.
* @param num Page number.
*/
function renderPage(num) {
pageRendering = true;
// Using promise to fetch the page
pdfDoc.getPage(num).then(function(page) {
var viewport = page.getViewport({scale: scale});
canvas.height = viewport.height;
canvas.width = viewport.width;
// Render PDF page into canvas context
var renderContext = {
canvasContext: ctx,
viewport: viewport
};
var renderTask = page.render(renderContext);
// Wait for rendering to finish
renderTask.promise.then(function() {
pageRendering = false;
if (pageNumPending !== null) {
// New page rendering is pending
renderPage(pageNumPending);
pageNumPending = null;
}
});
});
// Update page counters
document.getElementById('page_num').textContent = num;
}
/**
* If another page rendering in progress, waits until the rendering is
* finised. Otherwise, executes rendering immediately.
*/
function queueRenderPage(num) {
if (pageRendering) {
pageNumPending = num;
} else {
renderPage(num);
}
}
/**
* Displays previous page.
*/
function onPrevPage() {
if (pageNum &lt;= 1) {
return;
}
pageNum--;
queueRenderPage(pageNum);
}
document.getElementById('prev').addEventListener('click', onPrevPage);
/**
* Displays next page.
*/
function onNextPage() {
if (pageNum >= pdfDoc.numPages) {
return;
}
pageNum++;
queueRenderPage(pageNum);
}
document.getElementById('next').addEventListener('click', onNextPage);
/**
* Asynchronously downloads PDF.
*/
pdfjsLib.getDocument(url).promise.then(function(pdfDoc_) {
pdfDoc = pdfDoc_;
document.getElementById('page_count').textContent = pdfDoc.numPages;
// Initial/first page rendering
renderPage(pageNum);
});
&lt;/script></description></item></channel></rss>