WEBVTT

00:00:00.000 --> 00:00:26.960
Music.

00:00:26.928 --> 00:00:31.368
Hallo und herzlich willkommen zurück im Chaos Radio München bei unserer Tour

00:00:31.368 --> 00:00:35.028
durch die verschiedenen Gruppierungen, die sich bei uns immer mal wieder im Hauptraum treffen.

00:00:35.268 --> 00:00:40.008
Und heute habe ich zwei Vertreter der Rust-Gruppe bei mir im Studio eingeladen

00:00:40.008 --> 00:00:41.248
und zwar Neo Sam. Hallo Neo Sam.

00:00:41.408 --> 00:00:43.768
Hi. Und Rahix. Hi.

00:00:44.148 --> 00:00:51.288
Ihr seid schon länger dabei, euch regelmäßig zu treffen mit dem Rust-Meetup im Münchner CCC.

00:00:51.408 --> 00:00:54.288
Darf ich ganz kurz vorher fragen, was macht ihr denn eigentlich sonst so,

00:00:54.348 --> 00:00:55.548
wenn ihr nicht Rust macht?

00:00:56.408 --> 00:01:01.928
Fange ich an? Also ich bin Softwareentwickler und ich war zur Zeit lang Freiberufler

00:01:01.928 --> 00:01:05.508
und jetzt bin ich wieder in der Festanstellung und bin eigentlich Java-Entwickler

00:01:05.508 --> 00:01:10.728
und Web-Entwickler und in meiner Freizeit mache ich heute Rust.

00:01:11.108 --> 00:01:13.868
Das macht mir Spaß. Okay, und warum machst du dann nicht beruflich Rust?

00:01:15.688 --> 00:01:19.528
Ja, ich bin so in diese Java-Schiene reingekommen nach dem Studium und jetzt

00:01:19.528 --> 00:01:22.188
steht das überall so im Lebenslauf und das ist einfach ein Job zu finden.

00:01:23.728 --> 00:01:28.668
Und Raix, du machst auch Java-Entwickler? Nee. Also ich habe es auch spannenderweise

00:01:28.668 --> 00:01:31.288
immer geschafft, um Rust herum zu manövrieren.

00:01:32.108 --> 00:01:34.968
War früher in der Softwarewelt mittlerweile gar nichts mehr.

00:01:35.748 --> 00:01:38.228
Bin zum Kupfer und Aluminium gewechselt.

00:01:38.973 --> 00:01:43.033
Also eher ein Hardware. Ja, genau. Aber da braucht man doch auch immer eine

00:01:43.033 --> 00:01:44.853
Firmware und da kommt auch Rust ins Spiel, oder?

00:01:45.073 --> 00:01:49.833
Das ist die große Hoffnung, aber im Moment oder auch eben auf lange Zeit war

00:01:49.833 --> 00:01:53.673
jetzt Rust eigentlich immer nur so das Nebenbei-Thema irgendwo in der Open-Source-Welt,

00:01:53.993 --> 00:01:56.333
wo ich unterwegs bin, war ich eigentlich nur noch Rust, ja.

00:01:56.593 --> 00:02:01.173
Ja, vielleicht, ich versuche mal selber kurz zu erklären, was denn Rust eigentlich

00:02:01.173 --> 00:02:04.553
ist und dir grätscht rein, wenn ich Scheiße erzähle, ne? So machen wir das jetzt.

00:02:05.313 --> 00:02:08.013
Also ich habe mich ja vor Jahren auch mal damit beschäftigt,

00:02:08.073 --> 00:02:09.713
weil ich dachte, oh das ist ja eine ganz spannende Geschichte,

00:02:09.833 --> 00:02:12.833
weil es eine Programmiersprache ist, die ein bisschen anders funktioniert als

00:02:12.833 --> 00:02:13.693
andere Programmiersprachen.

00:02:13.933 --> 00:02:17.053
Und wenn ich es so richtig sehe, ist es so ein bisschen mit dem Ansatz entstanden,

00:02:17.273 --> 00:02:22.253
ähnlich wie Go, dass man eine Programmiersprache hat, die im Zweifel sehr maschinennah

00:02:22.253 --> 00:02:26.833
funktionieren kann, aber nicht so diese Schwierigkeiten mitbringt, die C mit sich bringt.

00:02:27.233 --> 00:02:32.413
Habe ich das soweit richtig zusammengefasst? Also ich würde es als Evolution bezeichnen.

00:02:32.513 --> 00:02:36.193
Es ging, glaube ich, primär, das war ja bei Mozilla damals, darum,

00:02:36.853 --> 00:02:41.193
die großen Probleme, die man mit CC++ in der Entwicklung hatte,

00:02:41.613 --> 00:02:43.273
irgendwie mal systematisch anzugehen.

00:02:43.273 --> 00:02:48.613
Da gibt es diese schöne Zahl mit den 70% der Bugs in Chromium,

00:02:48.853 --> 00:02:55.113
die einfach Memory-related sind und das deutet darauf hin, man muss was tun

00:02:55.113 --> 00:03:01.593
und das hat sich dann irgendwie immer weiterentwickelt als ein Ansatz,

00:03:01.773 --> 00:03:07.633
dass man systematisch Fehlerklassen ausschließt, indem man die Sprache von vornherein

00:03:07.633 --> 00:03:10.573
so designt, dass diese Fehler gar nicht auftreten können.

00:03:10.573 --> 00:03:16.813
Das ging primär glaube ich immer am Anfang um das Thema Memory aber ich würde

00:03:16.813 --> 00:03:20.513
sagen das hat sich jetzt über die Jahre noch viel weiter erstreckt,

00:03:20.533 --> 00:03:25.493
dass man mit dieser Sprache auch andere Klassen an Logik-Bugs zum Beispiel.

00:03:26.453 --> 00:03:30.173
Von vornherein ausschließbar macht und das ist glaube ich auch das,

00:03:30.253 --> 00:03:35.073
was hier bei der Rust-Gruppe die meisten so fasziniert an dieser Sprache ist

00:03:35.073 --> 00:03:37.953
eben dieser Ansatz, dass man.

00:03:39.451 --> 00:03:44.051
Quasi anstatt, dass man selber fehlerfrei sein muss, sich irgendwo drauf verlassen

