forked from JetBrains/kotlin-web-site
-
Notifications
You must be signed in to change notification settings - Fork 0
/
events.xml
6217 lines (5840 loc) · 340 KB
/
events.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?xml version='1.0' encoding='UTF-8'?>
<events>
<event>
<lang>en</lang>
<startDate>2021-10-28</startDate>
<endDate>2021-10-28</endDate>
<location>London, UK</location>
<speaker>Nicola Corti</speaker>
<title>london droidcon</title>
<subject>Detekt - State of the Union</subject>
<url>https://www.london.droidcon.com/program/detekt---state-of-the-union</url>
<description>
<![CDATA[
<p>Do you know detekt? We are The static analyzer for Kotlin, trusted by millions of developers around the globe, and completely built by the open-source community.<p>
<p>Our mission: spotting bugs, anti-patterns, and potential errors in your Kotlin code.<p>
<p>Did you know that you can extend detekt with your custom rules?
Did you know that we recently launched support for Kotlin Multiplatform?
Did you know that we're always looking for new contributors?<p>
<p>Whether you're new to detekt or you're a veteran, this talk is for you!
We will walk through the tool, and give you updates on the latest features we shipped and what comes next for the future.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-07</startDate>
<endDate>2021-10-07</endDate>
<online>true</online>
<speaker>Christian Melchior</speaker>
<title>by Mobile Seasons GmbH - droidcon Global</title>
<subject>Painless persistence on Kotlin Multiplatform with Realm Kotlin</subject>
<url>https://www.eventbrite.co.uk/e/painless-persistence-on-kotlin-multiplatform-with-realm-kotlin-registration-174074981957</url>
<description>
<![CDATA[
<p>In this session, we will explore a fast, intuitive way to build great mobile applications using Realm’s new Kotlin SDK with Multiplatform support.<p>
<p>We will dive deeper into how we evolved the Realm Java SDK to be a fully native Kotlin Multiplatform SDK. You will learn how Realm’s natural object model combined with Kotlin features like Coroutines and Flows reduces boilerplate, promotes testability, and allows for maximum code sharing between Multiplatform projects.<p>
<p>And you will see just how little code is needed to sync data in real-time between Android, iOS and Desktop clients, all in a single codebase.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-20</startDate>
<endDate>2021-10-20</endDate>
<location>Berlin, Germany</location>
<speaker>Marcin Moskała</speaker>
<title>berlin droidcon</title>
<subject>Efficient Kotlin</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>Code efficiency today is often treated indulgently. To a certain degree, it is reasonable. Memory is cheap and developers are expensive. Though at some point maybe your application runs on millions of devices and some battery use optimization might save enough energy to power a small city. Or maybe your company already pays lots of money for servers and their maintenance, and some optimization might make it significantly cheaper. Or even your application works well for a small number of requests but does not scale well and on the day of the trial it shuts down. In this session, I'll show you how to make an efficient Kotlin code cheaply, and how to optimize performance-critical parts of your code.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-20</startDate>
<endDate>2021-10-20</endDate>
<location>Berlin, Germany</location>
<speaker>Lena Stepanova</speaker>
<title>berlin droidcon</title>
<subject>Kotlin Multiplatform Mobile in production: key takeaways from developing two cross-platform apps</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>Kotlin Multiplatform Mobile is a young promising technology, but is it there to stay? And is it worth trying out? This talk is based on the experience of developing two very different cross-platform apps with KMM. The goal of this talk is to introduce KMM, discuss the pitfalls that a new KMM developer may encounter and share some valuable tips that were collected along the way of KMM development: from preferable app architecture to team requirements.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-20</startDate>
<endDate>2021-10-20</endDate>
<location>Berlin, Germany</location>
<speaker>Jarosław Michalik</speaker>
<title>berlin droidcon</title>
<subject>Idiomatic Kotlin in Tests</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>Unit tests are boring and maintaining them is complex? Sometimes. But it doesn't have to be this way.<p>
<p>To create great readable tests with ease we have to go further than standard Java tooling. To achieve that we can incorporate idiomatic Kotlin into test code. It will help us design tests to be both developer and machine friendly.<p>
<p>During the talk we will refactor step-by-step Java with JUnit test to Kotlin with Kotest. We will look at differences between various tools and we will check how test tech stack choices are influencing developer productivity.<p>
<p>I will show practical application of Kotlin idioms in test, including, but not limited to, assertions, mocking and test suite definition.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-20</startDate>
<endDate>2021-10-20</endDate>
<location>Berlin, Germany</location>
<speaker>Russell Wolf</speaker>
<title>berlin droidcon</title>
<subject>The Kotlin/Swift boundary</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>Kotlin/Native can compile to Objective-C-compatible bytecode, but that doesn’t mean it looks natural to native iOS developers. While Kotlin and Swift are syntactically very similar, they solve certain problems in very different ways. For example, a Swift developer often uses a struct where a Kotlin developer uses a data class. This means the default ways that things translate from Kotlin through Objective-C into Swift don’t always come out looking idiomatic.<p>
<p>We’ll talk through some of these differences, and strategies for dealing with them. Kotlin, Objective-C, and Swift are three different languages, and so we shouldn’t expect to be able to translate between them perfectly. But with a bit of care at the interop layer, we can make things a lot smoother in the iOS code.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-20</startDate>
<endDate>2021-10-20</endDate>
<location>Berlin, Germany</location>
<speaker>Christian Melchior</speaker>
<title>berlin droidcon</title>
<subject>Coroutines for Kotlin Multiplatform in practise</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>With coroutines being the de facto way of exposing async work and streams of changes for Kotlin on Android, developers are obviously attempting to use the same approaches when moving their code to Multiplatform.<p>
<p>But due to the way the memory model differs between JVM and Kotlin Native, it can be a painful experience.<p>
<p>In this talk, we will take a deep dive into the Coroutine API for Kotlin Multiplatform. You will learn how to expose your API with Coroutines while working with the Kotlin Native memory model instead of against it, and avoid the dragons along the way.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-21</startDate>
<endDate>2021-10-21</endDate>
<location>Berlin, Germany</location>
<speaker>Fatih Giriş</speaker>
<title>berlin droidcon</title>
<subject>Using Kotlin Flow in MVVM</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>LiveData was never designed to be a full-fledged reactive stream. Thread management with LiveData is very hard and making data transformation with transformation operators is very limited. Moreover, testing LiveData becomes very tricky and is likely to open for race conditions if you are using it with coroutines.<p>
<p>Luckily, Kotlin Flow provides asynchronously computed values with the power of Coroutines. Making data transformations becomes very easy with Flow intermediate operators. Furthermore, StateFlow provides caching the current state just like LiveData. Since there is a back-pressure in Flow, unit testing is much simpler with handy Flow terminal operators.<p>
<p>Kotlin Flow is a very powerful reactive stream with its robust operators. Using Flow instead of LiveData makes it easier to handle data transformations and background processes. Finally, testing Flow is much safer and painless compared to LiveData.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-22</startDate>
<endDate>2021-10-22</endDate>
<location>Berlin, Germany</location>
<speaker>Monika Jethani</speaker>
<title>berlin droidcon</title>
<subject>A-Z of Kotlin Flow</subject>
<url>https://www.berlin.droidcon.com/schedule</url>
<description>
<![CDATA[
<p>In this session, the attendees with be learning about the benefits of Kotlin flow, what is flow, how can it be used, how can we migrate existing rx java code in our apps to kotlin coroutines and flow(with code walkthrough and demo of sample apps that involve network and database) and how can we unit test Kotlin flow.
In this session, we will have a live workshop, where the attendees will learn using Flow with MVVM Architecture & learn unit testing Kotlin flow code with runBlockingTest and TestCoroutineDispatcher & Turbine library.<p>
<p>By the end of this session, the attendees will be well-versed with using Kotlin flow in their apps.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-11-09</startDate>
<endDate>2021-11-09</endDate>
<location>Amsterdam, The Netherlands</location>
<speaker>Garth Gilmour, Eamonn Boyle</speaker>
<title>GOTO Amsterdam 2021</title>
<subject>A TypeScript Fan's KotlinJS Adventures</subject>
<url>https://gotocph.com/2021/schedule?date=2021-11-09</url>
<description>
<![CDATA[
<p>In this talk, the dynamic duo will go out of their comfort zone and recreate a Breakout clone for the browser using KotlinJS.<p>
<p>At Instil Software they standardize on Kotlin for server-side development. Within the training team, they offer a Kotlin native workshop, for which Garth and Eamonn wrote a Kotlin native version of the classic game Breakout.<p>
<p>Being massive TypeScript fans, it would always be their language of choice when working on JavaScript platforms. They didn't feel the drive to switch to other languages that transpile to JS such as Fable (F#), Scala.js, or even KotlinJS, as they always saw Kotlin on the JVM as the solution to a problem, the problem being Java.<p>
<p>They will make use of React, Redux and use React Three Fiber for WebGL graphics. Moreover, they will explore what this transition to KotlinJS is like for a TypeScript fanboy and try to answer some questions along the way.<p>
<p>You'll learn how the tooling, libraries and language features compare, what things tripped up and whether you should switch and use it on your next project<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-11-11</startDate>
<endDate>2021-11-11</endDate>
<location>Amsterdam, The Netherlands</location>
<speaker>Garth Gilmour, Eamonn Boyle</speaker>
<title>GOTO Amsterdam 2021</title>
<subject>Learning Kotlin/JS by Building Web Apps in React and Redux</subject>
<url>https://gotocph.com/2021/schedule?date=2021-11-11</url>
<description>
<![CDATA[
<p>In this workshop we will learn the full Kotlin/JS feature set by building Web Applications in React and Redux. We will create projects from scratch based on the Kotlin Gradle DSL, and then iteratively assemble a rich UI via the Kotlin/JS language and Kotlin-React DSL. Application state will be managed via Redux using the functional style with React Hooks.<p>
<p>You'll learn how coroutines simplify asynchronous workflows and concurrency. You'll also learn how interoperability with TypeScript allows you to leverage existing JS libraries in a strongly typed way.<p>
<p>By the end of the workshop you will have been exposed to some of the advanced features of Kotlin and be comfortable using Kotlin for JS platforms.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-30</startDate>
<endDate>2021-09-30</endDate>
<location>Berlin, Germany</location>
<speaker>Tristan Hamilton</speaker>
<title>Kotlin User Group Berlin</title>
<subject>A Functional Approach to Exception Handling</subject>
<url>https://www.meetup.com/kotlin-berlin/events/280602913</url>
<description>
<![CDATA[
<p>"why catch if you never throw?"
An introduction into the world of functional programming by discussing an approach to exception handling sometimes referred to as "railway oriented programming".<p>
]]>
</description>
</event>
<event>
<lang>sk</lang>
<startDate>2021-09-23</startDate>
<endDate>2021-09-23</endDate>
<location>Zhilina, Slovakia</location>
<speaker>Tomáš Paronai</speaker>
<title>Kotlin Slovakia</title>
<subject>Kotlin Coroutines</subject>
<url>https://www.meetup.com/Kotlin-Slovakia/events/280745039</url>
<description>
<![CDATA[
<p>- ViewModel Callback
- ViewModel RxJava
- ViewModel Flow<p>
]]>
</description>
</event>
<event>
<lang>sk</lang>
<startDate>2021-09-23</startDate>
<endDate>2021-09-23</endDate>
<location>Zhilina, Slovakia</location>
<speaker>Jozef Kňažko</speaker>
<title>Kotlin Slovakia</title>
<subject>Modelovanie dát</subject>
<url>https://www.meetup.com/Kotlin-Slovakia/events/280745039</url>
<description>
<![CDATA[
<p> Ukážky ako nám vie type system pomôct predchádzať zbytočným bugom
- Aké sú časté chyby pri vytváraní dátových modelov
- Kedy kombinovať dáta s funkciami a kedy radšej nie<p>
]]>
</description>
</event>
<event>
<lang>es</lang>
<startDate>2021-09-22</startDate>
<endDate>2021-09-22</endDate>
<location>Barcelona, Spain</location>
<speaker>Ivan Lorenz</speaker>
<title>Adevinta Spain</title>
<subject>Kotlin and Arrow sesión 2 - Gestión funcional de errores</subject>
<url>https://www.meetup.com/adevinta-Spain/events/280743852</url>
<description>
<![CDATA[
<p>Continuamos con el caso de uso de Wonderful Enterprises. En esta segunda sesión veremos que en algunas ocasiones no basta con modelar ausencia de valor para nuestros métodos OO. Es conveniente a veces informar al código cliente de nuestras APIs con una explicación que aclare porqué no hemos podido obtener cómo output un valor a partir del input (los parámetros del método).<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-30</startDate>
<endDate>2021-09-30</endDate>
<location>Brighton, United Kingdom</location>
<speaker>John O'Reilly</speaker>
<title>Brighton Kotlin</title>
<subject>Using GraphQL in a KMM project with Jetpack Compose and SwiftUI</subject>
<url>https://www.meetup.com/Brighton-Kotlin/events/279631984</url>
<description>
<![CDATA[
<p>In this talk John will show how GraphQL, using Apollo library, can be used in shared code a Kotlin Multiplatform project that uses Jetpack Compose Android and SwiftUI iOS clients.<p>
]]>
</description>
</event>
<event>
<lang>es</lang>
<startDate>2021-08-26</startDate>
<endDate>2021-08-26</endDate>
<location>Medellín, Colombia</location>
<speaker>Juan Guillermo Gómez</speaker>
<title>Kotlin User Group Medellin</title>
<subject>Usando Compose para aplicaciones Desktop</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Medellin/events/280303741</url>
<description>
<![CDATA[
<p>Jetpack Compose está de moda… así que lo vemos en todos lados. Es tan así que ahora podemos construir la UI para apps desktop y web. Sí, sí, sí, Jetbrains creó la forma de usar compose para crear este tipo de aplicaciones. En esta charla revisaremos el estado actual y veremos algunos ejemplos.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-16</startDate>
<endDate>2021-09-16</endDate>
<location>Gdansk,Poland</location>
<speaker>Piotr Krzemiński</speaker>
<title>Tricity Kotlin User Group</title>
<subject>10 suprises when coming from Java</subject>
<url>https://www.meetup.com/tricity-kotlin-user-group/events/280186511/</url>
<description>
<![CDATA[
<p>Do you want to start your journey with Kotlin? Is your team introducing Kotlin, you know you need to learn it, and you don't know where to start? In either case, this talk should be a great help. I had a bunch of surprises when I moved from Java to Kotlin, and I want to tell you all about them. I’ll show you Java vs. Kotlin examples and explain why the creators of Kotlin made these choices.<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-16</startDate>
<endDate>2021-09-16</endDate>
<location>Gdansk,Poland</location>
<speaker>Grzegorz Witczak</speaker>
<title>Tricity Kotlin User Group</title>
<subject>Kotlin Coroutines basics for Java developers</subject>
<url>https://www.meetup.com/tricity-kotlin-user-group/events/280186511/</url>
<description>
<![CDATA[
<p>Want to write neat, efficient, asynchronous code without struggling with a clunky Thread class and its derivatives? Just use Kotlin Coroutines! During this talk, you will learn the basics of Kotlin Coroutines and study practical examples, ready to be used in your code. Prior Kotlin knowledge is not required!<p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-21</startDate>
<endDate>2021-08-21</endDate>
<location>Mumbai, India</location>
<speaker>Himanshu Singh</speaker>
<title>Kotlin Mumbai</title>
<subject>Kotlin for backend Engineering</subject>
<url>https://www.meetup.com/Kotlin-Mumbai/events/280092043/</url>
<description>
<![CDATA[
<p>We have a lot of code experience to share as an Android developer using Kotlin or a Backend developer using Java.<p>
<p>When we talk about backend technologies, we have a lot of languages/frameworks like Go, Java, Python, etc. But when we talk about Kotlin as a backend language, it might raise a lot of eyebrows<p>
<p>But let me try to convince you that Kotlin is definitely a good choice for Backend!<p>
]]>
</description>
</event>
<event>
<lang>uk</lang>
<startDate>2021-09-07</startDate>
<endDate>2021-09-07</endDate>
<location>Dnipro, Ukraine</location>
<speaker>Danilo Mossur</speaker>
<title>Yalantis Education</title>
<subject>Legal spying or painless location tracking in background</subject>
<url>https://www.meetup.com/yeducation/events/280049517</url>
<description>
<![CDATA[
<p>Ви дізнаєтесь — як знайти баланс між точністю координат та енергоефективністю для стеження за локаціею у бекграунді, зберігаючи можливість підтримувати досить широку аудиторію пристроїв?</p>
<p>Окрім обговорення тем у програмі також блок Q&A та розіграш подарунків серед найактивніших учасників. Зустріч відбудеться в онлайн-форматі, спікер розмовлятиме російською. Ви отримаєте посилання на трансляцію на пошту, вказану при реєстрації.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-29</startDate>
<endDate>2021-09-29</endDate>
<location>Istanbul, Turkey</location>
<speaker>Sven Ruppert</speaker>
<title>Istanbul Java User Group</title>
<subject>Workshop - DevSecOps from Scratch for Java and Kotlin Developers</subject>
<url>https://www.meetup.com/Istanbul-Java-User-Group/events/279924692</url>
<description>
<![CDATA[
<p>Do you have a private project, an open-source tool or want to do a POC? Do you already have the idea in mind and you wish to get started? On the other hand, are you looking for a suitable environment so that you get the best possible support for your development?</p>
<p>JFrog offers you just the right tools for this. You can get access to the JFrog Platform and use it freely.Artifactory, Xray and more and this means that a complete DevSecOps environment is at your disposal.</p>
]]>
</description>
</event>
<event>
<lang>zh</lang>
<startDate>2021-08-14</startDate>
<endDate>2021-08-14</endDate>
<location>Hong Kong, China</location>
<speaker>Desmond Yeung</speaker>
<title>GDG Hong Kong</title>
<subject>Android (Kotlin) Study Group</subject>
<url>https://gdg.community.dev/events/details/google-gdg-hong-kong-presents-android-study-group-2021-07-31/</url>
<description>
<![CDATA[
<p>Learn Kotlin Best practices to develop android Be a better Android Developer Bi-weekly base sharing study group</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-06</startDate>
<endDate>2021-08-06</endDate>
<location>São Paulo, Brazil</location>
<speaker>Pasha Finkelshteyn</speaker>
<title>Kotlin Meetup São Paulo</title>
<subject>Kotlin API for Apache Spark: why the world needs it?</subject>
<url>https://www.meetup.com/kotlin-meetup-sp/events/276698090/</url>
</event>
<event>
<lang>pt</lang>
<startDate>2021-08-06</startDate>
<endDate>2021-08-06</endDate>
<location>São Paulo, Brazil</location>
<speaker>Rafael Toledo</speaker>
<title>Kotlin Meetup São Paulo</title>
<subject>Bibliotecas KotlinX</subject>
<url>https://www.meetup.com/kotlin-meetup-sp/events/276698090/</url>
</event>
<event>
<lang>en</lang>
<startDate>2021-09-08</startDate>
<endDate>2021-09-08</endDate>
<location>Bouville, France</location>
<speaker>Milos Marinković</speaker>
<title>DevBreak</title>
<subject>State machines with Kotlin Flow</subject>
<url>https://www.devbreak.io/?utm_source=bugfender&utm_medium=website&utm_campaign=conference#Agenda</url>
<description>
<![CDATA[
<p>If we look at Finite State Machines (FSM), we can find a number of examples everywhere in the world that surrounds us. There are vending machines, subway entrance turnstiles, heating systems, self-driving cars, elevators, etc., but also many, many cases of UI frameworks like Android's UI lifecycle (arguably a finite state machine). The concept of FSM and its mathematical computational model are very interesting to implement in many programming languages. With Kotlin's recent investment in asynchronous programming tools, it seemed like a good time to look into it.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-17</startDate>
<endDate>2021-08-17</endDate>
<online>true</online>
<speaker>Wajahat Karim</speaker>
<title>Mobile Week</title>
<subject>Jetpack Compose for Games and Animations</subject>
<url>https://mobileweek.co/conference/</url>
<description>
<![CDATA[
<p>In this session, we'll take a look at the capabilities of Canvas API for Jetpack Compose and how can we implement different kinds of animations with it. We'll also dig into game development and discuss some common challenges like game loop, state management etc. We will also explore other UI animations and transitions with Jetpack Compose.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-17</startDate>
<endDate>2021-08-17</endDate>
<online>true</online>
<speaker>Mohit Sharma</speaker>
<title>Mobile Week</title>
<subject>All Is Messed up - Kotlin Flow, Coroutines and LiveData !!!</subject>
<url>https://mobileweek.co/conference/</url>
<description>
<![CDATA[
<p>This talk is for beginner to intermediate Android developer.</p>
<p>JetPack getting evolved so quickly in the past 2 year and many alternates are available for implementing the same use case, but each of them has it's own pro & cons and cause unnecessary confusion during development and code reviews.</p>
<p>In this talk, I would be deep dive into each of them, from getting started to when and what to use.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-19</startDate>
<endDate>2021-08-19</endDate>
<location>Minneapolis, MN</location>
<speaker>Steve Peterson</speaker>
<title>Twin Cities Kotlin User Group</title>
<subject>Becoming a Jetpack Composer</subject>
<url>https://www.meetup.com/Twin-Cities-Kotlin-User-Group/events/279126056/</url>
<description>
<![CDATA[
<p>Jetpack Compose is the most interesting UI framework for Kotlin programmers.</p>
<p>Compose started out as a declarative Android UI layouts-as-code library decoupled from Android OS releases. Similar to SwiftUI, it lets developers declare user interfaces as a tree of widgets that updates as your app state updates.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-24</startDate>
<endDate>2021-07-24</endDate>
<location>Mumbai, India</location>
<speaker>Adit Lal from Gojek</speaker>
<title>Kotlin Mumbai</title>
<subject>Build multiplatform projects in Kotlin and learn more about server driven UI</subject>
<url>https://www.meetup.com/Kotlin-Mumbai/events/279528486/</url>
<description>
<![CDATA[
<p>In this talk we dive into few example's of server-driven UI (SDUI), it's important to understand the general idea of SDUI and how it provides an advantage over traditional client-driven UI and why it's so current hot-topic.</p>
<p>We take a look at multiple offerings such as JetPack Compose or Epoxy (Airbnb's library), and we then take a look at some tips and tricks to navigate the code from start to finish.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-24</startDate>
<endDate>2021-07-24</endDate>
<location>Mumbai, India</location>
<speaker>John O'Reilly</speaker>
<title>Kotlin Mumbai</title>
<subject>Using GraphQL in a KMM project with Jetpack Compose and SwiftUI</subject>
<url>https://www.meetup.com/Kotlin-Mumbai/events/279528486/</url>
<description>
<![CDATA[
<p>In this talk John will show how GraphQL, using Apollo library, can be used in shared code in a Kotlin Multiplatform project with the UI developed using Jetpack Compose on Android and SwiftUI on iOS.</p>
<p>The talk will cover
- use of Apollo GraphQL library and it's Kotlin Multiplatform support allowing addition of GraphQL queries and related logic in code shared between iOS and Android clients.</p>
<p>- development of clients using Declarative UI frameworks (Jetpack Compose on Android and SwiftUI on iOS)</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-17</startDate>
<endDate>2021-08-17</endDate>
<online>true</online>
<speaker>Karan Balkar</speaker>
<title>Mobile Week 2021</title>
<subject>Co-routines: When to Use and When to Avoid</subject>
<url>https://mobileweek.co/conference/</url>
<description>
<![CDATA[
<p>This talk provides a brief introduction about Kotlin Co-routines and explains the scenarios when one should try using the same and when to avoid it using practical examples. The session will also help developers understand how Co-routines work and the best practices for using the same.</p>
<p>As software developers, we often tend to use what is considered best practice without understanding the practical applicability of the same in our own applications.</p>
<p>Through this talk, my aim is to help developers understand areas / use cases where Co-routines can prove much effective as well as less effective. It will not focus on downsides of Co-routines but mainly on the applicability of it in different scenarios based on my experience so far.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-25</startDate>
<endDate>2021-08-25</endDate>
<location>Kraków, Poland</location>
<speaker>Viktor Gamov</speaker>
<title>Devoxx Poland</title>
<subject>All Things Serverless: Kotlin, Kafka and Stream Processing</subject>
<url>https://devoxx.pl/talk-details/?id=16552</url>
<description>
<![CDATA[
<p>Modern serverless technologies are coming in different sorts and ranges. But there is no doubt that it’s bringing significant innovation in the application development space. And today’s developer is trying to grasp the best approach for each cloud vendor. And often she faced with following questions</p>
<p>How do I start? Which platform supports my language of choice?
How do I manage the application state?
How do I integrate with existing «legacy» systems? In this presentation, Viktor Gamov will walk you through the setup and deploy a serverless application that includes event functions, services, data streaming. For event functions and services we will use the open-source Knative project on Kubernetes. For data streaming, we will use Apache Kafka.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-25</startDate>
<endDate>2021-08-25</endDate>
<location>Kraków, Poland</location>
<speaker>Jarek Ratajski</speaker>
<title>Devoxx Poland</title>
<subject>Pure Kotlin</subject>
<url>https://devoxx.pl/talk-details/?id=14231</url>
<description>
<![CDATA[
<p>You can write Haskell in any language. In this talk, I am going to show you how to do that in Kotlin.</p>
<p>You will see a beautiful world without loops, variables, and other impure monsters. Instead, you will see monads that work on production. I will demonstrate how to create a useful functional framework for web applications. On top of that an insane linter that enables you to gradually enforce purity in your projects.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-31</startDate>
<endDate>2021-07-31</endDate>
<location>Berlin, Germany</location>
<speaker>Karin-Aleksandra Monoid, Alex Levin</speaker>
<title>Women Techmakers Berlin</title>
<subject>Introduction to development in Kotlin</subject>
<url>https://gdg.community.dev/events/details/google-women-techmakers-berlin-presents-introduction-to-development-in-kotlin/</url>
<description>
<![CDATA[
<p>This pilot workshop is oriented towards people without previous experience with Kotlin (and Java). It will be also useful for people coming from other languages.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-22</startDate>
<endDate>2021-07-22</endDate>
<location>Berlin, Germany</location>
<speaker>Marcin Moskala</speaker>
<title>Virtual Kotlin User Group</title>
<subject>How Suspension Works in Kotlin Coroutines?</subject>
<url>https://www.meetup.com/Virtual-Kotlin-User-Group/events/279166556</url>
<description>
<![CDATA[
<p>Let's dive deep into the most essential feature of coroutines: suspension. How does it work, both from the usage point of view and what happens under the hood?</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-08-26</startDate>
<endDate>2021-08-26</endDate>
<location>Berlin, Germany</location>
<speaker>Yev Kanivets</speaker>
<title>Virtual Kotlin User Group</title>
<subject>Backend for mobile engineers with Kotlin and Ktor</subject>
<url>https://www.meetup.com/Virtual-Kotlin-User-Group/events/279064953</url>
<description>
<![CDATA[
<p>How many times were you thinking about writing your backend for mobile apps you are working on? And how many times have you chosen Firebase instead? Are there any better options at the moment?</p>
<p>In this session, I’ll describe my experience of writing Kotlin backend for Codeforces WatchR mobile apps using Ktor, which is officially positioned as follows:
“An asynchronous framework for creating microservices, web applications, and more. It’s fun, free, and open source.”</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-27</startDate>
<endDate>2021-07-27</endDate>
<online>true</online>
<speaker>Anna Zharkova</speaker>
<title>Android Worldwide</title>
<subject>Dealing With KSP in Common Code for Android and iOS</subject>
<url>https://www.airmeet.com/e/1affc430-d533-11eb-a99f-47c29d6f218c?utm_source=bugfender&utm_medium=website&utm_campaign=conference</url>
<description>
<![CDATA[
<p>KSP (Kotlin Symbol Processor) is an API from Google for writing Kotlin compiler plugins. Using KSP we can write annotation processors to reduce boilerplate and solve cross-cutting concerns. Also KSP is more effective than KAPT. Among the advantages of using it is the support of Kotlin Multiplatform. In my talk I would like to present several cases (such as Dependency Injection, e.g) of using KSP in Kotlin Multiplatform for both Android and iOS.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-28</startDate>
<endDate>2021-07-28</endDate>
<online>true</online>
<speaker>David Rawson</speaker>
<title>Android Worldwide</title>
<subject>Arrow of Outrageous Error Handling</subject>
<url>https://www.airmeet.com/e/1affc430-d533-11eb-a99f-47c29d6f218c?utm_source=bugfender&utm_medium=website&utm_campaign=conference</url>
<description>
<![CDATA[
<p>Arrow (https://arrow-kt.io/) is a functional programming library for Kotlin that has been featured in the ThoughtWorks Tech Radar. This talk will explore some error handling techniques from functional programming that will make your Android apps more robust. We will cover Either and Validated from the Arrow library with examples in a real Android codebas.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-28</startDate>
<endDate>2021-07-28</endDate>
<online>true</online>
<speaker>Mohit Sarveiya</speaker>
<title>Android Worldwide</title>
<subject>Kotlin State and Shared Flows in Action</subject>
<url>https://www.airmeet.com/e/1affc430-d533-11eb-a99f-47c29d6f218c?utm_source=bugfender&utm_medium=website&utm_campaign=conference</url>
<description>
<![CDATA[
<p>State Flows and Shared Flows were introduced to broadcast events to multiple consumers with coroutines. We’ll dive deep into the Shared & State Flow APIs. A Shared Flow provides you with the ability to replay and cache events. How do you handle back pressure? We’ll look into simple-to-use cases for using Shared Flows.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-24</startDate>
<endDate>2021-07-24</endDate>
<location>Berlin, Germany</location>
<speaker>Márton Braun</speaker>
<title>Virtual Kotlin User Group</title>
<subject>Mastering API Visibility in Kotlin</subject>
<url>https://www.meetup.com/Virtual-Kotlin-User-Group/events/278833869</url>
<description>
<![CDATA[
<p>When designing a library, minimizing your API surface - the types, methods, properties, and functions you expose to the outside world - is a great idea. This doesn’t apply to just libraries: it’s a consideration you should make for every module in a multi-module project. In this talk, we’ll look at all the ways that Kotlin lets you get your visibility just right.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-05</startDate>
<endDate>2021-07-05</endDate>
<location>Stockholm, Sweden</location>
<speaker>Hadi Hariri</speaker>
<title>Stockholm Java and Kotlin Meetup Group</title>
<subject>Functional Programming in Kotlin</subject>
<url>https://www.meetup.com/stockholm-java-and-kotlin-meetup-group/events/278743008</url>
<description>
<![CDATA[
<p>In this talk, we'll explain the basics of functional programming, where it fits in with the Object Orientation paradigm, and how we can use functional programming in our everyday work. We’ll cover important concepts of functional programming such as: Lambdas, Higher-Order Functions, Partial Functions, Monads, and more, and see how we can apply these in a series of functional patterns to cut down our codebase and at the same time make sure we keep it maintainable.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-23</startDate>
<endDate>2021-06-23</endDate>
<location>Vienna, Austria</location>
<speaker>Paulien van Alst</speaker>
<title>OpenValue Vienna - Better Software, Faster</title>
<subject>Embrace the Kotlin ecosystem at the back-end side</subject>
<url>https://www.meetup.com/OpenValue-Vienna-Java-Better-Software-Development-Digital/events/278745448</url>
<description>
<![CDATA[
<p>Kotlin is becoming a mature and established back-end language. The maturity of a language is not only measured by its features but also by its community and ecosystem. Kotlin’s ecosystem for server-side development is growing very fast. Coming from the Java development side, Spring would be a default fallback option to build your application. While Spring is also hopping on the Kotlin train, the rest of Kotlin’s ecosystem is growing fast. More and more new frameworks are popping up implementing different point of views on how to build your service. Those new frameworks might change our ways of developing back-end applications. Let’s have a look out there!</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-23</startDate>
<endDate>2021-06-23</endDate>
<location>Vienna, Austria</location>
<speaker>Roy van Rijn</speaker>
<title>OpenValue Vienna - Better Software, Faster</title>
<subject>From Tic Tac Toe to AlphaGo: Playing games with AI</subject>
<url>https://www.meetup.com/OpenValue-Vienna-Java-Better-Software-Development-Digital/events/278745448</url>
<description>
<![CDATA[
<p>Google DeepMind's AlphaGo was an extraordinary breakthrough for Artificial Intelligence. The game of Go has 1.74×10^172 unique positions and is about a 'googol' times harder to calculate than chess. Experts thought it would take at least another decade before A.I. would be able to beat the best human players. So how did DeepMind tackle this problem? What algorithms did they use and how do they work?</p>
<p>During this talk we'll explore several algorithms that can be used to make a program play games, we'll start simple (Tic Tac Toe) and as the games get harder, the A.I.'s need to become smarter.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-19</startDate>
<endDate>2021-06-19</endDate>
<location>Munich, Germany</location>
<speaker>Joe Birch</speaker>
<title>Kotlin User Group Munich - KUG Munich</title>
<subject>Adopting Jetpack Compose</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Munich/events/278790819</url>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-19</startDate>
<endDate>2021-06-19</endDate>
<location>Munich, Germany</location>
<speaker>Trinh Le</speaker>
<title>Kotlin User Group Munich - KUG Munich</title>
<subject>Android App Modularization</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Munich/events/278790819</url>
</event>
<event>
<lang>de</lang>
<startDate>2021-06-17</startDate>
<endDate>2021-06-17</endDate>
<location>Karlsruhe, Germany</location>
<speaker>Jan Baganz</speaker>
<title>Kotlin Karlsruhe User Group</title>
<subject>Erfahrungen mit Spring Boot und Kotlin Coroutines</subject>
<url>https://www.meetup.com/Kotlin-Karlsruhe-User-Group/events/278675522</url>
<description>
<![CDATA[
<p>In diesem Talk schauen wir uns am Beispiel eines großen Logistik-Systems an, wie ein komplettes Backend mit Kotlin und Spring-Boot aufgebaut ist.
Wir sehen, wie Kotlin-Coroutines in einem großen Event-basierten System die Performance erhöhen können, welche Magie hinter den Koroutinen arbeitet und welche Fallstricke es bei ihrem Einsatz gibt.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-30</startDate>
<endDate>2021-06-30</endDate>
<location>Dublin, Ireland</location>
<speaker>Stephen Kirk</speaker>
<title>Dublin Kotlin User Group</title>
<subject>Pulseman - Creating an Apache Pulsar test tool using Jetpack Compose for Desktop</subject>
<url>https://www.meetup.com/Dublin-Kotlin-User-Group/events/278993491</url>
<description>
<![CDATA[
<p>Stephen has created a soon-to-be open sourced desktop test tool for Apache Pulsar similar to Postman, using Jetpack Compose for Desktop, he will walk us through the high and lows of his development journey.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-30</startDate>
<endDate>2021-06-30</endDate>
<location>Dublin, Ireland</location>
<speaker>Justin Slade</speaker>
<title>Dublin Kotlin User Group</title>
<subject>How to migrate large apps to compose</subject>
<url>https://www.meetup.com/Dublin-Kotlin-User-Group/events/278993491</url>
<description>
<![CDATA[
<p>Justin's presentation will take us through Vhi Healtcare's plan to migrate to the new compose UI system.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-22</startDate>
<endDate>2021-07-22</endDate>
<location>Brighton, United Kingdom</location>
<speaker>Karin-Aleksandra Monoid</speaker>
<title>Brighton Kotlin</title>
<subject>Functional Kotlin with Arrow</subject>
<url>https://www.meetup.com/Brighton-Kotlin/events/279015769</url>
<description>
<![CDATA[
<p>In this talk, we'll walk through Arrow Core, the functional companion to the Kotlin standard library. We'll cover both the concepts that every software engineer may add to their project right now and more advanced structures, starting from non-empty list, going over Validated and Either followed by monad comprehension.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-26</startDate>
<endDate>2021-06-26</endDate>
<online>true</online>
<speaker>Yury Camacho</speaker>
<title>CodeAid</title>
<subject>KMM in action</subject>
<url>https://codeaid.space/</url>
<description>
<![CDATA[
<p>KMM is an amazing Kotlin feature. That allows you to make multiplatform apps while preserving the beauty of the UIs of each OS, without generating useless code. Well, the idea is to have a shared code base at the business level.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-07</startDate>
<endDate>2021-10-07</endDate>
<location>Denver, CO, USA</location>
<speaker>Kenneth Kousen</speaker>
<title>UberConf 2021</title>
<subject>Functional Programming in Java, Groovy, and Kotlin</subject>
<url>https://uberconf.com/schedule</url>
<description>
<![CDATA[
<p>See how features of functional programming are implemented in three different JVM-based languages. Examples include how lambda expressions, method references, and streams are handled differently, as well as higher-order functions, closure composition, trampolining, currying, tail recursion, and more.</p>
<p>Kotlin, Groovy, and Java are all object-oriented languages with functional features. It's interesting to see what capabilities they implemented in similar ways and which are unique to that language.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-07</startDate>
<endDate>2021-10-07</endDate>
<location>Denver, CO, USA</location>
<speaker>Kenneth Kousen</speaker>
<title>UberConf 2021</title>
<subject>Kotlin Features That Surprise Java Developers</subject>
<url>https://uberconf.com/schedule</url>
<description>
<![CDATA[
<p>Kotlin is a JVM-based language, and many of its features are borrowed from related languages like Groovy and Scala. It is designed to work well with Java and to be easy for existing Java developers to learn. Nevertheless, Kotlin contains several features and practices that surprise Java developers. This talk will review several of those features, and help existing Java developers understand them and use them productively.</p>
<p>Examples will include how to create static properties and methods without a static keyword, overriding properties as well as functions, defining objects rather than classes, the Unit and Nothing classes, why const is useful when you already haveval for final, and more.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-07</startDate>
<endDate>2021-10-07</endDate>
<location>Denver, CO, USA</location>
<speaker>Kenneth Kousen</speaker>
<title>UberConf 2021</title>
<subject>Kotlin Workshop</subject>
<url>https://uberconf.com/schedule</url>
<description>
<![CDATA[
<p>Learn the basic syntax and semantics for the Kotlin programming language. Kotlin is an alternative JVM language that provides null safety, static typing, and powerful IDE support. This workshop will give you the chance to code in Kotlin, highlighting its similarities and differences from Java, how to use functional programming skills, work with collections, access restful web services, and more.</p>
<p>This workshop will examine features of Kotlin at a greater depth than most tutorials. Coroutines – the most popular feature of the language – will also be covered, as well as higher order functions, reduction operations like reduce and fold, and lambdas with receivers. Those topics progress toward building DSLs and builders in Kotlin. Terms like “apply”, “let”, “use”, “also”, and “with” will be covered along with their typical use cases.</p>
<p>Details of the type system, including the Any, Unit, and Nothing classes, will be included. Examples will be provided on how to define extension functions, infix operators, and inlining functions for efficiency.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-07</startDate>
<endDate>2021-10-07</endDate>
<location>Denver, CO, USA</location>
<speaker>Kenneth Kousen</speaker>
<title>UberConf 2021</title>
<subject>Kotlin and Spring: A Winning Combination</subject>
<url>https://uberconf.com/schedule</url>
<description>
<![CDATA[
<p>Most developers are aware that Kotlin is the language of choice for Android applications, it can also be used effectively on the server side. The Spring Framework in particular makes excellent use of Kotlin features. Spring supports Kotlin data classes and reified types, provides extension functions and small domain-specific languages for bean configuration and testing, and more.</p>
<p>MThis talk will show how Kotlin fits into the Spring ecosystem and how Spring developers can benefit from its null safety, strong typing, and powerful support for concurrency.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-10-08</startDate>
<endDate>2021-10-08</endDate>
<location>Denver, CO, USA</location>
<speaker>James Ward</speaker>
<title>UberConf 2021</title>
<subject>Building and Deploying Cloud Native Applications with gRPC Kotlin and Kubernetes</subject>
<url>https://uberconf.com/schedule</url>
<description>
<![CDATA[
<p>In this hands-on workshop you will learn how to take a Cloud Native Application from inception to production. Starting with a base sample application we will learn how to break the application into separate services that communicate via gRPC Kotlin. We will then learn how to containerize and deploy the application to Kubernetes. Along the way we will learn how to address some of the major challenges of deploying applications to Kubernetes, such as scaling and service discovery.</p>
<p>Some of the topics to be covered include:</p>
<p>Service communication using gRPC, a fast and efficient binary protocol</p>
]]>
</description>
</event>
<event>
<lang>de</lang>
<startDate>2021-06-17</startDate>
<endDate>2021-06-17</endDate>
<location>Stuttgart, Germany</location>
<speaker>Jan Baganz</speaker>
<title>Kotlin User Group Stuttgart</title>
<subject>Erfahrungen mit Spring Boot und Kotlin Coroutines</subject>
<url>https://www.meetup.com/Kotlin-User-Group-Stuttgart/events/278526815</url>
<description>
<![CDATA[
<p>In diesem Talk schauen wir uns am Beispiel eines großen Logistik-Systems an, wie ein komplettes Backend mit Kotlin und Spring-Boot aufgebaut ist.
Wir sehen, wie Kotlin-Coroutines in einem großen Event-basierten System die Performance erhöhen können, welche Magie hinter den Koroutinen arbeitet und welche Fallstricke es bei ihrem Einsatz gibt.</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-06-22</startDate>
<endDate>2021-06-22</endDate>
<location>Denver, CO, USA</location>
<speaker>Monika Kumar Jethani</speaker>
<title>360|AnDev</title>
<subject>Unit testing made easy with MockK</subject>
<url>https://360andev.com/session/unit-testing-made-easy-with-mockk/</url>
<description>
<![CDATA[
<p>Mockito has been used in testing kotlin/android apps since long, however there is setup required and a lot of boilerplate code required to test certain kotlin components as well as a need to use other libraries like PowerMock for the features that Mockito doesn’t support. Mockk, a mocking framework with first-class support for kotlin features, comes to the rescue and helps developers write unit tests easily as well as improve code coverage without having to do extra setup/ write boilerplate code or use other mocking frameworks.</p>
<p>In this session, we will look at codebase of an android app and learn the following,
1- how mockk can help us test the various application components(objects, classes, enums, constructors, chaining calls, hierarchial mocking, verification order, extension functions, coroutines, deferred and suspending functions, private and static functions, capturing and replaying arguments, relaxed mocking, top-level functions)
2- how mockk is better than mockito in testing 1
3- which is better for code coverage – mockk vs mockito</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-07-23</startDate>
<endDate>2021-07-23</endDate>
<location>Denver, CO, USA</location>
<speaker>Lauren Yew</speaker>
<title>360|AnDev</title>
<subject>Threading Made Easy! A Busy Developer’s Guide to Kotlin Coroutines and Flows</subject>
<url>https://360andev.com/session/threading-made-easy-a-busy-developers-guide-to-kotlin-coroutines-flows/</url>
<description>
<![CDATA[
<p>Kotlin Coroutines is a powerful threading library for Kotlin, released by JetBrains in 2018. At The New York Times, we recently migrated our core libraries and parts of our News app from RxJava to Kotlin Coroutines. In this talk we’ll share lessons learned and best practices to understand, migrate to, and use Kotlin Coroutines & Flows.</p>
<p>In this presentation, you will learn:</p>
<p>What Coroutines are and how they function
How to use Kotlin Coroutines & Flows (with real world examples and demos)
Where and why you should use Coroutines & Flows in your app
How to avoid the pitfalls of Coroutines
Kotlin Coroutines vs. RxJava
Lessons learned from migrating to Kotlin Coroutines from RxJava in large legacy projects & libraries
By the end of this talk, you will be able to apply Kotlin Coroutines to your own app, run the provided sample code yourself, and convince your team to give Kotlin Coroutines a try!</p>
]]>
</description>
</event>
<event>
<lang>en</lang>
<startDate>2021-05-13</startDate>
<endDate>2021-05-13</endDate>