{"version":1,"pages":[{"id":"-LtbBQXNSZo7Tn0VWtPo","title":"Home","pathname":"/","siteSpaceId":"sitesp_UkfaY","description":""},{"id":"-LtbHtVdcWnz8WO17NT8","title":"Understanding Scala Options","pathname":"/scala/understanding-scala-options","siteSpaceId":"sitesp_UkfaY","description":"","breadcrumbs":[{"label":"Scala"}]},{"id":"-Lz3ZL5g6zsO_wF8WFAr","title":"FirebaseApp Client in Scala","pathname":"/scala/firebaseapp-client-in-scala","siteSpaceId":"sitesp_UkfaY","description":"How to properly load the FirebaseAuth Java client in Scala","breadcrumbs":[{"label":"Scala"}]},{"id":"-Lz3aeWkGlkIGrJ_HdSM","title":"Parsing certs/keys from Strings in Scala","pathname":"/scala/parsing-certs-keys-from-strings-in-scala","siteSpaceId":"sitesp_UkfaY","description":"","breadcrumbs":[{"label":"Scala"}]},{"id":"-MgN7LfhmVTq-r9pFh9q","title":"ZIO Striped Locking","pathname":"/scala/zio-striped-locking","siteSpaceId":"sitesp_UkfaY","description":"My implementation of a striped lock using ZIO","breadcrumbs":[{"label":"Scala"}]},{"id":"-LtbHwLUbjCufJap8SZX","title":"Option in Typescript","pathname":"/typescript/option-in-typescript","siteSpaceId":"sitesp_UkfaY","description":"Implementing an Option type in Typescript","breadcrumbs":[{"label":"Typescript"}]},{"id":"-LtbJ2i13AELhCJeYUPu","title":"Redux Without Boilerplate","pathname":"/typescript/redux-without-boilerplate","siteSpaceId":"sitesp_UkfaY","description":"Setting State in Redux Without Action Boilerplate","breadcrumbs":[{"label":"Typescript"}]},{"id":"-LtbJLkywErjBf8ltSWU","title":"Redux Middleware Explained","pathname":"/typescript/redux-middleware-explained","siteSpaceId":"sitesp_UkfaY","description":"How Does Redux Middleware Actually Work?","breadcrumbs":[{"label":"Typescript"}]}]}