00:03:44.051 --> 00:03:48.251
kann, dass die Sprache, also der Rust-Compiler einen da irgendwo unterstützt

00:03:48.251 --> 00:03:54.011
und verhindert, dass man gewisse Fehler überhaupt erst machen könnte.

00:03:54.011 --> 00:03:56.431
Okay, ne, außer wenn ich dich da fragen darf als Java-Entwickler,

00:03:56.551 --> 00:03:59.811
ich meine, Java ist doch auch eine Sprache, die sehr darauf fokussiert ist,

00:03:59.991 --> 00:04:03.831
dass quasi alles einem abgenommen wird, was zu größeren Problemen führen kann

00:04:03.831 --> 00:04:06.331
und man eigentlich sehr klar sich aufs Programmieren,

00:04:06.651 --> 00:04:08.911
wenn auch vielleicht in ein bisschen komplexeren Strukturen,

00:04:09.031 --> 00:04:12.191
als man das schlampig in Perl, Python oder ähnlichem machen kann.

00:04:12.591 --> 00:04:13.631
Wo ist der große Unterschied?

00:04:14.271 --> 00:04:18.471
Also der Unterschied ist, also du hast ja in Rust ein sehr starkes Typensystem.

00:04:18.871 --> 00:04:22.811
Also du kannst viel genauer definieren, welchen Typen kann ich jetzt eigentlich

00:04:22.811 --> 00:04:24.491
über Threads teilen und wie teile ich den.

00:04:25.291 --> 00:04:28.731
Und das macht halt, das hast du in Java so nett.

00:04:28.911 --> 00:04:33.931
Also in Java hast du im Endeffekt immer Referenzen auf deine Typen und die kannst du beliebig teilen.

00:04:34.471 --> 00:04:37.811
Auch wenn's, du kannst dich definieren, ob das jetzt sicher ist oder nicht.

00:04:37.911 --> 00:04:43.011
Du hast in Rust bestimmte Typen, bestimmte Smartpointer, die kannst du dann teilen.

00:04:45.971 --> 00:04:50.131
Ja, und genau, das fiel in Schaber. Und was mir noch in Erinnerung geblieben

00:04:50.131 --> 00:04:51.691
ist, was mich dann gewissermaßen als,

00:04:51.811 --> 00:04:56.091
ich hab eben mit so moderner Programmiersprache da an sehr Stelle nicht so viel

00:04:56.091 --> 00:05:01.471
am Hut und bin auch eher so klassisch erzogen worden und diese Immutables,

00:05:01.851 --> 00:05:06.731
dass dann irgendwie unveränderliche Dinge, die ich dann gewissermaßen als Konstrukte habe,

00:05:07.611 --> 00:05:09.431
das hatte mich damals ein bisschen umgehauen.

00:05:10.111 --> 00:05:12.771
Aber das gehört zum Security-Konzept, ja?

00:05:13.491 --> 00:05:19.171
Weniger Security, mehr würde ich sagen, das ist einfach der Teil von Rust,

00:05:19.471 --> 00:05:21.571
der sehr stark auch funktional inspiriert ist.

00:05:21.971 --> 00:05:25.291
Rust ist auf jeden Fall nicht rein funktional und ich glaube aber,

00:05:25.331 --> 00:05:30.251
dass auch die Stärke, man kann sehr pragmatisch zwischen den verschiedenen Programmierparadigmen

00:05:30.251 --> 00:05:32.311
wechseln und aber eben ein Teil,

00:05:32.851 --> 00:05:37.911
der eben sehr vom Funktional inspiriert ist, ist, dass man eigentlich Werte

00:05:37.911 --> 00:05:45.371
nicht verändert, sondern stattdessen konzeptionell eine neue Variable zum Beispiel definiert,

00:05:45.531 --> 00:05:50.851
die dann das Ergebnis enthält, anstatt dass man den Wert der alten Variable überschreibt.

00:05:51.451 --> 00:05:56.611
Und daher kommt dann eben, dass Variablen von Haus aus erstmal immutable sind

00:05:56.611 --> 00:06:01.891
und wenn man eben dann doch in einen anderen Programmierstil wechseln möchte,

00:06:02.031 --> 00:06:05.611
dann muss man explizit deklarieren, dass eine Variable zum Beispiel mutable ist.

00:06:05.611 --> 00:06:09.751
Also du kannst halt problemlos Mutable-Variablen haben.

00:06:11.811 --> 00:06:15.691
Da hindert dich jetzt ja nichts dran. Es ist halt nur so, wenn du eine Referenz

00:06:15.691 --> 00:06:20.311
drauf hast, dann stellt der Compiler tut sein Bestes, um sicherzustellen,

00:06:20.471 --> 00:06:24.831
dass du entweder nur liestbare Referenzen hast, und zwar mehrere, oder eine schreibbare.

00:06:24.951 --> 00:06:28.511
Aber das versucht halt möglichst zu verhindern, dass du Race Conditions bekommst zum Beispiel.

00:06:28.891 --> 00:06:33.471
Also das ist so ein Thema, was eben dann obendrauf möglich ist, dass man,

00:06:34.338 --> 00:06:38.678
Eben zum Beispiel diese Fehlerklassen von Race Conditions ausschließen kann,

00:06:39.238 --> 00:06:42.438
indem man dem Compiler garantieren kann,

00:06:42.678 --> 00:06:48.138
ich werde mit dieser Referenz niemals schreibbar auf diese Variable zugreifen

00:06:48.138 --> 00:06:51.658
und dadurch ist dann ausgeschlossen,

00:06:51.878 --> 00:06:57.398
dass ich irgendwo aus Versehens doch irgendwo mal reinschreibe und dann eine

00:06:57.398 --> 00:06:59.238
Race Condition produziert habe. Okay.

00:06:59.738 --> 00:07:03.918
Was anderes, was ich damals total faszinierend fand, ist, dass dieses ganze

00:07:03.918 --> 00:07:08.458
Library-Unterbau, wo ich mir irgendwelche Sachen irgendwo reinhole,

00:07:08.738 --> 00:07:13.958
irgendwie immer sehr eng verknüpft war an Git-Repositories und wenn ich mich

00:07:13.958 --> 00:07:16.198
so recht erinnere, sogar quasi fast ausgeliefert von GitHub.

