Skip to content

Commit 7bbd873

Browse files
committed
deploy: 8f5f19a
1 parent 9fc5229 commit 7bbd873

File tree

10 files changed

+254
-231
lines changed

10 files changed

+254
-231
lines changed

assets/avatar/Mb8LHQi_iN-96.jpeg

162 Bytes
Loading

assets/avatar/NhCAo_SEAd-96.jpeg

-1.88 KB
Binary file not shown.

assets/avatar/Yycgv8ZbIc-80.jpeg

18 Bytes
Loading

feed.xml

Lines changed: 113 additions & 103 deletions
Large diffs are not rendered by default.

index.html

Lines changed: 2 additions & 2 deletions
Large diffs are not rendered by default.

posts/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

posts/meetups/2024/08/20/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
<!doctype html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><link rel="apple-touch-icon" type="image/png" href="/assets/icon/favicon-ios.png" sizes="180x180"><link rel="icon" type="image/png" href="/assets/icon/favicon-android.png" sizes="192x192"><link rel="icon" type="image/png" href="/assets/icon/favicon.png" sizes="32x32"><link rel="canonical" href="https://austinjavascript.com/posts/meetups/2024/09/17/"><meta name="description" content="
2+
3+
4+
5+
Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, in..."><meta property="og:url" content="https://austinjavascript.com/posts/meetups/2024/09/17/"><meta property="og:title" content="Building Robust Applications with Effect: Mastering Return Types and Monads•Austin JavaScript"><meta property="og:description" content="
6+
7+
8+
9+
Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, in..."><meta name="twitter:card" content="summary"><meta name="twitter:creator" content="@AustinJS"><title>Building Robust Applications with Effect: Mastering Return Types and Monads•Austin JavaScript</title><link rel="alternate" type="application/atom+xml" href="https://austinjavascript.com/feed.xml" title="Austin JavaScript Atom feed"><link rel="stylesheet" href="/assets/css/main.css"></head><body><svg display="none"><g id="logo-github"><path d="M256,32C132.3,32,32,134.9,32,261.7c0,101.5,64.2,187.5,153.2,217.9a17.56,17.56,0,0,0,3.8.4c8.3,0,11.5-6.1,11.5-11.4,0-5.5-.2-19.9-.3-39.1a102.4,102.4,0,0,1-22.6,2.7c-43.1,0-52.9-33.5-52.9-33.5-10.2-26.5-24.9-33.6-24.9-33.6-19.5-13.7-.1-14.1,1.4-14.1h.1c22.5,2,34.3,23.8,34.3,23.8,11.2,19.6,26.2,25.1,39.6,25.1a63,63,0,0,0,25.6-6c2-14.8,7.8-24.9,14.2-30.7-49.7-5.8-102-25.5-102-113.5,0-25.1,8.7-45.6,23-61.6-2.3-5.8-10-29.2,2.2-60.8a18.64,18.64,0,0,1,5-.5c8.1,0,26.4,3.1,56.6,24.1a208.21,208.21,0,0,1,112.2,0c30.2-21,48.5-24.1,56.6-24.1a18.64,18.64,0,0,1,5,.5c12.2,31.6,4.5,55,2.2,60.8,14.3,16.1,23,36.6,23,61.6,0,88.2-52.4,107.6-102.3,113.3,8,7.1,15.2,21.1,15.2,42.5,0,30.7-.3,55.5-.3,63,0,5.4,3.1,11.5,11.4,11.5a19.35,19.35,0,0,0,4-.4C415.9,449.2,480,363.1,480,261.7,480,134.9,379.7,32,256,32Z"/></g><g id="logo-slack"><path d="M126.12,315.1A47.06,47.06,0,1,1,79.06,268h47.06Z"/><path d="M149.84,315.1a47.06,47.06,0,0,1,94.12,0V432.94a47.06,47.06,0,1,1-94.12,0Z"/><path d="M196.9,126.12A47.06,47.06,0,1,1,244,79.06v47.06Z"/><path d="M196.9,149.84a47.06,47.06,0,0,1,0,94.12H79.06a47.06,47.06,0,0,1,0-94.12Z"/><path d="M385.88,196.9A47.06,47.06,0,1,1,432.94,244H385.88Z"/><path d="M362.16,196.9a47.06,47.06,0,0,1-94.12,0V79.06a47.06,47.06,0,1,1,94.12,0Z"/><path d="M315.1,385.88A47.06,47.06,0,1,1,268,432.94V385.88Z"/><path d="M315.1,362.16a47.06,47.06,0,0,1,0-94.12H432.94a47.06,47.06,0,1,1,0,94.12Z"/></g><g id="logo-twitter"><path d="M496,109.5a201.8,201.8,0,0,1-56.55,15.3,97.51,97.51,0,0,0,43.33-53.6,197.74,197.74,0,0,1-62.56,23.5A99.14,99.14,0,0,0,348.31,64c-54.42,0-98.46,43.4-98.46,96.9a93.21,93.21,0,0,0,2.54,22.1,280.7,280.7,0,0,1-203-101.3A95.69,95.69,0,0,0,36,130.4C36,164,53.53,193.7,80,211.1A97.5,97.5,0,0,1,35.22,199v1.2c0,47,34,86.1,79,95a100.76,100.76,0,0,1-25.94,3.4,94.38,94.38,0,0,1-18.51-1.8c12.51,38.5,48.92,66.5,92.05,67.3A199.59,199.59,0,0,1,39.5,405.6,203,203,0,0,1,16,404.2,278.68,278.68,0,0,0,166.74,448c181.36,0,280.44-147.7,280.44-275.8,0-4.2-.11-8.4-.31-12.5A198.48,198.48,0,0,0,496,109.5Z"/></g></svg><header class="page-header hero"><div class="hero-body is-primary is-paddingless"><div class="container"><div class="navbar" role="navigation" aria-label="main navigation"><div class="navbar-brand"><figure class="image is-96x96 logo"><img src="/assets/icon/logo.svg" alt="logo"></figure><a href="/" class="navbar-item title has-text-white is-size-1-tablet">Austin JavaScript</a></div><div class="navbar-menu is-size-4"><div class="navbar-end"><a class="navbar-item" href="/">Home </a><a class="navbar-item" href="/posts/meetups/">Meetups</a></div></div></div></div></div></header><main class="page-main section has-background-white"><div class="container"><div class="columns is-variable is-8-desktop"><div class="column is-two-thirds flex-container"><h1 class="title flex-item">Building Robust Applications with Effect: Mastering Return Types and Monads</h1><div class="content flex-item"><p>Effect is a powerful library that enhances your TypeScript projects by focusing on robust return types, error handling, query retries, interruption management, and observability. With Effect, you can ensure that your functions return consistent and predictable types, making your code more reliable and easier to maintain. It also encourages treating errors as first-class citizens, allowing for graceful error handling and recovery. Additionally, Effect provides mechanisms for retrying queries and managing interruptions, ensuring that your application remains resilient in various scenarios. Finally, its observability features help you monitor and debug your application more effectively. Now, you can take your todo application to the next level and impress everyone with your overengineered masterpiece.</p></div><div class="message flex-item flex-item-0"><svg display="none"><g id="alarm"><path d="M153.59,110.46A21.41,21.41,0,0,0,152.48,79h0A62.67,62.67,0,0,0,112,64l-3.27.09-.48,0C74.4,66.15,48,95.55,48.07,131c0,19,8,29.06,14.32,37.11a20.61,20.61,0,0,0,14.7,7.8c.26,0,.7.05,2,.05a19.06,19.06,0,0,0,13.75-5.89Z"/><path d="M403.79,64.11l-3.27-.1H400a62.67,62.67,0,0,0-40.52,15,21.41,21.41,0,0,0-1.11,31.44l60.77,59.65A19.06,19.06,0,0,0,432.93,176c1.28,0,1.72,0,2-.05a20.61,20.61,0,0,0,14.69-7.8c6.36-8.05,14.28-18.08,14.32-37.11C464,95.55,437.6,66.15,403.79,64.11Z"/><path d="M256.07,96c-97,0-176,78.95-176,176a175.23,175.23,0,0,0,40.81,112.56L84.76,420.69a16,16,0,1,0,22.63,22.62l36.12-36.12a175.63,175.63,0,0,0,225.12,0l36.13,36.12a16,16,0,1,0,22.63-22.62l-36.13-36.13A175.17,175.17,0,0,0,432.07,272C432.07,175,353.12,96,256.07,96Zm16,176a16,16,0,0,1-16,16h-80a16,16,0,0,1,0-32h64V160a16,16,0,0,1,32,0Z"/></g><g id="calendar"><path d="M416,64H400V48.45c0-8.61-6.62-16-15.23-16.43A16,16,0,0,0,368,48V64H144V48.45c0-8.61-6.62-16-15.23-16.43A16,16,0,0,0,112,48V64H96a64,64,0,0,0-64,64V416a64,64,0,0,0,64,64H416a64,64,0,0,0,64-64V128A64,64,0,0,0,416,64ZM136,416a24,24,0,1,1,24-24A24,24,0,0,1,136,416Zm0-80a24,24,0,1,1,24-24A24,24,0,0,1,136,336Zm80,80a24,24,0,1,1,24-24A24,24,0,0,1,216,416Zm0-80a24,24,0,1,1,24-24A24,24,0,0,1,216,336Zm80,80a24,24,0,1,1,24-24A24,24,0,0,1,296,416Zm0-80a24,24,0,1,1,24-24A24,24,0,0,1,296,336Zm0-80a24,24,0,1,1,24-24A24,24,0,0,1,296,256Zm80,80a24,24,0,1,1,24-24A24,24,0,0,1,376,336Zm0-80a24,24,0,1,1,24-24A24,24,0,0,1,376,256Zm72-120v16a8,8,0,0,1-8,8H72a8,8,0,0,1-8-8V128A32.09,32.09,0,0,1,96,96H416a32.09,32.09,0,0,1,32,32Z"/></g><g id="location-sharp"><path d="M256,32C167.67,32,96,96.51,96,176c0,128,160,304,160,304S416,304,416,176C416,96.51,344.33,32,256,32Zm0,224a64,64,0,1,1,64-64A64.07,64.07,0,0,1,256,256Z"/></g></svg><div class="message-header">Meetup details</div><div class="message-body"><div>DATE <span class="icon has-text-grey-dark"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#calendar"></use></svg> </span><time class="has-text-primary has-text-weight-bold" datetime="2024-09-17">September 17, 2024</time></div><div>TIME <span class="icon has-text-grey-dark"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#alarm"></use></svg> </span><time class="has-text-primary has-text-weight-bold" datetime="15:30">7:30PM</time> - <time class="has-text-primary has-text-weight-bold" datetime="21:00">9:00PM</time></div><div>LOCATION <span class="icon has-text-grey-dark"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#location-sharp"></use></svg> </span><strong class="has-text-primary">Cloudflare Austin</strong> <em>(405 Comal St. Austin, TX 78702)</em></div><small>(Check back here or on <a href="https://twitter.com/search?q=austinjavascript.com%2Fposts%2Fmeetups%2F2024%2F09%2F17%2F">Twitter</a> for updates.)</small><p class="mt-4">Afterwards, the discussion carries on at <strong><a href="https://www.lazarusbrewing.com/">Lazarus Brewing Co.</a></strong> (1902 E 6th St, Austin, TX 78702).</p><div class="mt-4">Help <a href="https://twitter.com/intent/tweet?text=Meetup%3A%20%22Building%20Robust%20Applications%20with%20Effect%3A%20Mastering%20Return%20Types%20and%20Monads%22&url=austinjavascript.com%2Fposts%2Fmeetups%2F2024%2F09%2F17%2F&via=AustinJS">spread the word on Twitter</a>.</div></div></div></div><div class="column mt-5"><h2 class="title is-sr-only">Speaker</h2><div class="mt-4"><div class="card"><div class="card-content"><div class="media"><div class="media-left"><figure class="image is-96x96 has-background-grey-lighter"><img src="/assets/avatar/FZgr7vsBWt-96.jpeg" alt="David Bowman" loading="lazy" decoding="async"></figure></div><div class="media-content"><p class="title is-size-5">David Bowman</p><div class="subtitle is-6 has-text-weight-semibold is-marginless-bottom"></div><div><svg display="none"><g id="at-circle"><path d="M255.46,48.74c-114.84,0-208,93.11-208,208s93.12,208,208,208,208-93.12,208-208S370.31,48.74,255.46,48.74ZM380.28,252c-2.85,32.63-16.79,49.7-28,58.26S327.61,322.58,316,320.5a41.61,41.61,0,0,1-26.82-17.19,62.06,62.06,0,0,1-44,17.57,51.66,51.66,0,0,1-38.55-16.83c-11.38-12.42-17-30.36-15.32-49.23,3-35,30.91-57.39,56.87-61.48,27.2-4.29,52.23,6.54,62.9,19.46l3.85,4.66-6.34,50.38c-1.19,14.34,3.28,23.48,12.29,25.1,2.39.42,8.1-.13,14.37-4.93,6.72-5.15,15.14-16,17.1-38.47C354.7,223,348,200.35,333.1,184.05c-15.49-16.9-39.09-25.84-68.23-25.84-54,0-101.81,44.43-106.58,99-2.28,26.2,5.67,50.68,22.4,68.93C197.05,344,220,353.88,245.35,353.88c19,0,30.61-2.05,49.48-8.78a14,14,0,0,1,9.4,26.38c-21.82,7.77-36.68,10.4-58.88,10.4-33.28,0-63.57-13.06-85.3-36.77C138,321,127.42,288.94,130.4,254.82c2.91-33.33,18.45-64.63,43.77-88.12s57.57-36.49,90.7-36.49c37.2,0,67.93,12.08,88.87,34.93C373.83,187.05,383.25,217.89,380.28,252Z"/><path d="M252.57,221c-14.83,2.33-31.56,15.84-33.34,36.26-1,11.06,2,21.22,8.07,27.87a23.65,23.65,0,0,0,17.91,7.75c20.31,0,34.73-14.94,36.75-38.06a14,14,0,0,1,.34-2.07l3.2-25.45a49.61,49.61,0,0,0-32.93-6.3Z"/></g><g id="home"><path d="M261.56,101.28a8,8,0,0,0-11.06,0L66.4,277.15a8,8,0,0,0-2.47,5.79L63.9,448a32,32,0,0,0,32,32H192a16,16,0,0,0,16-16V328a8,8,0,0,1,8-8h80a8,8,0,0,1,8,8l0,136a16,16,0,0,0,16,16h96.06a32,32,0,0,0,32-32l0-165.06a8,8,0,0,0-2.47-5.79Z"/><path d="M490.91,244.15l-74.8-71.56,0-108.59a16,16,0,0,0-16-16h-48a16,16,0,0,0-16,16l0,32L278.19,40.62C272.77,35.14,264.71,32,256,32h0c-8.68,0-16.72,3.14-22.14,8.63L21.16,244.13c-6.22,6-7,15.87-1.34,22.37A16,16,0,0,0,43,267.56L250.5,69.28a8,8,0,0,1,11.06,0L469.08,267.56a16,16,0,0,0,22.59-.44C497.81,260.76,497.3,250.26,490.91,244.15Z"/></g><g id="logo-linkedin"><path d="M444.17,32H70.28C49.85,32,32,46.7,32,66.89V441.61C32,461.91,49.85,480,70.28,480H444.06C464.6,480,480,461.79,480,441.61V66.89C480.12,46.7,464.6,32,444.17,32ZM170.87,405.43H106.69V205.88h64.18ZM141,175.54h-.46c-20.54,0-33.84-15.29-33.84-34.43,0-19.49,13.65-34.42,34.65-34.42s33.85,14.82,34.31,34.42C175.65,160.25,162.35,175.54,141,175.54ZM405.43,405.43H341.25V296.32c0-26.14-9.34-44-32.56-44-17.74,0-28.24,12-32.91,23.69-1.75,4.2-2.22,9.92-2.22,15.76V405.43H209.38V205.88h64.18v27.77c9.34-13.3,23.93-32.44,57.88-32.44,42.13,0,74,27.77,74,87.64Z"/></g></svg> <a class="icon tooltip" href="https://www.theinnovationlab.dev/" aria-label="Home: https://www.theinnovationlab.dev/"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#home"></use></svg> </a><a class="icon tooltip" href="https://twitter.com/davidlbowman" aria-label="Twitter: davidlbowman"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-twitter"></use></svg> </a><a class="icon tooltip" href="https://github.com/davidlbowman" aria-label="GitHub: davidlbowman"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-github"></use></svg> </a><a class="icon tooltip" href="https://www.linkedin.com/in/davidlbowman" aria-label="LinkedIn: davidlbowman"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-linkedin"></use></svg></a></div></div></div></div></div></div></div></div><div class="columns is-variable is-8-desktop"><div class="column is-two-thirds"><div class="box is-8 content"><h3>Sponsor</h3><figure class="image sponsor-logo"><img src="https://blog.cloudflare.com/content/images/2016/09/cf-blog-logo-crop.png" alt="Sponsored by: Cloudflare Austin"></figure><p>Austin JavaScript is <strong>sponsored this month by <a href="https://www.cloudflare.com/">Cloudflare Austin</a></strong>. Please thank them for their gracious gifts of pizza and drinks and for their support of the local JavaScript community.Ask them about their <a href="https://www.cloudflare.com/careers/">job opportunities</a>!</p></div></div></div><div class="columns is-variable is-8 mt-6"><div class="column"><a class="arrow-left" href="/posts/meetups/2024/08/20/">Contorted Frameworks: Resolving the Tension Between Static and Dynamic UIs</a></div><div class="column has-text-right"></div></div><p class="edit-page content has-text-right-desktop"><a href="https://github.com/austinjavascript/austinjavascript.com/blob/master/./_meetups/2024-09-17-meetup.md">Edit this page</a></p></div></main><footer class="page-footer footer mt-4 pt-4"><div class="container"><div class="navbar"><div class="navbar-menu is-active"><div class="navbar-start"><a class="navbar-item" href="/">&copy; 2024 Austin JavaScript </a><a class="navbar-item" href="/about/">About </a><a class="navbar-item" href="/code-of-conduct/">Code of Conduct </a><a class="navbar-item" href="/contributing/">Contributing </a><a class="navbar-item" href="/posts/">Posts </a><a class="navbar-item is-hidden-desktop" href="/posts/meetups/">Meetups</a></div><div class="navbar-end"><a class="navbar-item is-inline-block-tablet" href="https://twitter.com/AustinJS"><span class="icon tooltip" role="link" aria-label="@AustinJS on Twitter"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-twitter"></use></svg> </span><span class="is-sr-only-desktop">Twitter: @AustinJS</span> </a><a class="navbar-item is-inline-block-tablet" href="https://austinjavascript.slack.com"><span class="icon tooltip" role="link" aria-label="austinjavascript on Slack"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-slack"></use></svg> </span><span class="is-hidden-desktop">Slack: austinjavascript</span> </a><a class="navbar-item is-inline-block-tablet" href="https://github.com/austinjavascript"><span class="icon tooltip" role="link" aria-label="austinjavascript on GitHub"><svg class="icon-item" viewBox="0 0 512 512"><use xlink:href="#logo-github"></use></svg> </span><span class="is-hidden-desktop">GitHub: austinjavascript</span></a></div></div></div></div></footer><script>!function(e,a,t,n,g,c){e.GoogleAnalyticsObject=n,e.ga=e.ga||function(){(e.ga.q=e.ga.q||[]).push(arguments)},e.ga.l=+new Date,g=a.createElement(t),c=a.getElementsByTagName(t)[0],g.async=1,g.src="//www.google-analytics.com/analytics.js",c.parentNode.insertBefore(g,c)}(window,document,"script","ga"),ga("create","UA-45308206-4","auto"),ga("send","pageview")</script></body></html>

posts/meetups/index.html

Lines changed: 1 addition & 1 deletion
Large diffs are not rendered by default.

0 commit comments

Comments
 (0)