BEGIN:VCALENDAR
PRODID:-//github.com/rianjs/ical.net//NONSGML ical.net 4.0//EN
VERSION:2.0
BEGIN:VTIMEZONE
TZID:America/Phoenix
X-LIC-LOCATION:America/Phoenix
END:VTIMEZONE
BEGIN:VEVENT
DESCRIPTION:<p><span style="font-weight: 400\;">Learn how to make your API
  and method calls honest and more expressive by utilizing the Option&lt\;
 T&gt\; and Either&lt\;L\,R&gt\; data wrappers and learn how to use those 
 data structures.</span></p>\n<p><span style="font-weight: 400\;">In this 
 hour we&rsquo\;ll talk about how to replace null\, empty string\, negativ
 e integers\, and other &ldquo\;sentinel&rdquo\; values with Optional&lt\;
 T&gt\;\, how to use it once we&rsquo\;ve got one\, and how to get your &l
 dquo\;optional&rdquo\; values back out.</span></p>\n<p><span style="font-
 weight: 400\;">We&rsquo\;ll also discuss a strategy to remove the throwin
 g of exceptions in your code by using Either&lt\;L\,R&gt\; so we can get 
 strongly typed error handling (thank you compiler!). We&rsquo\;ll see how
  to pass back exceptions when an error occurs (rather than throwing them)
  or how to remove them altogether and instead use expressive error values
  that are strongly typed.</span></p>\n<p><span style="font-weight: 400\;"
 >We&rsquo\;ll see implementations of both structures in C# and Java and p
 rovide references to libraries in NuGet and Maven that already contain th
 ese data structures (and more!).</span></p>
DTEND;TZID=America/Phoenix:20171014T174500
DTSTAMP:20260416T185557Z
DTSTART;TZID=America/Phoenix:20171014T164500
GEO:33.293070;-111.796620
LOCATION:Chandler - Gilbert Community College - IRN-232
ORGANIZER:
SEQUENCE:0
STATUS:CONFIRMED
SUMMARY:<p><span style="font-weight: 400\;">Learn how to make your API and
  method calls honest and more expressive by utilizing the Option&lt\;T&gt
 \; and Either&lt\;L\,R&gt\; data wrappers and learn how to use those data
  structures.</span></p>\n<p><span style="font-weight: 400\;">In this hour
  we&rsquo\;ll talk about how to replace null\, empty string\, negative in
 tegers\, and other &ldquo\;sentinel&rdquo\; values with Optional&lt\;T&gt
 \;\, how to use it once we&rsquo\;ve got one\, and how to get your &ldquo
 \;optional&rdquo\; values back out.</span></p>\n<p><span style="font-weig
 ht: 400\;">We&rsquo\;ll also discuss a strategy to remove the throwing of
  exceptions in your code by using Either&lt\;L\,R&gt\; so we can get stro
 ngly typed error handling (thank you compiler!). We&rsquo\;ll see how to 
 pass back exceptions when an error occurs (rather than throwing them) or 
 how to remove them altogether and instead use expressive error values tha
 t are strongly typed.</span></p>\n<p><span style="font-weight: 400\;">We&
 rsquo\;ll see implementations of both structures in C# and Java and provi
 de references to libraries in NuGet and Maven that already contain these 
 data structures (and more!).</span></p>
UID:0d94940f-5304-460a-acff-1e9fa3241110
END:VEVENT
END:VCALENDAR