00:07:16.618 --> 00:07:21.078
Habe ich das richtig im Kopf oder ist das… Also das war eigentlich eher das Go-Ding.

00:07:21.978 --> 00:07:27.238
Man muss schon sagen, auch das Rust-Library-System, also die Crates über Cargo,

00:07:27.478 --> 00:07:30.938
ist natürlich schon noch sehr mit GitHub verknüpft.

00:07:31.418 --> 00:07:35.438
Also das tatsächliche Manifest liegt auch, glaube ich, immer noch auf GitHub.

00:07:36.478 --> 00:07:40.578
Aber grundsätzlich gibt es eine eigene Registry eben die Cargo Registry dort

00:07:40.578 --> 00:07:46.458
liegen die Rust Crates ähnlich wie die NPM Registry oder Pipey.

00:07:48.298 --> 00:07:51.758
Man kann natürlich auch Git Dependencies mit reinziehen aber es ist nicht so

00:07:51.758 --> 00:07:55.058
wie ein Go wo das, ich weiß nicht ob es immer noch so ist aber wo es sehr lange

00:07:55.058 --> 00:08:00.238
genau das war dass man einfach sag ich mal die GitHub URLs als Package Names hatte,

00:08:00.838 --> 00:08:04.158
Okay, jetzt gibt es ja tatsächlich mehr als 100,

00:08:04.978 --> 00:08:07.358
Programmiersprachen, wieso ist das jetzt genau auf Rust gegangen?

00:08:07.678 --> 00:08:10.178
Also wieso habt ihr euch Rust gedacht? Oh, das wäre vielleicht eine Sprache,

00:08:10.278 --> 00:08:12.678
die schaue ich mir an, da habe ich Bock irgendwie was zu machen.

00:08:13.298 --> 00:08:14.718
Es gäbe so viele Alternativen.

00:08:16.498 --> 00:08:20.418
Also bei mir ist einfach, ich finde gut, dass es hardware-nah ist,

00:08:22.038 --> 00:08:25.158
weil es halt auch performant ist und du kannst abstrahieren,

00:08:25.358 --> 00:08:32.818
was ich sehr gut finde und es zieht keine Performance, zu abstrahieren.

00:08:34.398 --> 00:08:38.118
Also für mich ist eben diese Faszination, dass man eine Sprache hat, die,

00:08:39.388 --> 00:08:44.888
irgendwie grundsätzlich anders ist als die meisten anderen, die momentan populär sind,

00:08:45.708 --> 00:08:49.108
eben dieses Thema, dass man systematisch Fehlerklassen ausschließt,

00:08:49.188 --> 00:08:54.068
anstatt so mit irgendwelchen Band-Aid-Fixes obendrauf, weiß ich nicht,

00:08:54.368 --> 00:08:58.668
Static-Code-Analyzer oder so in CC++, mit dem man dann versucht,

00:08:59.328 --> 00:09:02.888
sagen wir mal 95% der Bugs zu erkennen, der Unterschied ist,

00:09:02.988 --> 00:09:04.748
in Rust ist es systematisch ausgeschlossen.

00:09:04.748 --> 00:09:10.648
Und dass man das bei so vielen Themen ohne viel zu viel Aufwand,

00:09:10.668 --> 00:09:16.468
wie jetzt so diese ganz formellen Sprachen, trotzdem hinkriegt und da so einen

00:09:16.468 --> 00:09:17.788
sehr guten Mittelweg finden kann,

00:09:18.328 --> 00:09:22.248
das ist irgendwie, was mich damals begeistert hat und auch immer noch irgendwo bei der Sprache hält.

00:09:23.148 --> 00:09:27.248
Ja, spannend. Dann gehen wir doch mal weg von der Programmiersprache und von

00:09:27.248 --> 00:09:32.708
eurem Tun in der Programmiersprache als Privatperson, sondern jetzt so quasi diese Gruppierung.

00:09:33.308 --> 00:09:36.648
Könnt ihr geschichtlich aufräumen? Seit wann gibt es denn eigentlich eine Rust-Gruppe im CCC?

00:09:38.168 --> 00:09:43.028
Also ich habe angefangen mit dem Thema, glaube 2018.

00:09:44.308 --> 00:09:49.388
Das lief so. Ein anderes Mitglied hier im Münchner CCC kam auf mich zu,

00:09:50.128 --> 00:09:56.188
dass wohl eine Menge Leute irgendwo Interesse hätten das aufzurollen es gab

00:09:56.188 --> 00:10:00.228
wohl davor schon mal so ein bisschen ein ähnliches Ding,

00:10:00.788 --> 00:10:06.408
was dann aber wieder eingeschlafen ist und das sollte wiederbelebt werden und

00:10:06.408 --> 00:10:09.468
es war irgendwo auch eben bekannt, dass ich schon so ein bisschen in der Ecke

00:10:09.468 --> 00:10:12.148
unterwegs bin und dann haben wir gesagt,

00:10:12.288 --> 00:10:18.988
ja machen wir und haben uns seitdem so gut es ging irgendwo regelmäßig getroffen ähm.

00:10:20.223 --> 00:10:25.603
Und es hat sich dann jetzt so über die Jahre auch immer mehr so eine Stammbesetzung

00:10:25.603 --> 00:10:30.783
gebildet, die oft dabei sind und natürlich auch viel Wechsel drin,

00:10:31.183 --> 00:10:35.183
aber es ist eigentlich seit 2018 ziemlich durchgängig jetzt.

00:10:35.303 --> 00:10:38.023
Okay und ihr habt Corona überstanden und euch remote getroffen?

00:10:38.323 --> 00:10:41.483
Ja, also das war natürlich hart. Ja, das war so für alle.

00:10:42.263 --> 00:10:46.143
Aber dann ging es am Anfang wahrscheinlich viel darum, erstmal Rust zu lernen

00:10:46.143 --> 00:10:50.603
und die Konzepte zu verstehen. Oder wart ihr sofort irgendwie eine Gruppe von

00:10:50.603 --> 00:10:53.623
Leuten, die sich damit hinreichend gut auskannten und habt irgendwie Projekte umgesetzt?

00:10:53.823 --> 00:10:56.163
Wir haben am Anfang das Rustbook durchgemacht, oder?

