{"version":3,"sources":["webpack:///./src/pages/about.js","webpack:///./src/components/layout.js","webpack:///./src/components/header.js","webpack:///./src/components/footer.js","webpack:///./.cache/gatsby-browser-entry.js","webpack:///./.cache/public-page-renderer.js","webpack:///./.cache/public-page-renderer-prod.js"],"names":["AboutPage","className","href","to","align","class","id","Layout","props","layoutStyles","container","children","Header","navStyles","title","navItem","activeClassName","activeNavitem","Footer","loader","enqueue","React","createContext","m","module","exports","require","default","ProdPageRenderer","location","pageResources","createElement","InternalPageRenderer","json"],"mappings":"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","file":"component---src-pages-about-js-0c8b5cf3325cbe8f2eec.js","sourcesContent":["import React from \"react\"\nimport Layout from \"../components/layout\"\nimport { Link } from \"gatsby\"\n\nconst AboutPage = () => {\n return (\n \n \n

About

\n

A Brief Introduction

\n
\n

\n I work in the vicinity of digital media, specialising in computational\n graphic design. I write code to make engaging works from\n websites to art installations. Beyond client work, I research\n and develop open source tools for pedagogical and artistic practice.\n I am also committed to teaching as a means for exchange and the passing\n on of knowledge in an area of design I believe to be of importance. I\n strive for craftmanship and pursue life with humble yet ambitious zeal.\n

\n
\n
\n

\n If you are interested in learning more about my work or would be interested in reaching out for a future collaboration, please email me at mark.webster[at]wanadoo.fr. You can equally follow me on Twitter where I sporadically post little visual experiments and information on projects in the making.\n

\n
\n

Digging Deeper

\n
\n

The information that follows is a selection of lectures, workshops, events and writings. You will find links to various webpages that may shed more light on these various projects. If you would like to learn more about my creative process, please click on the Process menu.

\n
\n\n

\n

Selected Workshops & Installations

\n
\n
\n

Workshops have always been an important part of my teachings and often I get to work on installations too. Workshops are always oriented towards fixed objectives in which I try to get participants engaged in a particular technique or theme, all the while directing them towards personal expression and some final piece of work.

\n
\n

\n \n
\n

\n George & Friends\n

\n

\n Various locations. 2018 - current\n

\n

\n Parametrics\n

\n

\n ESAC Cambrai, France, 2018\n

\n

\n SAM The Drawing Machine\n

\n

\n Centre Pompidou Paris, 2017\n

\n

\n Lettres Ornées\n

\n

\n ESAL Metz, 2017\n

\n

\n Lettres Ornées\n

\n

\n ESAD. Amiens, 2016\n

\n

\n Boucles FOR Ever\n

\n

\n Paris College of Art, 2014\n

\n

\n On Algorithmics & Aesthetics\n

\n

\n Musée d’Art Contemporain de Bordeaux, 2013\n

\n

\n Designing Programs\n

\n

\n ESAL Metz, 2013, 2014, 2016, 2017\n

\n

\n Designing Programs\n

\n

\n ESAV. Marrakech, 2012 - 2015\n

\n

\n Systèmes Graphiques\n

\n

\n L’Université de Reims, 2012 & 2013\n

\n

\n Visual Systems\n

\n

\n Paris College of Art, 2013\n

\n

\n Persistence of Visions\n

\n

\n Graphic Design Festival. Breda, 2012\n

\n

\n Creative Code & Silkscreen\n

\n

\n École d’Art d’Aix-en-Provence, 2012\n

\n

\n La Typographie Générative\n

\n

\n Rencontres Internationales de Lure Festival, 2011\n

\n

\n Algorithmes Sérigraphies\n

\n

\n La Fabrique Pola, Bordeaux, 2011\n

\n
\n

\n\n

Selected Lectures

\n
\n
\n

\n I've had the great opportunity to talk extensively about the role of\n generative and computational approaches in graphic design and art at\n large. Most of my talks refer to a variety of contemporary artists and\n designers as well as occasionaly digging into the past history of\n algorithmic art. It has equally been a great pleasure to organise events\n around creative coding and invite many talented speakers to share their\n precious knowledge.\n

\n
\n

\n\n
\n

On The Shoulder Of Giants

\n

ESAD d’Amiens, France, 2018

\n\n

Code, dessin & SAM

\n

La Librairie Mollat, Bordeaux, 2017

\n

Textes & Transformations

\n

École Supérieure d’Art de Lorraine, 2016

\n

Designing Programs

\n

UFR des Arts, Amiens, 2016

\n\n

Processing Paris

\n

La Fonderie de l'Image, Paris 2010 - 2015

\n

co:de/*sign;

\n

ESAD d’Amiens, France, 2014

\n

Design Génératif

\n

ESAV Marrakech, Morocco, 2014

\n

Looking Back to The Beginnings of Computer Art.

\n

Hochschule für Künste. Bremen, Germany, 2013

\n

Design Génératif

\n

FRAC Centre Turbulences d’Orléans, France, 2013

\n

Design Génératif

\n

Montpellier, France, 2013

\n

Designing Programs

\n

Rencontres Internationales de Lure Festival. Lure, France, 2010

\n
\n\n

\n\n

Selected Writings & Publications

\n
\n
\n

Some of my works have made the press and I have also dabbled in a few writings for notable magazines. Writing is a means for articulating the finer parts of what observation often leaves bare and visceral. It helps shape and sharpen one's intellect.

\n
\n

\n
\n \n

\n Becoming a Graphic & Digital Designer\n

\n

\n Steven Heller & Véronique Vienne, 2016\n

\n

\n Go With The Data Flow\n

\n

\n Eye Magazine Spring, 2013\n

\n

\n 100 Assignments: The Future of The Foundation Course in Art & Design\n

\n

\n PCA Presse, 2013\n

\n

\n A Selection of Video Interviews\n

\n

\n DesignFlux, 2009 - 2012\n

\n

\n Processing In Process\n

\n

\n Étapes N°206, 2012\n

\n

\n Seeds of Digital Romanticism\n

\n

\n Eye Magazine n°80 Summer, 2011\n

\n

\n The Animated Life of Jeff Scher\n

\n

\n Motionographer. 2009\n

\n

\n Mapping The Terrain: Not Static\n

\n

\n Varoom The Journal of Illustration. Issue 07, 2008\n

\n

\n Motion Blur 2 - Book Review\n

\n

\n Varoom The Journal of Illustration. Issue 06, 2008\n

\n

\n Mario Hugo A Modern Romantic\n

\n

\n Varoom The Journal of Illustration. Issue 05, 2007\n

\n \n
\n \n\n\n
\n )\n}\n\nexport default AboutPage\n","import React from \"react\"\nimport Header from \"./header\"\nimport Footer from \"./footer\"\nimport \"../styles/main.scss\"\nimport layoutStyles from \"./layout.module.scss\"\n\nconst Layout = (props) => {\n\n return(\n \n
\n
\n
\n { props.children } \n
\n \n )\n}\n\nexport default Layout","import React from \"react\"\nimport { Link } from \"gatsby\"\nimport navStyles from \"./nav.module.scss\"\n\nconst Header = () => {\n return ( \n \n )\n}\n\nexport default Header\n\n","import React from \"react\"\n\nconst Footer = () => {\n\n return (\n \n )\n}\n\nexport default Footer\n\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\nimport Link, {\n withPrefix,\n withAssetPrefix,\n navigate,\n push,\n replace,\n navigateTo,\n parsePath,\n} from \"gatsby-link\"\nimport PageRenderer from \"./public-page-renderer\"\nimport loader from \"./loader\"\n\nconst prefetchPathname = loader.enqueue\n\nconst StaticQueryContext = React.createContext({})\n\nfunction StaticQueryDataRenderer({ staticQueryData, data, query, render }) {\n const finalData = data\n ? data.data\n : staticQueryData[query] && staticQueryData[query].data\n\n return (\n \n {finalData && render(finalData)}\n {!finalData &&
Loading (StaticQuery)
}\n
\n )\n}\n\nconst StaticQuery = props => {\n const { data, query, render, children } = props\n\n return (\n \n {staticQueryData => (\n \n )}\n \n )\n}\n\nconst useStaticQuery = query => {\n if (\n typeof React.useContext !== `function` &&\n process.env.NODE_ENV === `development`\n ) {\n throw new Error(\n `You're likely using a version of React that doesn't support Hooks\\n` +\n `Please update React and ReactDOM to 16.8.0 or later to use the useStaticQuery hook.`\n )\n }\n const context = React.useContext(StaticQueryContext)\n if (context[query] && context[query].data) {\n return context[query].data\n } else {\n throw new Error(\n `The result of this StaticQuery could not be fetched.\\n\\n` +\n `This is likely a bug in Gatsby and if refreshing the page does not fix it, ` +\n `please open an issue in https://github.com/gatsbyjs/gatsby/issues`\n )\n }\n}\n\nStaticQuery.propTypes = {\n data: PropTypes.object,\n query: PropTypes.string.isRequired,\n render: PropTypes.func,\n children: PropTypes.func,\n}\n\nfunction graphql() {\n throw new Error(\n `It appears like Gatsby is misconfigured. Gatsby related \\`graphql\\` calls ` +\n `are supposed to only be evaluated at compile time, and then compiled away. ` +\n `Unfortunately, something went wrong and the query was left in the compiled code.\\n\\n` +\n `Unless your site has a complex or custom babel/Gatsby configuration this is likely a bug in Gatsby.`\n )\n}\n\nexport {\n Link,\n withAssetPrefix,\n withPrefix,\n graphql,\n parsePath,\n navigate,\n push, // TODO replace for v3\n replace, // TODO remove replace for v3\n navigateTo, // TODO: remove navigateTo for v3\n StaticQueryContext,\n StaticQuery,\n PageRenderer,\n useStaticQuery,\n prefetchPathname,\n}\n","const preferDefault = m => (m && m.default) || m\n\nif (process.env.BUILD_STAGE === `develop`) {\n module.exports = preferDefault(require(`./public-page-renderer-dev`))\n} else if (process.env.BUILD_STAGE === `build-javascript`) {\n module.exports = preferDefault(require(`./public-page-renderer-prod`))\n} else {\n module.exports = () => null\n}\n","import React from \"react\"\nimport PropTypes from \"prop-types\"\n\nimport InternalPageRenderer from \"./page-renderer\"\n\nconst ProdPageRenderer = ({ location, pageResources }) => {\n if (!pageResources) {\n return null\n }\n return React.createElement(InternalPageRenderer, {\n location,\n pageResources,\n ...pageResources.json,\n })\n}\n\nProdPageRenderer.propTypes = {\n location: PropTypes.shape({\n pathname: PropTypes.string.isRequired,\n }).isRequired,\n}\n\nexport default ProdPageRenderer\n"],"sourceRoot":""}