BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Houston Functional Programmers - ECPv6.16.4.1//NONSGML v1.0//EN
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-ORIGINAL-URL:https://hfpug.org
X-WR-CALDESC:Events for Houston Functional Programmers
REFRESH-INTERVAL;VALUE=DURATION:PT1H
X-Robots-Tag:noindex
X-PUBLISHED-TTL:PT1H
BEGIN:VTIMEZONE
TZID:America/Chicago
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:20220313T080000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20221106T070000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:20230312T080000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20231105T070000
END:STANDARD
BEGIN:DAYLIGHT
TZOFFSETFROM:-0600
TZOFFSETTO:-0500
TZNAME:CDT
DTSTART:20240310T080000
END:DAYLIGHT
BEGIN:STANDARD
TZOFFSETFROM:-0500
TZOFFSETTO:-0600
TZNAME:CST
DTSTART:20241103T070000
END:STANDARD
END:VTIMEZONE
BEGIN:VEVENT
DTSTART;TZID=America/Chicago:20231115T190000
DTEND;TZID=America/Chicago:20231115T210000
DTSTAMP:20231107T171701Z
CREATED:20230607T172639Z
LAST-MODIFIED:20231107T171701Z
UID:706-1700074800-1700082000@hfpug.org
SUMMARY:Christopher Bremer\, "Let's try Bolero\, an F# web framework built on Blazor and Elmish"
DESCRIPTION:When my team decided it was time to migrate one of our web apps away from AngularJS [^1]\, Blazor seemed like a good fit. Javascript isn’t really one of our core competencies\, but we needed a more robust client than\, say\, HTMX. One of the devs suggested we look into Bolero. We prefer F# for our technical applications\, and we were already familiar with some of the design principles espoused by the authors. Four months later\, we are in production and quite pleased with the results!\n\nBolero is a library that brings functional Model-View-Update[^3] to the Blazor ecosystem. In short\, the MVU architecture attempts to decrease the complexity of modern asynchronous web apps. The application state (the “model”) is stored immutably. Updates to the model are queued in a global message buffer\, and all data flows in a single direction.\n\nIn this talk\, I’ll walk through a sample Bolero application[^4]. I’ll cover ways to avoid standard MVU pitfalls and show how to implement some nice UX features (debounce\, polling\, time travel(?!)). I’ll show you how the discipline of MVU combined with the flexibility of F# (and the .NET ecosystem) simplifies UI development for a non front-end dev like me!\n\n[^1]: That’s AngularJS 1.18\, the original[^2]\, not Angular 16.9\n[^2]: yes\, in 2023.\n[^3]: AKA the Elm architecture. There are other MVU architectures (Maui\, SwiftUI\, Redux) that take slightly different approaches.\n[^4]: clbrem/bolero-agents\n\nBiography: Chris is the software simulation manager at NOV ReedHycalog in Conroe\, TX\, where he manages a team of engineers and data scientists. His group supports the drill bit design team by providing on demand wellbore simulation and analysis. Prior to working in software\, Chris was a research mathematician studying algebraic geometry and representation theory at University of Chicago and Louisiana State University.\n\nThis is a hybrid meeting. Please join us in person at Improving or online via Zoom. \nClaude Rubinson is inviting you to a scheduled Zoom meeting. \nTopic: Houston Functional Programmers\nTime: Jan 18\, 2023 07:00 PM Central Time (US and Canada)\nEvery month on the Third Wed\, until Nov 15\, 2023\, 11 occurrence(s)\nJan 18\, 2023 07:00 PM\nFeb 15\, 2023 07:00 PM\nMar 15\, 2023 07:00 PM\nApr 19\, 2023 07:00 PM\nMay 17\, 2023 07:00 PM\nJun 21\, 2023 07:00 PM\nJul 19\, 2023 07:00 PM\nAug 16\, 2023 07:00 PM\nSep 20\, 2023 07:00 PM\nOct 18\, 2023 07:00 PM\nNov 15\, 2023 07:00 PM\nPlease download and import the following iCalendar (.ics) files to your calendar system.\nMonthly: https://uhd.zoom.us/meeting/tZIkdOiqqzMiE9KjGZH4RidY2HUNNsiytrGX/ics?icsToken=98tyKuGupzgrGNGduBCBRpwAHYjCd-rwmFxHj_p2ljjfK3RhawfPZMp3HJxsGcHE \nJoin Zoom Meeting\nhttps://uhd.zoom.us/j/86931258896?pwd=cjlCL1dDT0d0VE5hUmVrdnhPQVZIZz09 \nMeeting ID: 869 3125 8896\nPasscode: recursion\nOne tap mobile\n+13462487799\,\,86931258896# US (Houston)\n+12063379723\,\,86931258896# US (Seattle) \nDial by your location\n+1 346 248 7799 US (Houston)\n+1 206 337 9723 US (Seattle)\n+1 213 338 8477 US (Los Angeles)\n+1 253 215 8782 US (Tacoma)\n+1 602 753 0140 US (Phoenix)\n+1 669 219 2599 US (San Jose)\n+1 669 900 6833 US (San Jose)\n+1 720 928 9299 US (Denver)\n+1 971 247 1195 US (Portland)\n+1 651 372 8299 US (Minnesota)\n+1 786 635 1003 US (Miami)\n+1 267 831 0333 US (Philadelphia)\n+1 301 715 8592 US (Washington DC)\n+1 312 626 6799 US (Chicago)\n+1 470 250 9358 US (Atlanta)\n+1 470 381 2552 US (Atlanta)\n+1 646 518 9805 US (New York)\n+1 646 558 8656 US (New York)\nMeeting ID: 869 3125 8896\nFind your local number: https://uhd.zoom.us/u/kiTOghtR9 \nJoin by SIP\n86931258896@zoomcrc.com \nJoin by H.323\n162.255.37.11 (US West)\n162.255.36.11 (US East)\n115.114.131.7 (India Mumbai)\n115.114.115.7 (India Hyderabad)\n213.19.144.110 (Amsterdam Netherlands)\n213.244.140.110 (Germany)\n103.122.166.55 (Australia Sydney)\n103.122.167.55 (Australia Melbourne)\n149.137.40.110 (Singapore)\n64.211.144.160 (Brazil)\n149.137.68.253 (Mexico)\n69.174.57.160 (Canada Toronto)\n65.39.152.160 (Canada Vancouver)\n207.226.132.110 (Japan Tokyo)\n149.137.24.110 (Japan Osaka)\nMeeting ID: 869 3125 8896\nPasscode: 038441558
URL:https://hfpug.org/event/christopher-bremer-bolero/
LOCATION:Improving (Hybrid)\, 10111 Richmond Ave\, Suite 100\, Houston\, TX\, 77042\, United States
END:VEVENT
END:VCALENDAR