00:10:56.403 --> 00:11:00.223
Genau, also das ist glaube ich die größte Transformation auch gewesen.

00:11:00.503 --> 00:11:08.323
Ganz am Anfang waren die allermeisten komplett neu irgendwo und genau,

00:11:08.483 --> 00:11:13.643
wir haben das Rustbook durchgearbeitet, hatten sehr schnell die Idee des ersten Projekts,

00:11:14.103 --> 00:11:21.843
das hieß Solid Scissors und war ein Pixel-Floot-Client für unseren A-Cup-Wall.

00:11:23.123 --> 00:11:26.283
Und da haben wir also den existierenden Python-Code genommen,

00:11:26.523 --> 00:11:30.463
verstanden, wie man mit dem Ding interagiert und haben eben dann so verschiedene

00:11:30.463 --> 00:11:34.043
Clients und so einen Proxy-Server geschrieben, anhand eben der Themen,

00:11:34.143 --> 00:11:35.523
die auch im Rust-Book behandelt wurden.

00:11:36.703 --> 00:11:41.303
Und seitdem haben sich natürlich die meisten irgendwo deutlich weiterentwickelt,

00:11:41.423 --> 00:11:46.103
was die Sprache angeht und das hat dann jetzt dazu geführt, dass wir natürlich

00:11:46.103 --> 00:11:49.203
auch immer mehr sehr tiefgreifende Themen aufnehmen.

00:11:49.843 --> 00:11:54.663
Was aber geblieben ist, ist so dieser Ansatz, die Rust-Gruppe ist ein Ort,

00:11:54.703 --> 00:11:58.083
um diese Sprache zu lernen und zwar auf allen Ebenen.

00:11:58.343 --> 00:12:04.943
Also da findet sich auch jeder irgendwo wieder von irgendwo ganz frisch angefangen,

00:12:04.943 --> 00:12:12.183
bis hin zu Leuten, die wirklich tief in der Sprache drin sind und wo man sich

00:12:12.183 --> 00:12:15.243
dann auch mal sehr komplexe Themen irgendwo gemeinsam anschaut.

00:12:15.883 --> 00:12:20.963
Ihr habt heute um 20 Uhr, also wahrscheinlich dann quasi nach dem Podcast,

00:12:21.123 --> 00:12:23.543
quasi das als Treffpunkt für heute eingetragen.

00:12:24.523 --> 00:12:26.563
Wie darf ich mir so einen typischen Tag vorstellen bei euch?

00:12:26.603 --> 00:12:29.403
Was macht ihr denn hier am Abend jetzt hier in der Rust-Gruppe?

00:12:29.563 --> 00:12:32.563
Bier trinken, ratschen oder habt ihr gerade ein konkretes Projekt,

00:12:32.643 --> 00:12:35.043
an dem ihr arbeitet? Naja, wir haben schon immer ein Ziel.

00:12:36.522 --> 00:12:41.742
Also in der Regel haben wir irgendein Projekt, an dem wir arbeiten und was wir

00:12:41.742 --> 00:12:44.642
da machen ist, wir machen Mob Coding heißt das, oder?

00:12:45.482 --> 00:12:49.102
Das ist quasi so ein Plugin für Git oder so ein Aufsatz auf Git.

00:12:49.622 --> 00:12:54.222
Da ist dann jeder mal 10 Minuten dran und jeder codet dann und du guckst dann

00:12:54.222 --> 00:12:56.742
am Beamer oder Remote. Und alle anderen schreien rein, Mann,

00:12:56.822 --> 00:12:57.942
doch nicht so. Ja, genau.

00:13:00.122 --> 00:13:03.382
Genau. Ja, also es kommt darauf an, also wenn du jetzt ganz neu bist,

00:13:04.502 --> 00:13:08.162
dann wirst du auch gefühlt von den anderen und sagen dir dann so, wie es geht.

00:13:10.182 --> 00:13:13.042
Und wenn du heute schon länger dabei bist, dann machst du das jetzt selber.

00:13:13.262 --> 00:13:16.502
Aber so bleibt heute, so ist heute jeder immer mit dabei.

00:13:16.622 --> 00:13:19.962
Und bevor wir das gemacht haben, war es heute, ich sage mal so,

00:13:20.002 --> 00:13:23.642
es hat das Ganze optimiert, den ganzen Arbeitsprozess. Okay,

00:13:23.742 --> 00:13:26.942
aber das heißt, ihr schaut gemeinsam quasi auf einen Beamer und arbeitet gemeinsam

00:13:26.942 --> 00:13:28.522
an einem Code im Wesentlichen. Genau.

00:13:29.042 --> 00:13:31.682
Okay, und welches Projekt macht ihr gerade? Wo seid ihr dran, aktiv?

00:13:32.282 --> 00:13:35.382
Also das wechselt immer sehr dynamisch.

00:13:36.022 --> 00:13:40.102
Wir haben jetzt immer mal wieder so größere Projekte gemacht,

00:13:40.342 --> 00:13:42.662
die wir dann auch über mehrere Sessions durchgezogen haben.

00:13:43.302 --> 00:13:46.222
Es kommt aber auch oft vor, dass wir so kleinere Themen mitnehmen.

00:13:46.522 --> 00:13:50.122
Oft kommt jemand vorbei und hat

00:13:50.122 --> 00:13:52.702
irgendwie ein spezifisches Problem und das schauen wir uns zusammen an.

00:13:52.882 --> 00:13:57.562
Oder irgendwie ein interessantes Thema, einen interessanten Programmieransatz

00:13:57.562 --> 00:14:01.222
und dann sucht man sich da einfach irgendwie so eine kleine Challenge und die

00:14:01.222 --> 00:14:06.582
arbeiten wir gemeinsam durch und diskutieren natürlich viel die Vor- und Nachteile.

00:14:06.922 --> 00:14:10.202
Und da kann man, glaube ich, dann auch eben jeder sehr viel mitnehmen.

00:14:10.862 --> 00:14:12.082
Okay, wie viele Leute seid ihr denn so?

00:14:13.616 --> 00:14:17.876
Also variiert von 3 bis 10, oder?

00:14:18.956 --> 00:14:23.076
Okay. Wenn ich da jetzt als Neuer dazukommen will, muss ich da schon irgendwie.

