2022-09-26 18:47:16 -05:00
<!doctype html> < html lang = en dir = ltr class = scroll-smooth data-default-appearance = dark data-auto-appearance = false > < head > < meta charset = utf-8 > < meta http-equiv = content-language content = "en" > < meta name = viewport content = "width=device-width,initial-scale=1" > < meta http-equiv = x-ua-compatible content = "ie=edge" > < title > Posts · Blowfish< / title > < meta name = title content = "Posts · Blowfish" > < meta name = description content = "A powerful, lightweight theme for Hugo built with Tailwind CSS." > < link rel = canonical href = https://nunocoracao.github.io/blowfish/posts/ > < link rel = alternate type = application/rss+xml href = /blowfish/posts/index.xml title = Blowfish > < link type = text/css rel = stylesheet href = /blowfish/css/main.bundle.min.2837de2ddd80f21a2e8f05c3de5c51b3001c6f76bf41e9430d3f18b1287f21ff8f160360c9686ecec3bdb000b0446c9cec20382290a2fbf1c8b3e7626d528647.css integrity = "sha512-KDfeLd2A8houjwXD3lxRswAcb3a/QelDDT8YsSh/If+PFgNgyWhuzsO9sACwRGyc7CA4IpCi+/HIs+dibVKGRw==" > < script type = text/javascript src = /blowfish/js/main.min.cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e.js integrity = "sha512-z4PhNX7vuL3xVChQ1m2AB9Yg5AULVxXcg/SpIdNs6c5H0NE8XYXysP+DGNKHfuwvY7kxvUdBeoGlODJ6+SfaPg==" > < / script >
2022-09-15 04:49:36 -05:00
< script type = text/javascript src = /blowfish/js/appearance.min.f94f4c4636d9e3ec8f5ee53cdc8ffa3d01bf87cd92ac85e6797550b1e2b80dc9118d838f3eb24c55109352455e72ff082dfe560283154e5a8f87fd75107b59c4.js integrity = "sha512-+U9MRjbZ4+yPXuU83I/6PQG/h82SrIXmeXVQseK4DckRjYOPPrJMVRCTUkVecv8ILf5WAoMVTlqPh/11EHtZxA==" > < / script >
< script defer type = text/javascript id = script-bundle src = /blowfish/js/main.bundle.min.d535b8b104fbf5cdc592bf3729c592b7de370787e7d3d703691adbd733f84fc4427cafa8ab6f59ad6d01670bd2033f569322fa915928bfef4bd07f34cedd516b.js integrity = "sha512-1TW4sQT79c3Fkr83KcWSt943B4fn09cDaRrb1zP4T8RCfK+oq29ZrW0BZwvSAz9WkyL6kVkov+9L0H80zt1Raw==" data-copy data-copied > < / script >
2022-09-11 16:41:09 -05:00
< script src = /js/zoom.min.js > < / script >
2022-09-12 18:49:15 -05:00
< link rel = apple-touch-icon sizes = 180x180 href = /blowfish/apple-touch-icon.png > < link rel = icon type = image/png sizes = 32x32 href = /blowfish/favicon-32x32.png > < link rel = icon type = image/png sizes = 16x16 href = /blowfish/favicon-16x16.png > < link rel = manifest href = /blowfish/site.webmanifest > < meta property = "og:title" content = "Posts" > < meta property = "og:description" content = "A powerful, lightweight theme for Hugo built with Tailwind CSS." > < meta property = "og:type" content = "website" > < meta property = "og:url" content = "https://nunocoracao.github.io/blowfish/posts/" > < meta property = "og:site_name" content = "Blowfish" > < meta name = twitter:card content = "summary" > < meta name = twitter:title content = "Posts" > < meta name = twitter:description content = "A powerful, lightweight theme for Hugo built with Tailwind CSS." > < meta name = author content = "Blowfish" > < link href = https://twitter.com/burufugu rel = me > < link href = https://github.com/nunocoracao/blowfish rel = me > < script async src = "https://www.googletagmanager.com/gtag/js?id=G-PEDMYR1V0K" > < / script >
2022-09-15 04:49:36 -05:00
< script > var doNotTrack = ! 1 ; if ( ! doNotTrack ) { window . dataLayer = window . dataLayer || [ ] ; function gtag ( ) { dataLayer . push ( arguments ) } gtag ( "js" , new Date ) , gtag ( "config" , "G-PEDMYR1V0K" , { anonymize _ip : ! 1 } ) } < / script > < link rel = stylesheet href = https://rsms.me/inter/inter.css > < script src = https://www.gstatic.com/firebasejs/8.10.0/firebase-app.js > < / script >
2022-09-12 06:49:52 -05:00
< script src = https://www.gstatic.com/firebasejs/8.10.0/firebase-firestore.js > < / script >
< script src = https://www.gstatic.com/firebasejs/8.10.0/firebase-auth.js > < / script >
2022-09-12 07:44:13 -05:00
< script > const firebaseConfig = { apiKey : "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY" , authDomain : "AIzaSyB5tqlqDky77Vb4Tc4apiHV4hRZI18KGiY" , projectId : "blowfish-21fff" , storageBucket : "blowfish-21fff.appspot.com" , messagingSenderId : "60108104191" , appId : "1:60108104191:web:039842ebe1370698b487ca" , measurementId : "G-PEDMYR1V0K" } ; var app = firebase . initializeApp ( firebaseConfig ) , db = firebase . firestore ( ) , auth = firebase . auth ( ) < / script > < / head > < body class = "flex flex-col h-screen px-6 m-auto text-lg leading-7 max-w-7xl bg-neutral text-neutral-900 dark:bg-neutral-800 dark:text-neutral sm:px-14 md:px-24 lg:px-32" > < div id = the-top class = "absolute flex self-center" > < a class = "px-3 py-1 text-sm -translate-y-8 rounded-b-lg bg-primary-200 focus:translate-y-0 dark:bg-neutral-600" href = #main-content > < span class = "font-bold text-primary-600 ltr:pr-2 rtl:pl-2 dark:text-primary-400" > ↓ < / span > Skip to main content< / a > < / div > < div style = padding-left:0;padding-right:0 class = "flex items-center justify-between px-4 py-6 sm:px-6 md:justify-start space-x-3" > < div > < a href = /blowfish/ class = flex > < span class = sr-only > Blowfish< / span >
2022-09-12 07:50:15 -05:00
< img src = /blowfish/img/blowfish_logo_transparent.png width = 1000 height = 1000 class = "max-h-[5rem] max-w-[5rem] object-scale-down object-left nozoom" alt = Blowfish > < / a > < / div > < div class = "flex flex-1 items-center justify-between" > < nav class = "flex space-x-3" > < a href = /blowfish/ class = "text-base font-medium text-gray-500 hover:text-gray-900" > Blowfish< / a > < / nav > < div class = "hidden md:flex items-center space-x-5 md:ml-12" > < a href = /blowfish/docs/ class = "text-base font-medium text-gray-500 hover:text-gray-900" title = Documentation > Docs< / a >
2022-09-12 18:49:15 -05:00
< a href = /blowfish/samples/ class = "text-base font-medium text-gray-500 hover:text-gray-900" title = "Content Samples" > Samples< / a >
< a href = /blowfish/users/ class = "text-base font-medium text-gray-500 hover:text-gray-900" title = Users > Users< / a >
2022-09-12 06:49:52 -05:00
< a href = https://github.com/nunocoracao/blowfish class = "text-base font-medium text-gray-500 hover:text-gray-900" title > GitHub< / a >
2022-09-12 07:44:13 -05:00
< span > < / span >
< button id = search-button class = "text-base hover:text-primary-600 dark:hover:text-primary-400" title >
< span class = "relative inline-block align-text-bottom icon" > < svg aria-hidden = "true" focusable = "false" data-prefix = "fas" data-icon = "search" class = "svg-inline--fa fa-search fa-w-16" role = "img" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z" / > < / svg > < / span > < / button > < div class = "ltr:mr-14 rtl:ml-14 cursor-pointer text-sm text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" > < button id = appearance-switcher type = button > < div class = "flex items-center justify-center h-12 dark:hidden" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M32 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z" / > < / svg > < / span > < / div > < div class = "items-center justify-center hidden h-12 dark:flex" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M256 159.1c-53.02.0-95.1 42.98-95.1 95.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.1z" / > < / svg > < / span > < / div > < / button > < / div > < / div > < div class = "flex md:hidden items-center space-x-5 md:ml-12" > < span > < / span >
< button id = search-button-mobile class = "text-base hover:text-primary-600 dark:hover:text-primary-400" title >
< span class = "relative inline-block align-text-bottom icon" > < svg aria-hidden = "true" focusable = "false" data-prefix = "fas" data-icon = "search" class = "svg-inline--fa fa-search fa-w-16" role = "img" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z" / > < / svg > < / span > < / button >
2022-09-12 18:49:15 -05:00
< button id = appearance-switcher-mobile type = button style = margin-right:5px > < div class = "flex items-center justify-center h-12 dark:hidden" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M32 256C32 132.2 132.3 32 255.8 32c11.36.0 29.7 1.668 40.9 3.746 9.616 1.777 11.75 14.63 3.279 19.44C245 86.5 211.2 144.6 211.2 207.8c0 109.7 99.71 193 208.3 172.3 9.561-1.805 16.28 9.324 10.11 16.95C387.9 448.6 324.8 480 255.8 480 132.1 480 32 379.6 32 256z" / > < / svg > < / span > < / div > < div class = "items-center justify-center hidden h-12 dark:flex" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M256 159.1c-53.02.0-95.1 42.98-95.1 95.1s41.2 96.9 95.1 96.9 95.1-42.98 95.1-95.1S309 159.1 256 159.1zM509.3 347l-63.2-91.9 63.15-91.01c6.332-9.125 1.104-21.74-9.826-23.72l-109-19.7-19.7-109c-1.975-10.93-14.59-16.16-23.72-9.824L256 65.89 164.1 2.736c-9.125-6.332-21.74-1.107-23.72 9.824L121.6 121.6 12.56 141.3C1.633 143.2-3.596 155.9 2.736 164.1L65.89 256 2.74 347.01c-6.332 9.125-1.105 21.74 9.824 23.72l109 19.7 19.7 109c1.975 10.93 14.59 16.16 23.72 9.824L256 446.1l91.01 63.15c9.127 6.334 21.75 1.107 23.72-9.822l19.7-109 109-19.7C510.4 368.8 515.6 356.1 509.3 347zM256 383.1c-70.69.0-127.1-57.31-127.1-127.1.0-70.69 57.31-127.1 127.1-127.1S383.1 186.2 383.1 256c0 70.7-56.4 127.1-127.1 127.1z" / > < / svg > < / span > < / div > < / button > < / div > < / div > < div class = "-my-2 -mr-2 md:hidden" > < label id = menu-button for = menu-controller class = block > < input type = checkbox id = menu-controller class = hidden > < div class = "cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 448 512" > < path fill = "currentcolor" d = "M0 96C0 78.33 14.33 64 32 64H416c17.7.0 32 14.33 32 32 0 17.7-14.3 32-32 32H32C14.33 128 0 113.7.0 96zM0 256c0-17.7 14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32H32c-17.67.0-32-14.3-32-32zM416 448H32c-17.67.0-32-14.3-32-32s14.33-32 32-32H416c17.7.0 32 14.3 32 32s-14.3 32-32 32z" / > < / svg > < / span > < / div > < div id = menu-wrapper style = padding-top:25px class = "fixed inset-0 z-30 invisible w-screen h-screen m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100/50 backdrop-blur-sm dark:bg-neutral-900/50" > < ul class = "flex movedown flex-col w-full px-6 py-6 mx-auto overflow-visible list-none ltr:text-right rtl:text-left max-w-7xl sm:px-14 md:px-24 lg:px-32 sm:py-10 sm:pt-10" > < li class = mb-1 > < span class = "cursor-pointer hover:text-primary-600 dark:hover:text-primary-400" > < span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 320 512" > < path fill = "currentcolor" d = "M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z" / > < / svg > < / span > < / span > < / li > < li class = mb-1 > < a class = "decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" href = /blowfish/docs/ title = Documentation > Docs< / a > < / li > < li class = mb-1 > < a class = "decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" href = /blowfish/samples/ title = "Content Samples" > Samples< / a > < / li > < li class = mb-1 > < a class = "decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" href = /blowfish/users/ title = Users > Users< / a > < / li > < li class = mb-1 > < a class = "decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" href = https://github.com/nunocoracao/blowfish title > GitHub< / a > < / li > < / ul > < / div > < / label > < / div > < / div > < div id = mobile-menu class = "fixed inset-0 z-30 invisible w-screen h-screen m-auto overflow-auto transition-opacity opacity-0 cursor-default bg-neutral-100 / 50 bac
< span class = "relative inline-block align-text-bottom icon" > < svg aria-hidden = "true" focusable = "false" data-prefix = "fas" data-icon = "search" class = "svg-inline--fa fa-search fa-w-16" role = "img" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z" / > < / svg > < / span > < / button > < / li > < / ul > < / div > < div class = "relative flex flex-col grow" > < main id = main-content class = grow > < header > < h1 class = "mt-0 text-4xl font-extrabold text-neutral-900 dark:text-neutral" > Posts< / h1 > < / header > < section class = "mt-0 prose flex max-w-full flex-col dark:prose-invert lg:flex-row" > < div class = "min-w-0 min-h-0 max-w-prose" > < / div > < / section > < section class = "mt-10 prose dark:prose-invert" > < p class = "py-8 border-t" > < em > There's no articles to list here yet.< / em > < / p > < / section > < / main > < footer class = "py-10 print:hidden" > < nav class = "pb-4 text-base font-medium text-neutral-500 dark:text-neutral-400" > < ul class = "flex flex-col list-none sm:flex-row" > < li class = "mb-1 ltr:text-right rtl:text-left sm:mb-0 ltr:sm:mr-7 ltr:sm:last:mr-0 rtl:sm:ml-7 rtl:sm:last:ml-0" > < a class = "decoration-primary-500 hover:underline hover:decoration-2 hover:underline-offset-2" href = /blowfish/tags/ title = Tags > Tags< / a > < / li > < / ul > < / nav > < div class = "flex items-center justify-between" > < p class = "text-sm text-neutral-500 dark:text-neutral-400" > ©
2022-09-11 16:41:09 -05:00
2022
2022-09-28 17:54:00 -05:00
Blowfish< / p > < p class = "text-xs text-neutral-500 dark:text-neutral-400" > Powered by < a class = "hover:underline hover:decoration-primary-400 hover:text-primary-500" href = https://gohugo.io/ target = _blank rel = "noopener noreferrer" > Hugo< / a > & < a class = "hover:underline hover:decoration-primary-400 hover:text-primary-500" href = https://nunocoracao.github.io/blowfish/ target = _blank rel = "noopener noreferrer" > Blowfish< / a > < / p > < / div > < script > mediumZoom ( document . querySelectorAll ( "img:not(.nozoom)" ) , { margin : 24 , background : "rgba(0,0,0,0.5)" , scrollOffset : 0 } ) < / script > < script type = text/javascript src = /blowfish/js/process.min.1d5a3f4a9583d31668d777478074c0526be93b07cc79f303dce0ecc502226b04072b27e78185a927a25fd226da1de5a457c13cb89c85596512bd500006ee7602.js integrity = "sha512-HVo/SpWD0xZo13dHgHTAUmvpOwfMefMD3ODsxQIiawQHKyfngYWpJ6Jf0ibaHeWkV8E8uJyFWWUSvVAABu52Ag==" > < / script > < / footer > < div id = search-wrapper class = "invisible fixed inset-0 z-50 flex h-screen w-screen cursor-default flex-col bg-neutral-500/50 p-4 backdrop-blur-sm dark:bg-neutral-900/50 sm:p-6 md:p-[10vh] lg:p-[12vh]" data-url = https://nunocoracao.github.io/blowfish/ > < div id = search-modal class = "flex flex-col w-full max-w-3xl min-h-0 mx-auto border rounded-md shadow-lg top-20 border-neutral-200 bg-neutral dark:border-neutral-700 dark:bg-neutral-800" > < header class = "relative z-10 flex items-center justify-between flex-none px-2" > < form class = "flex items-center flex-auto min-w-0" > < div class = "flex items-center justify-center w-8 h-8 text-neutral-400" > < span class = "relative inline-block align-text-bottom icon" > < svg aria-hidden = "true" focusable = "false" data-prefix = "fas" data-icon = "search" class = "svg-inline--fa fa-search fa-w-16" role = "img" xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 512 512" > < path fill = "currentcolor" d = "M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9.0 208 0S0 93.1.0 208s93.1 208 208 208c48.3.0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9.0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7.0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7.0 128 57.2 128 128 0 70.7-57.2 128-128 128z" / > < / svg > < / span > < / div > < input type = search id = search-query class = "flex flex-auto h-12 mx-1 bg-transparent appearance-none focus:outline-dotted focus:outline-2 focus:outline-transparent" placeholder = Search tabindex = 0 > < / form > < button id = close-search-button class = "flex items-center justify-center w-8 h-8 text-neutral-700 hover:text-primary-600 dark:text-neutral dark:hover:text-primary-400" title = "Close (Esc)" >
2022-09-12 07:44:13 -05:00
< span class = "relative inline-block align-text-bottom icon" > < svg xmlns = "http://www.w3.org/2000/svg" viewBox = "0 0 320 512" > < path fill = "currentcolor" d = "M310.6 361.4c12.5 12.5 12.5 32.75.0 45.25C304.4 412.9 296.2 416 288 416s-16.38-3.125-22.62-9.375L160 301.3 54.63 406.6C48.38 412.9 40.19 416 32 416S15.63 412.9 9.375 406.6c-12.5-12.5-12.5-32.75.0-45.25l105.4-105.4L9.375 150.6c-12.5-12.5-12.5-32.75.0-45.25s32.75-12.5 45.25.0L160 210.8l105.4-105.4c12.5-12.5 32.75-12.5 45.25.0s12.5 32.75.0 45.25l-105.4 105.4L310.6 361.4z" / > < / svg > < / span > < / button > < / header > < section class = "flex-auto px-2 overflow-auto" > < ul id = search-results > < / ul > < / section > < / div > < / div > < / div > < / body > < / html >