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.