00:14:23.076 --> 00:14:26.416
Rust-Kenntnisse mitbringen oder könnt ihr ja quasi dann auch so einen Anfängerkurs

00:14:26.416 --> 00:14:27.136
zwischenrein schieben?

00:14:27.216 --> 00:14:31.056
Oder sitzt der dann erstmal passiv die ersten 3-4 Male mit dabei und macht nichts, oder?

00:14:31.736 --> 00:14:36.476
Also ich würde sagen, das hängt eigentlich nur davon ab, wie mutig man selber ist.

00:14:37.216 --> 00:14:41.696
Wir wollen eigentlich für jeden offen sein. Wenn man ganz frisch dazukommt,

00:14:41.696 --> 00:14:45.216
Die meisten sind dann natürlich erstmal so ein bisschen zurückgehalten,

00:14:45.316 --> 00:14:46.356
schauen sich das erstmal an,

00:14:46.556 --> 00:14:52.776
aber eigentlich darf jeder gleich mitmachen und wenn man eben noch sehr neu

00:14:52.776 --> 00:14:55.796
ist, dann unterstützen wir da uns gemeinsam,

00:14:56.136 --> 00:14:59.236
dass auch jeder da wirklich teilnehmen kann.

00:14:59.516 --> 00:15:03.316
Und natürlich braucht es eben eine ganze Menge Mut, wenn man noch gar keine

00:15:03.316 --> 00:15:07.056
Erfahrung mit einer Programmiersprache hat, dann da gleich am Projektor vor

00:15:07.056 --> 00:15:10.496
den anderen live zu coden. Genau, es gibt natürlich solche und solche.

00:15:10.656 --> 00:15:14.696
Manche können das sehr gut, ohne irgendeinen Plan zu haben, sich da an BIMA

00:15:14.696 --> 00:15:18.356
und versuchen das halt einfach mal und sind da auch, sagen wir,

00:15:18.416 --> 00:15:21.996
hart gesotten, dass sie mit Kritik sich so, naja, ist mir doch egal,

00:15:22.076 --> 00:15:23.076
wenn die sagen, ist irgendwie doof.

00:15:23.736 --> 00:15:27.036
Ist das nicht nervig, dann dauernd Neueren zu erklären oder kommen nicht so

00:15:27.036 --> 00:15:29.016
oft Neue bisher? Also wir haben

00:15:29.016 --> 00:15:33.256
schon oft neue dabei und das funktioniert eigentlich auch ganz harmonisch.

00:15:33.556 --> 00:15:38.296
Also klar hängt es immer sehr vom Thema ab, wenn wir uns sehr komplexe Themen

00:15:38.296 --> 00:15:42.876
suchen für die Session, dann ist das natürlich etwas schwieriger,

00:15:43.056 --> 00:15:45.676
aber wir machen das natürlich auch davon abhängig, wer da ist.

00:15:45.676 --> 00:15:49.356
Wenn jetzt viele neue da sind, dann suchen wir uns natürlich auch Themen,

00:15:49.716 --> 00:15:53.996
die irgendwo da besser dazu passen, als wenn jetzt, sagen wir mal so,

00:15:54.116 --> 00:16:00.216
die Stammgruppe sich trifft und sonst wenig los ist und dann halt auch irgendwelche

00:16:00.216 --> 00:16:02.076
spannenden Themen da sind, die sehr komplex sind.

00:16:02.939 --> 00:16:06.499
Wie würdet ihr euch selber als Gruppe sehen? Seid ihr eher CCCler,

00:16:06.919 --> 00:16:12.979
also Münchner Chaos-Member, die dann halt dort quasi eine Ecke gefunden haben, sich auszuleben?

00:16:13.079 --> 00:16:19.439
Oder ist die Rust-Gruppe ein mehr oder minder Untermieter ohne direkte Beziehungen zu Münchner CCC?

00:16:20.039 --> 00:16:24.119
Ich sehe mich schon als CCCler, der hier so eine Ecke gefunden hat.

00:16:24.119 --> 00:16:28.859
Also ich würde schon sagen auch wir sind da schon eng vernetzt,

00:16:29.099 --> 00:16:31.379
wir haben jetzt auch immer mal wieder.

00:16:32.539 --> 00:16:36.159
Irgendwo CCC nahe Projekte natürlich gemacht,

00:16:36.899 --> 00:16:41.559
es ist ein offenes Event, es darf jeder kommen aber ich würde sagen,

00:16:41.619 --> 00:16:45.919
der Großteil ist natürlich schon auch im weiteren Chaos und fällt irgendwo unterwegs

00:16:45.919 --> 00:16:49.599
es ist eigentlich eher untypisch,

00:16:49.739 --> 00:16:54.959
dass so ganz chaosfremde Leute auftauchen, aber auch das passiert und auch die

00:16:54.959 --> 00:16:56.279
sind natürlich sehr willkommen.

00:16:56.559 --> 00:16:59.759
Genau, also selbst wenn ich jetzt quasi kein Mitglied werde oder werden will

00:16:59.759 --> 00:17:03.099
oder was auch immer, aber mit Rust Interesse hätte, wäre der da durchaus offen

00:17:03.099 --> 00:17:04.659
und macht die Tür auf. Auf jeden Fall.

00:17:04.839 --> 00:17:07.619
Also es ist auch explizit public. Genau. Okay.

00:17:08.239 --> 00:17:11.879
Ihr hattet am Kongress irgendwie auch was mitgebracht, mitgemacht.

00:17:11.979 --> 00:17:16.139
Was hat ihr am Kongress dabei gehabt dieses Jahr? Letztes Jahr? Der Riesenkrabbe.

00:17:16.999 --> 00:17:19.279
Und was hat die Krabbe mit Rust zu tun?

00:17:20.197 --> 00:17:27.397
Also das ist ja, die Ferry ist ja ein Maskottchen von Rust und wir haben jetzt die,

00:17:27.757 --> 00:17:33.237
wir wollten halt ein bisschen größenwahnsinnig so eine Assembly haben und entsprechend

00:17:33.237 --> 00:17:39.457
auch auffallen und wollten eine riesige Krabbe bauen, die dann über der Assembly

