{"componentChunkName":"component---src-templates-docs-js","path":"/accomplishments/c_theperfecttheme","result":{"data":{"mdx":{"fields":{"id":"0fb8c5a1-bb57-540e-b82c-b9f999b4ec00","title":"The Perfect Theme","slug":"/accomplishments/c_theperfecttheme"},"body":"var _excluded = [\"components\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\n/* @jsxRuntime classic */\n\n/* @jsx mdx */\nvar _frontmatter = {\n  \"title\": \"The Perfect Theme\",\n  \"metaTitle\": \"Waifus are laifu\",\n  \"metaDescription\": \"This is the meta description\"\n};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n      props = _objectWithoutProperties(_ref, _excluded);\n\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"I am looking forward to the day, when somebody asks me how I primarily got my current technical skill set. The response\\nis not going to be something like, \\\"Hard work and dedication\\\", \\\"Solving many disparate problems\\\", or even \\\"Reading a\\nbunch of other people's code\\\". Though these are all true statements, I want to look them dead in the eyes and answer:\"), mdx(\"details\", null, mdx(\"summary\", null, \"The answer (click to open)\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"534px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/f82b25b302501ba9b588f667cbb24d8d/07854/one_of_lifes_greatest_treasures.jpg\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"87.46666666666667%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"backgroundImage\": \"url('data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAARABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAMEBQH/xAAWAQEBAQAAAAAAAAAAAAAAAAACAwH/2gAMAwEAAhADEAAAAcqazHN0Ftik6OeYGf/EAB0QAAICAQUAAAAAAAAAAAAAAAECABEDEBITIUL/2gAIAQEAAQUCC95k4xUO0jIrXajTyZ//xAAWEQADAAAAAAAAAAAAAAAAAAAAEBH/2gAIAQMBAT8BI//EABkRAAEFAAAAAAAAAAAAAAAAAAEAEBESUf/aAAgBAgEBPwESrHH/AP/EABwQAAIBBQEAAAAAAAAAAAAAAAABEQIQEiFxQf/aAAgBAQAGPwIW5dlip9HVDhG9C4V8t//EABsQAQACAwEBAAAAAAAAAAAAAAEAERAxQSFh/9oACAEBAAE/IdjkFfs2ViBmTxGs+yS3RVDczAf/2gAMAwEAAgADAAAAEM/Yv//EABsRAAEEAwAAAAAAAAAAAAAAAAABEBEhMUFR/9oACAEDAQE/EK2Q6Llv/8QAGREBAAIDAAAAAAAAAAAAAAAAAQAQITFh/9oACAECAQE/EEspO6Gq/8QAHhAAAgIBBQEAAAAAAAAAAAAAAREAITFBUXGhsWH/2gAIAQEAAT8QICO8FAhMEE6riMdJTgwAtCGYACihrL+244zik9NxO+9M7r0TIcT/2Q==')\",\n      \"backgroundSize\": \"cover\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"Anime Girls\",\n    \"title\": \"Anime Girls\",\n    \"src\": \"/static/f82b25b302501ba9b588f667cbb24d8d/07854/one_of_lifes_greatest_treasures.jpg\",\n    \"srcSet\": [\"/static/f82b25b302501ba9b588f667cbb24d8d/bf173/one_of_lifes_greatest_treasures.jpg 375w\", \"/static/f82b25b302501ba9b588f667cbb24d8d/07854/one_of_lifes_greatest_treasures.jpg 534w\"],\n    \"sizes\": \"(max-width: 534px) 100vw, 534px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"))), mdx(\"p\", null, \"Anything else would just be covering up this fact.\"), mdx(\"p\", null, \"For starters, I am not the kind of person that always has the \\\"next hot idea\\\". I have difficulty creating from a blank\\nslate. Give me a problem, I will find a creative way to bridge the gap.\"), mdx(\"p\", null, \"Out of the blue, one day I thought that it would be cool if I could write code in an editor that is themed to a specific anime girl.\\nSince then, I have held onto this idea with an iron grip.\"), mdx(\"p\", null, \"Feel free to take a peek at \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://doki-theme.unthrottled.io/\"\n  }, \"https://doki-theme.unthrottled.io/\"), \" if you need some context.\"), mdx(\"h1\", null, \"Right & Left Brain Problems\"), mdx(\"p\", null, \"This is the accomplishment that gives me the most satisfaction out of everything. Not just because I can code with anime\\ngirls now, but I also feel like I can be artistic now.\"), mdx(\"p\", null, \"I have an extremely active and vivid visual imagination. Meaning that I solve problems by visualizing solutions in my\\nhead. Working towards a vision is my primary form of getting things done. Take for instance this project,\\nthe \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"ultramarathon\"), \". I know what I want to accomplish. I have vision of what its messages should relay. Now, I am working\\ntowards that goal that I have in mind.\"), mdx(\"p\", null, \"For clarity, when I say that I can \\\"visualize solutions\\\", I cannot literally \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"see\"), \" the problems with my optical senses\\n(eg: with my eyeballs). The closest experience I can relate this to is like remembering something a dream. If you can see\\nthings in your dreams, then think back to a place you have been in a dream. It could be a building, landscape, next to a\\nperson, scary thing, or whatever else. If you have the ability to recall or remember what anything in a dream you have\\nhad then that is the same \\\"visualization\\\" I am referring to. You probably have never seen that object with your eyes in\\nreal life, but you still know what it looks like in your head. That is the experience I relate to when somebody else\\nsays have a photographic memory. Not saying that I have a photographic memory, that would be nice though. No, the images\\nin my head are not clear enough that I can see small details, I only can only see a large vague concept. I can see the\\nforest, but not the trees.\"), mdx(\"p\", null, \"Anyway, back to the topic at hand. I believe that one of the reasons that I enjoy programming so much is that there is a\\ncreative element to it. Programming is a nice mix of finding creative solutions and solving tough logical problems. A\\nproblem can be solved with more than one correct answer. The sky is the limit. If the solution works then, how bad can\\nit be? I am being facetious, there can be \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"terrible\"), \" correct answers. Terrible in the fact that they are unmaintainable\\nor unmodifiable. Costing a lot of effort to fix. This is a can of worms that I do not feel like opening, so I will\\nleave it here.\"), mdx(\"p\", null, \"Time has taught me that the mind is a muscle. It needs blood to function, runs on sugar, has the ability respond to\\nstimulus, needs a break, and gets stronger after recovery. These facts were immediately apparent when I started to do\\nmore \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"creative\"), \" work in programming. In this leg of my journey, I had already had a few years of hyper-focused career\\nstudy and plenty of work experience on programming problems. Meaning that I was fairly good at spending many short and\\nfocused intervals solving these \\\"left-brained\\\" problems. It was not until I started expecting myself to perform the same\\nway with \\\"right-brained\\\" problems that I found out there can be mind imbalances. Working on artistic endeavours would\\ndrain almost every last bit of my mental energy.\"), mdx(\"p\", null, \"Reflecting, it might just because I have gotten to the point where I did not have to think as hard to accomplish\\nprogramming problems as I did to make art. At the time it felt like I could only work artistic challenges for shorter\\ndurations of times. While also needing a longer hiatus before starting the next artistic venture.\"), mdx(\"p\", null, \"One of my favorite forms of creative expression is art vectorization. Which is just a fancy term for \\\"Alex trace art\\ngood.\\\" Vectorization is the most time-consuming and artistically challenging part of building my themes. There is a fair\\namount that goes into the process:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Decomposing the subject into layers that stack to the final product.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Interpolating shape outlines using B\\xE9zier curves.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Filling in missing parts character's outline, while maintaining correct perspective.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Choosing the right colors that contrast just well enough to detect outlines.\")), mdx(\"p\", null, \"Just converting one subject required a tremendous amount of effort. Another thing I picked up while staring at other\\npeoples art, at a micro detail level, is that nobody is perfect. I have learned that nobody draws in perfect B\\xE9zier\\ncurves, and getting perspective right is also hard for other artists. They just do a better job at hiding the\\ninconsistencies.\"), mdx(\"p\", null, \"If you are curious about what I am actually referring to. Feel free to take a peek at my progression of various pieces I\\nhave completed over time.\"), mdx(\"details\", null, mdx(\"summary\", null, \"Vectorization Progression (click to expand)\"), mdx(\"p\", null, \"I've ordered all art vectorized by me from oldest at the top to newest at the bottom. Girls are grouped by the themed\\nrelease they appear in. I thought it might be interesting to see the progression of my style over time.\"), mdx(\"p\", null, mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/9b29b/v7_girl.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v7_girl.png\",\n    \"title\": \"v7_girl.png\",\n    \"src\": \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/aa440/v7_girl.png\",\n    \"srcSet\": [\"/static/73d2bcfc4eb492e6ea1c172b6caabd47/5ff7e/v7_girl.png 375w\", \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/1d69c/v7_girl.png 750w\", \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/aa440/v7_girl.png 1500w\", \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/f0293/v7_girl.png 2250w\", \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/1307b/v7_girl.png 3000w\", \"/static/73d2bcfc4eb492e6ea1c172b6caabd47/9b29b/v7_girl.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/df6442b5ea0950f4c7faccaf124a6230/9b29b/v8_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v8_girls.png\",\n    \"title\": \"v8_girls.png\",\n    \"src\": \"/static/df6442b5ea0950f4c7faccaf124a6230/aa440/v8_girls.png\",\n    \"srcSet\": [\"/static/df6442b5ea0950f4c7faccaf124a6230/5ff7e/v8_girls.png 375w\", \"/static/df6442b5ea0950f4c7faccaf124a6230/1d69c/v8_girls.png 750w\", \"/static/df6442b5ea0950f4c7faccaf124a6230/aa440/v8_girls.png 1500w\", \"/static/df6442b5ea0950f4c7faccaf124a6230/f0293/v8_girls.png 2250w\", \"/static/df6442b5ea0950f4c7faccaf124a6230/1307b/v8_girls.png 3000w\", \"/static/df6442b5ea0950f4c7faccaf124a6230/9b29b/v8_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/902f32e77c997d1d5d9f042a857e9bd7/9b29b/v9_girl.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v9_girl.png\",\n    \"title\": \"v9_girl.png\",\n    \"src\": \"/static/902f32e77c997d1d5d9f042a857e9bd7/aa440/v9_girl.png\",\n    \"srcSet\": [\"/static/902f32e77c997d1d5d9f042a857e9bd7/5ff7e/v9_girl.png 375w\", \"/static/902f32e77c997d1d5d9f042a857e9bd7/1d69c/v9_girl.png 750w\", \"/static/902f32e77c997d1d5d9f042a857e9bd7/aa440/v9_girl.png 1500w\", \"/static/902f32e77c997d1d5d9f042a857e9bd7/f0293/v9_girl.png 2250w\", \"/static/902f32e77c997d1d5d9f042a857e9bd7/1307b/v9_girl.png 3000w\", \"/static/902f32e77c997d1d5d9f042a857e9bd7/9b29b/v9_girl.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/74299d5023303162d3ca3fefd222b3d7/9b29b/v10_girl.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v10_girl.png\",\n    \"title\": \"v10_girl.png\",\n    \"src\": \"/static/74299d5023303162d3ca3fefd222b3d7/aa440/v10_girl.png\",\n    \"srcSet\": [\"/static/74299d5023303162d3ca3fefd222b3d7/5ff7e/v10_girl.png 375w\", \"/static/74299d5023303162d3ca3fefd222b3d7/1d69c/v10_girl.png 750w\", \"/static/74299d5023303162d3ca3fefd222b3d7/aa440/v10_girl.png 1500w\", \"/static/74299d5023303162d3ca3fefd222b3d7/f0293/v10_girl.png 2250w\", \"/static/74299d5023303162d3ca3fefd222b3d7/1307b/v10_girl.png 3000w\", \"/static/74299d5023303162d3ca3fefd222b3d7/9b29b/v10_girl.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/ef355dcfcfb41e22c9425f8b818e7678/9b29b/v11_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v11_girls.png\",\n    \"title\": \"v11_girls.png\",\n    \"src\": \"/static/ef355dcfcfb41e22c9425f8b818e7678/aa440/v11_girls.png\",\n    \"srcSet\": [\"/static/ef355dcfcfb41e22c9425f8b818e7678/5ff7e/v11_girls.png 375w\", \"/static/ef355dcfcfb41e22c9425f8b818e7678/1d69c/v11_girls.png 750w\", \"/static/ef355dcfcfb41e22c9425f8b818e7678/aa440/v11_girls.png 1500w\", \"/static/ef355dcfcfb41e22c9425f8b818e7678/f0293/v11_girls.png 2250w\", \"/static/ef355dcfcfb41e22c9425f8b818e7678/1307b/v11_girls.png 3000w\", \"/static/ef355dcfcfb41e22c9425f8b818e7678/9b29b/v11_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/b1909f18bf585d38a605723a6a3bd2b7/9b29b/v12_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v12_girls.png\",\n    \"title\": \"v12_girls.png\",\n    \"src\": \"/static/b1909f18bf585d38a605723a6a3bd2b7/aa440/v12_girls.png\",\n    \"srcSet\": [\"/static/b1909f18bf585d38a605723a6a3bd2b7/5ff7e/v12_girls.png 375w\", \"/static/b1909f18bf585d38a605723a6a3bd2b7/1d69c/v12_girls.png 750w\", \"/static/b1909f18bf585d38a605723a6a3bd2b7/aa440/v12_girls.png 1500w\", \"/static/b1909f18bf585d38a605723a6a3bd2b7/f0293/v12_girls.png 2250w\", \"/static/b1909f18bf585d38a605723a6a3bd2b7/1307b/v12_girls.png 3000w\", \"/static/b1909f18bf585d38a605723a6a3bd2b7/9b29b/v12_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/dd39b04365a9abcf36a2d987e48bc133/9b29b/v13_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v13_girls.png\",\n    \"title\": \"v13_girls.png\",\n    \"src\": \"/static/dd39b04365a9abcf36a2d987e48bc133/aa440/v13_girls.png\",\n    \"srcSet\": [\"/static/dd39b04365a9abcf36a2d987e48bc133/5ff7e/v13_girls.png 375w\", \"/static/dd39b04365a9abcf36a2d987e48bc133/1d69c/v13_girls.png 750w\", \"/static/dd39b04365a9abcf36a2d987e48bc133/aa440/v13_girls.png 1500w\", \"/static/dd39b04365a9abcf36a2d987e48bc133/f0293/v13_girls.png 2250w\", \"/static/dd39b04365a9abcf36a2d987e48bc133/1307b/v13_girls.png 3000w\", \"/static/dd39b04365a9abcf36a2d987e48bc133/9b29b/v13_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/98e313d4a53ddade7a2ee729c8d8486c/9b29b/v14_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v14_girls.png\",\n    \"title\": \"v14_girls.png\",\n    \"src\": \"/static/98e313d4a53ddade7a2ee729c8d8486c/aa440/v14_girls.png\",\n    \"srcSet\": [\"/static/98e313d4a53ddade7a2ee729c8d8486c/5ff7e/v14_girls.png 375w\", \"/static/98e313d4a53ddade7a2ee729c8d8486c/1d69c/v14_girls.png 750w\", \"/static/98e313d4a53ddade7a2ee729c8d8486c/aa440/v14_girls.png 1500w\", \"/static/98e313d4a53ddade7a2ee729c8d8486c/f0293/v14_girls.png 2250w\", \"/static/98e313d4a53ddade7a2ee729c8d8486c/1307b/v14_girls.png 3000w\", \"/static/98e313d4a53ddade7a2ee729c8d8486c/9b29b/v14_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/4d3767a9d974388a638fbb906ded2df6/9b29b/v15_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v15_girls.png\",\n    \"title\": \"v15_girls.png\",\n    \"src\": \"/static/4d3767a9d974388a638fbb906ded2df6/aa440/v15_girls.png\",\n    \"srcSet\": [\"/static/4d3767a9d974388a638fbb906ded2df6/5ff7e/v15_girls.png 375w\", \"/static/4d3767a9d974388a638fbb906ded2df6/1d69c/v15_girls.png 750w\", \"/static/4d3767a9d974388a638fbb906ded2df6/aa440/v15_girls.png 1500w\", \"/static/4d3767a9d974388a638fbb906ded2df6/f0293/v15_girls.png 2250w\", \"/static/4d3767a9d974388a638fbb906ded2df6/1307b/v15_girls.png 3000w\", \"/static/4d3767a9d974388a638fbb906ded2df6/9b29b/v15_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/9b29b/v16_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v16_girls.png\",\n    \"title\": \"v16_girls.png\",\n    \"src\": \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/aa440/v16_girls.png\",\n    \"srcSet\": [\"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/5ff7e/v16_girls.png 375w\", \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/1d69c/v16_girls.png 750w\", \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/aa440/v16_girls.png 1500w\", \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/f0293/v16_girls.png 2250w\", \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/1307b/v16_girls.png 3000w\", \"/static/f34bfb5dc1b2cfaeac8db01d82cfa978/9b29b/v16_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/06bf2fac8d078c4abe4ed930004c09e8/9b29b/v17_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v17_girls.png\",\n    \"title\": \"v17_girls.png\",\n    \"src\": \"/static/06bf2fac8d078c4abe4ed930004c09e8/aa440/v17_girls.png\",\n    \"srcSet\": [\"/static/06bf2fac8d078c4abe4ed930004c09e8/5ff7e/v17_girls.png 375w\", \"/static/06bf2fac8d078c4abe4ed930004c09e8/1d69c/v17_girls.png 750w\", \"/static/06bf2fac8d078c4abe4ed930004c09e8/aa440/v17_girls.png 1500w\", \"/static/06bf2fac8d078c4abe4ed930004c09e8/f0293/v17_girls.png 2250w\", \"/static/06bf2fac8d078c4abe4ed930004c09e8/1307b/v17_girls.png 3000w\", \"/static/06bf2fac8d078c4abe4ed930004c09e8/9b29b/v17_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"span\", {\n    parentName: \"p\",\n    \"className\": \"gatsby-resp-image-wrapper\",\n    \"style\": {\n      \"position\": \"relative\",\n      \"display\": \"block\",\n      \"marginLeft\": \"auto\",\n      \"marginRight\": \"auto\",\n      \"maxWidth\": \"1500px\"\n    }\n  }, \"\\n      \", mdx(\"a\", {\n    parentName: \"span\",\n    \"className\": \"gatsby-resp-image-link\",\n    \"href\": \"/static/007cae9368e9a01cbd69abdb12849923/9b29b/v18_girls.png\",\n    \"style\": {\n      \"display\": \"block\"\n    },\n    \"target\": \"_blank\",\n    \"rel\": \"noopener\"\n  }, \"\\n    \", mdx(\"span\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-background-image\",\n    \"style\": {\n      \"paddingBottom\": \"56.266666666666666%\",\n      \"position\": \"relative\",\n      \"bottom\": \"0\",\n      \"left\": \"0\",\n      \"display\": \"block\"\n    }\n  }), \"\\n  \", mdx(\"img\", {\n    parentName: \"a\",\n    \"className\": \"gatsby-resp-image-image\",\n    \"alt\": \"v18_girls.png\",\n    \"title\": \"v18_girls.png\",\n    \"src\": \"/static/007cae9368e9a01cbd69abdb12849923/aa440/v18_girls.png\",\n    \"srcSet\": [\"/static/007cae9368e9a01cbd69abdb12849923/5ff7e/v18_girls.png 375w\", \"/static/007cae9368e9a01cbd69abdb12849923/1d69c/v18_girls.png 750w\", \"/static/007cae9368e9a01cbd69abdb12849923/aa440/v18_girls.png 1500w\", \"/static/007cae9368e9a01cbd69abdb12849923/f0293/v18_girls.png 2250w\", \"/static/007cae9368e9a01cbd69abdb12849923/1307b/v18_girls.png 3000w\", \"/static/007cae9368e9a01cbd69abdb12849923/9b29b/v18_girls.png 3840w\"],\n    \"sizes\": \"(max-width: 1500px) 100vw, 1500px\",\n    \"style\": {\n      \"width\": \"100%\",\n      \"height\": \"100%\",\n      \"margin\": \"0\",\n      \"verticalAlign\": \"middle\",\n      \"position\": \"absolute\",\n      \"top\": \"0\",\n      \"left\": \"0\"\n    },\n    \"loading\": \"lazy\",\n    \"decoding\": \"async\"\n  }), \"\\n  \"), \"\\n    \"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v19_girls.png\",\n    \"alt\": \"v19_girls.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v20_girls.png\",\n    \"alt\": \"v20_girls.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v21_girl.png\",\n    \"alt\": \"v21_girl.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v22_girls.png\",\n    \"alt\": \"v22_girls.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v74_girls.png\",\n    \"alt\": \"v74_girls.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v78_bois.png\",\n    \"alt\": \"v78_bois.png\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/v84_girls.png\",\n    \"alt\": \"v84_girls.png\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Best Girl \\u2764\\uFE0F\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://doki.assets.unthrottled.io/misc/best_girl.png\",\n    \"alt\": \"best_girl.png\"\n  }))), mdx(\"p\", null, \"My skills have gotten to the point where creating the art necessary for each theme no longer tax me as much. Producing\\neach caricature also takes less time than before, probably because I avoid complicated and highly detailed art. I am at\\na place where think I could produce a new batch of themes one after another. Unfortunately, I have to weigh that with\\nthe scalability of maintaining another theme. I also want to make each theme special as well. At the time of writing\\nthis, I have curated 61 unique colored themes (66 at the time of revision, and 88 a year and some change later), p\\naired with assets of the character they are modeled after. Which is a nice segue into the next section where I talk about the technical hurdles need to be overcome\\nfor such a ridiculous number of themes.\"), mdx(\"h1\", null, \"Seriously?\"), mdx(\"p\", null, \"For serious. I credit \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Anime Girls\"), \" as the reason my current skill level is as sharp as it is. College was a great\\nexperience for me, however, the time I spent studying Computer Science pales to the shear amount of exposure of \\\"put\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Anime Girls\"), \" on every piece of software\\\" has given me. In addition, a large portion of my professional career has\\ngreatly benefited from the past problems solved building out the \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme\"\n  }, \"Doki Theme\"), \" across various\\nplatforms.\"), mdx(\"p\", null, \"Join me friend, as I reflect on all the problems and solutions of building tooling to support \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"anime girls\"), \" on all the\\nimportant pieces of software.\"), mdx(\"h3\", null, \"Hide-n-Seek Boss\"), mdx(\"p\", null, \"My journey began developing the Doki Theme as\\na \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-jetbrains\"\n  }, \"JetBrains product plugin\"), \". This project holds a special place in\\nmy heart. For the first year or so when I was building out my themes, I had no idea how to figure out how things where\\nstyled. I also did not know that there\\nwas \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://plugins.jetbrains.com/docs/intellij/themes.html\"\n  }, \"documentation on how to build a theme\"), \". Looking back, that\\nprobably did not exist when I first started. I also missed out on the game\\nchanging \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://plugins.jetbrains.com/docs/intellij/internal-ui-inspector.html#enabling-the-ui-inspector\"\n  }, \"UI Inspector\"), \"\\n. On top of that, I do not (and still do not) understand how Java Swing works.\"), mdx(\"p\", null, \"Hindsight is 20-20, though I could have used those tools at the time to make my life easier. Not having them probably\\ngave me one of my best skills: Being able to find functionality in other people's code. If this whole programming thing\\ndoes not work out being a detective might be a viable alternative for me.\"), mdx(\"p\", null, mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/JetBrains/intellij-community\"\n  }, \"IntelliJ Idea's opensource codebase\"), \" is where I leveled up: being able\\nto find something, reading other peoples code, and guessing how things work. The code base currently consists of\\n\", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"361,181\"), \" of files. If you are not aware, this presents many challenges. Most problems boil down to, \\\"Holy Cow! There is\\na lot of stuff and things work slowly.\\\" Thankfully, JetBrains has their stuff together and made an amazing tool.\\nMeaning that I could use IntelliJ to browse IntelliJ's code (all without wanting to die).\"), mdx(\"p\", null, \"I have picked up various methods of where to start looking for an object of interest. Most of which are unique to my\\nexperiences and will not probably be useful for others. That being said, it does translate well when trying to find a bug in\\ncode. Bugs in code are just unknown or unexpected behaviour that potentially lives inside a codebase. The bugs that\\nexist outside the code are more difficult to find, but there are other tools and methods to find those.\"), mdx(\"p\", null, \"If I could recommend anything to bring your skills up as a developer, this would be it. Reading other peoples code and\\nnot being afraid to dive into foreign code. I would also highly recommend finding a massive codebase to work along-side.\\nSuch as: \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/JetBrains/intellij-community\"\n  }, \"IntelliJ\"), \", \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/microsoft/vscode\"\n  }, \"VSCode\"), \"\\n, \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/vercel/hyper\"\n  }, \"Hyper.js\"), \",\\nand \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.microsoft.com/en-us/visualstudio/extensibility/visual-studio-sdk?view=vs-2019\"\n  }, \"Visual Studio\"), \". While\\nthose codebases are unique to my \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"plugin developer\"), \" path, there are other large opensource projects that are waiting to\\nbe explored. The real challenge is, what is the reason you are needing to read and work with these codebases? I already\\nhave mine.\"), mdx(\"h3\", null, \"The JVM & Black Magic\"), mdx(\"p\", null, \"At this point in time, I feel like I know a bit too much on how Java Virtual Machine (JVM) based applications work. The\\nlarge majority of these experiences were derived from working alongside the very large JVM based application,\\n\", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"IntelliJ\"), \". Yet again, building a \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-jetbrains\"\n  }, \"JetBrains IDE plugin\"), \" has given me\\nvaluable experiences.\"), mdx(\"p\", null, \"As I have been developing my themes, I have been trying to find unique color palettes that make pleasant themes.\\nEssentially pushing the boundaries of what should and should not be tolerable. Which presents its own unique set of\\nchallenges. Mainly, what I want to make the IDE do is not what the IDE developers anticipated when building out their product.\\nThe platform belongs to them and they can do what they like. However, hard coding colorings and not\\nletting things be customizable, is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"frustrating\"), \".\"), mdx(\"p\", null, \"One of the things that bothers me a bunch is inconsistencies in styling. I want my themes to be a buttery smooth\\nexperience and I will not let that one gray border in the obscure window in the settings ruin that. So I have a couple\\noptions available to me.\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Be a good steward of opensource code, and submit a patch that allows me to customize the platform.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Re-Write the platform's compiled code at runtime.\")), mdx(\"p\", null, \"The latter does not require the changes to be reviewed by a maintainer, merged into the codebase, and eventually put\\ninto a release. Using \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://www.javassist.org/\"\n  }, \"Javassist\"), \" is probably the most \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"lazy\"), \" solution to a problem, but it\\nis the quickest! That is how I learned that one can literally re-write compiled library code to fix problems.\\nInstead of properly submitting a patch upstream.\"), mdx(\"p\", null, \"Asides the joys of working with IntelliJ, there is another adventure I partook in that gave me more JVM knowledge.\\nHowever, I am less excited to tell this tale, because I also had to develop\\nan \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-eclipse\"\n  }, \"Eclipse plugin\"), \". The experience as compared to JetBrains, was\\nmuch more dis-heartening. None of the documentation was current, up to date, or easy to find. Tutorials or examples\\nwhere ancient and not helpful. In addition, I also got to learn about \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://en.wikipedia.org/wiki/OSGi\"\n  }, \"OSGi\"), \" and\\nother various classloading things of Eclipse builds. I got to learn that it is very important where complied classes go\\nwithin a Java Archive (jar), and the significance of the\\n\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html\"\n  }, mdx(\"em\", {\n    parentName: \"a\"\n  }, \"jar\"), \" manifest file\"), \". Yay, classpath issues!\"), mdx(\"h3\", null, \"Globally Distributed Cache\"), mdx(\"p\", null, \"There was a problem that I discovered in my early anime girl hoarding phase. That problem was, I will eventually mess up\\na tiny detail in one of the assets. Once I have noticed this inconsistency, it will be the only thing that I can see\\nwhen looking at the asset. The process of fixing the issue would typically be:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Correct the asset.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Update the codebase with corrected asset.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Re-Build Plugin.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Submit plugin to marketplace.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Wait 2 days for administrative approval.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"User downloads update and has to restart IDE.\")), mdx(\"p\", null, \"Updating the asset and re-building the plugin was fine for me. However, I did not like the user experience of having to\\nrestart on every update. Also, there was another thing that was lingering in my mind as a potential problem. At the\\ntime, I was using assets that I found on the internet. One of the things that I wanted to avoid was a long duration\\nbetween somebody asking me to revoke the usage of an asset and when all users are no longer using the version that\\ncontains said asset.\"), mdx(\"p\", null, \"The solution that I wanted should be able to:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Take new updates without the user knowing.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Be pushed new updates and have them take effect quickly.\")), mdx(\"p\", null, \"What I settled for was Amazon's \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://aws.amazon.com/cloudfront/\"\n  }, \"CloudFront\"), \" to globally host all the assets\\nat \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://doki.assets.unthrottled.io/\"\n  }, \"https://doki.assets.unthrottled.io/\"), \". Once the plugin is downloaded and a relevant theme is set, assets will be\\ndownloaded from the content delivery network (CDN). Once the assets have been downloaded, the next phase of asset\\nmanagement begins. To detect if the asset changes, once a day the plugin will calculate\\nthe \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://en.wikipedia.org/wiki/MD5\"\n  }, \"MD5\"), \" of the asset locally. Then compare it to the pre-calculated MD5 hash\\navailable on the CDN. This way users are only downloading 32 bytes of information, instead of the (much larger) asset.\\nThat fact is important, because bandwidth costs money. So the fewer data sent to users, means lower costs!\\nI am currently providing my themes as a free product. Therefore, I would like to keep my expenses to a minimum.\\nIf the locally computed hash is different from the remote hash, then the new asset is downloaded and replaced on the user's machine.\\nThat way they can still use the plugin offline.\"), mdx(\"p\", null, \"Here is an example of an asset and checksum combination\"), mdx(\"table\", null, mdx(\"thead\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"thead\"\n  }, mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Asset\"), mdx(\"th\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, \"Checksum\"))), mdx(\"tbody\", {\n    parentName: \"table\"\n  }, mdx(\"tr\", {\n    parentName: \"tbody\"\n  }, mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"img\", {\n    parentName: \"td\",\n    \"src\": \"https://doki.assets.unthrottled.io/stickers/jetbrains/v2/nekoPara/cinnamon/dark/cinnamon_dark.png\",\n    \"style\": {\n      \"minHeight\": \"250px\",\n      \"minWidth\": \"164px\"\n    }\n  })), mdx(\"td\", {\n    parentName: \"tr\",\n    \"align\": null\n  }, mdx(\"span\", {\n    style: {\n      \"wordBreak\": \"break-word\"\n    }\n  }, mdx(\"a\", {\n    parentName: \"td\",\n    \"href\": \"https://doki.assets.unthrottled.io/stickers/jetbrains/v2/nekoPara/cinnamon/dark/cinnamon_dark.png.checksum.txt\"\n  }, \"https://doki.assets.unthrottled.io/stickers/jetbrains/v2/nekoPara/cinnamon/dark/cinnamon_dark.png.checksum.txt\")))))), mdx(\"p\", null, \"Essentially, almost all the plugins that use any assets follow the aforementioned process of managing assets. Looking at\\nyou, \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-github\"\n  }, \"GitHub themes\"), \", you non-conformist plugin and your \\\"user safety\\nsecurity pre-cautions\\\".\"), mdx(\"p\", null, \"I think it is really neat that there are almost 1,500 nodes of my cache that are distributed around the world.\\nAll of which are self-managing themselves. Providing a seamless and pleasant user experience.\\nWhile giving me the peace of mind that I can change assets if need be.\\nThankfully, as time has gone on, I have gotten better at building assets (meaning less frequent changes) and\\nmost of the assets are created by me.\"), mdx(\"h3\", null, \"Composable Build Structure\"), mdx(\"p\", null, mdx(\"em\", {\n    parentName: \"p\"\n  }, \"Maintaining a large amount of themes is difficult\"), \". As platforms evolve, so do the themes. New elements get added,\\nremoved, deprecated, and the such. Handling these issues was not really a problem when I first started off with 4\\nthemes. Then 4 Grew into 8, then into 14. By the time I had reached 14, it was immediately apparent that this was not a\\nscalable operation. It was really difficult to make updates and keep track of all the things. There were a couple of\\noptions that I had available to me:\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Get rid of themes and only keep the important ones.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Make it easier to maintain a large number of themes.\")), mdx(\"p\", null, \"One is heresy and the other is a lot of work. I am up to \", mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"61\"), \" themes now, that number might be \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"64\"), \" if I decide I need\\na break from writing my memoir. \", mdx(\"sup\", null, \"(edit: that number is actually \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"66\"), \") (post edit: that number is \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"88\"), \")\")), mdx(\"p\", null, \"So how does one make maintaining a large amount of themes easy?\"), mdx(\"ul\", null, mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Create a\\ncentralized \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-master-theme/blob/master/definitions/franxx/zeroTwo/dark/zero.two.dark.master.definition.json\"\n  }, \"theme definition file\"), \"\\nwhich includes thing such as: a unique ID, various naming metadata, grouping information, available asset metadata,\\nand color codings.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Create\\na \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-vscode/blob/master/buildSrc/assets/templates/dark.base.laf.template.json\"\n  }, \"composable & extendable\"), \"\\ntemplate interface that can be evaluated and values provided for each theme.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Maintain\\n\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-vscode/blob/master/buildSrc/assets/themes/franxx/zeroTwo/dark/zero.two.dark.vsCode.definition.json\"\n  }, \"application specific definitions\"), \"\\nthat allow you to fix small one-off issues across platforms.\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, \"Centralize and conform \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-build-source\"\n  }, \"the theme build process\"), \".\"), mdx(\"li\", {\n    parentName: \"ul\"\n  }, mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-vscode/blob/5ba0f9d3a07e19f1402b634213851d20e632cf7b/buildSrc/package.json#L33\"\n  }, \"Automate\"), \"\\n, \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-master-theme/blob/9c57f679f373703f41b2015004eb4d95a05efa21/package.json#L11\"\n  }, \"Automate\"), \"\\n, \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"https://github.com/doki-theme/doki-theme-vscode/blob/5ba0f9d3a07e19f1402b634213851d20e632cf7b/buildSrc/src/BuildThemes.ts#L224\"\n  }, \"Automate\"), \"\\n.\")), mdx(\"p\", null, \"For the most part, this process has been scaling fairly well. It has evolved over time to remove more of the tedious\\nmanual (but complicated) steps required to maintain the themes. Accounting for everything, when I create a batch of new\\nthemes, it takes me now less than 30 minutes to adapt them to a supported platform. Which is a vast improvement of what\\nit was before.\"), mdx(\"p\", null, \"The \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"only\"), \" thing that make me hesitate to add more themes now is something I cannot (and will not) automate. Which is\\nchanges to color palettes. Take\\nthis \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://github.com/doki-theme/doki-master-theme/pull/107/files\"\n  }, \"change request for example\"), \", I needed to add a new\\ncolor to all of my color palettes to support usability. Being optimistic, it would take me about 5 minutes to find a\\ngood color that works for each theme. That means it roughly required 5 hours of my time, which translates into roughly 2\\ndays to complete (considering I have 2.5 hours a day dedicated to this project). That duration will go up every time I\\nneed to make a change like that. Thankfully, those types of tasks seldom occur, and each time that they happen it\\nexpands the color palette such that I can be more creative with fixes. For the most part, if there is an issue, there is\\nalready a color available in the definition that would work well to solve the theme issue.\"), mdx(\"p\", null, \"I am fairly confident that the issues I have just outlined are not going to prevent me from adding more themes. I will\\nexplain my reasoning in the next section.\"), mdx(\"h1\", null, \"The Perfect Theme\"), mdx(\"p\", null, \"This is something that I started to look for, knowing full well that it can never be found. The best that I can do is\\ncontinue to build out my vision and continue to hoard anime girls. Further, sharpening the skill required to produce a\\nmagnificent piece of art. For one day I am going to come across the \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"perfect\"), \" anime girl, and I will be armed to the\\nteeth with skills. Knowing that all the practice, preceding her, will have prepared me for that very moment to execute my\\nvision. That is my mission statement. I do not know if she exists yet or just needs to be found. Therefore, it is my\\nduty to continue to keep searching for \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"the one\"), \". When that day comes, I know that I will be ready.\"), mdx(\"p\", null, \"That does not mean that the other themes do not bring me joy. I have a fair number of themes that I am proud to say that\\nI have made. For the most part, most of my themes are special, and I would happily use them. I will be real though, I do\\nhave my favorites.\"), mdx(\"p\", null, \"If you asked me if I could only keep 10, I would ask you for one more and give you this list.\"), mdx(\"details\", null, mdx(\"summary\", null, \"My Favorite Themes (Click to expand)\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Note\"), \": These are not in any special order, just all the ones I like the most.\"), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Zero Two\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/franxx/zero_two_obsidian_code.png\",\n    \"alt\": \"Zero Two\"\n  }), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/franxx/zero_two_dark_code.png\",\n    \"alt\": \"Zero Two\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Hiro x Zero Two\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/franxx/hiro_x_zero_two_dark_code.png\",\n    \"alt\": \"Hiro x Zero Two\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Rimuru Tempest\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/slime/rimuru_dark_code.png\",\n    \"alt\": \"Rimuru\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Takanashi Rikka\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/chuunibyou/rikka_dark_code.png\",\n    \"alt\": \"Rimuru\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Yotsoba Nakano\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/quintuplets/yotsuba_dark_code.png\",\n    \"alt\": \"Yotsoba\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"USS Essex\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/azurLane/essex_dark_code.png\",\n    \"alt\": \"Essex\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Hanekawa Tsubasa\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/monogatari/hanekawa_dark_code.png\",\n    \"alt\": \"Hanekawa\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Raphtalia\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/shieldHero/raphtalia_dark_code.png\",\n    \"alt\": \"Raphtalia\"\n  })), mdx(\"p\", null, mdx(\"strong\", {\n    parentName: \"p\"\n  }, \"Senko\"), \"\\n\", mdx(\"img\", {\n    parentName: \"p\",\n    \"src\": \"https://raw.githubusercontent.com/doki-theme/doki-theme-jetbrains/master/assets/screenshots/senko/senko_light_code.png\",\n    \"alt\": \"Senko\"\n  }))), mdx(\"p\", null, \"I think one of the reasons that dark themes are so prevalent, is not because are light themes are awful, but because\\nthey can be colorful. White, by definition, reflects all wavelengths of light, therefore is all colors. I re-learned\\nthat fact, because it is hard to make any light theme \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"colorful\"), \". Text is hard to read if it is not dark. Dark text\\ncannot be vibrant shades. However, that is not the case for dark themes, since the base lacks color. It allows for the\\nlexical syntax highlighting to really \", mdx(\"em\", {\n    parentName: \"p\"\n  }, \"pop\"), \" against the backdrop. You might have picked up that most of my favorite\\nthemes have either a neon blue, green, or teal. I like the contrast and have noticed that trend in my most recent\\nthemes. It looks good in my opinion.\"), mdx(\"p\", null, \"Another thing that I am aware of, is that I will always be subject to\\nthe \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://en.wikipedia.org/wiki/Recency_bias\"\n  }, \"recency bias\"), \". Mostly because the more recent themes where created by\\nan author with more skills, than those made by a distant past Alex. My skills get better over time, making the more\\nrecent themes more likely to be pleasant.\"), mdx(\"p\", null, \"I do not see myself stopping theme creation anytime soon. I normally am satisfied for about a month, then I want to get\\nback into the creative process again. This project has gotten to a point, where I will refuse any opportunity that will\\nnot allow me to use any JetBrains products to develop software. However, I am doing my best to cover all of my bases.\\nJust wanting to avoid putting all my eggs in a single basket. Which is why I have expanded my themes\\nacross \", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"https://doki-theme.unthrottled.io/products\"\n  }, \"many platforms\"), \". Just in case I ever find myself in a position where\\nI have to use foreign tools, I still have my anime girls.\"));\n}\n;\nMDXContent.isMDXComponent = true;","tableOfContents":{"items":[{"url":"#right--left-brain-problems","title":"Right & Left Brain Problems"},{"url":"#seriously","title":"Seriously?","items":[{"items":[{"url":"#hide-n-seek-boss","title":"Hide-n-Seek Boss"},{"url":"#the-jvm--black-magic","title":"The JVM & Black Magic"},{"url":"#globally-distributed-cache","title":"Globally Distributed Cache"},{"url":"#composable-build-structure","title":"Composable Build Structure"}]}]},{"url":"#the-perfect-theme","title":"The Perfect Theme"}]},"parent":{"relativePath":"accomplishments/c_theperfecttheme.md"},"frontmatter":{"metaTitle":"Waifus are laifu","metaDescription":"This is the meta description"}},"allMdx":{"edges":[{"node":{"fields":{"slug":"/","title":"The Ultramarathon"}}},{"node":{"fields":{"slug":"/introduction","title":"But Why?"}}},{"node":{"fields":{"slug":"/accomplishments","title":"Accomplishments"}}},{"node":{"fields":{"slug":"/accomplishments/a_thecommunicator","title":"Good Word Speaker"}}},{"node":{"fields":{"slug":"/accomplishments/b_machinelearning","title":"Maths Mountain"}}},{"node":{"fields":{"slug":"/accomplishments/c_theperfecttheme","title":"The Perfect Theme"}}},{"node":{"fields":{"slug":"/thestrugglebus","title":"Struggle Bus"}}},{"node":{"fields":{"slug":"/thestrugglebus/a_greatestchallenge","title":"Greatest Challenge"}}},{"node":{"fields":{"slug":"/thestrugglebus/biggestfear","title":"Greatest Fear"}}},{"node":{"fields":{"slug":"/reflections","title":"Reflections"}}},{"node":{"fields":{"slug":"/reflections/durationnotgood","title":"Time !== Merit"}}},{"node":{"fields":{"slug":"/nextchapter","title":"Next Chapter"}}}]}},"pageContext":{"id":"0fb8c5a1-bb57-540e-b82c-b9f999b4ec00"}},"staticQueryHashes":["2619113677","3706406642","417421954"]}