{"componentChunkName":"component---src-pages-index-tsx","path":"/","result":{"data":{"site":{"siteMetadata":{"title":"Coffee Code Climb"}},"allMarkdownRemark":{"edges":[{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Quick overview Here’s what I’ve been up to in Q4 of 2020: Building, building, building… And thinking about things like, “how to scale, and…","fields":{"slug":"/2020/12/16/new-features-in-q4/"},"frontmatter":{"date":"December 16, 2020","title":"New Features I built in Q4 2020","description":"Recap of tech I learned and features I built in Q4 2020 - Passwordless Login, Mobile-correct avatar crop & upload, a nice UI, and Github Discussions","tags":["aws","cognito","dynamodb","github","vercel","passwordless login"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAYAAAAywQxIAAAACXBIWXMAABYlAAAWJQFJUiTwAAACRElEQVQozz2SXUhTYRjHz9zOdB/CJLvyQuomQuiiC6PoTqg0yT7Umy66iG5CQsNSi26qi8iKCCLDiDIhJAxGZTehEfR5ZS1X2qaHvs7W3JY7OzvbOdt+7bySLzzwwsv7e3//53mlxC8Nw7DIZnWMnM75/gFa9nazu/UgLbv20bH/MOMjzxm9HmTn1i10bG9g3Xo/kiSJamhoZFvzDrF3Op1IxZLF0pKCoijYa/zeXdoOdNHa3k1bexfDF+7w9tkCM5Nz7Glt4fZQE00bAgJQ7ZbxemT8fj+BQICamhqkQqGApmUwTZNSqSSghmby5U2S0KtlxiciDI/McmsswsZNzWtmDocDl9PB5kY/suwSMI/Hg6TrOrlcrhI5i2VZAmo/8GNJJfw6wfxcgtAnlflwiksXb9Bz/CRnzp6jrq6O2tpa3G73alTbuLoayQbYlpZVxIYnkykWvkVI/00R/Rzn43Sc0MsYXz+opJcNkeBbZJH6+noR0+P1Cju7BDCl5imXi8IwFouTSCyjqjHypl65WkYJ/0FVNHQjTzKdwqp05cnTqUrffKJ3/0Eul0uUFFNWKmYZEVPTsmQymrCYCoYYPDFFcDLKz9/fiUQX0XN5cXZ/7AHeipkd2e6bDZVledUwEUth5HOVr2NgFU0yms7N0Yf09Q7Tc+QywcfveDE9I6x0oyCAV65ew+fzCagNWYtrDyw6mxJDMc0CRtYk/D7O0WND9A4N0jfQz8TkIwEpliG9smp/6vSAiGcb2mZVVVUC1tl5iH/LrttGs5BA4QAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/31f276c3770c7b0239cdb538c5fb2f95/0d226/q4-features.png","srcSet":"/static/31f276c3770c7b0239cdb538c5fb2f95/59d9a/q4-features.png 500w,\n/static/31f276c3770c7b0239cdb538c5fb2f95/b451b/q4-features.png 1000w,\n/static/31f276c3770c7b0239cdb538c5fb2f95/0d226/q4-features.png 2000w,\n/static/31f276c3770c7b0239cdb538c5fb2f95/7d512/q4-features.png 2590w","sizes":"(max-width: 2000px) 100vw, 2000px"}}}},"id":"b43f80ad-2877-5efe-be32-d089b0bf787c"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Preface Two weeks ago, I was given the opportunity at my workplace to work on a new backend microservice. It goes without saying that it was…","fields":{"slug":"/2020/07/26/atomicity-and-idempotency-for-dummies/"},"frontmatter":{"date":"July 26, 2020","title":"Atomicity and Idempotency For Dummies","description":"A semi overview of ACID, databases and SQL, from the perspective of someone who never really wrote raw SQL before.","tags":["database","postgres","sql","atomicity","idempotence"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACiElEQVQozzVSSWtTURR+iuJK/4MbQfAvSEEQdFN140Jd6KKLLnShqVDRVqigRVsqOHfANk1DbUmsaWJCmzbzi01e3vzy7vzGJla06i/wRuiBy4V7+c43nCN4DKWy+cHH78ffxUPfJYQSfg7KcV3PYYpNlurefM1LSR4ilDGKMe50OsLIy6VLQ7MXh2JjH1KaKjPmMP55UBzZ8eit1c6Z6Z/98b3xfOg5vXeMSRiGwrnBV9eeJC5EorefxXO5LESwJcsQQt6Bk5QNl3eKrIcnJv6cfP37/MLenVSHEMbV+b4vzK+kb47MPZiM9Q1MiGLNNI1kMinLsuc6GqBPN3fflnzVxi+2wsuxHnJB9FRAKcE9MEaosdMolcuxRKYoNnOlZna7hiCwEZMMWtfZTNmbKgSfRNeFkDKuBhuAW8ZBEAgA9PrYtl2vljMb23XZpIzH5LQBUS0KINPbpKrTqc1gLBfkNSbbWIPEhrDHXCwWE4nE8vLyyspqrVpFAFSqFVluQcxkiyoWlQzsUcRZ46L7VXG6PrYQ1my0G/pCOr3+eW2tKUmmaSqKoml6JpPhnh3XAYi4zOn4DsIEtHGXoO+esVBSTz23bkTt/a4nbG0XWopZrYmcTZJafE6qqvIw+cwCl2VFbTYnAQhDQopN3D9nHx42hYh56K7+pUGE3PpMRWwqqoYg4qVpHKtqusEBDIN4QRtdbSHbnMqCY8O6EDGEe/rxUatv2jn7BgjNRqUq7himxdk4tW7wLN2NfKFS4c6VbuAhiB0MFstIuG8ceWj2R93ry0FU3h9IhgL+v4887ZbUKjdrW99qVrsnwbKs3sXd8r1B+IdPrn60jj5qzzR+XVn0Tk+iNPj7D5+cKT5nOuNcAAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/ca5566539cb3584c6eb33878078bbc5d/0c65a/db-image.png","srcSet":"/static/ca5566539cb3584c6eb33878078bbc5d/59d9a/db-image.png 500w,\n/static/ca5566539cb3584c6eb33878078bbc5d/0c65a/db-image.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"3468d178-bf54-5882-8436-d56c205cee00"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Sometime back around February, I stumbled upon this Podcast Episode on Rust during one of my morning commutes to work, and was sold on…","fields":{"slug":"/2020/06/07/rust-and-serverless-blog-claps/"},"frontmatter":{"date":"June 07, 2020","title":"Rust and Serverless Blog Claps","description":"Recreating Medium's claps feature. Powered by serverless Rust AWS Lambda functions.","tags":["serverless","rust","aws","lambda","dynamodb"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABZklEQVQoz2VS2WrDMBD0/39NX0oJBAp9S5tCqXMQmzY1jWPikPqSZN3pSArCtPOgY3dnd2elxFp7ncAY8+PRti3WzgMH2K//kIQtZlBK1ae6LI9Zlr0sl5vNuioPRfGltYZXa2uMjfWS1WYnuJBSaQ+Y3tJ10zV/iqAyvKAZjxCcbFf7XVqdNNxWKUdeLrKn+z3yCanF0DTPd4IjPVx28dp+FtQY9KellMk48nN96QjhiBACSUeizgcemlOc8ePOulLQbL9L1rQKfcDpyEIKNjI+jrhQSjEnrHAf9u3QMaVdM6f8fT57oIwJzrwEJ8SRo3qnx6W/ev2GDBQHQApBejdwQkhd15dLv942NpLDDEDjHpQyqcSx6ChxwiGv/kgf57ORC/AxGiS9VWaMpWma5zkEI31VVX3fw8fY6MbiQSkZhgHR00/hyEEqEJ8KnBgES/we09e6DSyEAjFOTQBjOEg/gHgN+AU3g3svtjQwRgAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/4a78bf6f256a622833d2987a2b3ca171/0c65a/Serverless-Blog-Post-Claps.png","srcSet":"/static/4a78bf6f256a622833d2987a2b3ca171/59d9a/Serverless-Blog-Post-Claps.png 500w,\n/static/4a78bf6f256a622833d2987a2b3ca171/0c65a/Serverless-Blog-Post-Claps.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"db18f68d-1a6d-5fd1-9b01-1ea498f3d98f"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"After some time of focusing on other things (work, learning DynamoDB, building a Slack Clone), I’m back to Rust… and coding questions. Two…","fields":{"slug":"/2020/05/11/kids-with-the-greatest-number-of-candies/"},"frontmatter":{"date":"May 12, 2020","title":"Kids With The Greatest Number of Candies (Rust)","description":"Back to Rust, and coding questions. Two of my low hanging fruits.","tags":["code","rust","interview question","leet code","algorithm"],"image":null},"id":"1b51e2f1-fdf6-5ca0-a30e-97940ec593bf"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"After a pretty stressful day at work - getting assigned a drop everything and shift gears to ‘this’ type of task - I went to Central Rock…","fields":{"slug":"/2020/02/19/binary-tree-level-order-traversal/"},"frontmatter":{"date":"February 20, 2020","title":"Binary Tree Level Order Traversal","description":"5 minutes! Finished this one way way way faster than I expected.","tags":["leetcode","code","algorithms","binary tree","practice","level order traversal","javascript","rust"],"image":null},"id":"f672d704-0b5b-5c10-bf7a-ab69f915a7c3"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"gif Here’s a hopefully quick post about that one time I used recursion in React. Creating a TOC 4 Months Ago, I tried to recreate those cool…","fields":{"slug":"/2020/02/08/"},"frontmatter":{"date":"February 08, 2020","title":"Animated Table of Contents","description":"Ironically, right after doing some binary tree leetcode questions, I found a case where I could apply recursion in React.","tags":["code","recursion","gatsby","react","html-parse-stringify","gatsby-transformer-remark","intersection-observer"],"image":null},"id":"3b5afd91-c3b3-5dd5-b3e4-d93203a4015b"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Last night, in the mildewy smelling basemeent of some KBBQ restaurant near Flushing (NY), a few friends and I were talking about…","fields":{"slug":"/2020/02/02/"},"frontmatter":{"date":"February 02, 2020","title":"Univalued Binary Tree","description":"Getting back into writing, and practicing coding questions... but yuck.","tags":["leetcode","code","algorithms","binary tree","climbing","practice","training"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAPoAAAD6AG1e1JrAAABAklEQVQY03VR207DMAzd//8Rj5PghSe+YEhVt6ZN0pQutWPnUtyUsQ2JI8XykXN8PawVzjmllNbaGGOtHYah7/vJTYgo0fIAoRQochTnUNaNv3Rv758fptOqV6KXROdOWzebOcyYuH79BUdOOW3inV/a1o4OAwPSAkGcQCz2a17EEmfilFIuOctzOFGOd/Hr8dhc1Kk5t8rMQBgLcAYuGFexkw8zsIcACPsUkuQu/hm769w4rv+AKABAyeWvWAgzl7qaWLE1eIO48kf6v/qFmSQQ002873DoddM0Ut97L0sW/WPZFKMHlEVslUpJ+VlsjZH7ENFOn1ECgvfXUC+XK8T5Bqag0VEKHXn1AAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/888694787133ca0b81554a03ff03c73c/0c65a/unival.png","srcSet":"/static/888694787133ca0b81554a03ff03c73c/59d9a/unival.png 500w,\n/static/888694787133ca0b81554a03ff03c73c/0c65a/unival.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"84927ea6-c326-581b-9306-0be070ad469f"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"A little over a year ago, December 2018, is around when I really got serious about learning programming. One of the things I did to help…","fields":{"slug":"/2020/01/04/"},"frontmatter":{"date":"January 04, 2020","title":"Bye Bye RDS, Hello Docker + Postgres","description":"I just started learning postgres via AWS RDS, but my free year expired last month. The sadness....","tags":["docker","code","aws","rds","postgres"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAJCAIAAAC9o5sfAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABcUlEQVQoz3WQy0rDUBCG+5xuRN9AVMTLRrqw6rJ7QR9AtIuWglQEqYsKWhGji5gibdLEnpPkJD33c+KkWXgBZzHMwP/N/DM1Y0wYhr7vR1GUpikhJEmSPM+L32GtrYp3/yFOZlAAWFNKua7rOE4QBD9F/0U6vsGzCSF5CUMPPFRaa8aosRZaKSWltNls1uv1xkHj8PjIGTm2KOdq9w6H42iGgChhISRk75PuX7hKWykEjmOMca/Xa7fb/dv+5VVrrbXFFQcZfhqgqY9wzDkvYakU+H2e0KUTT2ojBQcyjmPGGChAgBje7O7OBYU6Jyn40ouoYA3ZCdjKmafMYnMJJzAeYWS1Dch0o7PDJAMZyQjA1f3VzSX8EtDlU6+yDdg8xVmCEMaFKaZZtN7ZruCfH/3e/Dplq4vNQgiak/O+dz384PPU6iLKP7e6e0yxP58vYXAPE1GS3b+O4UiYbbUavAUvo7Aw8I4io/mjO+SC/4G/AA8x9Cep7VO8AAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/dae4551a267a3e9a50006a1b0a684e1f/0c65a/aws-billing.png","srcSet":"/static/dae4551a267a3e9a50006a1b0a684e1f/59d9a/aws-billing.png 500w,\n/static/dae4551a267a3e9a50006a1b0a684e1f/0c65a/aws-billing.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"c4d54eed-0592-5b65-941f-f34eb85067e3"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Every now and then, someone says something that may not mean that much to themself, but ends up having a huge impact on me. Some time late…","fields":{"slug":"/nov-9-2019/"},"frontmatter":{"date":"November 09, 2019","title":"Generating a Level-Order Binary Tree from an Array","description":"My coworker indirectly made me realize that I don't know jack about binary trees. So I did some homework.","tags":["binary tree","computer science","algorithm","coding","exercise","javascript","recursion","code wars"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAANABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAME/8QAFQEBAQAAAAAAAAAAAAAAAAAAAAH/2gAMAwEAAhADEAAAAYaF4xKI/8QAGxAAAgMAAwAAAAAAAAAAAAAAAQIAERIDBBT/2gAIAQEAAQUCHWqZyG41Y+iXqMaP/8QAFBEBAAAAAAAAAAAAAAAAAAAAEP/aAAgBAwEBPwE//8QAFhEBAQEAAAAAAAAAAAAAAAAAAAEh/9oACAECAQE/AbGv/8QAGxAAAgEFAAAAAAAAAAAAAAAAAAECEBESIUH/2gAIAQEABj8CLG0RWPK//8QAGhAAAwADAQAAAAAAAAAAAAAAAAERITFBUf/aAAgBAQABPyFezbF0J5SkyChZLaZpseocg//aAAwDAQACAAMAAAAQzC//xAAWEQEBAQAAAAAAAAAAAAAAAAARADH/2gAIAQMBAT8QTZv/xAAXEQADAQAAAAAAAAAAAAAAAAAAAREh/9oACAECAQE/EKLBKdh//8QAGxAAAgIDAQAAAAAAAAAAAAAAAREAITFRcaH/2gAIAQEAAT8QLg+SIUINjZHy0UbwEB46UqIESuuVoDE//9k=","aspectRatio":1.6666666666666667,"src":"/static/96ee563c3d68bf5fd121855f490a58b3/bfe60/binarytree.jpg","srcSet":"/static/96ee563c3d68bf5fd121855f490a58b3/5f490/binarytree.jpg 500w,\n/static/96ee563c3d68bf5fd121855f490a58b3/bfe60/binarytree.jpg 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"490b4868-2326-59ab-b2d3-d18395fe1abf"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"A year ago, while I was still a fulltime receptionist and private barista, I started teaching myself React, and learning JavaScript as a…","fields":{"slug":"/nov-5-2019/"},"frontmatter":{"date":"November 05, 2019","title":"Python - What are *args & **kwargs?","description":"Python notes admist a sprint of mostly backend work.","tags":["code","python","args","kwargs","django","class"],"image":null},"id":"f9c1c666-9c19-57d5-92f3-ce2ae916435e"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Notes & Commands from my first real attempt at learning Docker (…but I probably spent more time fiddling with markdown styling & css of this…","fields":{"slug":"/oct-12-2019/"},"frontmatter":{"date":"October 12, 2019","title":"Docker","description":"What the dock?","tags":["docker","docker-compose","image","container","amazon","dynamodb"],"image":null},"id":"0af16d93-ad2b-55a9-a1b1-f5ded31aead1"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"TL;DR + Solution Revisiting a coding interview question that I failed, 6 months ago. There are 171 Sundays that fall on the first of the…","fields":{"slug":"/oct-1-2019/"},"frontmatter":{"date":"October 01, 2019","title":"Number of Sundays on the First of the Month, in the 20th Century","description":"Revisiting a coding interview question that I failed, 6 months ago.","tags":["sundays","first","month","20th century","algorithm","coding","interview","exercise","programming","for loop","typescript","javascript"],"image":null},"id":"17044167-7210-5d86-a7e0-6bde7fb6c720"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"It’s been 116 days (15 work weeks) since I started my first official engineering job, and it has been really great. I have an amazing…","fields":{"slug":"/aug-22-2019/"},"frontmatter":{"date":"August 23, 2019","title":"Day 116","description":"Dear diary, I've survived 15 weeks! This is what I have to show for it.","tags":["code","engineering","capsule","zeit","now","graphql","cypress","hooks","work","life","nyc"],"image":null},"id":"961099d5-5963-53d6-9705-8e587656fb0f"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Here are a few ways to cook a potato… I mean, write a React component. 1. Class (React.Component) I think class components are the first…","fields":{"slug":"/july-28-2019/"},"frontmatter":{"date":"July 28, 2019","title":"React components, done 4 ways","description":"I was bored, so I cooked up something...","tags":["code","react","hooks","components","higher order components","render props","formik","downshift","redux","recompose"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAMCAIAAADtbgqsAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACiUlEQVQoz2NgYmRkYGBQlBRfV6C8NEvGRYIt14ovSoczUpOjzIm/wUcwXo8r25wrSInNR4UzwoDXRoxLWkgIqAWkDaJZS15iTpxcd7BIoTVfvYdggRVXpSN3Z6BgZ4hIR7DgjASxMgeBKh/hlmCBGj8xJXERkGZGEAZplhUScRZmC5JiTtPnr3SUavNTnhxlMjnOalKk8YRwvZ4gpRwDTh91oWhr9UQzURVJYRTNSmLCoQocRSaCS7NtTkyLOd3tf68v+3RN4rnqlFO9Oaf7kzfm22RayvlryESpC6hJCqFoVhAWyrWSPdQfc7Ut5/6q9Bsz0re0JmwvCz9Sm7a2NO7+timnWlOONXu2OAtl63KpSqI5W1BgZqbr401VpyaXHpiRfWFZ8cnZ2Qsyg4935y1PCznQlbEty+tsU9KSYq8kdQ4NaZhmSICpSortqg/aVxW7vyhofUngkb6Q/RMCZ4Q4HZ0YfmN15pES73OzvK/MdjjW7BevLaImKYiiWV1W4srMlKfzm54uar5dk30zN+xUdvjJwqi3K4pOzYy9PNH96uyAs82uN2eE5tlrKgrzozhbjJt/ZY3/u5XlVzoq7nUXXS9NPB7jf6sn/NXCqHM9YXdXxx8qd7nX5nxiarCnvIiymCCKZilBgSBN+TMLM273pNxsyTwR43M0NuD+zJx7iyouz4u9udztVrPH/eXZWR5GEcoC5opi4AQC0wwMA18ZzgJLrZV1QfuaAs4Xu16Ic3swPfnZ/uJ702IuTQm4tyHqUKvt1BSXBUXhIYYyQC3MQN3QqJIUjzIUTTQWi1KVilYXr3ZTmRyoPjneZGm+7YOZlpvrDJeXGhwq05ye4TAnwyPEUAqiGQCvgeM7XcysuwAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/73d095623409d98d22696aaed164d0d9/0c65a/fourways.png","srcSet":"/static/73d095623409d98d22696aaed164d0d9/59d9a/fourways.png 500w,\n/static/73d095623409d98d22696aaed164d0d9/0c65a/fourways.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"15128a54-b658-59ce-9cd8-459caa9a6b9e"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Continued from part 1 (Backstory) The last time we deployed a hook to production… We got this error, Invalid Hook Call Warning. I wasn’t the…","fields":{"slug":"/july-20-2019/"},"frontmatter":{"date":"July 20, 2019","title":"Undocumented props; Hooks in production - PART 2","description":"I shipped our first two hooks to prod, and no one noticed... which is great because nothing broke.","tags":["code","react","hooks","launchdarkly"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACF0lEQVQozxWRS27aUBiFvYBuoWvppPvorJmxgSqdFMogUgaVaKogVKGEUUoUioDY0EEN5uWCrRinMo8AtmX8Crav3yZA/06uft1z/+PzHWPKD4J4+85jha3vDgcDy7J2u53neXD6vp/P52ez2fF45Hl+Op3CkE6na7UaDKvVCuM/X3zCXjm/hhqyz8/OTNMEQRTX+/0ejDKZzGQygRuKokajEQyNRiOXyx0Oh8VigYmXN5XXbyyKsaOg/Zt0HEdT9fGIlSUFIVS5uwM7SBGEYRAEURTBPkmStm1LkoR5tqMrmzgMPd/XNA1kTdM5jldVNY5jzTTDKIphGTlRGCa7F4ij6zpwua6LgTF+ewvvNpsN5AGN4x5OTt4TTQLkR5pePy19UyeLl3yjEiCEE0S1Wu33+yzLYqG1HRSL+yTZqGo2mwWL+XyeSqUAFRBEHFdmc2v6l6mU2e9f1adF8eq6Xq9Di/+XTdOgaBq5LmDALUTgOK5cLkM9z6Y5EwRRFF2E9EFHZ4a6YTabTWg+jqIVFOYhBzRghvzAud1u4Q8tl0sYIDZQwAkRLM9z/CCJYwB2bDtIEsl6xpZjhry63qzXkixDjdChIAilUgnHccMwaJrudruKonTa7fFoBLm6XYpjGOMl+fDlHOP7/Z8X3zRZ7lBUp9Pp9Xrw9OPp6X3jHkAKhUKr1YLvgy+kDcPwD00/MIzsof4j9w/fpvklbHyGrgAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/8e187057f28248fc5cbb7355f5bc84a8/0c65a/nohooks.png","srcSet":"/static/8e187057f28248fc5cbb7355f5bc84a8/59d9a/nohooks.png 500w,\n/static/8e187057f28248fc5cbb7355f5bc84a8/0c65a/nohooks.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"7893ba8a-e605-555f-9551-af19139232c2"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Tuesday, July 15th - Launch Darkly One of my coworkers was given a ticket to enable Launch Darkly on our consumer web app. Naturally, he…","fields":{"slug":"/july-18-2019/"},"frontmatter":{"date":"July 18, 2019","title":"Undocumented props; Hooks in production - PART 1","description":"Launch Darkly's React SDK docs were missing some crucial documentation, leaving my coworker super stressed. Did some detective work and made a contribution to their docs. Shipped Capsule's first Hooks to production later that day.","tags":["code","react","sdk","hooks","launchdarkly","docs","contributing"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAPoAAAD6AG1e1JrAAAB1UlEQVQY02WQXU/TcBTGezOXNO5i0m7tAg3gnd555YVfgUuTJcgIGhDBvtE2kcWa1mg2Er6AM+FDEK8xDQSXZaOMdZtbtV2YL1HpGF0ZrIXW/8A7n+ScnJzkd548B+J4Nr26ynE8xwu8IDAMyzDMCsuS7MoyRdMURZIkdaWFxWckRfMcxwnC41Rq6tFTaDaVnH44lRblUlFVlO3d3U8ft7YKhUKpWMrn8zs729dSFGVfVcGhSCSCYVgigWM4Bs0vLM5MJ9+93/hcLn/Y3OwP3O6JHfwnz/NAz2QyoVAIRWMIMoLjcWhpaZmm6VwuZx0d1Y3Dtu22Ov36b6f9yzINo9lsNhoNs9XSdd33fQDDMEwQRPRWdOgsSRIIBfJ2jzvqXqmiVWq1qqZpoPbVPa1y0DK+VrWKqqpD52z2RjgM4HgsjowgkCxLFMO9fCVbJ7amm+V6s6Yb9S9mVTeLBzW9/cM6HXR6fcdxAJzNvL0Jh8fGRvEEhqIoJEvS3PzztPi6fxF8t72fjvfNdg3bP3T8YzewzoM/50F38C/z+tobNArfvXN7cjwRjyGQKIrJmSf8CzEI/NNeb3B2FviXF5cgoA82V88aDq7rXsMTBPrg/r1xAsNx5C8lsiwU6YgLLAAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/d58d1cf1fe91d8e43e886adbf1a1d98f/0c65a/launchdarkly.png","srcSet":"/static/d58d1cf1fe91d8e43e886adbf1a1d98f/59d9a/launchdarkly.png 500w,\n/static/d58d1cf1fe91d8e43e886adbf1a1d98f/0c65a/launchdarkly.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"fdd355da-d426-56df-8df1-5fd23ffa763e"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Recompact at work At work, our components are separated into smart and dumb components, with both being function components. It is also…","fields":{"slug":"/july-4-2019/"},"frontmatter":{"date":"July 04, 2019","title":"Recompact, with hooks","description":"I recreated Recompact's 'withState' with hooks. Then I created my own library. Injected props are bad and so is the Smart/Dumb component separation. GO HOOKS","tags":["code","react","recompose","recompact","hooks","compose","learning","oss"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAPoAAAD6AG1e1JrAAABIklEQVQY02MQggFBQYGK+vbOCdNT8wpSc0tTc0vSoKg0Pa8sMaOgsXNybUuvlJSUgICAsLAwUAsDXLMAP//EGYtLqloUVTW0dE00dIw1tI2ASF3bSFPHWEZONS2vYtr8VZKSktg0C/D3Tp2bU1KrqKqrY2ihrW+uqW2srmUIREDNsvJqSZlFE2ctxqGZH6Q5t7ROW93AxsxW39AcaCeK5qziSbOXENCsqqZnaWFnYmINslzXVFvHhFjNeaV1yqp6FqZ2JoYWOrom2rqmWjomwCCQU1BPBmqehVtz39R52cXVcnLqmppGymq6KmCkrKqroq4nLqkQn54/efZSXAEm0D1pTmv/TO+A8IDQOP+QWP+QGDCKBXK9/MLq2if2z1iEHFUAlzlqvv37KLMAAAAASUVORK5CYII=","aspectRatio":1.6666666666666667,"src":"/static/e68b195443c3095b33157cbb800e5b4f/0c65a/snippet.png","srcSet":"/static/e68b195443c3095b33157cbb800e5b4f/59d9a/snippet.png 500w,\n/static/e68b195443c3095b33157cbb800e5b4f/0c65a/snippet.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"460bed6b-3623-5ed2-933a-dc3a8c643684"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"TL;DR: Just press  to slow-mo… It’s Sunday, June 9th, 2019. 2 engineering sprints down, 4 work weeks passed, 160 hours of work-programming…","fields":{"slug":"/june-9-2019/"},"frontmatter":{"date":"June 09, 2019","title":"Press 's' to slow-mo","description":"Recapping Redux, and figuring out slow motion trail animation","tags":["code","react","gatsby","redux","recompact","hooks","react-redux","compose","learning","babel","react-spring","styled-components"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABU0lEQVQoz2P49+/fH+IAUOV/VMDwlQjw+fPnv3/+HD16Mj2jOCktNyWjMDEpd9WqDQzfv3//TwgArQWSS5euYWET15UU05GWYWDgLyysYfjx4wcuPUB3/vv7F8j4Cyb37DlmbJq8rSRra0WZgopHVXUjPs1w8PcvyLenT14xt6tui0rZ1dZnZhHd2NCKohlu1c9PX388e/fw7rVzR/aBnQ0S3Lz5WGpy68yuBWtmr81L65g3ay1CMyQwb964++zZK5CGX7/fvX65dtG804f3QxRcunR3/+4jxw+fObj3yJ7t+y9fugPVDPHVvp07z527ADEJaiJQAhxaQKN/gxlbdt8qb9714SNIFyi0IVEN5Jw7cfrWjZuQ4AXrApFgr4DAt2+geLl558Wufdd+/gSpZ/gMA58+ffr5+9ePnz+AjM/YwJcvX379+vXt25fvXz/9+gkCAOZAEadVpP+XAAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/0e3f95ad64506499fbbbc824ce564f2d/0c65a/chenglou.png","srcSet":"/static/0e3f95ad64506499fbbbc824ce564f2d/59d9a/chenglou.png 500w,\n/static/0e3f95ad64506499fbbbc824ce564f2d/0c65a/chenglou.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"d6bcb6da-f7c0-526d-971f-d61ffb4cdf0a"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Saturday, April 6 The Gunks, NY Connie and I went out on our first outdoor climbing trip for 2019. The weather was cool and we were in for a…","fields":{"slug":"/first-climbing-trips-of-2019/"},"frontmatter":{"date":"April 14, 2019","title":"First Climbing Trips of 2019","description":"Getting back into the swing of things","tags":["climbing","bouldering","youtube","videos","sony","a6500","the gunks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAALCAIAAADwazoUAAAACXBIWXMAAAPoAAAD6AG1e1JrAAACmklEQVQozw3O308SAQDA8ftXbNrOkB/y4+B+cvy6OzjvDjh+CXiJKKBwDOKHg8jayB9jyzlLa/Xa1lqtl3rMpdl6q1k6H602XqIHNCVRN43v+2f7Asd/O+fn5xcXF2dnZ5eXl+3Do7Unz3L5UlYu5HKlfH7W6xF5lsUgo9VkIAwak1Zl1Kn0qkEl2Af8+tnsdP71fLvdvrq62t3bv3O3Lmdys+Xa+upTN8fTJOmy23vehhGEQW3FjYRJSyI6zY1+YG93/+DgR6fT6XZPT7vdLzvflxrL6Wm5Vq6mYjECw8O+oI8TpIAvEU9yrMeOG20EBOuV2qEBoNX6s7m53Wr9Pjw6fv7izfLDRwuNhUy2lgiOedzB1HS2Pt8Ij46ZhnUMgRfylWSy4HWLFIlpFQNAb3Vza3tr6/PL1+9cnNfJcI/X14uLb9VERqlQ8Xzo9twDXhDNVgqFYTsGScFwpVRLxeMsTQEnJydfd74tNdbSchHrhWI2C8nwccgyAw7zfddAjUaPoBSMOcxWmmFoC2LgrejNgMfv5oFms7nx4VOltuCgnAiKYggC6fTh0SiOWkAQpllpfFKGDJhWB9sol08URa+HdTocuJEmMeD9xsd78yuCJwBBRjNJjjhdXp5LJlPl2SpDEhPxQmP1FUYwSjVEMy63IPiDodh4JDEZ40dYoL64ksoUtTqD3Wbz+4O9GcSgK5Wr9fuLiYkJRD/sEcczhSWKDUWkKQSFcbMlKknJ5FRGTgP5Ys3Fi3aKkaQxFDa53QLP8dXKXC6bi0tjUb/owFGOCwWlAkzQCsWgSq0izHg0EmSdLsA/Kmn1eoqis3JucipF2x0Cx8+k0rVKrTiTuJWRI6EApFFpNKjF4XNyguAVVeqhQbAfBK//BxhRCnpF4lE9AAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/fc3f8ab631686c52bd7928c66a1bc09a/0c65a/connie-bb.png","srcSet":"/static/fc3f8ab631686c52bd7928c66a1bc09a/59d9a/connie-bb.png 500w,\n/static/fc3f8ab631686c52bd7928c66a1bc09a/0c65a/connie-bb.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"1ec2fe2c-d52a-5ee7-8b25-e1f45aa6a49e"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"It’s 9:00am, and I’m listening to Justin Brown’s NYEUSI, while writing this blogpost in Atom, and googling around for what exactly  is. What…","fields":{"slug":"/what-is-frontmatter/"},"frontmatter":{"date":"April 11, 2019","title":"Understanding GatsbyJS frontmatter","description":null,"tags":["code","frontmatter","blog","gatsby","yaml","gray-matter","remark","javascript","airbnb"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABOklEQVQoz2PYsPNEaUOnT0RsUFxKYHQSFMUkBcUkB8UmB2OgkLgUv8j41v6Zm3adYliz5ZBPZLyqlp6xuYWho6Werbm+naWenaWWhZmmqamCjr68lh4yUtQxkFBWTy0o37jrBMOKjXt9IhNMTC0cbO2NbG11raz0ra2BSNvMQtPEXN3IDA1pGJsr6uin5JWu234UpNkvMkFRz9DA1kHTxErNwFRV3wSEDEzVDLEgoH4FbT2EZv8okGYXvyBLFw+gHFY92DUvB2lOVNI3cvD2N3V0JUezgp6hjYePjbs3UFrVwIRYzSA/RydqmZpbOrqaO7sb2jjoWdoCQwUzqLAF2Ka9XqExQMPUDICBZAJxtpKuIS6krG8spaaZmF0E1ZxeWGHn4evkE+jo7Q9BTj4BuJAzWFl5Y8fabUcAvjWp3FaAjbsAAAAASUVORK5CYII=","aspectRatio":1.6666666666666667,"src":"/static/023912507e211d0ae5aa93e964d492cd/0c65a/fm.png","srcSet":"/static/023912507e211d0ae5aa93e964d492cd/59d9a/fm.png 500w,\n/static/023912507e211d0ae5aa93e964d492cd/0c65a/fm.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"c3969dd3-2774-5447-880a-f7074acb90e1"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"I’m going to kick off this late night post with a good ol’ list of things I’ve been wanting to learn & tackle… just to remind myself react…","fields":{"slug":"/so-much-to-do-so-little-time/"},"frontmatter":{"date":"April 08, 2019","title":"So Much To Do, So Little Time","description":"I want to learn everything... but I can't","tags":["code","react","gatsby","redux","contentful","computer science","learning"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAKABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAABAAD/8QAFQEBAQAAAAAAAAAAAAAAAAAAAgH/2gAMAwEAAhADEAAAAdT5IIHCq//EABoQAAMBAAMAAAAAAAAAAAAAAAECEQMAEBL/2gAIAQEAAQUC0Sh8qr31gxPVPP/EABYRAAMAAAAAAAAAAAAAAAAAAAEQMf/aAAgBAwEBPwE1f//EABYRAAMAAAAAAAAAAAAAAAAAABARIf/aAAgBAgEBPwF0f//EABsQAAICAwEAAAAAAAAAAAAAAAABESECMVFx/9oACAEBAAY/AksahlOzo5bH4bP/xAAcEAACAgIDAAAAAAAAAAAAAAAAARFBIXExkfH/2gAIAQEAAT8h38DPMJE6zCx1NbZLvYbOW7P/2gAMAwEAAgADAAAAEDTf/8QAFhEBAQEAAAAAAAAAAAAAAAAAABEh/9oACAEDAQE/ENSr/8QAFxEAAwEAAAAAAAAAAAAAAAAAAAERIf/aAAgBAgEBPxCsJkR//8QAGxABAAMBAAMAAAAAAAAAAAAAAQARITFBUaH/2gAIAQEAAT8QJ6bOhVc+S4Tsl2aPMFo4BapAYkqhGuxu2yjeYxS0vtU//9k=","aspectRatio":1.6666666666666667,"src":"/static/536e5b0b6fa37ed3773fded8ac270f4a/bfe60/book.jpg","srcSet":"/static/536e5b0b6fa37ed3773fded8ac270f4a/5f490/book.jpg 500w,\n/static/536e5b0b6fa37ed3773fded8ac270f4a/bfe60/book.jpg 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"f3eb7dc5-def2-5c6f-9fc3-d8f4de804a24"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"part 1 This week has been super hectic Sunday I believe it was Sunday night when I wrote a blog post about the weekend being too short, and…","fields":{"slug":"/flow-part-2/"},"frontmatter":{"date":"March 29, 2019","title":"flow, Part 2, and TypeScript","description":"Hectic week of work and interviews. Wrote my first bit of TypeScript. (This blog's codebase is now 96.4% JavaScript, and 3.6% TypeScript!)","tags":["typescript","javascript","flow","code","interviews","hooks","scoot networks"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAPCAYAAADkmO9VAAAACXBIWXMAAAsSAAALEgHS3X78AAAB6UlEQVQ4y41TTW/aQBDln1Q99YdFSqVeqiiHHnLpJeolhyiH/ING6qn00A9xTYRKFQiNkrbYmAXHQcbGMQFs/LV+8SzYtalBXel5156ZN292xpUgCFAG3/fBOUez2US1WkWtVkO73UYYhsK2Ka5CxjJ4niccWI8J0larhV+3t3BdV9g2xVUoKIqiUmxbpHTdXyjcFqhc6xj8NsQ5CkJ8//gFH87ew7Zt8S2O44I/cVUoU2pMQYtHHEe7n3C6/42smD3OcLDzEi+eP8OPy2ZGkI8RhKnC9GM+KynUZCt7r37+iuPjE4zHVmnMP4T5bHTxURyAI8RkMsF0Os2IHccpkG0lTC+80Wjg4vwC9XpddFjTNDDGoCiKONNIrVdUIMwvch6NRgK6ricljsW4kDICqSef9aqyppDzfO6IsoJVk/53EVlKnhEaiZI7dQClK8N+sJIOh/AWi79D7i+HnJKlf8RiZU9LzxSS8U5/ALs30R+aYNoInf4QfxQVkiShJyvoduQEXQzYALIkQ1VVmKYJy7IQ5ipaKkwebhBj7nE4Pl+eVzvdleXaMOZjDB91GDMTjusUSDaODQ1vEcAsdPDq6i32rt/hzc0RXv88hOFbWeNKm1I2h9n48AgduwfJZujafbH7UbDRn7ieAKJGf0eA2D+/AAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/20369ce7d0b8542e931f3be031f0d280/3b17c/gatsby.png","srcSet":"/static/20369ce7d0b8542e931f3be031f0d280/59d9a/gatsby.png 500w,\n/static/20369ce7d0b8542e931f3be031f0d280/3b17c/gatsby.png 603w","sizes":"(max-width: 603px) 100vw, 603px"}}}},"id":"850e7b89-c8e8-5556-91a9-634c2894acb7"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"I barely remember what happened… I’m sitting here, on a Sunday night (it’s 10:16pm), and I’m having a tough time reflecting on what I did…","fields":{"slug":"/fast-weekend/"},"frontmatter":{"date":"March 25, 2019","title":"The Weekends Are Too Short","description":"TLDR - Opened a PR for the Gatsby docs, swam, climbed, made pancakes, ate too much.","tags":["coffee","climbing","toby's estate","souffle","pancakes","gatsby","open source","chinatown","weekend","code","auth0"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAbABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAABAADAv/EABYBAQEBAAAAAAAAAAAAAAAAAAIAAf/aAAwDAQACEAMQAAAB6OvMI82oNliyiPWf/8QAHBABAAIDAAMAAAAAAAAAAAAAAQACAxEhEjFB/9oACAEBAAEFAvPvZkL3s2ZZWboyq6eyuNsPv6Lr/8QAGBEAAgMAAAAAAAAAAAAAAAAAABAREiH/2gAIAQMBAT8BqQtP/8QAFhEBAQEAAAAAAAAAAAAAAAAAEgAQ/9oACAECAQE/AXPf/8QAHxAAAgEDBQEAAAAAAAAAAAAAAAERAiIxEBIhMnGh/9oACAEBAAY/AnaTtJVLHPKGjsiC3JKp+j90yf/EABwQAAICAwEBAAAAAAAAAAAAAAERACExUXFBof/aAAgBAQABPyEmpjpCAjmA2Y6mORArFBG4QRi15Bf+DlxZR3CQEF1HZEOMj1p0YNQp/9oADAMBAAIAAwAAABB0zn//xAAYEQADAQEAAAAAAAAAAAAAAAAAARFRMf/aAAgBAwEBPxDknRNsmj//xAAYEQADAQEAAAAAAAAAAAAAAAAAARFRQf/aAAgBAgEBPxCqVg4uFWH/xAAeEAEBAAICAgMAAAAAAAAAAAABEQAhMUFhcYGx0f/aAAgBAQABPxDQ/RGuwxBrWOqLxiSagI45AAO2qPQfuU6SLIoNQrzz3ht8kKl95EBKgw34x1Ojs2hzzj10QpO/UxrQwFvRgr4j3gYIeHP/2Q==","aspectRatio":1.6666666666666667,"src":"/static/a37f17e0504eb9e819f55ca1778906f7/3b7f1/IMG_2826.jpg","srcSet":"/static/a37f17e0504eb9e819f55ca1778906f7/5f490/IMG_2826.jpg 500w,\n/static/a37f17e0504eb9e819f55ca1778906f7/198dc/IMG_2826.jpg 1000w,\n/static/a37f17e0504eb9e819f55ca1778906f7/3b7f1/IMG_2826.jpg 2000w,\n/static/a37f17e0504eb9e819f55ca1778906f7/d52b8/IMG_2826.jpg 3000w,\n/static/a37f17e0504eb9e819f55ca1778906f7/4ca5a/IMG_2826.jpg 3024w","sizes":"(max-width: 2000px) 100vw, 2000px"}}}},"id":"22bbb84b-82d8-5c27-a2b9-7eddce05f9a7"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Still getting the hang of Gatsby and… …even just writing in general. I’ve written a few posts on Medium, which is a great tool, but as…","fields":{"slug":"/coffee-climb-videos/"},"frontmatter":{"date":"March 22, 2019","title":"Coffee & Climbing Videos","description":"I wish I had more time to make these!","tags":["climbing","youtube","videos","coffee","sony","a6500","dslr","camera"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAYAAAC0VX7mAAAACXBIWXMAAAsSAAALEgHS3X78AAAC6klEQVQozw2Se0zMAQDH7z+zmcUYm+Go5FEaLXpcxYW7SyXX8younbvrunJxmtUikmsm8iyPJXrblVioU0JuqdhuHGXXZqXkschrzLR9/P74/vPdvp/v9t1XtMTNDe/5cwj3FrNltTsp4YE8bLnKuzd9jLkc/Poyxr/fX/n7a5LJ8SFGB3p4P/iIMaeNC8eKyUjZg1G9H6U8hlXuSxEtmjGN9eJ5yHxXoVZsxdZYzrPORlyOJ3z7NMLkp1FGXE4mxoeZ/ODi+8chBntbedJwGEdHJc31j7lY1opGZWTZ4iWINvlJ2CYJIU2pw1rVTPetc3RYK3D23udRay2Nl8q4e6Oa2vIy6ipKcdqt2K6YuXY0Hfudyzj7HVQIwCy1Cd9lyxEdyKnCtLsAs+EEz7v76L1bTsP5Aq5YMrlQnM+b14P8/DPF+9ERLpeeYK9Kxtm9EdgaynD132bI0cd+/SHSouOICg5BpFXlsk+XR7Y6h46bTXwcsFFpycYYv5mutnsMD7+l72kPd5qqOFWUR1qUAk1kAG31p/g98Qp7Vzf6pN2opBuIDRGASfJIdAkpZKekc7KgkKkfb2mrLiJJuo52ayWnD2rI3aUgT6fElBqPxMsTxVoPxoceAlO0WO1kKBNRhfmjDPJHtCtShiFuO6bkZHJUKq6VWpgY7udwVjxBS2cR6jmPlbOm4zN3Jitmu+HlNp3mqyV8HnFSc6mKwkwDWkUQO6W+JAQLG6bJg9FFhmGIDidLGUHmNhlnCgsZcLyktMBMfFgAMRJ/EjcGYohVYGuqw97ezr7tUrRSH9I3epO6YTVJEi9iA4XbJIYsZ2e4Dxq5H3rFOvRbQ8nPzKHkWB2dPZ+51/qA00fzOVtiobPrBfUtTg7lnccYEYBRsQbt5pXsCPMkLtCdKD8xomi/BSQEiVFLV6CV+ZIh9xb20nDEUsOR4hqKiq+jV2cLMmE2Hxf8anIPVgrFEjRCZkeoB8kSD+ICxMT4L+Q/Pu3spkS2Z44AAAAASUVORK5CYII=","aspectRatio":1.6666666666666667,"src":"/static/82caf4bd6cb3a9720a0a248461bac000/076db/coffee.png","srcSet":"/static/82caf4bd6cb3a9720a0a248461bac000/59d9a/coffee.png 500w,\n/static/82caf4bd6cb3a9720a0a248461bac000/076db/coffee.png 628w","sizes":"(max-width: 628px) 100vw, 628px"}}}},"id":"aa476dd7-72ef-52ee-97ee-022768584c83"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"Update: PART 2 FLOW IS A STATIC TYPE CHECKER FOR JAVASCRIPT. I like to install flow wherever I go Funnily enough (at the time of writing…","fields":{"slug":"/flow-part-1/"},"frontmatter":{"date":"March 21, 2019","title":"flow, Part 1","description":"My experience with this nifty tool.","tags":["flow","facebook","type-checking","javascript","code"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAICAIAAAB2/0i6AAAACXBIWXMAAAPoAAAD6AG1e1JrAAAA3ElEQVQY032Qa3LDIAyEfZtiQKg8JDDEOJ22uf+RIuz2RyZOZr4BDWJZLZNxbBwBsnbRuDTbuJM0sD5qSMqE//MHJuOybJSrgJ5mFxUEZeMSe6eNl+/A1xnoXGyxGCgWl1YupV4v2633m48tYK6hhtg8dWXJQH5m0k426ZGn1S+/gb5KXrH8mLShZ4+EmEeKM4ZYQ5LYFlnZpKzECzKnHi+mg9OZ/zLr/QZzFxP5G3X09kK9kD2IhcCN2/rJFWiBmCFlWefXtkM8mzjchk9wXLCUIUsMicT2Q/s33AGKZ1nAKdZc2gAAAABJRU5ErkJggg==","aspectRatio":1.6666666666666667,"src":"/static/46536eb5dac99b98ea531e55d433a5c1/0c65a/pic2.png","srcSet":"/static/46536eb5dac99b98ea531e55d433a5c1/59d9a/pic2.png 500w,\n/static/46536eb5dac99b98ea531e55d433a5c1/0c65a/pic2.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"cb890046-4393-5ded-8231-f6f33f03c991"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"After finishing off the day at my internship Dearest.io, I walked from the West Village over to meet my girlfriend, Connie, in Chinatown…","fields":{"slug":"/what-are-you-drinking/"},"frontmatter":{"date":"March 20, 2019","title":"What are you drinking?","description":"Verve Coffee Roasters: \"The 1950\"","tags":["coffee","verve","chinatown"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAALABQDASIAAhEBAxEB/8QAFwAAAwEAAAAAAAAAAAAAAAAAAAMEAf/EABcBAAMBAAAAAAAAAAAAAAAAAAABAgP/2gAMAwEAAhADEAAAAVbO7OqRQz//xAAXEAEBAQEAAAAAAAAAAAAAAAAAAhEQ/9oACAEBAAEFAuYlDX//xAAVEQEBAAAAAAAAAAAAAAAAAAAQIf/aAAgBAwEBPwGH/8QAFREBAQAAAAAAAAAAAAAAAAAAECH/2gAIAQIBAT8Bp//EABYQAAMAAAAAAAAAAAAAAAAAABAgMf/aAAgBAQAGPwIVP//EABoQAAMBAAMAAAAAAAAAAAAAAAABETEhUXH/2gAIAQEAAT8hqesieMVpcB7aafhXZ//aAAwDAQACAAMAAAAQ1w//xAAXEQADAQAAAAAAAAAAAAAAAAAAASER/9oACAEDAQE/EFFNP//EABgRAAIDAAAAAAAAAAAAAAAAAAAhAREx/9oACAECAQE/EJdYUf/EABoQAQADAQEBAAAAAAAAAAAAAAEAESFRMWH/2gAIAQEAAT8QQ+3EfIYG3rBcq1yJQrAubsVqxsN/rk//2Q==","aspectRatio":1.6666666666666667,"src":"/static/b77d95ae319f84bf2325ba596dbe4647/bfe60/verveCopy.jpg","srcSet":"/static/b77d95ae319f84bf2325ba596dbe4647/5f490/verveCopy.jpg 500w,\n/static/b77d95ae319f84bf2325ba596dbe4647/bfe60/verveCopy.jpg 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"0cf05e00-4e45-5dbe-b110-e83260e6cd8a"}},{"node":{"internal":{"type":"MarkdownRemark"},"excerpt":"No, Gatsby is really amazing. This is all I have to say right now, as I’m trying to push as many changes as Ican as part of a ramp-up to get…","fields":{"slug":"/gatsby-is-really-nice/"},"frontmatter":{"date":"March 19, 2019","title":"Gatsby is really nice","description":"And we're live, folks!","tags":["gatsby","first","blog","code"],"image":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAKCAIAAAA7N+mxAAAACXBIWXMAAAPoAAAD6AG1e1JrAAABNUlEQVQoz3VR207CQBDdj/bFTzHxC3wxKvESE5WAEIxE0BptSURaWtlbL9DSGzt1KBJQ6uZk58zs7OzsGVJsLYAltt3SFBWrDJIsydGohUIURXVeHGVKAaifMnm2WD1DWjW9c2k8N0day9S79tPtsFcfvjRGliFf2+bD1WDQ++pcGHdHmv5o9+ufnXOjcfzWrr0bXYfEUeqxMJolgRshkAcyoiMvnCYzb84sn439ZJ4KJwinMR5xxw+DeHklSMn6e8AFZ3wiXcE43UBQyiZje4ycMmo7tue7sBaGbMkDjDEppRACd+lKztEVSEzTpJRizLIspTbSkAqBSmFap/rh/s3B3jWSpaKqQnSyMwFYdfWh0fszvXmiDzW6rggAv0oQKGewiz+9VIIs8qISeVZkKSCQ/JfzDThqOcohSANaAAAAAElFTkSuQmCC","aspectRatio":1.6666666666666667,"src":"/static/93f261b340a7080606c2487c3784a306/0c65a/gatsby-doc.png","srcSet":"/static/93f261b340a7080606c2487c3784a306/59d9a/gatsby-doc.png 500w,\n/static/93f261b340a7080606c2487c3784a306/0c65a/gatsby-doc.png 800w","sizes":"(max-width: 800px) 100vw, 800px"}}}},"id":"3737f957-c8f6-55ae-9522-0fd14257221b"}}]},"allContentfulBlogPost":{"edges":[{"node":{"internal":{"type":"ContentfulBlogPost"},"image":{"fluid":{"base64":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAlgCWAAD/4gIcSUNDX1BST0ZJTEUAAQEAAAIMbGNtcwIQAABtbnRyUkdCIFhZWiAH3AABABkAAwApADlhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAApkZXNjAAAA/AAAAF5jcHJ0AAABXAAAAAt3dHB0AAABaAAAABRia3B0AAABfAAAABRyWFlaAAABkAAAABRnWFlaAAABpAAAABRiWFlaAAABuAAAABRyVFJDAAABzAAAAEBnVFJDAAABzAAAAEBiVFJDAAABzAAAAEBkZXNjAAAAAAAAAANjMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0ZXh0AAAAAEZCAABYWVogAAAAAAAA9tYAAQAAAADTLVhZWiAAAAAAAAADFgAAAzMAAAKkWFlaIAAAAAAAAG+iAAA49QAAA5BYWVogAAAAAAAAYpkAALeFAAAY2lhZWiAAAAAAAAAkoAAAD4QAALbPY3VydgAAAAAAAAAaAAAAywHJA2MFkghrC/YQPxVRGzQh8SmQMhg7kkYFUXdd7WtwegWJsZp8rGm/fdPD6TD////bAEMACQYHCAcGCQgICAoKCQsOFw8ODQ0OHBQVERciHiMjIR4gICUqNS0lJzIoICAuPy8yNzk8PDwkLUJGQTpGNTs8Of/bAEMBCgoKDgwOGw8PGzkmICY5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5OTk5Of/AABEIAAkAFAMBIgACEQEDEQH/xAAYAAADAQEAAAAAAAAAAAAAAAAAAwQCBf/EACgQAAEDAgMHBQAAAAAAAAAAAAECAwQAIQUREhMxNUFygbEVMjNCUf/EABcBAAMBAAAAAAAAAAAAAAAAAAEEBQb/xAAcEQACAgIDAAAAAAAAAAAAAAABAwACERIEIUH/2gAMAwEAAhEDEQA/AOnIiMNTnIZLQ2iUqQPsm98rXtlvPOnsYh6VjLpiRnEpASlQQPcFE5AajvGXckXFNlceh9I8msyuOHqR5FZVfIsvUj0ZlYJqTrLcRZaxR5EmY8pp0oA2S3E6mxv0nLnc/tFQzPmPfyaKcDXWGdzAFVHU/9k=","aspectRatio":2.5,"src":"/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=2000&h=800&q=50","srcSet":"/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=500&h=200&q=50 500w,\n/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=561&h=224&q=50 561w","srcWebp":"/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=2000&h=800&q=50&fm=webp","srcSetWebp":"/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=500&h=200&q=50&fm=webp 500w,\n/5e3yg0s79tcq/46a6mKpRL9kOUGOl77rtA5/d1348c40a98531ea35dd593c3d60fd3f/thisisfine.webp?w=561&h=224&q=50&fm=webp 561w","sizes":"(max-width: 2000px) 100vw, 2000px"}},"title":"You're Not A Real Engineer Until You Break Production","date":"May 22, 2019","description":"I guess it's official then?","tags":["react","capsule","code","production","break","revert","incident","formik","redux","react-redux","recompact"],"slug":"/youre-not-a-real-engineer-until-you-break-production"}},{"node":{"internal":{"type":"ContentfulBlogPost"},"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":2.5,"src":"/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=2000&h=800&q=50","srcSet":"/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=500&h=200&q=50 500w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=1000&h=400&q=50 1000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=2000&h=800&q=50 2000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=3000&h=1200&q=50 3000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=3024&h=1210&q=50 3024w","srcWebp":"/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=2000&h=800&q=50&fm=webp","srcSetWebp":"/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=500&h=200&q=50&fm=webp 500w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=1000&h=400&q=50&fm=webp 1000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=2000&h=800&q=50&fm=webp 2000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=3000&h=1200&q=50&fm=webp 3000w,\n/5e3yg0s79tcq/6S17FhvHuB2zFJaVsGVzqe/a3d2a6001c8250dc84ad764ca7a51838/capsuleSign.webp?w=3024&h=1210&q=50&fm=webp 3024w","sizes":"(max-width: 2000px) 100vw, 2000px"}},"title":"Onboarding; Drugs; Code; Danny Meyer; Avengers;","date":"May 04, 2019","description":"Week one of my new work blasted by. I learned a ton about pharmacy operations, wrote a tiny bit of code, and watched Endgame","tags":["code","drugs","danny meyer","setting the table","python","capsule","pharmacy","avengers","frontend","django","onboarding","react","redux","gatsby","formik","hooks","javascript","typescript"],"slug":"/onboarding-drugs-code-avengers"}},{"node":{"internal":{"type":"ContentfulBlogPost"},"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":2.5,"src":"/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=2000&h=800&q=50","srcSet":"/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=500&h=200&q=50 500w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=1000&h=400&q=50 1000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=2000&h=800&q=50 2000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=3000&h=1200&q=50 3000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=4000&h=1600&q=50 4000w","srcWebp":"/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=2000&h=800&q=50&fm=webp","srcSetWebp":"/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=500&h=200&q=50&fm=webp 500w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=1000&h=400&q=50&fm=webp 1000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=2000&h=800&q=50&fm=webp 2000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=3000&h=1200&q=50&fm=webp 3000w,\n/5e3yg0s79tcq/2iA4R8aJiumvHl0ssvHROW/3e06903d4dd16b7b048ba05257c4e8c1/haleakala.webp?w=4000&h=1600&q=50&fm=webp 4000w","sizes":"(max-width: 2000px) 100vw, 2000px"}},"title":"Setting Goals For 2019","date":"April 25, 2019","description":"I only set one goal. I accomplished it. But what's next?","tags":["climbing","code","typescript","rust","tokio","deno","goals","2019","travel","work"],"slug":"/setting-goals-for-2019"}},{"node":{"internal":{"type":"ContentfulBlogPost"},"image":{"fluid":{"base64":"data:image/jpeg;base64,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","aspectRatio":2.5,"src":"/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=2000&h=800&q=50","srcSet":"/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=500&h=200&q=50 500w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=1000&h=400&q=50 1000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=2000&h=800&q=50 2000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=3000&h=1200&q=50 3000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=4000&h=1600&q=50 4000w","srcWebp":"/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=2000&h=800&q=50&fm=webp","srcSetWebp":"/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=500&h=200&q=50&fm=webp 500w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=1000&h=400&q=50&fm=webp 1000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=2000&h=800&q=50&fm=webp 2000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=3000&h=1200&q=50&fm=webp 3000w,\n/5e3yg0s79tcq/49pqEFnVyyK632Izf4JJ62/a13996f78cba6fb1f9e358f573ebdec9/_KEV2371.webp?w=4000&h=1600&q=50&fm=webp 4000w","sizes":"(max-width: 2000px) 100vw, 2000px"}},"title":"Implementing Contentful","date":"April 21, 2019","description":"Using Contentful CMS for new blog posts that coexist with old Markdown posts.","tags":["contentful","cms","gatsby","code","blog","rich text","graphql","markdown"],"slug":"/first-contentful-post"}}]}},"pageContext":{}},"staticQueryHashes":["1461624204","2589769190"]}