00:17:39.457 --> 00:17:42.077
schwebt und beleuchtet ist und blinkt und so.

00:17:42.077 --> 00:17:45.557
Okay, und das Beleuchten und Blinken ist dann natürlich in Rust programmiert. Genau.

00:17:46.037 --> 00:17:50.137
Selbstverständlich. Und habt ihr am Kongress dann andere Rustys kennengelernt?

00:17:50.217 --> 00:17:52.157
Sind da Leute vorbeigekommen? Seid ihr da irgendwie?

00:17:52.497 --> 00:17:57.677
Also tatsächlich haben wir dieses Jahr die Rust Assembly uns ganz irgendwo geschnappt,

00:17:57.857 --> 00:18:03.137
weil das so ein bisschen dezentral die letzten Jahre mal war und ich glaube

00:18:03.137 --> 00:18:06.617
das Jahr davor hatte dann gar niemand eine Rust Assembly angemeldet und dann

00:18:06.617 --> 00:18:12.057
hatten wir so dynamisch Tische geklaut und das war dann alles sehr chaotisch.

00:18:12.077 --> 00:18:17.357
Deswegen haben wir gesagt, dieses Jahr kümmern wir uns drum und das ist richtig explodiert,

00:18:17.537 --> 00:18:20.977
weil natürlich ganz viele irgendwo unterwegs sind auf dem Kongress,

00:18:20.977 --> 00:18:24.937
so einem Chaosumfeld, die was mit der Sprache machen und wenn dann da so ein

00:18:24.937 --> 00:18:27.417
Anlaufpunkt ist, dann tauchen die auch alle auf.

00:18:27.677 --> 00:18:32.197
Tatsächlich auch einige aus der, sagen wir mal, dem Rust-Core-Team und so,

00:18:32.317 --> 00:18:34.737
die dann da plötzlich irgendwo dabei sind.

00:18:35.077 --> 00:18:40.137
Also wirklich Entwickler an Rust. Genau, aus der Sprachentwicklung und super spannend.

00:18:40.257 --> 00:18:48.217
Es gab auch nicht von uns, sondern von, ich glaube, den Berlinern einen Rust Workshop,

00:18:48.557 --> 00:18:54.017
der war so gut besucht, dass sie quasi die Hälfte der Leute,

00:18:54.037 --> 00:18:55.857
die teilnehmen wollten, wieder wegschicken mussten.

00:18:56.497 --> 00:19:03.117
Also es ist richtig irgendwo Interesse da, da Dinge zu tun und es hat auch richtig Spaß gemacht.

00:19:03.377 --> 00:19:06.117
Und das heißt, ihr macht das wieder im nächsten Kongress? Auf jeden Fall.

00:19:06.637 --> 00:19:11.237
Wir haben auch noch so ein zweites Kongress-Ding. Wir haben jetzt die letzten

00:19:11.237 --> 00:19:14.277
zwei Jahre eine Rust-Hotline eingerichtet.

00:19:14.757 --> 00:19:17.737
Wer die Plakate gesehen hat, das waren wir.

00:19:18.657 --> 00:19:22.437
Und auch das ist super cool. Einfach eine Hotline.

00:19:22.717 --> 00:19:25.237
Wir haben dann viele, die bei der Rust Assembly aufgetaucht sind,

00:19:25.297 --> 00:19:27.517
einfach gefragt, ob sie Lust haben mitzumachen.

00:19:28.197 --> 00:19:32.797
Hatten dann eben ganz viele Operator, die ans Telefon gehen, wenn es klingelt.

00:19:33.117 --> 00:19:38.737
Und tatsächlich kamen richtig viele Anrufe von Menschen, die irgendwo Rust-Probleme

00:19:38.737 --> 00:19:43.497
hatten, konkrete Probleme, die dann gestellt haben und die man dann auch tatsächlich

00:19:43.497 --> 00:19:44.757
über die Hotline lösen kann.

00:19:46.137 --> 00:19:47.957
Und das ist schon ein cooles Gefühl. Sind das dann Probleme,

00:19:48.037 --> 00:19:51.257
die am Kongress aufgetaucht sind oder die, die schon seit Wochen mit sich rumgetragen

00:19:51.257 --> 00:19:53.037
haben und gedacht haben, jetzt frage ich da mal jemanden, ne?

00:19:54.144 --> 00:19:59.524
Ich war nicht da für den Kongress. Ja, es waren viele, die einfach irgendwo

00:19:59.524 --> 00:20:01.924
ein Kongressprojekt hatten, was sie in Rust geschrieben haben,

00:20:02.304 --> 00:20:06.984
irgendwo hängen geblieben sind und sich dann dachten, ja, rufen wir mal die Hotline an.

00:20:07.764 --> 00:20:10.604
Stell dir vor, wie die die Geschichte erzählen. Wir hatten ein Problem,

00:20:10.804 --> 00:20:14.024
aber dann gab es da eine Rust-Hotline und die haben uns tatsächlich geholfen.

00:20:14.444 --> 00:20:15.344
Das ist ja auch krass, oder?

00:20:15.844 --> 00:20:19.104
Gefällt mir, gefällt mir sehr gut. Das ist ja ganz cool gestartet.

00:20:19.284 --> 00:20:21.884
Das war beim vorletzten Kongress, kommt irgendwann der Reichs zu mir und meint

00:20:21.884 --> 00:20:23.624
so, hey, wir wollen eine Rust-Hotline gründen.

00:20:24.144 --> 00:20:26.404
Und dann haben wir überlegt, wenn wir das machen mit den Plakaten,

00:20:27.204 --> 00:20:31.904
dann bin ich irgendwie zum Make-Paper, hab irgendwie für 80 Euro Papier und

00:20:31.904 --> 00:20:35.984
Stifte gekauft und dann haben wir hier alle irgendwelche Plakate gemalt und

00:20:35.984 --> 00:20:37.244
haben wir die strategisch,

00:20:37.944 --> 00:20:40.944
an den wichtigsten Punkten aufgehängt im Kongress.

00:20:41.744 --> 00:20:44.684
Und zum Schluss beim Heimfahren habe ich noch einen getroffen,

00:20:44.844 --> 00:20:49.704
der im Kongress war, der hat dann so gemeint, was hast du gemacht? Ich so, ja, Rusted Line.

