{"data":{"allMarkdownRemark":{"edges":[{"node":{"fields":{"slug":"/generic-components/"},"frontmatter":{"date":"Mar 11, 2022","title":"Generic UI Component Development!","description":"A Shared Component must have a single job which is handled internally, which at some point will update the consumer with information.","tags":["Component Library","Angular","Javascript","UI"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAECBAX/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQP/2gAMAwEAAhADEAAAAepfNkuPcVTWYFsD/8QAHBAAAgICAwAAAAAAAAAAAAAAAQMAEgIEEBET/9oACAEBAAEFAmNC2e+F5sMCzU3xPYhAPH//xAAXEQEAAwAAAAAAAAAAAAAAAAACARIg/9oACAEDAQE/AU6zj//EABURAQEAAAAAAAAAAAAAAAAAABEg/9oACAECAQE/ASP/xAAeEAABAwQDAAAAAAAAAAAAAAARABAhAQIDEiIxUf/aAAgBAQAGPwKT0tTLET6rcleLy3//xAAdEAEAAgICAwAAAAAAAAAAAAABESEAMRBRQWFx/9oACAEBAAE/IQFk6TWCjf8AHvri0syCGEBWuUtwBRk7xB2ZSAfvH//aAAwDAQACAAMAAAAQrx88/8QAGhEBAQACAwAAAAAAAAAAAAAAAREAECExsf/aAAgBAwEBPxBKPJ5g0uJe9f/EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAgEBPxAox//EAB8QAQEAAgIBBQAAAAAAAAAAAAERACExQWEQUYGx0f/aAAgBAQABPxC2UADoLzPf8wOxIodLt58ehNNVtD54u+McDa55zuP24rxAi7w2AnOy4LG2wXAAgQz/2Q==","aspectRatio":1,"src":"/static/d255931f32f91485e2cd3397696a55a7/19bb6/preview1.jpg","srcSet":"/static/d255931f32f91485e2cd3397696a55a7/5fa5f/preview1.jpg 24w,\n/static/d255931f32f91485e2cd3397696a55a7/3fdf2/preview1.jpg 48w,\n/static/d255931f32f91485e2cd3397696a55a7/19bb6/preview1.jpg 96w,\n/static/d255931f32f91485e2cd3397696a55a7/cbbc7/preview1.jpg 144w,\n/static/d255931f32f91485e2cd3397696a55a7/642b4/preview1.jpg 192w,\n/static/d255931f32f91485e2cd3397696a55a7/1f8f9/preview1.jpg 626w","srcWebp":"/static/d255931f32f91485e2cd3397696a55a7/ac3d9/preview1.webp","srcSetWebp":"/static/d255931f32f91485e2cd3397696a55a7/d11d7/preview1.webp 24w,\n/static/d255931f32f91485e2cd3397696a55a7/6497b/preview1.webp 48w,\n/static/d255931f32f91485e2cd3397696a55a7/ac3d9/preview1.webp 96w,\n/static/d255931f32f91485e2cd3397696a55a7/7ddf8/preview1.webp 144w,\n/static/d255931f32f91485e2cd3397696a55a7/e7796/preview1.webp 192w,\n/static/d255931f32f91485e2cd3397696a55a7/6237d/preview1.webp 626w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/mock-data/"},"frontmatter":{"date":"Jan 5, 2023","title":"How To Use Mock Data Without Changing Internal Logic !","description":"And why does it matter?","tags":["Debugging","Mock Data","Devex"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIDBAH/xAAYAQADAQEAAAAAAAAAAAAAAAABAgQAA//aAAwDAQACEAMQAAABjC+i1c7cCUDrVwHf/8QAGRAAAwEBAQAAAAAAAAAAAAAAAQIDABIQ/9oACAEBAAEFApT61U4bScIKkHTsFT3/xAAaEQABBQEAAAAAAAAAAAAAAAABAAIDEBEi/9oACAEDAQE/AQ/vEZr/AP/EABoRAAEFAQAAAAAAAAAAAAAAABIAAQIQEVH/2gAIAQIBAT8B1yRT5f8A/8QAGxAAAgEFAAAAAAAAAAAAAAAAACERAhAgMTL/2gAIAQEABj8C1N3Uzoh4f//EABwQAQACAgMBAAAAAAAAAAAAAAEAEUFRITGBkf/aAAgBAQABPyEjkcSoAq8RQ7lWAGIuIHcHN4aCXPD5KNE//9oADAMBAAIAAwAAABA8+Pz/xAAZEQADAAMAAAAAAAAAAAAAAAAAAREQITH/2gAIAQMBAT8Q2H4RcSxEf//EABkRAAIDAQAAAAAAAAAAAAAAAAEhABARMf/aAAgBAgEBPxABbkOit//EAB0QAQEAAgIDAQAAAAAAAAAAAAERACExcUFRYdH/2gAIAQEAAT8QqNkxMA+4agBtNj3iHAvtyqmNX3I5vkXSusv8t2war57xTzHsuIKLQ4Yy34Z//9k=","aspectRatio":1,"src":"/static/cacaa18d8dc98ec6771524fec20270b8/19bb6/preview1.jpg","srcSet":"/static/cacaa18d8dc98ec6771524fec20270b8/5fa5f/preview1.jpg 24w,\n/static/cacaa18d8dc98ec6771524fec20270b8/3fdf2/preview1.jpg 48w,\n/static/cacaa18d8dc98ec6771524fec20270b8/19bb6/preview1.jpg 96w,\n/static/cacaa18d8dc98ec6771524fec20270b8/cbbc7/preview1.jpg 144w,\n/static/cacaa18d8dc98ec6771524fec20270b8/642b4/preview1.jpg 192w,\n/static/cacaa18d8dc98ec6771524fec20270b8/496d6/preview1.jpg 3522w","srcWebp":"/static/cacaa18d8dc98ec6771524fec20270b8/ac3d9/preview1.webp","srcSetWebp":"/static/cacaa18d8dc98ec6771524fec20270b8/d11d7/preview1.webp 24w,\n/static/cacaa18d8dc98ec6771524fec20270b8/6497b/preview1.webp 48w,\n/static/cacaa18d8dc98ec6771524fec20270b8/ac3d9/preview1.webp 96w,\n/static/cacaa18d8dc98ec6771524fec20270b8/7ddf8/preview1.webp 144w,\n/static/cacaa18d8dc98ec6771524fec20270b8/e7796/preview1.webp 192w,\n/static/cacaa18d8dc98ec6771524fec20270b8/06371/preview1.webp 3522w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/micro-com/"},"frontmatter":{"date":"Sep 1, 2021","title":"Communication Between Micro-front ends!","description":"How do we communicate between Micro front-ends?","tags":["Micro Frontends","Angular","Javascript","Store"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAEF/8QAFgEBAQEAAAAAAAAAAAAAAAAAAQAC/9oADAMBAAIQAxAAAAHZlIU5Bgr/xAAYEAADAQEAAAAAAAAAAAAAAAAAAREgIf/aAAgBAQABBQITqOFWf//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABcQAAMBAAAAAAAAAAAAAAAAAAARMDH/2gAIAQEABj8CHkP/xAAeEAEAAgIBBQAAAAAAAAAAAAABABEQITFBUWGx4f/aAAgBAQABPyG/JKlFnowdD3mh8lgh6xzArH//2gAMAwEAAgADAAAAEKgwPP/EABYRAQEBAAAAAAAAAAAAAAAAABEBIP/aAAgBAwEBPxCBj//EABYRAQEBAAAAAAAAAAAAAAAAAAERIP/aAAgBAgEBPxBW4//EABwQAQEBAAIDAQAAAAAAAAAAAAERACExEEFh0f/aAAgBAQABPxCJ7OeKZ5wGsUyskRY9nzLyoNeadQAqIFfmOi95ARwCB4//2Q==","aspectRatio":1,"src":"/static/2eb978254c6450120c0e2a9c5df7408f/19bb6/preview1.jpg","srcSet":"/static/2eb978254c6450120c0e2a9c5df7408f/5fa5f/preview1.jpg 24w,\n/static/2eb978254c6450120c0e2a9c5df7408f/3fdf2/preview1.jpg 48w,\n/static/2eb978254c6450120c0e2a9c5df7408f/19bb6/preview1.jpg 96w,\n/static/2eb978254c6450120c0e2a9c5df7408f/cbbc7/preview1.jpg 144w,\n/static/2eb978254c6450120c0e2a9c5df7408f/642b4/preview1.jpg 192w,\n/static/2eb978254c6450120c0e2a9c5df7408f/520cb/preview1.jpg 1280w","srcWebp":"/static/2eb978254c6450120c0e2a9c5df7408f/ac3d9/preview1.webp","srcSetWebp":"/static/2eb978254c6450120c0e2a9c5df7408f/d11d7/preview1.webp 24w,\n/static/2eb978254c6450120c0e2a9c5df7408f/6497b/preview1.webp 48w,\n/static/2eb978254c6450120c0e2a9c5df7408f/ac3d9/preview1.webp 96w,\n/static/2eb978254c6450120c0e2a9c5df7408f/7ddf8/preview1.webp 144w,\n/static/2eb978254c6450120c0e2a9c5df7408f/e7796/preview1.webp 192w,\n/static/2eb978254c6450120c0e2a9c5df7408f/c5c26/preview1.webp 1280w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/moving-to-mfe/"},"frontmatter":{"date":"Nov 14, 2021","title":"Moving a company to microfront-end environment (kind of)","description":"How do we transition a large company into a new pattern?","tags":["Javsascript","Angular","Micro-front-end","mfe"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAMEBQL/xAAWAQEBAQAAAAAAAAAAAAAAAAACAQP/2gAMAwEAAhADEAAAAaxv7L0qIuNmFl3hNv/EABoQAQACAwEAAAAAAAAAAAAAAAEAEQIDIRL/2gAIAQEAAQUC0ggTDGi+AVLGe3HcPP/EABURAQEAAAAAAAAAAAAAAAAAAAEg/9oACAEDAQE/ARj/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/AR//xAAcEAACAgIDAAAAAAAAAAAAAAAAARAhAhIRMmH/2gAIAQEABj8Cscbav0WN8FHVFR//xAAbEAEAAwEAAwAAAAAAAAAAAAABABEhQTGR4f/aAAgBAQABPyFAU9x9HPExTYAs2MGT7UQpNZBoM8yoPIoCf//aAAwDAQACAAMAAAAQqPDA/8QAFhEBAQEAAAAAAAAAAAAAAAAAAAER/9oACAEDAQE/EISt1GP/xAAXEQEAAwAAAAAAAAAAAAAAAAAQAREh/9oACAECAQE/EKwk/8QAHhABAQABBAMBAAAAAAAAAAAAAREAITFBUWGRoXH/2gAIAQEAAT8QrAoyrQPH3BFGqV7wDTss3c7QxtnbjbYNHh4feMDLiTBIziDp9xZCUM023/cJkkOM/9k=","aspectRatio":1,"src":"/static/3a84abecc73bad5fb7baa4e828ad7a7a/19bb6/preview1.jpg","srcSet":"/static/3a84abecc73bad5fb7baa4e828ad7a7a/5fa5f/preview1.jpg 24w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/3fdf2/preview1.jpg 48w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/19bb6/preview1.jpg 96w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/cbbc7/preview1.jpg 144w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/642b4/preview1.jpg 192w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/63d22/preview1.jpg 443w","srcWebp":"/static/3a84abecc73bad5fb7baa4e828ad7a7a/ac3d9/preview1.webp","srcSetWebp":"/static/3a84abecc73bad5fb7baa4e828ad7a7a/d11d7/preview1.webp 24w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/6497b/preview1.webp 48w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/ac3d9/preview1.webp 96w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/7ddf8/preview1.webp 144w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/e7796/preview1.webp 192w,\n/static/3a84abecc73bad5fb7baa4e828ad7a7a/e15ab/preview1.webp 443w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/ngClass/"},"frontmatter":{"date":"Feb 14, 2021","title":"The ins and outs of Angular-[ngClass]!","description":"How does ngClass work ?","tags":["Javsascript","Angular","ngClass"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe2g0BAoP//EABQQAQAAAAAAAAAAAAAAAAAAADD/2gAIAQEAAQUCH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABQQAQAAAAAAAAAAAAAAAAAAADD/2gAIAQEABj8CH//EABcQAQEBAQAAAAAAAAAAAAAAAAEQESD/2gAIAQEAAT8h2nCT/9oADAMBAAIAAwAAABDzxwD/xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAEDAQE/EB//xAAUEQEAAAAAAAAAAAAAAAAAAAAg/9oACAECAQE/EB//xAAbEAACAwEBAQAAAAAAAAAAAAABEQAQIVExQf/aAAgBAQABPxAaLSgJKzOui0vyBEhNfFSEBh5X/9k=","aspectRatio":1,"src":"/static/a24c033d3f943921a72a88c290a3aab8/19bb6/preview-class.jpg","srcSet":"/static/a24c033d3f943921a72a88c290a3aab8/5fa5f/preview-class.jpg 24w,\n/static/a24c033d3f943921a72a88c290a3aab8/3fdf2/preview-class.jpg 48w,\n/static/a24c033d3f943921a72a88c290a3aab8/19bb6/preview-class.jpg 96w,\n/static/a24c033d3f943921a72a88c290a3aab8/cbbc7/preview-class.jpg 144w,\n/static/a24c033d3f943921a72a88c290a3aab8/642b4/preview-class.jpg 192w,\n/static/a24c033d3f943921a72a88c290a3aab8/c66ef/preview-class.jpg 2046w","srcWebp":"/static/a24c033d3f943921a72a88c290a3aab8/ac3d9/preview-class.webp","srcSetWebp":"/static/a24c033d3f943921a72a88c290a3aab8/d11d7/preview-class.webp 24w,\n/static/a24c033d3f943921a72a88c290a3aab8/6497b/preview-class.webp 48w,\n/static/a24c033d3f943921a72a88c290a3aab8/ac3d9/preview-class.webp 96w,\n/static/a24c033d3f943921a72a88c290a3aab8/7ddf8/preview-class.webp 144w,\n/static/a24c033d3f943921a72a88c290a3aab8/e7796/preview-class.webp 192w,\n/static/a24c033d3f943921a72a88c290a3aab8/89097/preview-class.webp 2046w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/motion-with-meaning/"},"frontmatter":{"date":"Nov 6, 2026","title":"Motion With Meaning: How Frontend Animation Shapes User Behavior","description":"Good animation tells users what just happened and what to do next; bad animation makes them wait, or hides the answer behind a flourish.","tags":["Animation","UX","Frontend","AI"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAAB8ElEQVQ4y72U+27TMBTG+wCDQa9p2i5dm7KVXtKljn1865Kum5gEEhUS4w8EvP9T8DleR1uBQEggfbJ8Ob/48zl2Ki9m2V+r8v/gl/MDVf4wtJo4YfLZa7bTDvYRv+KfT7KTMUPbSPngmkY3Mnmn2FY9wfwIxrC24OicTrMOicm9Ug8GWm71/K06X1GH5E9gj9Wv3ExkBX00q88mfa/6VrQz4VYT0VqqRkrHMDrwBri55NkHXXy1kzcyFIjmaEPikVGR0aGgFhMHMOTJyIj1N8u22gFCRIb6K+pbigszuNZdJXCQNj+E6wuOlA5yAjm6oSATAJAhKC7k5a2NC3dafKtX8j9gYOARnX+x2LktHInQYU6Xt2Z6v7rYyHjthpg8M9SVezDaFuMlSa2M9zTcivOVvNiY8Z15tZHQaC3hC0c403twdc5RRvWghwXBPCxhLTIyLuyw0LA9zCU0yKWzbZ3tRxhuT8bZ+E6igPgEjopkdJXLKnZAHLwAcK3BnqIndwnzFwg9/cnCfP2KAqZCodpcBhnHyRHXkU7dsg1LDBu4UpUw6ymkQdcWqplK8LWFQM2aSxEwURohr4CTx7DUSHe2cQdPp2z/hpZl57XEld1fOMj3q0l5KWZ7D8OX6vGFeM1cxNEzfHpCv3mS//ZP8h1tL8m9D8qw9QAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/ec6dde9e33497991a55085e5114d06d4/49d2a/cover.png","srcSet":"/static/ec6dde9e33497991a55085e5114d06d4/783cc/cover.png 24w,\n/static/ec6dde9e33497991a55085e5114d06d4/f0baa/cover.png 48w,\n/static/ec6dde9e33497991a55085e5114d06d4/49d2a/cover.png 96w,\n/static/ec6dde9e33497991a55085e5114d06d4/cadae/cover.png 144w,\n/static/ec6dde9e33497991a55085e5114d06d4/c2aee/cover.png 192w,\n/static/ec6dde9e33497991a55085e5114d06d4/fb37e/cover.png 1600w","srcWebp":"/static/ec6dde9e33497991a55085e5114d06d4/ac3d9/cover.webp","srcSetWebp":"/static/ec6dde9e33497991a55085e5114d06d4/d11d7/cover.webp 24w,\n/static/ec6dde9e33497991a55085e5114d06d4/6497b/cover.webp 48w,\n/static/ec6dde9e33497991a55085e5114d06d4/ac3d9/cover.webp 96w,\n/static/ec6dde9e33497991a55085e5114d06d4/7ddf8/cover.webp 144w,\n/static/ec6dde9e33497991a55085e5114d06d4/e7796/cover.webp 192w,\n/static/ec6dde9e33497991a55085e5114d06d4/737a2/cover.webp 1600w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/ngFor/"},"frontmatter":{"date":"Feb 14, 2021","title":"The ins and outs of Angular-*ngFor!","description":"How does ngIf work ?","tags":["Javsascript","Angular","ngFor"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABQBAQAAAAAAAAAAAAAAAAAAAAD/2gAMAwEAAhADEAAAAe2Q0yLAoP/EABUQAQEAAAAAAAAAAAAAAAAAACAB/9oACAEBAAEFAjB//8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAFBABAAAAAAAAAAAAAAAAAAAAMP/aAAgBAQAGPwIf/8QAGRABAQEBAQEAAAAAAAAAAAAAAQARMRAh/9oACAEBAAE/IY3Pvi5POtxIPZNMgwv/2gAMAwEAAgADAAAAEIDHAP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EABwQAAICAwEBAAAAAAAAAAAAAAERADEhYYEQUf/aAAgBAQABPxAtYuIoJ8Uo5+COXAHqNYk8lacHaA0YJAfZ/9k=","aspectRatio":1,"src":"/static/1b4f74163079c8133a304284d5801473/19bb6/preview-1.jpg","srcSet":"/static/1b4f74163079c8133a304284d5801473/5fa5f/preview-1.jpg 24w,\n/static/1b4f74163079c8133a304284d5801473/3fdf2/preview-1.jpg 48w,\n/static/1b4f74163079c8133a304284d5801473/19bb6/preview-1.jpg 96w,\n/static/1b4f74163079c8133a304284d5801473/cbbc7/preview-1.jpg 144w,\n/static/1b4f74163079c8133a304284d5801473/642b4/preview-1.jpg 192w,\n/static/1b4f74163079c8133a304284d5801473/018f5/preview-1.jpg 700w","srcWebp":"/static/1b4f74163079c8133a304284d5801473/ac3d9/preview-1.webp","srcSetWebp":"/static/1b4f74163079c8133a304284d5801473/d11d7/preview-1.webp 24w,\n/static/1b4f74163079c8133a304284d5801473/6497b/preview-1.webp 48w,\n/static/1b4f74163079c8133a304284d5801473/ac3d9/preview-1.webp 96w,\n/static/1b4f74163079c8133a304284d5801473/7ddf8/preview-1.webp 144w,\n/static/1b4f74163079c8133a304284d5801473/e7796/preview-1.webp 192w,\n/static/1b4f74163079c8133a304284d5801473/a3db3/preview-1.webp 700w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/ngIf/"},"frontmatter":{"date":"Feb 13, 2021","title":"The ins and outs of Angular-*ngIf!","description":"How does ngFor work ?","tags":["Javsascript","Angular","ngIf"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFgABAQEAAAAAAAAAAAAAAAAAAAEF/8QAFAEBAAAAAAAAAAAAAAAAAAAAAP/aAAwDAQACEAMQAAAB3JKUEBQf/8QAFxAAAwEAAAAAAAAAAAAAAAAAARAgQf/aAAgBAQABBQJ6Z//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8BH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABQQAQAAAAAAAAAAAAAAAAAAADD/2gAIAQEABj8CH//EABsQAAICAwEAAAAAAAAAAAAAAAABETEQIYFx/9oACAEBAAE/ISrw/R1wVEbkanH/2gAMAwEAAgADAAAAEGMPPP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EABwQAQADAAIDAAAAAAAAAAAAAAEAETEhQYHB8f/aAAgBAQABPxBejYLpfibPgyXoohh7iHkYO4FFT//Z","aspectRatio":1,"src":"/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/19bb6/preview1.jpg","srcSet":"/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/5fa5f/preview1.jpg 24w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/3fdf2/preview1.jpg 48w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/19bb6/preview1.jpg 96w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/cbbc7/preview1.jpg 144w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/642b4/preview1.jpg 192w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/c5736/preview1.jpg 683w","srcWebp":"/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/ac3d9/preview1.webp","srcSetWebp":"/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/d11d7/preview1.webp 24w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/6497b/preview1.webp 48w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/ac3d9/preview1.webp 96w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/7ddf8/preview1.webp 144w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/e7796/preview1.webp 192w,\n/static/1b4c6b8ebcb3d5b65211af1cdda9a4b4/aaeba/preview1.webp 683w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/opinionated-noopinionated/"},"frontmatter":{"date":"May 18, 2022","title":"Un-Opinionated vs Opinionated Within Frameworks","description":"The less opinionated a utility is, the more diverse it becomes, but as a result it is less structured","tags":["Javsascript","Angular","React"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAEDBQT/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/2gAMAwEAAhADEAAAAdGueCa6mYXcguKQf//EABwQAAMAAQUAAAAAAAAAAAAAAAABAgMQEhMiMf/aAAgBAQABBQIb7PNKdpuaw0jdp6cUn//EABsRAAEEAwAAAAAAAAAAAAAAAAEAAhAREkFS/9oACAEDAQE/AQ29rAdCf//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABwQAAIABwAAAAAAAAAAAAAAAAABEBEgMTJBwf/aAAgBAQAGPwIytCSG+0bP/8QAHRABAQEAAgIDAAAAAAAAAAAAAREAMUEQIVGB4f/aAAgBAQABPyHUgRyTr70k5GoL86C8T2NZT+HhIj3izEV4Hf/aAAwDAQACAAMAAAAQq9c8/8QAGhEAAAcAAAAAAAAAAAAAAAAAAAEQUXHh8f/aAAgBAwEBPxBoKRqUv//EABkRAQACAwAAAAAAAAAAAAAAAAEAERBBUf/aAAgBAgEBPxBa1LeOf//EAB4QAQACAgMAAwAAAAAAAAAAAAEAESExQVFhEHGB/9oACAEBAAE/EL8YY0tSD8LZ9RQSJsUmqUTpCc3mC98ZjwrbVdXjRv4FNWDDKXZgBP/Z","aspectRatio":1,"src":"/static/ce96f37e7dec684fe6574d93eb7265e3/19bb6/preview1.jpg","srcSet":"/static/ce96f37e7dec684fe6574d93eb7265e3/5fa5f/preview1.jpg 24w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/3fdf2/preview1.jpg 48w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/19bb6/preview1.jpg 96w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/cbbc7/preview1.jpg 144w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/642b4/preview1.jpg 192w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/2f10d/preview1.jpg 800w","srcWebp":"/static/ce96f37e7dec684fe6574d93eb7265e3/ac3d9/preview1.webp","srcSetWebp":"/static/ce96f37e7dec684fe6574d93eb7265e3/d11d7/preview1.webp 24w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/6497b/preview1.webp 48w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/ac3d9/preview1.webp 96w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/7ddf8/preview1.webp 144w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/e7796/preview1.webp 192w,\n/static/ce96f37e7dec684fe6574d93eb7265e3/6d343/preview1.webp 800w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/react-opinion/"},"frontmatter":{"date":"Aug 26, 2023","title":"Is React becoming opinionated?","description":"React has become more opinionated in some ways.","tags":["Javsascript","React"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAFwABAQEBAAAAAAAAAAAAAAAAAAECBf/EABUBAQEAAAAAAAAAAAAAAAAAAAEC/9oADAMBAAIQAxAAAAHu5sZ0CoGaB//EABcQAAMBAAAAAAAAAAAAAAAAAAAQESD/2gAIAQEAAQUCLmEX/8QAFREBAQAAAAAAAAAAAAAAAAAAASD/2gAIAQMBAT8BY//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8BH//EABQQAQAAAAAAAAAAAAAAAAAAADD/2gAIAQEABj8CH//EABkQAAIDAQAAAAAAAAAAAAAAAAABEBExIf/aAAgBAQABPyF4LqHWFQ0KCP/aAAwDAQACAAMAAAAQI88//8QAGBEBAQADAAAAAAAAAAAAAAAAAQAQESH/2gAIAQMBAT8QTvmEIv/EABcRAQADAAAAAAAAAAAAAAAAABEBICH/2gAIAQIBAT8QgNp//8QAHRABAAMAAwADAAAAAAAAAAAAAQARITFBUXGB8P/aAAgBAQABPxB0vepbQb04q/uDlkStY+wI6lc1fBBHhusiFe/f3xNL2Cr12f/Z","aspectRatio":1,"src":"/static/098aa8160285821b215bc0ab5eef0b37/19bb6/preview1.jpg","srcSet":"/static/098aa8160285821b215bc0ab5eef0b37/5fa5f/preview1.jpg 24w,\n/static/098aa8160285821b215bc0ab5eef0b37/3fdf2/preview1.jpg 48w,\n/static/098aa8160285821b215bc0ab5eef0b37/19bb6/preview1.jpg 96w,\n/static/098aa8160285821b215bc0ab5eef0b37/cbbc7/preview1.jpg 144w,\n/static/098aa8160285821b215bc0ab5eef0b37/642b4/preview1.jpg 192w,\n/static/098aa8160285821b215bc0ab5eef0b37/1d3b5/preview1.jpg 360w","srcWebp":"/static/098aa8160285821b215bc0ab5eef0b37/ac3d9/preview1.webp","srcSetWebp":"/static/098aa8160285821b215bc0ab5eef0b37/d11d7/preview1.webp 24w,\n/static/098aa8160285821b215bc0ab5eef0b37/6497b/preview1.webp 48w,\n/static/098aa8160285821b215bc0ab5eef0b37/ac3d9/preview1.webp 96w,\n/static/098aa8160285821b215bc0ab5eef0b37/7ddf8/preview1.webp 144w,\n/static/098aa8160285821b215bc0ab5eef0b37/e7796/preview1.webp 192w,\n/static/098aa8160285821b215bc0ab5eef0b37/8e12e/preview1.webp 360w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/reactive-actions/"},"frontmatter":{"date":"Sep 3, 2021","title":"NGRX — Use Actions to create more reactive applications!","description":"Use NGRX Actions in order to pass data or initialize process inside components, keeping them completely decoupled?","tags":["Micro Frontends","Angular","Javascript","Store"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAQEBAQAAAAAAAAAAAAAAAAECAwX/xAAUAQEAAAAAAAAAAAAAAAAAAAAA/9oADAMBAAIQAxAAAAH3MdYRRoAH/8QAGRAAAwEBAQAAAAAAAAAAAAAAAAESEQIg/9oACAEBAAEFAunhWFIwlErx/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAwEBPwEf/8QAFBEBAAAAAAAAAAAAAAAAAAAAIP/aAAgBAgEBPwEf/8QAFRABAQAAAAAAAAAAAAAAAAAAIDH/2gAIAQEABj8CMH//xAAcEAACAQUBAAAAAAAAAAAAAAABEQAQICFBYTH/2gAIAQEAAT8hXBPjRmo5WxSIFsN4M4Cc1n//2gAMAwEAAgADAAAAEHAPPP/EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQMBAT8QH//EABQRAQAAAAAAAAAAAAAAAAAAACD/2gAIAQIBAT8QH//EAB0QAQEAAQQDAAAAAAAAAAAAAAERACExUZEgcaH/2gAIAQEAAT8QN1GU4FlzXWnd9r3g2z2zDwQEEomAkJbGkhxirVn14f/Z","aspectRatio":1,"src":"/static/e75e398ca40baca1d4023894f4b17849/19bb6/preview1.jpg","srcSet":"/static/e75e398ca40baca1d4023894f4b17849/5fa5f/preview1.jpg 24w,\n/static/e75e398ca40baca1d4023894f4b17849/3fdf2/preview1.jpg 48w,\n/static/e75e398ca40baca1d4023894f4b17849/19bb6/preview1.jpg 96w,\n/static/e75e398ca40baca1d4023894f4b17849/cbbc7/preview1.jpg 144w,\n/static/e75e398ca40baca1d4023894f4b17849/642b4/preview1.jpg 192w,\n/static/e75e398ca40baca1d4023894f4b17849/6f4c6/preview1.jpg 1023w","srcWebp":"/static/e75e398ca40baca1d4023894f4b17849/ac3d9/preview1.webp","srcSetWebp":"/static/e75e398ca40baca1d4023894f4b17849/d11d7/preview1.webp 24w,\n/static/e75e398ca40baca1d4023894f4b17849/6497b/preview1.webp 48w,\n/static/e75e398ca40baca1d4023894f4b17849/ac3d9/preview1.webp 96w,\n/static/e75e398ca40baca1d4023894f4b17849/7ddf8/preview1.webp 144w,\n/static/e75e398ca40baca1d4023894f4b17849/e7796/preview1.webp 192w,\n/static/e75e398ca40baca1d4023894f4b17849/a912f/preview1.webp 1023w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/rxjs/"},"frontmatter":{"date":"Mar 26, 2021","title":"Custom rxjs operatros","description":"Stop redoing the same rxjs patterns ?","tags":["Javascript","Angular","rxjs"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAACIklEQVQ4y5WTy2oUQRSGZ69z7657nequvs1FMxNEwUcwGyfEYURHxLcwGyG6UXEhRlwIIbrQCYmXhYqJCwNR38tTPRNxDJkZ4aMoTp+/6u/zdxf2Dn78F+8Ofr7/9mv36xFS6A1urV539AbD1cGwN5+b/eGd56929/aPCmfPFIulUhGXcrlYriClGVSq2Fete/cePnU3m85F017GVQCEAEJIysUMCONc6vUHj0efDwvMZixIedwkUgHngguPMv90PELxiLsbj0afvhcaSZBlymQptymLG9RYJsSi4mbSSbKkdSGCCHzmXM1Q+mxaXPNpzaOeR3xCfB+hns8c5C9cMSffU3YsBuBKC6KBakO0YVpKI6SRQjMucQZCYkOAxRyQXAmu1EScLXej9jkdpGAb2jYDGwWR0ZEyjURZC2nTZBFOEpV4hHKHCqH0RGy6l8355ajVRRIU6xRUrMFKm4mkIZtLMmlzCP2x+X9scwWMMyYFggEKgbdoJUN0zMC9C4VABCEdD5LxqYHVcUhuknQcQw5xULf3x5VJz4moTNLOSw70lndw4mBkIuCn5hwvXYpancimSdoIDQQQBZACxEaCBeOfiH1KLG3MTSgBUIUrPvhzFZn7hQUmxvgYV842umVzQD0TxzlTqiiVGECt7iHVOfgVbCJk/X7+V125upZzbWUh+iu9/tqN209ebDvx5tYIebb1dkE2t3devvn4+sP+zpfD32K3CrigckOcAAAAAElFTkSuQmCC","aspectRatio":1,"src":"/static/a167a73a0fc4ba89562c5850e652c338/49d2a/preview.png","srcSet":"/static/a167a73a0fc4ba89562c5850e652c338/783cc/preview.png 24w,\n/static/a167a73a0fc4ba89562c5850e652c338/f0baa/preview.png 48w,\n/static/a167a73a0fc4ba89562c5850e652c338/49d2a/preview.png 96w,\n/static/a167a73a0fc4ba89562c5850e652c338/cadae/preview.png 144w,\n/static/a167a73a0fc4ba89562c5850e652c338/c2aee/preview.png 192w,\n/static/a167a73a0fc4ba89562c5850e652c338/ebc4a/preview.png 1050w","srcWebp":"/static/a167a73a0fc4ba89562c5850e652c338/ac3d9/preview.webp","srcSetWebp":"/static/a167a73a0fc4ba89562c5850e652c338/d11d7/preview.webp 24w,\n/static/a167a73a0fc4ba89562c5850e652c338/6497b/preview.webp 48w,\n/static/a167a73a0fc4ba89562c5850e652c338/ac3d9/preview.webp 96w,\n/static/a167a73a0fc4ba89562c5850e652c338/7ddf8/preview.webp 144w,\n/static/a167a73a0fc4ba89562c5850e652c338/e7796/preview.webp 192w,\n/static/a167a73a0fc4ba89562c5850e652c338/d34d6/preview.webp 1050w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/signal-play/"},"frontmatter":{"date":"Mar 6, 2023","title":"Signals - How far can we take it? what are it’s limits","description":"what exactly are Signals, and how do they work?","tags":["Javascript","signals","react"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAEY0lEQVQ4yyVR+W8TRxTef6eVKnEUlJA4EShXhQRIVdULKgFtUUWlqr9UIKjK2TZQaEnSGIvEceLEcWxv7JhAbdI4h2PstRM7JCYxtAlX4mPj9e76WO/M7Ox0TEefRk/vvXnv+75hYrw6mwGzafg4ByLZ6ux2ZTajBrOQ49WUhLIVrCBNJ5joWKiosZw6lwHzGTiXgbNpwFSxLgC0XUEK0BQAZRVtliC3AwJpENiGwSyI7cCkCF+XVFoqQ+1VGW4UUa6qiUBjVkS0KcNcGRQBQhombw/U8ZsKiufhQhbOZuFMbZA6va1yfG3Q8yJ4WUIZRWMoB1qY2a4Gs1WOBwkBrovwVQUKqsarGm16XUJpBacVLSUjqmV6S53aAnQc5c8EMzCYAXNZQIN5qodm09SCWjmQgaEdbZEHTwT0TEJvSiirwJxCYxjO1mQzsTwK52GIRws8CvEaDR7zKMzDcIFMRaIPg5EFgcy9dZSOW8iCRB5uyDXZayJkeIBFpGeq+mYFrxVxQtajkh4VNU7SU9EpzueNlcmiiLkCfpzX5nfwTA5RL0M5SB1hYqK+IuvPSvilgrcU/YWC1kt4KQ85mSTnHkS8rpUqWZXR05K2UcFbKqZ/sSLBWEFbFBDDSaQGUQ+LJCLSJXpCAFEBRivkif32fO/PcZUsSdqyhNdk/KKEtsuQV7SCqisaZijVmESiEqndos4J1ALEFfSlInke9nNeNlqs5WlDWNAiOzAs6JQsVfdUJsyKhBOSThGX9CUBLuZhooDjElkuk/WhKzO/nVuq0M0kSoXkQayAo283cTWaOrMqkaSk/49VUV8rk1SFJGUtVVKfb25sBB4mfIH4m+oaIEmFLMtkWdKfSCRRrIFJlQjFepGkFJICZDEdn47ffLRw9lHwjMt1motc9zsvTjivTwW65mO+VQmvV8jTIlwt5JPCDhMRSJj+hEzm/82PGC/13T5ovvuezbZrbGzf8Oi7g7Z3hm11pl8bey4ahm52/B26PhP/wTfz8YPpo5P+I0yftdN471Kv+cdR+zdjxvYRYxs71uKZbGY9zU7WYHc0DNvrrEP1FkuDw2FwuvY6XO+znv3eB/WTfzUzd05/cqGj9afDrb1nPrVc/cxmPDrc3zI6anC5DfSxk22wWA6Y+/dabXvGnE1OtpF1N933HvRMtHnvtzI+X4e1t+PelQ8Hrp0wnT9uOne8+/wR042WIctBm63B7qi3Wg9YBpoHLPss1l1m825Tz35jT53JWN/XW8cM3GoZ7DLYzPVj9v0u9x6nazfL7qMLHazB4Wp0sI3jE01ub9O4p9lz32C3N7ucbW623TPe7ve3MqbJla4B962e/s7OX66dO3vnxvd3//zOMnDCPtrqdDW6Jw499H8wNdcWCLUGgod8/sNe17GRzhPmC6ettz5n7ob+GUxkbGtiz/RG96NnI0nBmshaQ4nB8ct2ewMVabe2D3Yd67/2keXy8b6LJ7u//eL3k6e6v/r6j1Nf/gcaP5ymVIGyZgAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/33e460163f8926caf8315f4c194dd598/49d2a/preview.png","srcSet":"/static/33e460163f8926caf8315f4c194dd598/783cc/preview.png 24w,\n/static/33e460163f8926caf8315f4c194dd598/f0baa/preview.png 48w,\n/static/33e460163f8926caf8315f4c194dd598/49d2a/preview.png 96w,\n/static/33e460163f8926caf8315f4c194dd598/cadae/preview.png 144w,\n/static/33e460163f8926caf8315f4c194dd598/c2aee/preview.png 192w,\n/static/33e460163f8926caf8315f4c194dd598/79b21/preview.png 720w","srcWebp":"/static/33e460163f8926caf8315f4c194dd598/ac3d9/preview.webp","srcSetWebp":"/static/33e460163f8926caf8315f4c194dd598/d11d7/preview.webp 24w,\n/static/33e460163f8926caf8315f4c194dd598/6497b/preview.webp 48w,\n/static/33e460163f8926caf8315f4c194dd598/ac3d9/preview.webp 96w,\n/static/33e460163f8926caf8315f4c194dd598/7ddf8/preview.webp 144w,\n/static/33e460163f8926caf8315f4c194dd598/e7796/preview.webp 192w,\n/static/33e460163f8926caf8315f4c194dd598/63879/preview.webp 720w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/signals/"},"frontmatter":{"date":"Feb 28, 2023","title":"Signals — what is going on behind the scenes","description":"what exactly are Signals, and how do they work?","tags":["Javascript","signals","react"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAPoAAAD6AG1e1JrAAAEY0lEQVQ4yyVR+W8TRxTef6eVKnEUlJA4EShXhQRIVdULKgFtUUWlqr9UIKjK2TZQaEnSGIvEceLEcWxv7JhAbdI4h2PstRM7JCYxtAlX4mPj9e76WO/M7Ox0TEefRk/vvXnv+75hYrw6mwGzafg4ByLZ6ux2ZTajBrOQ49WUhLIVrCBNJ5joWKiosZw6lwHzGTiXgbNpwFSxLgC0XUEK0BQAZRVtliC3AwJpENiGwSyI7cCkCF+XVFoqQ+1VGW4UUa6qiUBjVkS0KcNcGRQBQhombw/U8ZsKiufhQhbOZuFMbZA6va1yfG3Q8yJ4WUIZRWMoB1qY2a4Gs1WOBwkBrovwVQUKqsarGm16XUJpBacVLSUjqmV6S53aAnQc5c8EMzCYAXNZQIN5qodm09SCWjmQgaEdbZEHTwT0TEJvSiirwJxCYxjO1mQzsTwK52GIRws8CvEaDR7zKMzDcIFMRaIPg5EFgcy9dZSOW8iCRB5uyDXZayJkeIBFpGeq+mYFrxVxQtajkh4VNU7SU9EpzueNlcmiiLkCfpzX5nfwTA5RL0M5SB1hYqK+IuvPSvilgrcU/YWC1kt4KQ85mSTnHkS8rpUqWZXR05K2UcFbKqZ/sSLBWEFbFBDDSaQGUQ+LJCLSJXpCAFEBRivkif32fO/PcZUsSdqyhNdk/KKEtsuQV7SCqisaZijVmESiEqndos4J1ALEFfSlInke9nNeNlqs5WlDWNAiOzAs6JQsVfdUJsyKhBOSThGX9CUBLuZhooDjElkuk/WhKzO/nVuq0M0kSoXkQayAo283cTWaOrMqkaSk/49VUV8rk1SFJGUtVVKfb25sBB4mfIH4m+oaIEmFLMtkWdKfSCRRrIFJlQjFepGkFJICZDEdn47ffLRw9lHwjMt1motc9zsvTjivTwW65mO+VQmvV8jTIlwt5JPCDhMRSJj+hEzm/82PGC/13T5ovvuezbZrbGzf8Oi7g7Z3hm11pl8bey4ahm52/B26PhP/wTfz8YPpo5P+I0yftdN471Kv+cdR+zdjxvYRYxs71uKZbGY9zU7WYHc0DNvrrEP1FkuDw2FwuvY6XO+znv3eB/WTfzUzd05/cqGj9afDrb1nPrVc/cxmPDrc3zI6anC5DfSxk22wWA6Y+/dabXvGnE1OtpF1N933HvRMtHnvtzI+X4e1t+PelQ8Hrp0wnT9uOne8+/wR042WIctBm63B7qi3Wg9YBpoHLPss1l1m825Tz35jT53JWN/XW8cM3GoZ7DLYzPVj9v0u9x6nazfL7qMLHazB4Wp0sI3jE01ub9O4p9lz32C3N7ucbW623TPe7ve3MqbJla4B962e/s7OX66dO3vnxvd3//zOMnDCPtrqdDW6Jw499H8wNdcWCLUGgod8/sNe17GRzhPmC6ettz5n7ob+GUxkbGtiz/RG96NnI0nBmshaQ4nB8ct2ewMVabe2D3Yd67/2keXy8b6LJ7u//eL3k6e6v/r6j1Nf/gcaP5ymVIGyZgAAAABJRU5ErkJggg==","aspectRatio":1,"src":"/static/33e460163f8926caf8315f4c194dd598/49d2a/preview.png","srcSet":"/static/33e460163f8926caf8315f4c194dd598/783cc/preview.png 24w,\n/static/33e460163f8926caf8315f4c194dd598/f0baa/preview.png 48w,\n/static/33e460163f8926caf8315f4c194dd598/49d2a/preview.png 96w,\n/static/33e460163f8926caf8315f4c194dd598/cadae/preview.png 144w,\n/static/33e460163f8926caf8315f4c194dd598/c2aee/preview.png 192w,\n/static/33e460163f8926caf8315f4c194dd598/79b21/preview.png 720w","srcWebp":"/static/33e460163f8926caf8315f4c194dd598/ac3d9/preview.webp","srcSetWebp":"/static/33e460163f8926caf8315f4c194dd598/d11d7/preview.webp 24w,\n/static/33e460163f8926caf8315f4c194dd598/6497b/preview.webp 48w,\n/static/33e460163f8926caf8315f4c194dd598/ac3d9/preview.webp 96w,\n/static/33e460163f8926caf8315f4c194dd598/7ddf8/preview.webp 144w,\n/static/33e460163f8926caf8315f4c194dd598/e7796/preview.webp 192w,\n/static/33e460163f8926caf8315f4c194dd598/63879/preview.webp 720w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/video-player/"},"frontmatter":{"date":"Dec 30, 2021","title":"Improving video load performance (JS)","description":"Videos are tricky ?","tags":["Javascript","native","video"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAIAAAAC64paAAAACXBIWXMAAAsTAAALEwEAmpwYAAACUUlEQVQ4y5WUWU8aURTH57UhpjDMdmcGGGxFGAYYttYtXR40rU3aD9C0TZMuielLH5vUxIdWYzWYioJQFllkl62KVG3V+sV6BiTEF5gmv9ycezP/c84995zBiq0L9ZSO/nYpty8BLFM/VsdJtnGy1zjNNX93vCiOsFzzdDg//wD5gzMl5tEl2MXDs1LrAnvxZkElr959ePl24eOnpWxdSaFweI5pdbhKdLj+hkZjlZzJSiu1fwTxMYpBfWimv/YgGQYAg0Ys6CXZs5OtJkoHELwrZhVYjkIshTiK47uHpKJEDOIBWvkGaXFcdMjBRP5Hrg4lxCSLT7L4RZtscnoF96TgmRTcdwXvjEme4Owu86jNLU7J1imb1WUUzDe1OpvkCkTSkWw1U/uFiWMep3XCMe6/bZeNrjtm77TZfw+8mH0zRqfPKDodFr9fuu8WpyXJTSM0LjrWw7vhdCVVbWOINbCcCSEDDWmzPM2baM5A8wbGIChblkeIZ1kjZI44HidIq92xtp0Ipcup/TZG0DRBUQRFkx3A7q49ow9JM3BnEH/biodSJSUy2TlVAxQMqn1NDA/w3+Lt+FXaptFbhLrgPbGzf+drTTIQpUn0hM3hUqqdqaQhbdjr9Prh4HpcT2hGRsas4kY0e/XOD2YfDeMx8HBufnb+6dyTZ89fvw/GC7F8A8YD+/w1MJjF5cDiysbS6uaXQHg9nNxKFqFDdistGGxs+XtkMCvAZnQ1GFsLJSHhUKoMU5GpHedhqsDNUHYyFZik6F4tVmhCTPixgLLYOv8Hw0Kb8zSUozkAAAAASUVORK5CYII=","aspectRatio":1,"src":"/static/34cc17a9858429ad5599c447df10c366/49d2a/preview.png","srcSet":"/static/34cc17a9858429ad5599c447df10c366/783cc/preview.png 24w,\n/static/34cc17a9858429ad5599c447df10c366/f0baa/preview.png 48w,\n/static/34cc17a9858429ad5599c447df10c366/49d2a/preview.png 96w,\n/static/34cc17a9858429ad5599c447df10c366/cadae/preview.png 144w,\n/static/34cc17a9858429ad5599c447df10c366/c2aee/preview.png 192w,\n/static/34cc17a9858429ad5599c447df10c366/8d700/preview.png 1312w","srcWebp":"/static/34cc17a9858429ad5599c447df10c366/ac3d9/preview.webp","srcSetWebp":"/static/34cc17a9858429ad5599c447df10c366/d11d7/preview.webp 24w,\n/static/34cc17a9858429ad5599c447df10c366/6497b/preview.webp 48w,\n/static/34cc17a9858429ad5599c447df10c366/ac3d9/preview.webp 96w,\n/static/34cc17a9858429ad5599c447df10c366/7ddf8/preview.webp 144w,\n/static/34cc17a9858429ad5599c447df10c366/e7796/preview.webp 192w,\n/static/34cc17a9858429ad5599c447df10c366/56679/preview.webp 1312w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}},{"node":{"fields":{"slug":"/webpack-hooks/"},"frontmatter":{"date":"Oct 17, 2021","title":"Webpack hooks and ng watch","description":"Webpack life cycle hooks ?","tags":["Javsascript","Webpack","hooks"],"cover":{"childImageSharp":{"fluid":{"base64":"data:image/jpeg;base64,/9j/2wBDABALDA4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVGC8aGi9jQjhCY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2NjY2P/wgARCAAUABQDASIAAhEBAxEB/8QAGAABAAMBAAAAAAAAAAAAAAAAAAIFBgT/xAAXAQADAQAAAAAAAAAAAAAAAAAAAQMC/9oADAMBAAIQAxAAAAGz6qS6xXOoFPUCizgR/8QAHRAAAQQCAwAAAAAAAAAAAAAAAQIDBBEAMwUQMv/aAAgBAQABBQJLTIUTWTzbwRZV5m7uuQ3/AP/EABcRAAMBAAAAAAAAAAAAAAAAAAABAhD/2gAIAQMBAT8BuFLHv//EABgRAQADAQAAAAAAAAAAAAAAAAEAAhEQ/9oACAECAQE/AVclXTv/xAAdEAABBAIDAAAAAAAAAAAAAAABAAIQEnFyESFR/9oACAEBAAY/AuuCcwNU1lTYHyBiRqv/xAAeEAACAQMFAAAAAAAAAAAAAAABEQAQQbExUWGh8P/aAAgBAQABPyHSs2LRdqNasyYsQhEntBZT08mogJ2ZM//aAAwDAQACAAMAAAAQ+D8+/8QAGREBAAIDAAAAAAAAAAAAAAAAAQAQEcHw/9oACAEDAQE/ECQOe3ADf//EABgRAQEAAwAAAAAAAAAAAAAAAAEAEBEx/9oACAECAQE/EHNOziuNX//EAB4QAQACAgIDAQAAAAAAAAAAAAEAESExQXEQgZGh/9oACAEBAAE/EK0MwWR6uEKTbWJrxg3C+oTUMvL5XWNzqGZ+X4EER0wBAHFD/9k=","aspectRatio":1,"src":"/static/34a68bff5f1f1d02cabd438d23e3868a/19bb6/preview1.jpg","srcSet":"/static/34a68bff5f1f1d02cabd438d23e3868a/5fa5f/preview1.jpg 24w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/3fdf2/preview1.jpg 48w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/19bb6/preview1.jpg 96w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/cbbc7/preview1.jpg 144w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/642b4/preview1.jpg 192w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/520cb/preview1.jpg 1280w","srcWebp":"/static/34a68bff5f1f1d02cabd438d23e3868a/ac3d9/preview1.webp","srcSetWebp":"/static/34a68bff5f1f1d02cabd438d23e3868a/d11d7/preview1.webp 24w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/6497b/preview1.webp 48w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/ac3d9/preview1.webp 96w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/7ddf8/preview1.webp 144w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/e7796/preview1.webp 192w,\n/static/34a68bff5f1f1d02cabd438d23e3868a/c5c26/preview1.webp 1280w","sizes":"(max-width: 96px) 100vw, 96px"}}}}}}]}}}