<!DOCTYPE html><html><head><meta charSet="utf-8"/><meta http-equiv="x-ua-compatible" content="ie=edge"/><meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"/><style data-href="/styles.8fa41638a9b15333f8ba.css" data-identity="gatsby-global-css">.command-line-prompt{border-right:1px solid #999;display:block;float:left;font-size:100%;letter-spacing:-1px;margin-right:1em;pointer-events:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.command-line-prompt>span:before{color:#999;content:" ";display:block;padding-right:.8em}.command-line-prompt>span[data-user]:before{content:"[" attr(data-user) "@" attr(data-host) "] $"}.command-line-prompt>span[data-user=root]:before{content:"[" attr(data-user) "@" attr(data-host) "] #"}.command-line-prompt>span[data-prompt]:before{content:attr(data-prompt)}

/*! normalize.css v2.1.1 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;background:#fff;color:#000;font-family:sans-serif}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{font-size:2em;margin:0 0 .67em}h1,h2,h3,h4,h5,h6{font-weight:400}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}hr{box-sizing:content-box;height:0}mark{background:#ff0;color:#000}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"“" "”" "‘" "’"}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}button,input{line-height:normal}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}.wrap.get-in-touch .buttons input,aside.nav :not(header) a,nav.social ul{transition:all .2s linear}@media screen and (max-width:400px){@-ms-viewport{width:320px}}code[class*=language-],pre[class*=language-]{color:#000;direction:ltr;font-family:Consolas,Monaco,Andale Mono,monospace;-webkit-hyphens:none;-ms-hyphens:none;hyphens:none;-moz-tab-size:4;-o-tab-size:4;tab-size:4;text-align:left;text-shadow:0 1px #fff;white-space:pre;word-spacing:normal}@media print{code[class*=language-],pre[class*=language-]{text-shadow:none}}pre[class*=language-]{margin:.5em 0;overflow:auto;padding:1em}:not(pre)>code[class*=language-],pre[class*=language-]{background:#f6f5f5;font-size:.8em;max-height:16em;transition:height 1s linear;width:100%}:not(pre)>code[class*=language-]{border-radius:.3em;padding:.1em}.token.cdata,.token.comment,.token.doctype,.token.prolog{color:#708090}.token.punctuation{color:#999}.namespace{opacity:.7}.token.boolean,.token.number,.token.property,.token.tag{color:#905}.token.attr-name,.token.selector,.token.string{color:#690}.language-css .token.string,.style .token.string,.token.entity,.token.operator,.token.url{background:rgba(255,255,255,.5);color:#a67f59}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.important,.token.regex{color:#e90}.token.important{font-weight:700}.token.entity{cursor:help}*{box-sizing:"border-box"}::selection{background:#b3d4fc;text-shadow:#dedede 0 1px 0}#___gatsby,#gatsby-focus-wrapper,body,html{height:100%}.wrap{color:#464646;font-family:Ubuntu,Helvetica,Arial,sans-serif;font-size:22px;line-height:1.3em}@media only screen and (max-width:1024px){.wrap{font-size:20px}}@media only screen and (max-width:350px){.wrap{font-size:18px}}.wrap,.wrap aside.nav{background:url(/images/dust.png) #f5f5f6}h1{font-size:1.5em}h2,h3{font-size:1em}h1,h2{position:relative}h1 a,h2 a{text-decoration:none}small{font-size:.8em}h1 small{font-size:.5em}li{list-style:none}a:hover{text-decoration:none}code:not([class]){font-family:Ubuntu Mono}strong{font-weight:500}abbr{cursor:help}.wrap{display:table;height:100%;width:100%}.wrap,aside.nav{position:relative}aside.nav{table-layout:fixed;width:9em;z-index:1}@media only screen and (max-width:768px){aside.nav{*zoom:1;z-index:3}aside.nav:after,aside.nav:before{content:" ";display:table}aside.nav:after{clear:both}}.content,aside.nav{display:table-cell;height:auto;padding:1.25em;vertical-align:top}@media only screen and (max-width:768px){.content,aside.nav{display:block;width:100%}}.content{background:url(/images/soft_wallpaper.png) #e8e8e8;border-left:5px solid #464646;display:block;height:calc(100% - 2.5em);overflow:scroll;width:auto;z-index:2}.content,.content code:not([class]),.content em,.content h1,.content h2,.content strong,.content ul li{position:relative}.content h1{padding-left:.8em}.content h2{padding-left:1.6em}.content em{padding:0 .6em}.content strong{padding:0 1.1em}.content code{margin:0 .6em}.content ul,.content ul li{padding-left:1em}.content ul li{margin-bottom:.25em}.content code:after,.content code:before,.content em:after,.content em:before,.content h1:before,.content h2:before,.content strong:after,.content strong:before{position:absolute;top:0}.content em:before,.content h1:before,.content h2:before,.content strong:before{left:0}.content em:after,.content strong:after{right:.1em}.content code{position:relative}.content code:after,.content code:before{display:block}.content code:after{right:-.6em}.content code:before{left:-.6em}.content pre code{margin:0}.content pre code:after,.content pre code:before{display:none}.content ul li:before{left:0;position:absolute}.content h1:before{content:"#"}.content h2:before{content:"##"}.content em:after,.content em:before{content:"*"}.content strong:after,.content strong:before{content:"**"}.content code:after,.content code:before{content:"`"}.content ul li{list-style:none;position:relative}.content ul li:before{content:"+"}.content ul li p:first-child{display:inline}.content ol li{list-style:decimal}.content .no-md code:not([class]):after,.content .no-md code:not([class]):before,.content .no-md em:after,.content .no-md em:before,.content .no-md h1:before,.content .no-md h2:before,.content .no-md li:before,.content .no-md strong:after,.content .no-md strong:before{display:none}.content .no-md h1,.content .no-md h2{padding-left:0}.content .no-md code,.content .no-md em,.content .no-md strong{padding:0}.content .no-md ul li{list-style:disc}.content blockquote{background:#f6f5f5;margin:0;padding:1em;position:relative}.content blockquote p{margin:0}.content blockquote cite{display:block;font-style:normal;text-align:right}.content blockquote cite:before{content:"–";left:-.3em;position:relative}.content blockquote:after,.content blockquote:before{font-size:2.1em;position:absolute;top:0}.content blockquote:before{content:"“";left:.1em}.content blockquote:after{content:"”";right:.1em}@media only screen and (max-width:768px){.content{border-left:none;border-top:5px solid #464646}}@media only screen and (max-width:669px){.content{border-bottom:5px solid #464646;margin-bottom:225px}}nav.pagination{border-top:1px dashed #464646;margin-top:1em}nav.pagination ul{list-style:none;padding:0}.content nav.pagination ul li{padding-left:0}.content nav.pagination ul li:before{display:none}nav.pagination li{float:left;margin-right:1em}nav.pagination li.disabled{display:none}aside.nav header{text-align:center}aside.nav header a{color:#464646}aside.nav h1{padding-left:0}aside.nav h1 small{display:block}@media only screen and (max-width:768px){aside.nav h1{margin:.4em 0 0}}@media only screen and (max-width:669px){aside.nav h1{margin:0 0 .4em}}@media only screen and (max-width:768px){aside.nav header{float:left}aside.nav img{height:130px}}@media only screen and (max-width:669px){aside.nav{padding-bottom:.5em;padding-top:.5em;position:static}aside.nav header{display:block;float:none;margin:0 auto;width:11em}aside.nav header>a{float:left;margin-right:1em}aside.nav header h1{text-align:left}aside.nav img{height:55px}}nav.main ul{padding-left:0}nav.main a{background:#fff;border:2px solid #e1e1e1;border-left:5px solid #464646;display:block;margin-bottom:.27em;margin-right:-1.3em;padding:.8em .75em;position:relative;text-decoration:none}nav.main a.active,nav.main a:hover{border-left-width:15px}nav.main a:after,nav.main a:before{background:#e1e1e1;content:"";height:2px;left:-5px;position:absolute;width:5px}nav.main a:before{top:-2px}nav.main a:after{bottom:-2px}nav.main .blog{border-left-color:#1a5274;color:#1a5274}nav.main .blog.active,nav.main .blog:hover{border-color:#1a5274}nav.main .blog:after,nav.main .blog:before{background:#1a5274}nav.main .get-in-touch{border-left-color:#409b1c;color:#409b1c}nav.main .get-in-touch.active,nav.main .get-in-touch:hover{border-color:#409b1c}nav.main .get-in-touch:after,nav.main .get-in-touch:before{background:#409b1c}nav.main .work{border-left-color:#b55a21;color:#b55a21}nav.main .work.active,nav.main .work:hover{border-color:#b55a21}nav.main .work:after,nav.main .work:before{background:#b55a21}nav.main .about{border-left-color:#871869;color:#871869}nav.main .about.active,nav.main .about:hover{border-color:#871869}nav.main .about:after,nav.main .about:before{background:#871869}@media only screen and (max-width:768px){nav.main{float:left;margin-left:2em}nav.main ul{margin:0}nav.main li{float:left;margin-bottom:.8em;margin-right:5%;width:45%}nav.main a{margin-right:0;text-align:center}nav.main a,nav.main a.active,nav.main a:hover{border-left-width:2px}nav.main a:after,nav.main a:before{display:none}}@media only screen and (max-width:669px){nav.main{bottom:58px;float:none;margin-left:0;position:absolute;width:93%}nav.main li{margin-bottom:.5em}}.social-codepen{background-image:url(/images/social/codepen.png)}.social-github{background-image:url(/images/social/github.png)}.social-linkedin{background-image:url(/images/social/linkedin.png)}.social-twitter{background-image:url(/images/social/twitter.png)}[class*=social-]{background-repeat:no-repeat;display:block;height:34px;text-indent:-300px;width:34px}[class*=social-]:not(:hover){-webkit-filter:grayscale(100%);filter:grayscale(100%)}nav.social{margin-right:-1em}nav.social ul{overflow:hidden;padding-left:0;text-align:center}nav.social ul:not(:hover){opacity:.5}nav.social ul li{float:left;margin-bottom:.5em;margin-left:.5em;overflow:hidden}nav.social ul li:first-child{margin-left:0}@media only screen and (max-width:1024px){nav.social ul li{margin-left:.2em}}@media only screen and (max-width:768px){nav.social{float:left;margin-left:2em}nav.social ul{margin:0}nav.social ul li{margin-left:.5em}}@media only screen and (max-width:669px){nav.social{bottom:0;float:none;margin-left:0;position:absolute}nav.social ul li{margin-left:1.5em}}.wrap.blog .container,.wrap.blog .content{border-color:#1a5274}.wrap.blog .container a,.wrap.blog .container blockquote:after,.wrap.blog .container blockquote:before,.wrap.blog .container h1,.wrap.blog .container h2,.wrap.blog .container h3,.wrap.blog .container h4,.wrap.blog .container h5,.wrap.blog .container h6,.wrap.blog .content a,.wrap.blog .content blockquote:after,.wrap.blog .content blockquote:before,.wrap.blog .content h1,.wrap.blog .content h2,.wrap.blog .content h3,.wrap.blog .content h4,.wrap.blog .content h5,.wrap.blog .content h6{color:#1a5274}.wrap.blog ::selection{background:rgba(26,82,116,.2)}.wrap.blog .post h1 small,.wrap.blog .posts h1 small{display:block}.wrap.blog .posts article{border-top:1px solid #464646;margin-top:1em;padding-top:1em}.wrap.blog .posts article:first-child{border-top:none;margin-top:0;padding-top:0}.wrap.blog .post ul{padding-left:0}.wrap.blog .post footer{border-top:1px solid #464646;padding-top:1em}.wrap.blog .post img{max-width:100%}.wrap.get-in-touch .container,.wrap.get-in-touch .content{border-color:#409b1c}.wrap.get-in-touch .container a,.wrap.get-in-touch .container blockquote:after,.wrap.get-in-touch .container blockquote:before,.wrap.get-in-touch .container h1,.wrap.get-in-touch .container h2,.wrap.get-in-touch .container h3,.wrap.get-in-touch .container h4,.wrap.get-in-touch .container h5,.wrap.get-in-touch .container h6,.wrap.get-in-touch .content a,.wrap.get-in-touch .content blockquote:after,.wrap.get-in-touch .content blockquote:before,.wrap.get-in-touch .content h1,.wrap.get-in-touch .content h2,.wrap.get-in-touch .content h3,.wrap.get-in-touch .content h4,.wrap.get-in-touch .content h5,.wrap.get-in-touch .content h6{color:#409b1c}.wrap.get-in-touch ::selection{background:rgba(64,155,28,.2)}.wrap.get-in-touch .content ul{padding-left:0}.wrap.get-in-touch .content li{margin-bottom:.5em;padding-left:0;position:relative}.wrap.get-in-touch .content li:before{display:none}.wrap.get-in-touch label{display:block}.wrap.get-in-touch input:not([type=submit]),.wrap.get-in-touch textarea{padding:.1em .4em}.wrap.get-in-touch .large{width:100%}.wrap.get-in-touch .buttons input{background:#f6f5f5;border:2px solid #409b1c;color:#409b1c}.wrap.get-in-touch .buttons input:hover:not(:active){background:#409b1c;color:#f6f5f5}.wrap.work .container,.wrap.work .content{border-color:#b55a21}.wrap.work .container a,.wrap.work .container blockquote:after,.wrap.work .container blockquote:before,.wrap.work .container h1,.wrap.work .container h2,.wrap.work .container h3,.wrap.work .container h4,.wrap.work .container h5,.wrap.work .container h6,.wrap.work .content a,.wrap.work .content blockquote:after,.wrap.work .content blockquote:before,.wrap.work .content h1,.wrap.work .content h2,.wrap.work .content h3,.wrap.work .content h4,.wrap.work .content h5,.wrap.work .content h6{color:#b55a21}.wrap.work ::selection{background:rgba(181,90,33,.2)}.wrap.work .content ul{padding-left:0}.wrap.work .content li{background:#f6f5f5;border:1px solid #e1e1e1;float:left;margin-bottom:1em;margin-right:2.5%;padding:.4em;width:45%}.wrap.work .content li:nth-child(2n){margin-right:0}.wrap.work .content li h2{margin-top:0}.wrap.work .content li img{width:100%}.wrap.work .content li h2,.wrap.work .content li img{margin-bottom:.3em}.wrap.work .content li p{margin:0}@media only screen and (max-width:669px){.wrap.work .content li{width:100%}}.wrap.about .container,.wrap.about .content{border-color:#871869}.wrap.about .container a,.wrap.about .container blockquote:after,.wrap.about .container blockquote:before,.wrap.about .container h1,.wrap.about .container h2,.wrap.about .container h3,.wrap.about .container h4,.wrap.about .container h5,.wrap.about .container h6,.wrap.about .content a,.wrap.about .content blockquote:after,.wrap.about .content blockquote:before,.wrap.about .content h1,.wrap.about .content h2,.wrap.about .content h3,.wrap.about .content h4,.wrap.about .content h5,.wrap.about .content h6{color:#871869}.wrap.about ::selection{background:rgba(135,24,105,.2)}.wrap.about pre[class*=language-]{max-height:none}.wrap.bootstrap{height:auto}.wrap.bootstrap .container,.wrap.bootstrap .content{border-color:#409b1c}.wrap.bootstrap .container a,.wrap.bootstrap .container blockquote:after,.wrap.bootstrap .container blockquote:before,.wrap.bootstrap .container h1,.wrap.bootstrap .container h2,.wrap.bootstrap .container h3,.wrap.bootstrap .container h4,.wrap.bootstrap .container h5,.wrap.bootstrap .container h6,.wrap.bootstrap .content a,.wrap.bootstrap .content blockquote:after,.wrap.bootstrap .content blockquote:before,.wrap.bootstrap .content h1,.wrap.bootstrap .content h2,.wrap.bootstrap .content h3,.wrap.bootstrap .content h4,.wrap.bootstrap .content h5,.wrap.bootstrap .content h6{color:#409b1c}.wrap.bootstrap ::selection{background:rgba(64,155,28,.2)}.wrap.bootstrap .container{box-sizing:border-box;margin:0 auto;max-width:1000px;padding:20px}.wrap.bootstrap ul li{list-style:disc}.wrap.bootstrap h2{font-size:1.2em}.wrap.not-found .container,.wrap.not-found .content{border-color:#ab1f35}.wrap.not-found .container a,.wrap.not-found .container blockquote:after,.wrap.not-found .container blockquote:before,.wrap.not-found .container h1,.wrap.not-found .container h2,.wrap.not-found .container h3,.wrap.not-found .container h4,.wrap.not-found .container h5,.wrap.not-found .container h6,.wrap.not-found .content a,.wrap.not-found .content blockquote:after,.wrap.not-found .content blockquote:before,.wrap.not-found .content h1,.wrap.not-found .content h2,.wrap.not-found .content h3,.wrap.not-found .content h4,.wrap.not-found .content h5,.wrap.not-found .content h6{color:#ab1f35}.wrap.not-found ::selection{background:rgba(171,31,53,.2)}.wrap.konami .content{-webkit-animation-name:discoBorder;animation-name:discoBorder}.wrap.konami a,.wrap.konami blockquote:after,.wrap.konami blockquote:before,.wrap.konami h1,.wrap.konami h2,.wrap.konami h3,.wrap.konami h4,.wrap.konami h5,.wrap.konami h6{-webkit-animation-name:discoText;animation-name:discoText}.wrap.konami .content,.wrap.konami a,.wrap.konami blockquote:after,.wrap.konami blockquote:before,.wrap.konami h1,.wrap.konami h2,.wrap.konami h3,.wrap.konami h4,.wrap.konami h5,.wrap.konami h6{-webkit-animation-duration:1s;animation-duration:1s;-webkit-animation-iteration-count:infinite;animation-iteration-count:infinite;-webkit-animation-timing-function:linear;animation-timing-function:linear}@-webkit-keyframes discoBorder{0%{border-color:#1a5274}20%{border-color:#409b1c}40%{border-color:#b55a21}60%{border-color:#871869}80%{border-color:#ab1f35}to{border-color:#1a5274}}@keyframes discoBorder{0%{border-color:#1a5274}20%{border-color:#409b1c}40%{border-color:#b55a21}60%{border-color:#871869}80%{border-color:#ab1f35}to{border-color:#1a5274}}@-webkit-keyframes discoText{0%{color:#1a5274}20%{color:#409b1c}40%{color:#b55a21}60%{color:#871869}80%{color:#ab1f35}to{color:#1a5274}}@keyframes discoText{0%{color:#1a5274}20%{color:#409b1c}40%{color:#b55a21}60%{color:#871869}80%{color:#ab1f35}to{color:#1a5274}}.github-ribbon{background-color:#353535;background-image:linear-gradient(#232323,#464646);overflow:hidden}.github-ribbon a{border:1px solid tint(#464646,80%);color:#fff!important;display:block;font-size:.7em;margin:.05em 0 .075em;padding:.5em 3.5em;text-align:center;text-decoration:none;text-shadow:0 0 .5em #444}.csstransforms .github-ribbon{box-shadow:0 0 1em #888;position:absolute;right:-2.75em;top:2em;-webkit-transform:rotate(45deg);transform:rotate(45deg)}.embedly-card-hug{margin:5px 0!important}.important-note{background:#f6f5f5;border-top:2px solid #1a5274;padding:1em}.ir{background-color:transparent;border:0;overflow:hidden;*text-indent:-9999px}.ir:before{content:"";display:block;height:150%;width:0}.hidden{display:none!important;visibility:hidden}.visuallyhidden{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.visuallyhidden.focusable:active,.visuallyhidden.focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.invisible{visibility:hidden}.content,nav.main ul,nav.pagination{*zoom:1}.content:after,.content:before,nav.main ul:after,nav.main ul:before,nav.pagination:after,nav.pagination:before{content:" ";display:table}.content:after,nav.main ul:after,nav.pagination:after{clear:both}</style><meta name="generator" content="Gatsby 3.8.1"/><title data-react-helmet="true">Personal Website of Rémy Bach · Personal Website of Rémy Bach</title><meta data-react-helmet="true" name="description"/><meta data-react-helmet="true" property="og:url" content="https://remy.bach.me.uk/"/><meta data-react-helmet="true" property="og:title" content="Personal Website of Rémy Bach"/><meta data-react-helmet="true" name="twitter:card" content="summary_large_image"/><meta data-react-helmet="true" name="twitter:creator" content="remybach"/><meta data-react-helmet="true" name="twitter:title" content="Personal Website of Rémy Bach"/><meta data-react-helmet="true" property="og:type" content="website"/><link rel="preconnect" href="https://www.google-analytics.com"/><link rel="dns-prefetch" href="https://www.google-analytics.com"/><script data-gatsby="web-vitals-polyfill">
            !function(){var e,t,n,i,r={passive:!0,capture:!0},a=new Date,o=function(){i=[],t=-1,e=null,f(addEventListener)},c=function(i,r){e||(e=r,t=i,n=new Date,f(removeEventListener),u())},u=function(){if(t>=0&&t<n-a){var r={entryType:"first-input",name:e.type,target:e.target,cancelable:e.cancelable,startTime:e.timeStamp,processingStart:e.timeStamp+t};i.forEach((function(e){e(r)})),i=[]}},s=function(e){if(e.cancelable){var t=(e.timeStamp>1e12?new Date:performance.now())-e.timeStamp;"pointerdown"==e.type?function(e,t){var n=function(){c(e,t),a()},i=function(){a()},a=function(){removeEventListener("pointerup",n,r),removeEventListener("pointercancel",i,r)};addEventListener("pointerup",n,r),addEventListener("pointercancel",i,r)}(t,e):c(t,e)}},f=function(e){["mousedown","keydown","touchstart","pointerdown"].forEach((function(t){return e(t,s,r)}))},p="hidden"===document.visibilityState?0:1/0;addEventListener("visibilitychange",(function e(t){"hidden"===document.visibilityState&&(p=t.timeStamp,removeEventListener("visibilitychange",e,!0))}),!0);o(),self.webVitals={firstInputPolyfill:function(e){i.push(e),u()},resetFirstInputPolyfill:o,get firstHiddenTime(){return p}}}();
          </script><link as="script" rel="preload" href="/webpack-runtime-f1864e4e55d52af26a9e.js"/><link as="script" rel="preload" href="/framework-d37ad8964cade2eb7b64.js"/><link as="script" rel="preload" href="/app-7158235d83ffac57bc6d.js"/><link as="script" rel="preload" href="/d2f76179707c0096c790a0e6311ca508974c7432-bfa08f3a271fde143cfd.js"/><link as="script" rel="preload" href="/component---src-templates-blog-list-js-c6be3245e929fb6ca74e.js"/><link as="fetch" rel="preload" href="/page-data/index/page-data.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/sq/d/1736340285.json" crossorigin="anonymous"/><link as="fetch" rel="preload" href="/page-data/app-data.json" crossorigin="anonymous"/></head><body><div id="___gatsby"><div style="outline:none" tabindex="-1" id="gatsby-focus-wrapper"><div class="wrap blog"><aside class="nav"><header><a aria-current="page" class="" href="/"><img src="/images/face.gif" alt=""/></a><h1><a aria-current="page" class="" href="/">Rémy Bach<small>Front End Developer</small></a></h1></header><nav class="main"><ul><li><a aria-current="page" class="blog active" href="/">Blog</a></li><li><a class="get-in-touch" href="/get-in-touch">Get in touch</a></li><li><a class="work" href="/work">Work</a></li><li><a class="about" href="/about">About me</a></li></ul></nav><nav class="social"><ul><li><a href="http://lnkd.in/XxFHCQ" class="social-linkedin">LinkedIn</a></li><li><a href="https://github.com/remybach" class="social-github">remybach on github</a></li><li><a href="http://codepen.io/remybach" class="social-codepen">remybach on codepen</a></li></ul></nav></aside><div class="content"><div class="posts"><article><header><h1><a class="blog" href="/blog/2020/03/04-alfred">Reasons I love Alfred #1</a><small>Posted on: <!-- -->March 04, 2020</small></h1></header><p>Just another reason I love Alfred: tidying up copied URLs</p><footer><a class="blog" href="/blog/2020/03/04-alfred">Read more...</a></footer></article><article><header><h1><a class="blog" href="/blog/2020/01/31-twil">2020-01-31 TWIL</a><small>Posted on: <!-- -->January 31, 2020</small></h1></header><p>Things I learned this week, TL;DR: Local npm dependencies, code visualiser, Jugger</p><footer><a class="blog" href="/blog/2020/01/31-twil">Read more...</a></footer></article><article><header><h1><a class="blog" href="/blog/2019/08/07-twil">2019-08-07 TWIL</a><small>Posted on: <!-- -->August 07, 2019</small></h1></header><p>Things I learned this week, TL;DR: Autocomplete, pigeon messaging, mocha debugging, 3 day effect, white/background noise</p><footer><a class="blog" href="/blog/2019/08/07-twil">Read more...</a></footer></article><article><header><h1><a class="blog" href="/blog/2019/05/13-twil">2019-05-13 TWIL</a><small>Posted on: <!-- -->May 13, 2019</small></h1></header><p>Things I learned this week, TL;DR: offsetParent, skip CI, vulcanised rubber, heihei salt</p><footer><a class="blog" href="/blog/2019/05/13-twil">Read more...</a></footer></article><article><header><h1><a class="blog" href="/blog/2019/04/08-twil">2019-04-08 TWIL</a><small>Posted on: <!-- -->April 08, 2019</small></h1></header><p>Things I learned this week, TL;DR: node_modules indexing in OSX, Lambda Function Versioning, Livi, HSP</p><footer><a class="blog" href="/blog/2019/04/08-twil">Read more...</a></footer></article></div><nav class="pagination"><ul><li class="disabled"><span>Previous</span></li><li class="active"><span>1</span></li><li><a href="/blog/2">2</a></li><li><a href="/blog/3">3</a></li><li><a href="/blog/4">4</a></li><li><a href="/blog/5">5</a></li><li><a href="/blog/6">6</a></li><li><a href="/blog/7">7</a></li><li><a href="/blog/8">8</a></li><li><a href="/blog/9">9</a></li><li><a href="/blog/10">10</a></li><li><a href="/blog/11">11</a></li><li><a href="/blog/12">12</a></li><li><a href="/blog/13">13</a></li><li><a href="/blog/2">Next</a></li></ul></nav></div><script async="" src="//cdn.embedly.com/widgets/platform.js" charSet="UTF-8"></script></div></div><div id="gatsby-announcer" style="position:absolute;top:0;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0" aria-live="assertive" aria-atomic="true"></div></div><script>
  
  function gaOptout(){document.cookie=disableStr+'=true; expires=Thu, 31 Dec 2099 23:59:59 UTC;path=/',window[disableStr]=!0}var gaProperty='G-RCQCHFV8F4',disableStr='ga-disable-'+gaProperty;document.cookie.indexOf(disableStr+'=true')>-1&&(window[disableStr]=!0);
  if(!(parseInt(navigator.doNotTrack) === 1 || parseInt(window.doNotTrack) === 1 || parseInt(navigator.msDoNotTrack) === 1 || navigator.doNotTrack === "yes")) {
    (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
    (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
    m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
    })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  }
  if (typeof ga === "function") {
    ga('create', 'G-RCQCHFV8F4', 'remy.bach.me.uk', {"sampleRate":5,"siteSpeedSampleRate":10});
      ga('set', 'anonymizeIp', true);
      
      
      
      
      }</script><script id="gatsby-script-loader">/*<![CDATA[*/window.pagePath="/";/*]]>*/</script><script id="gatsby-chunk-mapping">/*<![CDATA[*/window.___chunkMapping={"polyfill":["/polyfill-28d45f4f07220685f010.js"],"app":["/app-7158235d83ffac57bc6d.js"],"component---src-pages-404-js":["/component---src-pages-404-js-b9f5408ada1386efe764.js"],"component---src-pages-about-js":["/component---src-pages-about-js-95fe54e0b1d74489a8a4.js"],"component---src-pages-get-in-touch-index-js":["/component---src-pages-get-in-touch-index-js-45e6330890424ead2a38.js"],"component---src-pages-get-in-touch-thanks-js":["/component---src-pages-get-in-touch-thanks-js-959753c9661a01fd52a8.js"],"component---src-pages-work-js":["/component---src-pages-work-js-60e472e3d81e72f1ae0d.js"],"component---src-templates-blog-list-js":["/component---src-templates-blog-list-js-c6be3245e929fb6ca74e.js"],"component---src-templates-blog-post-js":["/component---src-templates-blog-post-js-728beca711e0c7cce594.js"]};/*]]>*/</script><script src="/polyfill-28d45f4f07220685f010.js" nomodule=""></script><script src="/component---src-templates-blog-list-js-c6be3245e929fb6ca74e.js" async=""></script><script src="/d2f76179707c0096c790a0e6311ca508974c7432-bfa08f3a271fde143cfd.js" async=""></script><script src="/app-7158235d83ffac57bc6d.js" async=""></script><script src="/framework-d37ad8964cade2eb7b64.js" async=""></script><script src="/webpack-runtime-f1864e4e55d52af26a9e.js" async=""></script></body></html>