00:20:49.824 --> 00:20:53.744
Er hat gemeint, ah, ja, die 877, 877, da hab ich ganz oft hinvermittelt.

00:20:56.124 --> 00:20:59.384
Schön, schön, gefällt mir gut. Ja, gab es dann im Kongress oder auch bei euch

00:20:59.384 --> 00:21:03.324
so irgendwelche Coding-Challenges in Rust, wo ihr teilnehmt oder mitmacht oder

00:21:03.324 --> 00:21:05.404
organisiert oder ist das nicht so ein Ding?

00:21:06.224 --> 00:21:13.444
Eher weniger. Also wir machen mehr hier unsere Projekte gemeinsam und meistens

00:21:13.444 --> 00:21:16.404
eben mit dem Ziel, irgendwo Themen anzugucken, was zu lernen,

00:21:17.064 --> 00:21:20.404
Dinge auszuprobieren, verschiedene Ansätze zu vergleichen.

00:21:21.520 --> 00:21:25.000
Also mehr so dieser Diskurs ist irgendwo unser Fokus. Ich erinnere mich noch,

00:21:25.160 --> 00:21:28.780
also die ersten Jahre, die ich beim Kongress gab, gab es immer,

00:21:29.520 --> 00:21:32.520
ich glaube im Wesentlichen auch nur übers Wiki organisiert und Ding so,

00:21:33.500 --> 00:21:35.280
Code-Golf-Challenges in Pearl.

00:21:35.440 --> 00:21:39.180
Und damals konnte ich noch einigermaßen Pearl, Pearl 5 war das noch, ne?

00:21:40.240 --> 00:21:47.240
Langes her. Und war dann mal total stolz auf meine irgendwie 300-Zeichen-Lösung.

00:21:47.240 --> 00:21:49.720
Und dann siehst du so eine Lösung in irgendwie 27 Zeichen.

00:21:50.100 --> 00:21:52.620
Wäre das was, was in Rust irgendwie überhaupt funktioniert?

00:21:53.120 --> 00:21:55.820
Codegolfing? Oder ist das jetzt wirklich, also Codegolf für die Leute,

00:21:55.860 --> 00:21:58.660
die das nicht kennen, es geht auch um eine irgendwie geartete Aufgabe,

00:21:58.840 --> 00:22:03.380
in so wenig Programmierzeichen wie möglich zu lösen. Also am Ende zählt quasi die Pfeilgröße.

00:22:04.180 --> 00:22:07.940
Und das ist natürlich in einer Sprache wie Perl, die wahnsinnig viele Tricks

00:22:07.940 --> 00:22:09.840
und Kniffe und sonst was kann, sehr witzig.

00:22:10.300 --> 00:22:13.360
In anderen Sprachen, die ein unglaubliches Überkonstrukt brauchen.

00:22:14.540 --> 00:22:17.020
Vielleicht gar nicht so spannend. Deswegen wäre jetzt die Frage,

00:22:17.140 --> 00:22:19.340
ob das vielleicht was wäre, was in Rust funktionieren könnte oder vielleicht

00:22:19.340 --> 00:22:20.540
gar nicht. Gibt es sowas?

00:22:20.780 --> 00:22:25.240
Also spannenderweise glaube ich, es geht, aber es ist schrecklich,

00:22:25.480 --> 00:22:30.480
weil man mit den funktionalen Featuren von Rust natürlich auch wahnsinnig mächtig

00:22:30.480 --> 00:22:34.500
irgendwo komplexe Probleme ausdrücken kann auf eine Art und Weise,

00:22:34.900 --> 00:22:36.960
wo das nie wieder jemand verstehen wird.

00:22:38.580 --> 00:22:43.460
Und auch da haben wir natürlich dann schon mal so ein bisschen experimentiert,

00:22:43.580 --> 00:22:50.040
aber es geht halt irgendwo gegen den eigentlichen Fokus der Sprache, der ja irgendwo ist,

00:22:50.340 --> 00:22:55.400
Code zu schreiben, der robust ist, der wartbar ist und klar zum Spaß kann man

00:22:55.400 --> 00:22:56.940
da sowas natürlich auch unterbringen.

00:22:58.430 --> 00:23:02.730
Aber irgendwie trifft es sich meistens nicht. Wir versuchen dann eher die eleganteste

00:23:02.730 --> 00:23:06.890
Lösung zu finden, die irgendwo eine bestimmte komplexe Problemklasse darstellen

00:23:06.890 --> 00:23:13.410
kann und dabei eben so robust wie möglich ist, so wenig fehleranfällig und so wartbar wie möglich.

00:23:14.070 --> 00:23:17.110
Also vielleicht mit ein bisschen anderem Ziel das gleiche dann.

00:23:17.970 --> 00:23:22.490
Ja, kann ich mir gut vorstellen, dass das da irgendwie nicht so das Richtige ist.

00:23:22.650 --> 00:23:26.230
Andere Challenges gewissermaßen zuerst fertig werden oder sonst was,

00:23:26.250 --> 00:23:29.990
um eine Lösung zu finden oder irgendwie was besonders robust zu machen oder

00:23:29.990 --> 00:23:33.190
sowas wäre natürlich irgendwie denkbar, aber gibt's jetzt irgendwie auch nicht.

00:23:33.190 --> 00:23:36.230
Wir sind eher kooperativ. Okay, gut.

00:23:37.290 --> 00:23:42.130
Wenn ihr in die Zukunft schaut, was denkt ihr, diese Rust-Gruppe,

00:23:42.370 --> 00:23:45.610
die Sprache oder auch diese Kongresse, ist das was, was bleibt?

00:23:45.790 --> 00:23:49.390
Ist das was, was größer wird? Ist das eine Sprache, die im Wachstum ist?

00:23:49.510 --> 00:23:52.390
Gibt es da immer mehr Interessen, immer mehr Zulauf auch in eurer Gruppe oder

00:23:52.390 --> 00:23:54.570
ist das was, was jetzt irgendwie so ein Nischen-Dasein führt?

00:23:56.570 --> 00:23:59.890
Von der Gruppe her kann ich es nicht sagen, aber ich merke es von den Anfragen,

00:24:00.570 --> 00:24:05.270
dass es immer mehr Recruiter gibt, die Anfragen für Rust stellen.

00:24:06.050 --> 00:24:08.050
Also ich würde sagen, die Rust-Gruppe

00:24:08.050 --> 00:24:12.470
hat gezeigt, dass man sowas sehr kontinuierlich irgendwo führen kann.

00:24:12.810 --> 00:24:15.510
Die Gruppengröße ist eigentlich jetzt auch immer gleich geblieben.

00:24:15.930 --> 00:24:21.030
Klar, während der Covid-Pandemie hatten wir mal so ein bisschen Mangel,

00:24:21.310 --> 00:24:23.770
aber es hält sich sehr gut.

00:24:24.670 --> 00:24:29.630
Ich glaube so im Großen eben, wie Neo Sam auch meint, es wird an vielen Stellen

00:24:29.630 --> 00:24:36.150
mehr und Und das sieht man aber dann auch so ein bisschen, dass halt öfter mal

00:24:36.150 --> 00:24:37.910
neue jetzt vorbeischauen.

00:24:40.230 --> 00:24:44.630
Wenn ich jetzt da mitmachen will, das noch gar nicht so bisher irgendwie kenne,

00:24:44.750 --> 00:24:46.830
gut, ihr habt gesagt, ihr nehmt neue gerne auf. Wann?

00:24:47.050 --> 00:24:50.950
Wann komme ich da vorbei? Ist da jedes Treffen geeignet? Oder wann trefft ihr

00:24:50.950 --> 00:24:53.030
euch überhaupt? Habt ihr da einen festen Termin im Kalender?

00:24:54.289 --> 00:25:01.749
Also wir suchen den nächsten freien Termin im Muck-TCC-Kalender und tragen uns

00:25:01.749 --> 00:25:03.269
dann da ein und dann treffen wir uns da.

00:25:03.449 --> 00:25:06.589
Und wenn man dazukommen will, dann kann man einfach kommen.

00:25:07.009 --> 00:25:10.509
Okay, ihr habt gewissermaßen momentan nicht so einen festen Rhythmus,

00:25:10.569 --> 00:25:13.729
dass ihr sagt, alle zwei Wochen immer Mittwoch oder sowas, nee,

00:25:13.869 --> 00:25:17.469
sondern... Wir versuchen es, aber... Der Kalender ist schon recht voll.

00:25:18.769 --> 00:25:23.349
Also grundsätzlich ist es so, wir haben einen Matrix-Kanal und es ist natürlich

00:25:23.349 --> 00:25:28.029
immer hilfreich, wenn die Leute da mal kurz Hallo sagen, dass sie vorhaben zu

00:25:28.029 --> 00:25:32.169
kommen, aber es kommen auch ganz oft einfach so spontan Leute vorbei und das

00:25:32.169 --> 00:25:33.109
ist auch voll in Ordnung.

00:25:33.909 --> 00:25:36.769
Okay, versuche ich dir den Journalist zu verlinken, den Matrix-Kanal,

00:25:36.909 --> 00:25:41.209
wenn das also irgendwas ist, ansonsten in den Kalender gucken vom MyTZT-Webseite,

00:25:42.109 --> 00:25:43.489
wie viel vorher steht es dann drinnen?

00:25:43.689 --> 00:25:46.369
Seid ihr plant ihr immer von einem zum nächsten Mal oder ist das dann?

00:25:48.309 --> 00:25:52.929
Ja, gut. Okay, ja, ist noch sonst was Richtiges, was ihr loswerden wollt an

00:25:52.929 --> 00:25:56.129
die neuen, an die anderen? Kommt vorbei. Kommt vorbei.

00:25:58.589 --> 00:26:04.089
Spannende Rust-Themen mit. Ich habe hier noch persönlicher Musikwunsch fürs Outro mitgebracht.

00:26:04.189 --> 00:26:06.849
Da könnt ihr mir jetzt noch ganz kurz erklären, was es damit irgendwie so auf

00:26:06.849 --> 00:26:08.689
sich hat, während ich das hier reinfade.

00:26:08.689 --> 00:26:13.789
Ja, also wir haben irgendwie, wenn die Abende später wurden,

00:26:14.469 --> 00:26:16.349
irgendwann festgestellt, dass

00:26:16.349 --> 00:26:22.429
ja Ferris die Rust-Krabbe ist und was ist da passender als der Crab Rave.

00:26:23.029 --> 00:26:26.549
Und jetzt habe ich hier ein 10 Stunden YouTube-Video vor mir,

00:26:27.369 --> 00:26:28.889
das wir wohl nicht in Gänze anschauen.

00:26:30.089 --> 00:26:33.169
Genau, also das Maskottchen gewissermaßen, aber das hat jetzt eigentlich keinen,

00:26:33.269 --> 00:26:36.629
also der Track hat sonst keinen Zusammenhang, das seid ihr selber draufgekommen hier so.

00:26:37.609 --> 00:26:42.389
Alles klar. Ja, Neosem Rheix, ich danke euch recht herzlich für eure wichtigen

00:26:42.389 --> 00:26:46.029
Informationen zu der Gruppe und eure Einladung, da mal vorbeizuschauen.

00:26:46.109 --> 00:26:47.289
Vielleicht komme ich da auch mal wieder dazu.

00:26:48.409 --> 00:26:51.389
Spannend fände ich es ja. Das ist ja eher die Frage, so wie viel Zeit,

00:26:51.529 --> 00:26:52.809
wie eine Fremdsprache lernen.

00:26:52.909 --> 00:26:55.309
Da müsste man sich ja eigentlich dann einfach kontinuierlich damit beschäftigen,

00:26:55.369 --> 00:26:57.069
dass man da irgendwie dran bleibt und weiterkommt.

00:26:57.189 --> 00:27:02.649
Und da Haran Scheiter ist bei mir beim ersten Versuch mit dieser Rassengruppe die alte historische.

00:27:02.829 --> 00:27:04.909
Aber vielleicht gebe ich dem ja nochmal einen neuen Versuch.

00:27:04.909 --> 00:27:09.109
Ja, vielen Dank fürs Zuhören und wir melden uns nächstes Mal mit einer anderen

00:27:09.109 --> 00:27:10.089
Gruppe wieder. Ciao, ciao.

00:27:19.440 --> 00:29:20.970
Music.

