Player FM - Internet Radio Done Right
Checked 1y ago
Vor drei Jahren hinzugefügt
Inhalt bereitgestellt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Player FM - Podcast-App
Gehen Sie mit der App Player FM offline!
Gehen Sie mit der App Player FM offline!
Geekstammtisch
Alle als (un)gespielt markieren ...
Manage series 3033166
Inhalt bereitgestellt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Mehr oder weniger regelmäßiger Stammtisch rund um Geektum, (Web)development und was immer unsere Gäste an interessanten Dingen zu erzählen haben
…
continue reading
42 Episoden
Alle als (un)gespielt markieren ...
Manage series 3033166
Inhalt bereitgestellt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen. Alle Podcast-Inhalte, einschließlich Episoden, Grafiken und Podcast-Beschreibungen, werden direkt von Dirk Breuer, Sebastian Cohnen, Dirk Breuer, and Sebastian Cohnen oder seinem Podcast-Plattformpartner hochgeladen und bereitgestellt. Wenn Sie glauben, dass jemand Ihr urheberrechtlich geschütztes Werk ohne Ihre Erlaubnis nutzt, können Sie dem hier beschriebenen Verfahren folgen https://de.player.fm/legal.
Mehr oder weniger regelmäßiger Stammtisch rund um Geektum, (Web)development und was immer unsere Gäste an interessanten Dingen zu erzählen haben
…
continue reading
42 Episoden
Alle Folgen
×G
Geekstammtisch

1 GST042 - Kiloweise Brettspiele 2:10:04
2:10:04
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked2:10:04
Zocken ohne Strom?! Mit Nadine und Michael aus dem Spielbrett. Seit gefühlt 100 Jahren podcastet der Geekstammtisch wieder. Auch dieses Mal haben sich @tisba und @code_later Gäste eingeladen, diesmal wird es wieder geekig und nerdy! Unsere Gäste Nadine: Gehört das Spielbrett in Köln Micha: Arbeitet im Spielbrett , rennt durch den Laden, verkauft Spiele, verpackt Spiele und spielt Spiele Das Spielbrett führt fast alle analogen Brettspiele, die klassisch auf dem deutschen Markt erscheinen Definition von Brettspiel "Alles, was Leute dazu bringt sich gemeinsam an einen Tisch zu setzen" Auch Kartenspiele gehören dazu Das Spektrum der Brettspiel vom einfachen kleinen Kartenspiel wie Skat über komplexe 8-stündige Strategiespiele wie Twilight Imperium ist alles vertreten Nadine und Micha haben heute Oriflamme gespielt kurzes Spiel, aber vielleicht nicht unbedingt ein Familienspiel Heutige Spiele zum (Wieder-)Einstieg, die einen Blick wert sind Im Brettspiel nennt man das die Kategorie "Geht-Immer"-Spiele Qwixx , eine intelligente Kniffelvariante 6 nimmt! , kleines Kartenspiel Biberbande CABO Die Spiele des Jahres Just one ist das Spiel des Jahres 2019 Das Spiel des Jahres wird jedes Jahr durch eine fachkundige Jury gewählt 1995 war Siedler von Catan Spiel des Jahres und danach gab es eine richtige Welle an Spielbrettmotivation Escape-Room-Spiele Exit - Das Spiel Das Brettspiel verkauft auch Second-Hand-Brettspiele Ähnlichkeiten zu anderen Hobbies Durchaus interessante Community und Menschen, vor allem im Fantasy- und Rollenspielbereich Brettspiele erfordern im Vergleich zu Videospielen eine sehr viel höhere Sozialkompetenz Brettspielgenres Genre: Legacyspiele : Kampagnenmodus, man spielt eine gewisse Reihenfolge von Szenarien ab anhand eines endlichen Handlungsstrangs Pandemic Legacy Staffel 1 , coole Story. Hat bei Micha ca. 14 Spielabende gedauert um es durchzuspielen Genre: Worker Placement Spiele , alle haben den gleichen Ausgangspunkt und versuchen Dinge aufzubauen, am Ende wird verglichen, wer dies am tollsten gemacht hat Siedler von Catan als Klassiker Tiny towns , relativ niederschwellige Regelbasis, aber recht unterschiedliche Spielszenarien. Kleine Stadt, die zu Beginn brach ist, man muss Gebäude bauen und wer hinterher die tollste Stadt hat gewinnt das Spiel Fantasy Flight Games großer amerikanischer Hersteller, der viele Lizenzen kauft Star Wars Lizenz viele Miniaturenspiele mit Zukaufsoptionen Fokus auf "Vielspieler" führen Twilight Imperium Genre: Area Control/Area Influence Twilight Imperium ist eine Mischung aus Area Control und sozialer Interaktion Genre: Eurogaming , hier fordern die meisten Spiele keine hohe Interkation zwischen den Spielern Concordia ist für Micha DAS Eurogame Flügelschlag ist nicht so richtig ein Eurogame, eher ein Engine Builder Agricola Das Spielbrett bietet einen Teil ihrer Second-Hand-Spiele auf Boardgamegeek an nicht alle Spiele vor 1995 haben einen Barcode, was das Katalogisierung teilweise schwieriger macht Genre: Role and Write Genre: Draft and Write Genre: Deckbuilder Es ist schwierig ein Spiel fest in ein Genre einzuordnen Reavers of Midgard Carpe Diem ,leichteres Spiel als Mischmasch aus Carcassonne und Plättchen legen Die Spiel , reine Brettspielmesse in Essen (mit kleinem Rollenspielanteil), bietet auch einen kleinen Brettspielflohmarkt, Hauptsächlich stellen dort die Verlage ihre Neuheiten vor, Publikumsmesse mit kleinem Fach-/Pressebereich. Spielwarenmesse Nürnberg / International Toy fair ist reine Fachmesse für Spielwaren, Brettspiele sind in zwei Hallen der Messe nur ein kleiner Teil der gesamten Messe Brettspieledatenbank Boardgamegeek BGG in der theoretisch jedes Spiel vorhanden ist, jedes Spiel hat einen Eintrag mit Communityranking, Angabe der Spieldauer, Spieleranzahl, Altersfreigaben, … Wie sollte man anfangen? Micha empfiehlt mit einem sehr einfachen Spiel zu starten, was in 2-3 Minuten erklärt ist bspw. mit dem Kartenspiel Exploding Kittens , ein Russisches Roulette mit explodierenden Katzen und Lasern und kurzer Spieldauer, was auch nach dem Konsum von ein paar Bier gut funktioniert. Gateway Game: Ein Spiel, mit dem man versucht Leute anzufixen Spieldauer: 30-45 Minuten, Komplexität: 2-2,5 (bei max 5), Spieler: 2-4, leicht strategisch, was Lust auf mehr macht Kooperative Spiele bspw. Pandemie Magic Maze , man spielt gegen die Zeit Escape-Room-Spiele Spiele mit Glücksfaktor Komplexe Strategiespiele verzichten vermehrt auf Glückselemente [StoneAge]( https://www.hans-im-glueck.de/spiele/stone-age.html** , 2-4 Personen, ca. 1 Stunde Spielzeit Glückselemente durch Karten, Würfel Glück als Ausgleich; das Spiel interessant halten Vortrag von der Shux 2019 zu Siegpunkten Shut up & Sit Down Fazit: Für jeden Geschmack und jeden Geldbeutel was zu finden Spielerunden finden Spieletreffs Kneipen mit Spieleregalen Alibaba Spieleabend in Köln Brettspielcafes http://www.voyager-bonn.de/ https://wuerfelundzucker.de/ http://www.spielwiese-berlin.de/ Willkommenskultur nicht immer ganz so offen wie man sich das wünscht Nicht jedes Spiel ist für jede Gruppe sinnvoll oder geeignet Veranstaltungen Spiel in Essen seit 1983 Sehr internationale Veranstaltung Ratinger Spieletage SPIEL DOCH! in Duisburg Spielbox Mehr Menschen spielen und mehr unterschiedliche Menschen spielen Nische muss nicht immer klein sein :) Übersicht an Conventions auf BGG Der Markt Klassische Verlage Mit Redaktion Unterschiedliche Kategorien Kleinstverlage Einzelproduktionen SPIEL in Essen kann da eine gute Möglichkeit zu sein Spieledesign Hausregeln gibt es oft Ernsthaftes Spieledesign ist nicht so leicht Neuartiges ist in der aktuellen Situation nicht leicht Lieber die bestehenden Dinge aufspielen Es gibt genug sehr gute Spiele Testspiele für Prototypen Autorentreffs Wenn man seinen Prototypen mitbringt, dann mit offener Kritik rechnen Spieleautor ist ein regulärer Beruf Kickstarter (stellvertretend für Crowdfunding) Schlecht geeignet für den Einzelhandel, weil sehr kleine, spezielle Auflagen Kickstarter Spiele können ganz andere Dinge realisieren "Cthulhu: Death May Die" Monsterfigur Manche Spiele werden auch von Verlagen aufgegriffen. Beispiel Root Internationale Spiele Unterschiedliche Sprachen sind uU kostspielig Dauert oft sehr lange bis das Spiel dann tatsächlich kommt Beliebig viele Extras dazu kaufbar Versand kommt dann noch oben drauf Aber wenn man nicht zuschlägt, dann kann man ein tolles Spiel verpassen Blood Rage als Beispiel Sehr viele Brettspiele auf Crowdfunding-Plattformen verfügbar Schwer einzuschätzen, ob man es überhaupt spielen mag Exploding Kittens Wir spielen Exploding Kittens Ein kleines Kartenspiel Von The Oatmeal illustriert War ein sehr erfolgreiches Kickstarter Ein Spiel aus der Kategorie "Bier und Brezel" Nach längerem Spiel durchaus strategischen Tiefgang Ein Spiel bei dem sich immer noch untereinander reden lässt Wir haben es geschenkt bekommen <3 Verhandeln in Spielen Regelwerk ist wichtig Auslegung von Regeln kann es spannend für die Gruppe machen Junta…
G
Geekstammtisch

1 GST041 - Akkus auf Rädern 3:58:39
3:58:39
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked3:58:39
Wir sprachen mit Pablo Beyen und Reinhard Remfort über batterieelektrische Mobilität. Unsere Gäste (00:00:00) Pablo Beyen, bekannt aus GST037: Vom Hebdrehwähler zu Voice over IP: http://geekstammtisch.de/2-gst037-vom-hebdrehwahler-zu-voice-over-ip Reinhard Remfort, bekannt aus http://minkorrekt.de Reinhard ist eigentlich Physiker, arbeitet aber inzwischen für Pablo bei der bevuta Pablo hat wieder Bier mitgebracht (irgendwas lokales Belgisches: http://brasserie.grain-dorge.com/en/ ) Elektromobilität (00:04:45) http://trottielec.de/ https://de.brompton.com/Brompton-Electric Es gibt eine große Bandbreite an Anwendungen: elektrische Einräder, Roller, Falträder, … Wir versuchen uns auf batterieelektrische Antriebe zu konzentrieren Die Anfänge (00:12:20) Die Voltasche Säule: https://de.wikipedia.org/wiki/Voltasche_S%C3%A4ule 1837: Robert Davidson: https://en.wikipedia.org/wiki/Robert_Davidson_(inventor) , batteriebetriebene Lock 1863: Hippomobile https://de.wikipedia.org/wiki/Hippomobile - erstes Verbrenner-Auto? 1881: Gustave Trouvé: Trouvé Tricycle gilt als erste E-Auto der Welt - https://de.wikipedia.org/wiki/Trouv%C3%A9_Tricycle 1885: Karl Benz: https://en.wikipedia.org/wiki/Karl_Benz *1883-1885: Batterieelekrische Straßenbahn 1886-1912: Die Große Zeit des Elektroautos - in New York waren 50% der Autos elektrisch! Wie funktioniert ein Elektromotor? (00:20:10) Verbrennermotor wird heiß: 80% der Energie ist Wärme Reinhard erklärt, wie Elektromotoren grundlegend funktionieren Elektromotor besteht aus Magneten und Metallschlaufen https://de.wikipedia.org/wiki/Elektromagnetische_Induktion https://de.wikipedia.org/wiki/Elektromotor Verluste beim Elektromotor sind durch den Elektrischer Widerstand ( https://de.wikipedia.org/wiki/Elektrischer_Widerstand ) Elektromobilität: The Early Days (00:30:30) Wir sind wieder in der Vergangenheit 1909: Wittfeld-Akkumulatortriebwagen: https://de.wikipedia.org/wiki/Wittfeld-Akkumulatortriebwagen Züge auf dem Netz der Bahn 70 km/h, 160km Reichweite, 300 kWh Batteriekapazität Rekuperationsfähig (Energierückgewinnung beim Bremsen) es wurden 200 Fahrzeuge gebaut Reinhard merkt an: Es gibt zwischen Elektromotor und Dynamo/Generator keinen Unterschied Der E-Mobil Winter (00:33:10) 1952: E-Lokk DB Class ETA150 https://en.wikipedia.org/wiki/DB_Class_ETA_150 1970-1981: MAN SL-E: Bus mit Batterie im Anhänger ( https://de.wikipedia.org/wiki/MAN_SL_200#Elektrobus_SL-E ) Der Elektromotor im Verbrennerauto (00:35:10) lange Herangehensweise der Automobilindustrie: Verbrennerauto nehmen, Elektromotor einbauen Nachteile: Gewicht, Schwerpunkt, Bauform, … Bei Tesla sind die Akkus im Boden Die E-Mobile Neuzeit (00:48:30) 1990-2002: General Motors EV1: https://en.wikipedia.org/wiki/General_Motors_EV1 Who Killed the Electric Car? http://www.whokilledtheelectriccar.com 2008-2012 Tesla Roadster: https://en.wikipedia.org/wiki/Tesla_Roadster Akkus (01:05:00) Runde Akkuzellen Typ 18650 das sind Zellen, keine Akkupacks (wie im Notebooks) Runde Akkus/Zellen lassen sich gut maschinell herstellen Tesla benutzt z.B. die Bauform, aber nicht die gleichen Akkus wie in Notebooks Tesla (01:08:20) Elon Musk war nicht von Anfang an bei Tesla Tesla Master Plan: https://www.tesla.com/blog/secret-tesla-motors-master-plan-just-between-you-and-me über 200.000 Model S wurden bereits gebaut Reichweite Tesla Model S (Variante 100D): 540km Im Abstand von 80km stehen in Deutschland Telsa Ladepunkte Von 0 bis voll laden dauert ungefähr eine Stunde Auto plant Ladestops automatisch am effizientesten ist der Tesla bei 130km/h Reichweiten-Angst existiert nur im Kopf Wir sind am Ende der Fahnenstange der Effektivität es Elektromotors Bei Akkus ist noch Luft nach oben. Die Frage ist nur wie? Stromerzeugung und Stomnetz (01:25:09) Stromerzeugung in der Stadt könnte mit Solarzellen gelöst werden der Tesla kann geladen werden, wann man will Tesla könnte geladen werden, wenn viel Strom zur Verfügung steht Elektromobilität braucht Änderungen in unserem Stromnetz Smart Grid: https://de.wikipedia.org/wiki/Intelligentes_Stromnetz Powerwall: https://de.wikipedia.org/wiki/Tesla_Powerwall Texas mit Solarpanels: https://www.mrctv.org/blog/elon-musks-solar-vision-explained Nachhaltigkeit (1:34:00) Urkilo aus Silizium: https://de.wikipedia.org/wiki/Kilogramm#Avogadroprojekt Nanotechnologie: https://de.wikipedia.org/wiki/Nanotechnologie Amortisation von Solaranlagen: https://www.solaranlagen-portal.com/solar/wirtschaftlichkeit/amortisation Brennstoffzellen (1:40:30) Brennstoffzelle: https://de.wikipedia.org/wiki/Brennstoffzelle Impulserhaltung: https://de.wikipedia.org/wiki/Impulserhaltungssatz Wasserstofftankstelle: https://de.wikipedia.org/wiki/Wasserstofftankstelle Toyota Mirai: https://www.toyota.de/automobile/der-toyota-mirai.json Hyundai ix35 Fuel Cell: http://www.hyundai.de/Modelle/ix35-Fuel-Cell.html Zukünftige Entwicklung (1:49:30) Tesla Semi: https://electrek.co/guides/tesla-semi Spielgeartikel zum Kartell: http://www.spiegel.de/spiegel/vw-audi-porsche-bmw-und-daimler-bildeten-ein-kartell-das-auto-syndikat-a-1159389.html Nissan Leaf: https://www.nissan.de/fahrzeuge/neuwagen/leaf.html Elektromobilität heute (1:59:00) Network Rail https://de.wikipedia.org/wiki/Network_Rail 2016: Batteriebusse, Linie 133 in Köln, von VDL, niederländisches Fabrikat http://www.kvb-koeln.de/german/aktuelles/e-bus/index.html E-Bus Berlin: http://www.mpm.tu-berlin.de/menue/forschung/projekte/e_bus_berlin/ Günstger Strom in Dubai: 3,5Cent http://www.wiwo.de/technologie/green/tech/preis-rekord-solarpark-bei-dubai-liefert-billigsten-strom-der-welt/14008810.html Prämie für E-Autos: Abgasskandal: https://de.wikipedia.org/wiki/Abgasskandal Anzahl der E-Autos in Deutschland: https://de.statista.com/statistik/daten/studie/265995/umfrage/anzahl-der-elektroautos-in-deutschland/ Streetscooter: https://de.wikipedia.org/wiki/Streetscooter Amazon Locker: http://www.tagesspiegel.de/wirtschaft/amazon-locker-amazon-will-hunderte-neue-abholstationen-installieren/20331538.html Keba: https://de.wikipedia.org/wiki/KEBA Keba UDP (pdf): https://www.keba.com/web/downloads/e-mobility/KeContact_P20_P30_UDP_ProgrGuide_en.pdf PHOENIX CONTACT Ladecontroller bzw. http://www.produktinfo.conrad.com/datenblaetter/550000-574999/554895-an-01-de-LADESTATION_EMOBILITY_EV_CHARGE.pdf - Wallbox: https://esl-shop.de/wallbox-ladestation-elektroauto-walli-light-pro-11kw-3-phasig.html Elektromobilität in der Zukunft (2:25:30) Well to Wheel https://www.ornl.gov/content/well-wheel-analysis-direct-and-indirect-use-natural-gas-passenger-vehicles Umweltbilanz des Akkus: Schwedische Studie die sagte, der Akku hat sich erst nach 7 Jahren amortisiert (kann man aber auch anders sehen) https://www.greentechmedia.com/articles/read/no-tesla-batteries-are-not-a-global-warming-disaster Elektromobil-Markt (2:27:24) Opel Ampera E: https://de.wikipedia.org/wiki/Chevrolet_Bolt Nissan Leaf 2: http://t3n.de/news/nissan-stellt-leaf-2-vor-neues-854460/ Fahrzyklus: https://de.wikipedia.org/wiki/Fahrzyklus Renault Twizy: https://de.wikipedia.org/wiki/Renault_Twizy BMW i3: https://de.wikipedia.org/wiki/BMW_i3 e-Golf: https://de.wikipedia.org/wiki/VW_Golf_VII#e-Golf e-up!: https://de.wikipedia.org/wiki/VW_up!#VW_e-up.21 B-Klasse Tesla: https://de.wikipedia.org/wiki/Tesla,_Inc. Tesla fahren entweder beim Händler, z.B. in Düsseldorf https://www.tesla.com/de_DE/findus/location/service/dusseldorf oder bei der bevuta IT ( mail@bevuta.com )…
G
Geekstammtisch

1 GST040 - Es gibt kein GOTO in Rust! 2:03:06
2:03:06
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked2:03:06
Wir sprachen mit Jan-Erik Rediger über Redis, Rust und Open Source Projekte Jan-Erik Rediger (00:00:00) https://twitter.com/badboy_ , http://fnordig.de/ Irgendwas zwischen Entwickler und Administrator Aktuell sehr aktiv in Redis und Rust (seit ~3 Jahren) Jan-Erik ist über das Interesse an Algorithmen an Redis gekommen (lesbares C) Redis (00:03:00) https://redis.io/ Key-Value Datenbank Open Source (00:08:00) Einstieg in Open Source Projekte erstes Projekt: Redis Einstieg z.B. über Dokumentation Redis ist inzwischen nicht mehr so einfach für den Einstieg Es gibt Projekte (wie Rust), die Issues zum Einstieg markieren Rust (00:13:30) Jan-Erik ist bei Rust 0.11 eingestiegen Probleme von C/C++ sehr alt :) kommen aus einer Welt, wo es nur eine CPU gab wenig (gute) Spracheigenschaften um Parallelität gut abzubilden Rust erkennt viele der herkömmlichen Probleme schon beim Kompilieren Rust will eine Low-Level Sprache sein, mit weniger Problemen Rust's Ursprung & Andere Ansätze (00:19:25) Graydon Hoare hat ~2006 angefangen an einer eigenen Sprache zu arbeiten Seit 2009 hat sich Mozilla dem Projekt angenommen D https://dlang.org/ Rust's Entwicklung (00:23:00) Rust hatte bis vor ein paar Jahren immer noch eine Runtime Fokus sollte wieder auf die Sprache selber gehen und die Runtime wurde entfernt, die Standard Library aufgeräumt Rust 1.0 wurde am 2015 released (aktuell 1.19) bis Rust 1.0 war die Sprache durch viele Änderungen extrem volatil Einstieg in Rust (00:29:00) Jan-Erik's Einstieg: Steve Klabnik's "Rust for Rubyists": https://github.com/steveklabnik/rust_for_rubyists Rust legt großen Wert auf gute Dokumentation Rust Releases, Plattformen, Buildsystem (00:33:30) Rust wird alle zwei Wochen released Es gibt aktuell keine "Marketing" Releases, sondern einfach nur einen festen Release Zyklus Jeder Pull Request wird getestet Zum Testen von Kompileränderungen werden alle aktuellen Pakete gebaut und getestet (fast) alles was LLVM unterstützt, wird auch von Rust unterstützt installieren kann man den Rustcompiler z.B. via rustup: https://www.rustup.rs/ cargo ist das Buildsystem und der Paketmanager von Rust: https://crates.io/ Womit loslegen in Rust? (00:40:00) "Alles, was man sonst so mit C machen würde" :) Jan-Erik schlägt CLI Tools als Einstiegspunkt vor Aber: Rust ist keine besondere einfache Sprache Testen in Rust (00:44:12) Unit Tests sind direkt in das Tooling eingebaut: cargo test In der Dokumentation können Codebeispiele verwendet werden, die ebenfalls getestet werden können: https://github.com/steveklabnik/rustdoc Deployments (00:48:00) rust kompiliert nicht sonderlich schnell trust: Travis CI Template um Binary Releases zu bauen https://github.com/japaric/trust rust Programme sind statisch gelinkt (ähnlich zu Go) Firefox und Rust (00:54:30) Mozilla baut eine neue Browser-Engine: servo https://servo.org/ Firefox ist größtenteils in C++ geschrieben daher hat Rust eine gute Integration mit C/C++ (ohne Overhead) Stylo ist eine neue CSS Engine für Firefox Spracheigenschaften von Rust (01:02:30) die Intergation in C/C++ kann unsicher sein: unsafe besonders effizenter code kann auch schon mal unsafe benötigen Code aus unsafe kann auch den sicheren (save) Code beeinflussen Type Inference Borrowship und Ownership: Jeder Wert hat einen Besitzer Mutable und Immutable Data Send und Sync Wrap und Unwrap "Result" Datentyp Keine Exceptions Refactoring Ruby with Monads: https://codon.com/refactoring-ruby-with-monads Rust und Nebenläufigkeit (01:33:00) Basis ist Borrowship und Ownership, sowie Send und Sync Rust Entwicklung (01:43:15) von Mozilla gespondert, aber viele Contributor RFC Prozess, um Vorschläge von Sprachänderungen zu diskutieren https://github.com/rust-lang/rfcs Redis und Rust Communities (01:52:20)…
G
Geekstammtisch

1 GST039 - Handgeklöppeltes HTML 1:58:38
1:58:38
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:58:38
Wir sprachen mit Stefan Wintermeyer über Ruby/Rails, Phoenix und Webperformance. Stefan Wintermeyer (00:00:00) https://twitter.com/wintermeyer aus Neuwied/Koblenz Geschäftsführer von Amooma https://www.amooma.de/ Schwerpunkt: Ruby on Rails, Phoenix, WebPerformance, Feuerwehreinsätze Rails seit ca. 8 Jahren Autor von "Ruby on Rails 3.2" - http://ruby-auf-schienen.de/3.2/ Phoenix und/oder Rails (00:04:00) Phoenix ist ein von Railsentwicklern in Elixir programmiertes Framework http://www.phoenixframework.org/ läuft auf BEAM (Virtuelle Maschine von Erlang) "10x schneller als Rails" Exkurs: typische Probleme in Railsprojekten: Railskonventionen werden nicht konsequent genug umgesetzt häufig Zoo an Tools (Memcache, Queue....) in größeren Railsprojekten Deployment Phoenix ist weniger stringent als Rails z.B. bei Namenskonventionen kontinuierliches Deployment ist einfach: self-contained Packages werden erzeugt kein Allheilmittel: mit einem schlagkräftigen Team von Rails-Entwicklern und Hardware kann man auch gute Software entwickeln Verfügbarkeit Rails-Entwickler vs. Phoenix-Entwickler Rails ist nach wie vor nett (ActiveRecord, Scaffolding, schnelles Prototyping mit SQLite) Einstieg in Phoenix kann noch einfacher werden Tipp zum Scaffolding in Rails: nutzen, aber Templates anpassen. Bringt Geschwindigkeit, für Knowhow-Transfer, um Fehler zu vermeiden Wenn die Website lahmt: Webperformance (00:40:40) Stefans Schwerpunkt ist Backend/Webperformance trifft oft auf Cache-Probleme Moderner Browser macht beim Tippen von URL bereits DNS-Lookup und ggf. wird TCP-Verbindung geöffnet TCP startet mit kleinen Datenmengen, die bei erfolgreicher Zustellung exponentiell anwachsen ("slow-start Algorithmus", https://en.wikipedia.org/wiki/TCP_congestion_control#Slow_start ) Durchschnittliche Website hat heute eine Größe von 2 MB ( https://www.wired.com/2016/04/average-webpage-now-size-original-doom/ ) Ping Deutschland <> Sidney = 1 Sekunde, Ping nach USA 200 - 300 ms Seite sollte < 2 Sekunden brauchen, 1 Sekunde ist Goldklasse, 1 Sekunde schnellere Website => 5 Prozent bessere Conversion Tracking-Pixel/Scripts bremsen Seiten aus Performance-Probleme durch Twitter Bootstrap mit jQuery Zu technischen Herausforderungen beim Performancetuning kommen häufig "politische" Probleme (z.B. Gesichtsverlust bei anderen Abteilungen, wenn man Probleme zugibt) Stefans Tipps für mehr Performance (00:59:14) http://www.webpagetest.org/ ausprobieren Buch von Ilya Grigorik lesen, gibt es auch klassisch als Buch https://hpbn.co/ Mit https://kraken.io/ alle Bilder optimieren aktuell wird häufig HTTP/2 eingesetzt, funktioniert aber de facto nicht. Grund: Chrome akzeptiert HTTP/2 von Debian und anderen Distributionen nicht (wegen verwendete Kryptobibliotheken). Lösung: Backport benutzen. mod_pagespeed für Apache analysiert Content und generiert optimierten Content (z.B. Minifizierung, Bilder resizen) - Ansatz hat für Stefan nicht funktioniert: https://developers.google.com/speed/pagespeed/module/ nur das CSS laden, das man auch wirklich braucht Google schickt Header von Ergebnisseiten los, bevor Server Ergebnisse generiert hat, Ergebnisse werden übertragen, sobald sie fertig sind. Vutuv: die Alternative zu Xing und LinkedIn (01:17:30) https://www.vutuv.de/ Mission: "Xing & LinkedIn in Gut" Ziel: soll auch mit geringer Bandbreite/teurem Internetzugang funktionieren - unter 28k Datenvolumen für "above the fold" "above the fold" soll so schnell wie möglich sein ("above the fold" = Titelbild der Zeitung oberhalb des Knicks) Hintergrund für "Schmalspuransatz": z.B. in Simbabwe kostet ein LinkedIn-Profil-Aufruf mehr als 50 Cent benutzt kein JavaScript und kein CSS-Framework HTML-Code wird ebenfalls auf Kompression hin optimiert (!) verwendet Phoenix (siehe oben) Bilder werden für "above the fold" als base64-String eingebettet, um TCP-Slow-Start-Pakete optimal auszunutzen Vutuv ist jetzt Teil von Free Basics von Facebook - Programm, das 1 Milliarde Menschen kostenlosen Zugang zu grundlegenden Diensten für Entwicklungsländer ( https://developers.facebook.com/docs/internet-org ) Code ist open-source ( https://github.com/vutuv/vutuv ) unter MIT-Lizenz Pull Requests sind willkommen…
G
Geekstammtisch

1 GST038 - Microservices aus dem Gewürzregal 2:11:44
2:11:44
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked2:11:44
Wir sprachen mit Uwe Friedrichsen über IT-Geschichte, SW Architektur und mehr Uwe Friedrichsen (00:00:00) Uwe Friedrichsen, CTO bei codecentric.de Seit über 30 Jahren in der IT Szene unterwegs Hat Kinder, Studieren bereits Vor 33 Jahren erste kommerzielle Software verkauft Hat Informatik studiert Hat so ziemlich alles gemacht rund um Softwareentwicklung Von Anforderungserhebung über Architekturdesign und Entwicklung bis Testmanagement Aktuell für thematische Entwicklung und Aufstellung von codecentric.de zuständig Interesse an skalierbare verteile Systeme Trendgeschichte der IT (00:06:00) Erste Züge von CORBA mitbekommen Anschließend JAVA Komponenten (EJB) SOA Welle mit SOAP WS* Standards RESTafarians Funktionsorientierung vs Ressourcenorientierung Objekte als Ressourcen? Ressourcen auf Funktionen aufsetzen? Designgrundlage: UseCase (00:14:00) Viele versuchen Ressourcenmodell auf Entitätsmodell aufzubauen Sinnvollerer Ansatz: UseCase Modell Ressource soll Ende-zu-Ende Dienstleistung anbieten System nach UseCases zuschneiden UseCases sinnvoll kapseln Services autonom gestalten Problem etablierte Ansätze und Konzepte (00:21:20) CORBA, ECB, SOA Fingen alle mit fluffiger, leichter Idee an Niedrige Lernkurve Dann ging Fragerei los (was ist mit Naming? wie ist das mit verteilten Transaktionen?, usw.) Einzelne Lösungen für immer mehr Probleme Ansätze unter eigener Last zusammengebrochen REST ist REST geblieben Qualitativer unterschied zwischen Server und Mainframe (00:29:00) Mainframe Hat das Verfügbarkeitsproblem und das Verteilungsproblem für lange Zeit sehr gut gelöst War von seiner Hardware so gestaltet, dass er extrem hoch verfügbar ist Hat hervorragendes Ressourcenmanagement (Ressourcenallokation) Für frühere Verhältnisse sehr vertikal skalierbar Keine Notwendigkeit für Verteiltheit Man konnte alles auf einer Maschine laufen lassen EJB Container auf Steroiden Auf einem 266er Pentium konnten simultan über 250 User bedient werden (Benchmark) Extreme Verfügbarkeit durch Infrastruktur Probleme Schwierigkeit für international agierende Unternehmen Monolitisches System für lokal verteilte Nutzer Geschäftsmodelle haben sich geändert Neukunden steigen nicht mehr mit Mainframe ein Neugeschäft dümpelt auf sehr niedrigem Niveau Vertikale Skalierung ist irgendwann zu ende Preise für CPU, Storage und Netzzeit sind irgendwann nicht mehr konkurrenzfähig Fehlendes Know-How und Preis töten Mainframes Ära ist einfach vorbei Anekdote von Uwe Kunde mit Online Suchmaschine 2 große Unix-Maschinen Darauf liegt sehr namenhafte Suchmaschine Lizenzkosten waren sehr hoch (jährlich im 7-stelligen Bereich) (SLA) 300 Anfragen/s mit der Antwortzeit von 250ms "Das können wir billiger." 3 normale "Kisten" von Dell (o.ä.) mit 2 Xenon, 12 Kerne (24 virtuell) ca. 5000€ pro Kiste 20 Mio. Datensätze des Kunden Proof of Concept System: MongoDB, Solr, UI Lasttest wurde bei 3000 simultanen Clients wurde abgebrochen, weil das Testnetz nicht mehr Leistung hergegeben hat Es konnte nicht mehr Durchsatz erzeugt werden Normale Kiste lief im "Idle"; es wurde nur eine von drei benötigt Ab wann ist Data Big? (00:41:50) 20 Mio. Datensätze ist Micky Mouse Data IBM Mitarbeiter erzählte das BigData bei 40MB anfängt BigData ist dann, wenn du wirklich viele Daten bekommst! BigData sind Datensätze im Milliardenbereich 20 Mio. Datensätze kann man entspannt in relationaler Datenbank verwalten BigData ist auch, wenn man Daten so schnell bekommt (Velocity-Thema), dass man nicht mehr in der Lage ist, diese zu speichern und dann zu bearbeiten, sondern im vorbeifliegen bearbeiten muss Angemessene Lösungen finden (00:44:40) Ziel ist es immer, eine angemessene Lösung zu finden Kunde will Hadoop Cluster für 20 Mio. Datensätze Mit Hadoop hat man mehr Stress Diese Menge an Daten kann man entspannt in transaktionaler Datenbank verwalten Weniger komplexes Programmiermodell Unterschied ob man im Moment kein echtes BigData hat aber Thema lernen will ODER Ob man in einem Produktionsszenario ist, Wartung, Betrieb, Weiterentwicklung etc. hat und BigData Technologien einsetzen will Ergebnis ist dann oftmals: Betrieb wird aufwendiger, Überwachung wird aufwendiger, Rausfinden was schief geht, wird aufwendiger Tooling ist schlechter Laufzeiten sind höher, Mehr Ressourcen werden benötigt, Weiterentwicklung ist lausiger --> Dann wurde keine gute Designentscheidung/Architekturentscheidung getroffen Spieltrieb (00:48:05) Jeder, der in die IT Branche kommt, weil er gerne programmiert, hat ausgeprägten Spieltrieb Problem ist, dass Unternehmen diesen kreativen Menschen jedoch kein Ventil für diesen Spieltrieb geben Diese Menschen wollen neue Dinge irgendwo ausprobieren Das nächste Projekt wird dann als Spielwiese missbraucht Entscheider und Entscheidungen (00:49:40) Sehr viele IT Entscheider haben keine Ahnung was sie da entscheiden Zwei Möglichkeiten: entweder was von der Materie verstehen oder man braucht einen Vertrauten, der etwas davon versteht Es gibt zu viele Entscheider die ihre Themen nur auf Basis von Computerwoche verstehen Computerwoche ist Bildzeitung der Computerbranche Artikel sind Informationshäppchen, die nicht in die Tiefe gehen Keine Grundlage für Entscheidung, die sich auf Unternehmen auswirkt Entscheider versuchen sich über diese Zeitung zu informieren Letztendlich Entscheidung auf Basis von Buzzword-Bingo durch Zeitung, Marketing, Sales- und Consultants Buzzword Standards (00:53:00) Buzzwords wie Agil, Microservices, ... lassen Interpretationsspielraum Problem der Verwässerung Multimilliardenmarkt IT Branche ist von Entscheidern durchsetzt, die keine Ahnung haben Bzw. keine Ahnung auf der Ebene, als dass sie sagen können: "Du erzählst mir gerade hier jede Menge Bullshit." Anforderung: Auf einer Flughöhe von 3000m sollte ein Entscheider ein Verständnis dafür haben, was da unten passiert Grundverständnis aufbauen, was das tut, warum das tut, usw... Microservices aus dem Gewürzregal (00:56:00) Kunde macht neues System und das soll auch mit Microservices Will eigtl. klassischen Deploymentzyklus haben (1 Mal im Monat) Skalierung reicht wenn man innerhalb von 1-3 Tagen skalieren kann Gegenüberstellung von monolitischem System und Microservices In 10 Minuten erzählt, was das ist und wo die Unterschiede sind, Vor- und Nachteile aufgezeigt Spannungsfeld zwischen den beiden Entwürfen Dann gefragt, was er haben will --> für Monolit entschieden Monolitische Microservices zur Laufzeit (00:59:13) Abhängigkeiten von Services zur Build-Zeit auflösen Services, im Java Umfeld, als Jar File im Repo reinnehmen Einbinden von Bibliotheken in Anwendung, die an sich unabhängig sind Zur Laufzeit von aussen wie ein Monolit, der zur Build-Zeit aus einzelnen Services zusammengesetzt wird Nachteil: man hat immer Full Deployment Wenn System logisch diese Komponenten rausgeformt hat, dann sollte der Schritt, dass man zur Laufzeit das System in unabhängige Komponten bringt, nicht mehr so weit hin sein Services, die man hat, als externe Schnittstelle zur Verfügung stellen Zur Laufzeit zugreifbar machen Problem: man hat verteiltes System Bislang hatte man nur einen großen Brocken Plötzlich hat man statt 2-3 deployment Einheiten, 20-30 Deployment-Einheiten Jetzt schlagen die ganzen Verfügbarkeits-Wahrscheinlichkeiten zu Verteilte Systeme (01:03:18) Uwe ist absoluter Liebhaber verteilter Systeme Es gibt 2 Harte Themen in der IT: Security und verteilte Systeme Oder Naming und Cache-Invalidation? Naming ist Teilaspekt von verteilten Systemen Projekt mit guten Anwendungsentwicklern, die aber keine Cracks in verteilter Systementwicklung sind Wenn ich die auf ein verteiltes System los lasse Und gleichzeitig Sicherstellen, dass man das System zur Laufzeit überwachen kann Dem System Selbstheilungsfähigkeiten beibringen Da kein Admin ein System dieser Größe unter Kontrolle halten kann Bevor ich mir diesen Schmerz nehme, brauch ich auch einen Treiber für diesen Schmerz Einfluss von SOA und Microservices auf Organisationen (01:07:55) Märkte haben sich verändert Wir waren lange Zeit im industriellen Zeitalter, geprägt von Taylorismus Sehr flexibel, sehr spezifisch, handgefertigt Sehr individuell auf Kundenbedürfnisse eingegangen Problem: Man konnte nicht skalieren Heute hat man große, weite, nahezu unlimitierte Märkte Wie will man diesen Markt bedienen? --> Standardisieren Vereinfachung und Zerlegung der einzelnen Schritte der Prozesskette Dadurch relativ langsam sich veränderten Markt skaliert (seit 70er/80er) Marktsättigung, stärkere Globalisierung Märkte immer enger, die Kunden wurden wählerischer, mehr Wettbewerber Plötzlich musste man wankelmütigen Kunden schneller angehen Dynamisch robustes Unternehmen für dynamischen, sehr aktiven Markt Nicht mehr skalierung das Hauptthema, sondern die Reaktionsgeschwindigkeit "Time To Market" Markt hat sich massiv gewandelt Wirtschafts-Darwinismus IT ist das Nervensystem eines jeden Unternehmens IT hatte Skalierungsproblem Problem war: es konnte nicht so schnell geliefert werden, wie es gefordert wurde Ideen des Software Engineering (Ende 60er) Prinzipien aus Taylorismus 80er Siegeszug der PCs Vernetzung Immer komplexere Sachen durch IT gelöst Bis auf Geschäftsprozessebene Irgendwann kam Internet dazu Internet Handel Noch mehr Vernetzung Gesamte IT Landschaft war soweit, dass es das komplette Nervensystem eines Unternehmens geworden ist Jetzt haben wir das Problem: Wenn IT 2 Stunden ausfällt, haben wir ein massives Problem. Entscheider haben das wiederwillig akzeptiert --> Sicherungsmaßnahmen wurden eingerichtet Mit dem Ziel: Stabilen und zuverlässigen Betrieb Problem Heute: Wenn IT Nervensystem des Unternehmens ist, dann sind sämtliche Geschäftsprozesse wie DNA in IT reincodiert Man kann kein neues Produkt launchen, kein Feature, kein neuen Prozess auf der Businessebene ändern, ohne die IT anzufassen IT ist integraler Bestandteil eines Unternehmens IT als Nervensystem Mittlerweile keine komplizierten Projekte mehr, sondern komplexe Projekte Weil man nicht mehr einzelne Geschäftsfunktionen unterstützt, sondern kompletter Dynamik des Marktes ausgeliefert ist Nicht mehr Anforderung, dass man skalieren muss, sondern dass die Reaktionsgeschwindigkeit das neue A und O wird "Mehrwert ist erst in Produktion" Anforderung von Geschäftsseite: *Man möchte in der Lage sein, etwas in Tages- oder Wochenzeitraum rausbringen Teilfeature raus hauen, um die Kundenreaktion einzuholen PDCA vs OODA (01:20:25) Plan Do Check Act vs. Observe Orient Decide Act Bei beiden macht man einen Schritt, guckt wie die Leute reagieren und macht den nächsten Schritt Example A Unternehmen stellt Hypothese auf: "Kunden werden auf dieses Produkt fliegen." Baut Produkt und ist nach 9-15 Monaten live Example B Lean Start Up Hypothese Man macht Minimal Viable Product Bringt das raus, misst Passt Produkt an Frage: Wer wird nach einem Jahr näher an den Kundenbedürfnissen dran sein? Organisationsstrukturen im Wandel (01:23:15) Aufstellung nicht mehr nach Skalierung und Fehlervermeidung, sondern nach Reaktiongeschwindigkeit Reaktionsgeschwindigkeit benötigt autonome Teams, dezentrale Steuerung, usw... Ende zu Ende Verantwortung für meine Themen Man landet bei DevOps, Wertschöpfungskette wird nicht mehr nach Spezialistenteams aufgebaut, mit dem Ziel der maximalen Fehlervermeidung Sondern jetzt mit dem Ziel der Reaktionsgeschwindigkeit Daher crossfunktionale Teams, die Ende zu Ende alles machen können Die ganzen Leute sind beieinander und interagieren direkt miteinander Notwendige Komplexität auf der Lösungsseite aufgebaut, die auf der Anforderungsseite entsteht "Die Architektur meines Systems wird normalerweise immer der Kommunikationsstrukturen in meinem Unternehmen entsprechen." - Conway's Law Organisation kann nur effektiv und effizient werden, wenn Architektur, die ich auf der technischen Seite anbiete, zur Unternehmensstruktur passt Problem: Man kann keine autonomen Teams, die reaktionsschnell sein sollen, auf einem großen Monoliten zusammen arbeiten lassen Microservices liefern das Architekturparadigma, um diese Autonomie auf der IT-Organisationsebene zu liefern Wird über DevOps Teams abgebildet Von Visionen und Agilität (01:27:30) Man Benötigt eine gemeinsame Vision Aufgabe eines Architekten ist es die Vision darzustellen, das Zielbild Agile Teams: Selbstorganisation als indirekte Steuerung "Ich will, dass ihr da ankommt, unter diesen Rahmenbedingungen." Man muss Lücken zwischen Teams füllen Team muss mit Services von anderen Teams reden Damit Kommunikation zwischen Teams und Services funktioniert, muss es Satz an Constraints geben Spielregeln zur effizienten Zusammenarbeit definieren Auf Prozessebene hat man Agilität der Lean- und DevOps Prinzipien Auf Organisationsebene fängt man mit autonome Teams an, End-to-End Verantwortung Auf menschlicher Seite hat man Craftmanship bzw. die Gedankenwelt hinter Craftmanship: Professionalisierung der Arbeitsweise und Kollaboration miteinander Auf technischer Ebene wird Diversität zugelassen: Microservices Cloudinfrastruktur Self-Service-Prinzip Der Homo-Ja-Aber (01:35:40) Unternemerischer und Organisatorischer Wandel ist die Hölle, besonders in Deutschland Hindernisse in der deutschen IT Szene: Der Deutsche ist die Weiterentwicklung des Homosapians in den Homo-Ja-Aber Der Deutsche neigt dazu, Gründe gegen eine Veränderung zu finden SWAT Analyse (aus Marketing), Deutsche guckt nur auf Weaknesses und Threats Beharrungsvermögen der Deutschen (Ja, aber...) Unternehmen haben Kultur, die seit 20 Jahren oder länger entwickelt wurde Deutsche Unternehmen sind träger Viele Unternehmen stellen fest, dass sie ein Problem haben, dass es so nicht weiter gehen kann Erkennen, dass sie sich ändern müssen, haben jedoch keine Idee wohin und wie Viele Unternehmen bauen Piloten nebenan, StartUps im Unternehmen Wird so weit wie möglich entkoppelt Ist notwendig, da man bis hin zu Governance Modellen (Führung, Steuerung) die IT neu gedacht werden muss Man will hohe Reaktionsgeschwindigkeit erschaffen in den Teams Entkopplung von dynamischen, agilen Teams aus trägem System Um zu lernen, wie anderer Ansatz funktioniert, muss sich so weit wie möglich entkoppelt werden Zu verstehen wie neue Struktur funktioniert ist Lernzyklus Man muss Zyklus auf Metaebene durchlaufen Bis man kapiert hat wie neue Organisation auf allen Ebenen wie Technologie, Prozessorganisation und Governance Modell funktioniert Unternehmen bei denen der Wandel funktioniert hat? (01:45:40) Bei Otto wurde Shop neu aufgestellt, mit neuen Prinzipien, sowohl technisch als auch organisatorisch Bei der Post ist man mit einigen internen StartUps unterwegs Telekom hat auch Ansätze in dieser Richtung Einige weitere versuchen es Bei Organisationen, die einen hohen Wettbewerbsdruck haben, sieht man Änderungen massiv Ausnahmen (01:51:00) Wann kann ich mich dem Wettbewerbsdruck entziehen? Wenn ich einen nicht-effizienten Markt habe Markt wird künstlich träge gehalten (Lobbyismus) Auf technischer Ebene Wenn technische Ebene komplett intern ist und keinem Marktdruck ausgesetzt ist Produkt-Lebenszyklus: Neues Produkt, dass ich durch die IT unterstütze, bzw. IT ist selber das Produkt Boston Consulting Group Hype Cycle Versuche rauszufinden, was die Kunden haben wollen Kosten überschaubar halten Ding hebt ab Mich interessiert keine Kosteneffizient Versuchen jeden potentiellen Kunden auf mein Produkt drauf kriegen Solange dran drehen (IT Systeme nacharbeiten) bis ich maximalen Marktanteil rausgeholt habe Dann wechsel ich den Zyklus in Cash Cow rüber Markt ist klar, Anteile sind vergeben Reaktionsgeschwindigkeit runter fahren, Kosteneffizienz hoch fahren Kann in anderes Paradigma wechseln, rein auf Kosteneffizient trimmen Quality of Service wird aufrecht erhalten, um keine Kunde zu verlieren Von Null auf Legacy in unter 3 Monaten (01:56:00) Agile Projekte die nur Code gekloppt haben Velocity ist runter gegangen Der normale ITler ist ein Messi, löscht keinen Code Man hat auf der Fachseite Leute die gar nicht wissen warum Sachen gemacht werden, sondern nur wie sie gemacht werden Haben den Sinn nicht verstanden Auf der IT Seite hat man sehr viele Entwickler, die sich wehren Fachlogik zu verstehen können daher kein gutes Design machen und wissen nicht, ob Code noch irgendwo gebraucht wird Beim neu Bauen wird alles besser (02:00:30) Wenn ein System komplett neu gebaut wird, begeht man zwar die alten Fehler nicht mehr, dafür aber sehr viele neue Man hat keine Chance wenn man keine guten Leute im Design hat Wenn man ein gutes, wartbares System haben möchte, ist Design das wichtigste Unternehme erkennen nur schwer: Wenn ich so etwas hoch ziehe, muss ich gute Leute reinsetzen, die Dinge gut beurteilen und abwägen und entscheiden können Das sind dann die Leute, auf die man dann in einem kosteneffizienten Unternehmen niemals in dem Fachbereichen verzichten kann, weil sie unersetzlich sind Hybridlösung: 30% der Zeit, Tauchen 2 Stunden die Woche mal auf Entwickler sind wo anders untergebracht als der Fachbereich: verteilte Entwicklung Das macht es schwierig Idealzustand: Crossfunktionales Team Alle Kompetenzen vorhanden Alle vor Ort Idealerweise in einem Büro Wenn das richtig gemacht ist, kann das gut funktionieren. Schlusswort (02:08:20) Markt hat sich geändert IT muss sich darauf anpassen und sich neu erfinden Amazon, Google, Netflix usw. haben vorgemacht wie es funktionieren kann haben Lernkurven hinter sich. Da kann man wunderbar drauf gucken man muss aufhören Ja-Aber zu sagen und gucken, was man da raus ziehen kann…
G
Geekstammtisch

1 GST037 - Vom Hebdrehwähler zu Voice over IP 2:19:20
2:19:20
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked2:19:20
Wir sprachen mit Pablo Beyen über Telefonie, VoIP & Co Pablo Beyen (00:00:00) Pablo hat Bier mitgebracht: http://www.crewrepublic.de/crew-biere/roundhouse-kick.html erster Computer mit 7 Internet: seit 1995 eigene Firma (bevuta IT): seit 1999 Rails, lisp, Telefon :) Seit 2004 kam VoIP dazu "Apps" werden allerdings auch entwickelt jetzt 20 Mitarbeiter Pablo's erster Mitarbeiter war auch schon mal beim Geekstammtisch: GST025 - Vom Tellerwäscher zum Lisp-Entwickler http://geekstammtisch.de/#GST025 Pablo macht Tech-Sprechstunde im Startplatz: http://www.startplatz.de/sprechstunde/tech-sprechstunde-mit-technology-angel-pablo/ Geschichte des Telefons (00:10:57) 1837 - Samuel F. B. Morse - Morsetelegraphen - Digital 186x - Philipp Reis - "Telephon" in Anlehnung an "Telegraph" 187x - Alexander Graham Bell - Kommerzialisierung des Reis "Telefons" 1885 - Bell gründet American Telephone and Telegraph Company (AT&T) - kennt vielleicht der eine oder andere :) 188x - Ortsnetze und Fernverbindungen zwischen vielen deutschen Städten, Handvermittlung "Fräulein vom Amt" 1891, ab 1908 in Deutschland - erster Hebdrehwähler, Automatisierung: https://de.wikipedia.org/wiki/Hebdrehw%C3%A4hler 1966 - Letzte reguläre nationale Handvermittlung geschlossen 1969 - Entwicklung von Unix an den Bell Labs (AT&T); iOS, Android, … geht am Ende auf Bells Firma zurück 1969 - Beginn des ARPANET: https://en.wikipedia.org/wiki/ARPANET 1975 - Einführung von SS7/Digitale Vermittlung/Übertragung: https://en.wikipedia.org/wiki/Signalling System No._7 198x - Modem-/Mailbox-Ära 1989 - Start von ISDN - Umstellung auf ISDN 199x - ISDN-Ära + allgemeine Internetverfügbarkeit Umstellung DSL und ISDN (00:33:20) 200x - DSL-Ära ISDN & Co Kram kann man sich gut auf den CCC Events beim POC (Phone Operation Center) anschauen 201x - Umstellung des Netzes auf VoIP Umstellung auf VoIP Mitte 2000er: Uni Stuttgart mit 10k Nebenstellen Status Telekom - Derzeit 3,5 Millionen VoIP-Kunden und 60.000 Umstellungen pro Monat, soll bis 2019 abgeschlossen sein Fax auf VoIP ist ein Problem Voice over IP (00:52:30) allgemeiner Begriff für die Echtzeitübertragung von Sprache über das Internet SIP: https://en.wikipedia.org/wiki/Session Initiation Protocol Nur "Vermittlung", keine Sprachdaten SIP ist der absolute Standard und wird auch zwischen den Anbietern eingesetzt MGCP - vor allem für Kabelmodems: https://en.wikipedia.org/wiki/Media Gateway Control_Protocol Pablo ruft den Basti an (oder andersrum) (00:58:40) Client starten und einloggen ("registrieren") Anbieter kennt dann die IP Client hat für eingehende Verbindungen ggf. was mit dem Netzwerk/der Firewall gemacht Pablo wählt Basti's Nummer Telekom, über "einen Partner" in Bevutas Rechenzentrum in Frankfurt über SIP wird signalisiert, wer angerufen werden soll und welche Codecs verwendet werden Audio wird über RTP transportiert SS7, E1, Zeitschlitze und so (01:03:00) Wir schweifen etwas ab… In Frankfurt hat Bevuta E1 Anschlüsse: https://en.wikipedia.org/wiki/E-carrier#E1 frame structure 32 Zeitschlitze: 1x Synchronisation, 1x Signalisierung (S2m), 30 bzw. 31 Nutzkanäle E1 Verbindung durch Frankfurt: 400 EUR/Monat Zurück zum Telefonat (01:10:40) Pablo ruft Basti an T-Mobile -> Mobilfunknetz -> Telekom -> "Partner" -> Bevuta Bevuta bekommt via SS7 den Call an einen Linux-Server durchgestellt Server schaut nach, ob es zu der Nummer des Angerufenen einen Account gibt und ob dieser online ist Dann werden zwischen Bevuta-Server und Client z.B. Codecs ausgehandelt Es klingelt :) Audio wird in real-time zum Zielcodec umcodiert Sicherheit (01:17:00) In der Telko Welt ist alles recht isoliert keine Ende-zu-Ende Verbindungen, also wird recodiert, und recodiert... von Ende-zu-Ende Kryptographie ganz zu schweigen :-/ Mobilfunk ist verschlüsselt! Erm, nicht wirklich… VoIP und SIP und Firewalls (01:24:00) QoS und Router und Firewalls sind ein Problem für SIP The Miracleshaper: http://mshaper.florz.de/ Telefonie ist sehr Latenz- und Jitterempfindlich für Zuhause kann man ganz gut mit der FritzBox fahren VoIP Telefonanlagen (01:31:50) Asterisk: http://www.asterisk.org/ Back-to-Back User-Agent: https://en.wikipedia.org/wiki/Back-to-back user agent FreeSWITCH: https://freeswitch.org/ SIP Proxy YXA: http://www.stacken.kth.se/project/yxa/ Telekommunikationsanbieter (01:36:35) Rufnummernzuteilung: nicht ganz einfach 5200 Ortsnetze in Deutschland Rufnummern kann man nur in 1000er Blöcke kaufen Lawful Intercept: Bei kleinen Anbietern muss das nicht voll automatisiert sein Bestandsdatenabfrage: "Welche Nummern hat der Dirk?" Ortsgrenzen entsprechen nicht den Ortsnetzen Vorwahl für VoIP: 032 - https://de.wikipedia.org/wiki/Vorwahl 032 (Deutschland) Flatrates sind so eine Sache: Unter Anbietern gibt es keine Flatrates! Accounting & Billing Es gibt viel spezialisierte Hardware auf 48V Basis, inkl. Server Bevuta's Telefonanlage (01:59:00) Bevuta baut Telefonanlagen, basierend auf Linux-Servern Auch mit eigener Hardware Basiert auf Asterisk eigener Call-Router, basiert auf Ruby die Anlage ist Scriptbare mit Scheme: https://en.wikipedia.org/wiki/Scheme (programming language) Herausforderung: Maintenance der Anlagen Schlussworte (02:12:50)…
G
Geekstammtisch

1 GST036 - Die NerdGeekBits vom 31c3 1:18:22
1:18:22
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:18:22
Bits of Berlin, Geekstammtisch und Nerdkunde waren wieder gemeinsam auf dem 31C3. Alle Jahre wieder kommen Hacker, Künstler und Aktivisten aus Deutschland und aller Welt auf dem Congress™ zusammen. Die neuste Inkarnation trägt den Namen 'A new Dawn'. Wo im letzten Jahr Sprachlosigkeit herrschte wagt man auf dem 31c3 im CCH, Hamburg einen Neuanfang. Es waren mehr Menschen denn je auf dem Congress und von Trübsal war keine Rede. Projekte wie Tor bekommen mehr Aufmerksamkeit denn je und auch die Sicherheitsforscher gehen weiterhin ihrer Arbeit nach. Die Community hat die Zukunft noch nicht aufgegeben. In diesem Käfig voller Narren fand sich die Belegschaft der Podcasts Bits of Berlin, Geekstammtisch und Nerdkunde in Sendezentrum zum erneuten Rudelpodcasten ein. An Tag 2 berichten wir von unseren bisherigen Eindrücken und wie es ist ein Assembly zu fahren. tl;dr ist auf jeden Fall mal wieder, dass es zu viel Content gibt, als das man es alles konsumieren könnte :-) Disclaimer: Intro Musik - Nina Simone, Feeling Good im Bassnectar Remix (https://www.youtube.com/watch?v=A9VcCo9M608&spfreload=10)…
G
Geekstammtisch

1 GST035 - Im DOM hört dich keiner schreien 1:21:38
1:21:38
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:21:38
Wir sprachen mit Mario Heiderich über (Web-)Security Unser Gast (00:00:00) Mario Heiderich, @0x6D6172696F Hat einen Security Talk "Im DOM hört Dich keiner schreien" auf der enterJS gegeben: http://www.enterjs.de/ Mario's Security Firma: https://cure53.de/ Nutzen wenig Scanner, mehr Handarbeit Security Scanner finden keine "logischen Bugs" RIPS: Statische Analyse von PHP Code: http://rips-scanner.sourceforge.net/ Terminologie & Methodologie (00:05:51) Sources: Quellen von Input (User Input z.B.) Sink: Stellen im Code, wo Input ankommt bzw. was mit ihm passiert Input: Input :) Getestet wird manchmal in VMs, manchmal auf Test oder Staging Umgebungen oder auch in Produktion das hängt vom Kunden und Projekt ab WAF: Web Application Firewall: https://en.wikipedia.org/wiki/Application_firewall Erfolgsquote: 100% - "noch keine leeren Reports" Eine Frage der Einstellung: Die einen Entwickler wollen Features bauen, andere Software kaputt machen Scope "Ihr dürft nicht nach DoS suchen!" Abgrenzung, was in der Betrachtung liegt und was nicht Vektor: Der Angriff an sich, z.B. ein String bei einer SQL Injection; oder Vektor kann ein ganzer Prozess oder Ablauf sein Exploit: Nutzung eines Vektors mit einem Ziel: Beispiel String (Source) für SQL Injection (Vektor) nutzen, um Admin zu werden Pwn2Own: https://en.wikipedia.org/wiki/Pwn2Own Stuxnet: https://en.wikipedia.org/wiki/Stuxnet Betätigungsfelder (00:22:20) Marios Firma hat für alle möglichen Bereiche Spezialisten: Binary Pentesting Datenbanken Web/Browser/JavaScript/Flash Bruteforcing Cold Fusion Kryptographie, Kryptoanalyse Java Neue und alte Probleme (00:24:30) Es verlagert sich viel in den Browser daher mehr und mehr Lücken in Richtung XSS, CSRF, … NoSQL wird auch getestet MongoDB führt JS in der Datenbank aus und zwar als eval ! Auf der Suche nach XSS und anderen Schwachstellen (00:27:00) "Nennt sich doch mal constructor.constructor" oder "prototype" " proto " Handhaben von Benutzerinput (00:28:30) Validieren: Format explizit und strikt prüfen Filtern: z.B. Single Quotes oder Kommata entfernen Aber so einfach ist das nicht Strings (Quotes) verboten? was ist mit /i'm a string/.source 1..constructor.constructor Sanitizing: "Escape den Input und Encode den Output" Es ist wichtig zu unterscheiden zwischen der Information die durch das Sanitizing soll, UND Kontext, wo die Information später verwendet werden soll Back to Frontend Security (00:34:30) Template Expressions Exploit, z.B. bei AngularJS: https://code.google.com/p/mustache-security/wiki/AngularJS Der Browser ist die neue Sink Security im Browser ist anders und komplexer als auf dem Server Sehr viel mehr Wissen über konkrete Prozesse bei der Darstellung von HTML/CSS und der Ausführung von Javascript notwendig Browser ist im Grunde "moving target" Die Vielzahl der Browser bietet sehr viel Angriffsfläche Vor allem im Kontext großer Unternehmen sind oft auch sehr alte Browser noch im Einsatz (IE6) Eine Umstellung auf neuere Browser ist u.U. nicht immer möglich => Paradies für Pentesting Im DOM hört dich keiner schreien (00:46:50) Talk auf der enter.js (http://www.enterjs.de/abstracts#im-dom-hoert-dich-keiner-schreien-eine-reise-in-die-gruselige-schicht-zwischen-html-und-javascript) Historie des DOMs Verschiedene Probleme aufgezeigt, Bsp.: DOM-Clobbering Mit statischem HTML bestehende Variablen, Funktionen o.ä. überschreiben Ist im Grunde im Standard sogar definiertes Verhalten oO Am Ende kann man sehr viel Spaß nur mit statischem HTML haben :-) Was ist das DOM überhaupt Ein API zwischen einem Dokument und einer beliebigen Scripting-Sprache Ziel des DOM: Bereitstellung von Feature-Parität, dabei müssen einige Features explizit ausgeschlossen werden Bsp: CSS-History-Stealing (http://jeremiahgrossman.blogspot.de/2006/08/i-know-where-youve-been.html) SVG bringt möglicherweise ganz neue Probleme mit Timing Attacke von Paul Stone mit Hilfe von SVG Filtern: http://www.contextis.com/documents/2/Browser Timing Attacks.pdf Manchmal gibt es auch keinen echten Fix für Lücken, und selbst wenn, es gibt ja jetzt auch CSS Shader ;-) Wie geht man vor um Lücken zu finden Viel Kreativität notwendig Man hört von einem Feature und denkt sich, da muss doch was gehen und dann wird halt so lange gebohrt bis man was findet ;-) DOMPurify (https://github.com/cure53/DOMPurify) ist ein Client-seitiger Sanitzer, um verschiedenen Angriffen zu begegnen Reaktion auf der Konferenz war vor allem gefasst :-) Krypto im Browser und moderne APIs (01:07:45) Grundsätzlich: Bedarf steigt an, Verbreitung nimmt zu Man hört immer wieder von Problemen Was kann man machen? Antwort: "Ich habe keine Ahnung" Aussage Mario: Wir sind noch nicht soweit, es zuverlässig einzusetzen. Aber: Es ist auch nicht zum Scheitern verurteilt, aber es braucht noch einiges an Research Seiten wie https://keybase.io machen das bereits Kann man machen, wenn die Seite 100% sicher und vor allem beweisbar sicher ist Ergo: Aufwand ist enorm hoch Es gibt auch Bestrebungen vom W3C das Thema voranzutreiben: http://www.w3.org/TR/WebCryptoAPI/ Zusätzlich entstehen ganz neue APIs für den Zugriff auf mobile Devices Bsp: Android-Devices haben über nicht hörbare Töne miteinander kommuniziert Exploits mit Sprachsynthese und Spracherkennung (Bsp: Cookies zwischen Tabs übertragen) WebGL klingt kritisch, aber in dem Bereich gibt es in den letzten Jahren viel Forschung WebSockets und WebRTC bietet hingegen auch viele Möglichkeiten…
G
Geekstammtisch

1 GST034 - IPv6 to the Home! 1:59:18
1:59:18
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:59:18
Über die Herausforderungen der IPv6 Einführung aus Sicht eines ISP Unser Gast (00:00:00) Christian Rohmann Arbeitet bei NetCologne: http://netcologne.de "NetCologne macht Internet"... und Telefon... und ein paar Dienste drumherum Christian arbeitet im Bereich Network Engineering und Design, genauer um die Infrastruktur und Dienste DSL Zuhause (00:02:40) Die DSL-Box/Router/"FritzBox" meldet sich im Netz mit ihrer Identifikation und bekommt automatisch ihre Konfiguration Alternativ muss man alle Zugangsdaten, Netzwerkeinstellungen etc. selber machen Hybrid Fibre Cable/Coaxial (HFC): https://en.wikipedia.org/wiki/Hybrid_fibre-coaxial Authentifizierung via DOCSIS: https://en.wikipedia.org/wiki/DOCSIS Konfiguration quasi via DHCP Digital Subscriber Line (DSL): https://en.wikipedia.org/wiki/DSL z.B. via Kupfer oder Glasfaser Digital subscriber line access multiplexer (DSLAM): https://en.wikipedia.org/wiki/Dslam Point-to-point protocol over Ethernet (PPPoE): https://en.wikipedia.org/wiki/Pppoe Broadband remote access server: (BRAS): https://en.wikipedia.org/wiki/Broadband Remote Access_Server Authentifizierung gegenüber BRAS über PPPoE IPv4 (00:08:50) IPv6: https://en.wikipedia.org/wiki/Ipv6 In Köln gibt es jetzt von NetCologne IPv6 für alle! IPv4: https://en.wikipedia.org/wiki/Ipv4 IPv4 Adressen werden knapp, 32 Bit Adressen, also ~4 Mrd. Adressen Classless Inter-Domain Routing (CIDR): https://en.wikipedia.org/wiki/Classless Inter-Domain Routing Network Address Translation (NAT): https://en.wikipedia.org/wiki/Network address translation Private Network Adresses: https://en.wikipedia.org/wiki/Private IP address z.B. 192.168.0.0 - 192.168.255.255 (192.168.0.0/16) oder 10.0.0.0 - 10.255.255.255 (10.0.0.0/8) NAT ist kein Security Feature(!), das ist nur ein notwendiges Übel. Direkte Verbindungen, z.B. für File Sharing, sind per se nicht ohne weiteres Möglich Port Forwarding: https://en.wikipedia.org/wiki/Port_forwarding IPv6 (00:16:30) IPv5: https://en.wikipedia.org/wiki/Ipv5 IPv6: Angefangen ~1996 VIEL Mehr Adressen: 128 Bit Adressen, 2^128 Adressen Die Netze in IPv6 ist strenger strukturiert als IPv4 Den Netzteil, die ersten 64 bit einer IPv6 Adresse nennt man Prefix, den Rest nennt man Interface Stateless Autoconfiguration: https://en.wikipedia.org/wiki/Ipv6#Stateless_Autoconfiguration jedes Gerät kann sich seine eigene Adresse aussuchen und sich selber konfigurieren DHCPv6: https://en.wikipedia.org/wiki/DHCPv6 Link Local Adress: https://en.wikipedia.org/wiki/Ipv6#Link local address Nur gültig für alles, was nicht geroutet wird Global Unicast Adress: https://en.wikipedia.org/wiki/Ipv6#Create a global_address Prefix vom Netz + Interface Adresse generieren Der Router broadcastet im Netz regelmäßig, dass er ein Netz hat und welchen Prefix zu verwenden ist Prefix Delegation: https://en.wikipedia.org/wiki/Prefix_delegation Der Router fragt beim ISP nach einem Prefix Bei NetCologne bekommt jeder Kunde ein /48 Prefix, kann also 65.536 Netze aufbauen Router Advertisement NetCologne hat 2005 angefangen mit einem /32 Netz Wenn jeder ein /32 Netz bekommt, kann man so viele ISPs anbieten, wie es bisher insgesamt theoretische Adressen im IPv4 Internet gibt! Mittlerweile hat NetCologne ein /29 Netz Regional Internet Registry: https://en.wikipedia.org/wiki/Regional Internet registry Erlaubt die Zuordnung von Adressen zu Regionen NetCologne ist dann eine Local Internet Registry https://en.wikipedia.org/wiki/Local Internet registry Verwaltet autonom das zugeteilte Netz Nächster Schritt nach dem Netz ist die Kommunikation mit anderen Netzen Peering (https://en.wikipedia.org/wiki/Peering) mit direkten Partnern und Upstream mit indirekten Partnern Wichtig als ISP: Mit IPv6 darf es nicht schlechter für den Kunden werden Daher: Sehr viele stabile und redundante Verbindungen in das restliche Internet War in den ersten Jahren einfach nicht gegeben Es gab zwischendurch 2 oder 3 Internetze (IPv6) IPv6 und IPv4 parallel (00:42:23) Dual Stack (https://en.wikipedia.org/wiki/Dual-stack#Dual IP stack_implementation) Technisch sind das IPv4 und IPv6 Netz vollständig getrennt Andere Möglichkeiten mit nur IPv6 in das IPv4 Netz zu kommen Verwendung eines Proxies (passiert auf Application Layer) Geht auf mit SSL da die Zertifikate auf den Common Name ausgestellt sind Geht aber nur für HTTP-Dienste Mail ist auf Grund der begrenzten Gegenstellen einfacher Probleme bei Diensten wie VoIP Themen vor allem in Asien sehr relevant, da dort keine IPv4 Adressen mehr verfügbar sind Um einen transparenten Parallelbetrieb zu leisten muss man auf IP oder TCP Layer runter Carrier-grade NAT: https://en.wikipedia.org/wiki/Carrier grade NAT Dual-Stack Lite: https://en.wikipedia.org/wiki/Dual-Stack Lite#Dual-Stack Lite_.28DS-Lite.29 Dual-Stack Lite muss man machen, wenn man nicht mehr genug IPv4 Adressen für alle hat Carrier-grade NAT will man nicht haben IPv4 wird noch auf unbestimmte Zeit weiterhin existieren Meilensteine für das Internet: IPv6 Tage Erst ein Test: https://en.wikipedia.org/wiki/World IPv6 Day and World IPv6 Launch Day#World IPv6 Day Und der Launch: https://en.wikipedia.org/wiki/World IPv6 Day and World IPv6 Launch Day#World IPv6 Launch "Launch" bedeutet konkret, dass beide Netze parallel existieren und Domainnamen müssen im DNS sowohl auf IPv4 als auch IPv6 aufgelöst werden können Per RFC ist definiert, dass zuerst versucht wird die IPv6 Adresse aufzulösen Basti fragt sich warum AWS und Co. noch nicht IPv6 eingeführt ist Große Netzwerkinfrastruktur löst Dinge oft in Hardware, ein Austausch ist daher nicht so einfach Sehr große Anbieter haben sehr komplexe Setups mit sehr vielen Systemen Ein gewisses Maß an Nostalgie lässt sich auch nicht abstreiten ;-) unzähliger weitere Gründe an die man gar nicht denken mag… Neben der Infrastruktur gibt es ja auch noch die Endgeräte (Für Christian sind Endgeräte die Router bei den Leuten zu Hause, Anm.d.Red.) Sehr viele Endgeräte die nur IPv4 können und nie was anderes können werden Grundsätzliches Problem: IPv6 kann man nicht verkaufen, daher muss man wirtschaftlich den regulären Lebenszyklus der Gerätschaften abwarten, um diese zu erneuern Endgeräte im Sinne von, dass wo der Nutzer vorsieht, sind alle vollständig und stabil IPv6 fähig Wenn Geräte nicht IPv6 können sollten sie am besten ignorant sein und nicht kaputt gehen, wenn ihnen jemand eine IPv6-Adresse andrehen will Tests hierzu wurden u.a. von Akamai und Google durchgeführt Um Fehlverhalten in Browsern zu verhindern, wurde Happy Eyeballs entwickelt: https://en.wikipedia.org/wiki/Happy_Eyeballs Der Browser erkennt sehr schnell ob IPv6 geht und wenn nicht geht man auf IPv4 Um als Dienstanbieter testen zu können wie die IPv6 Konnektivität der Nutzer ist werden einige Teile nur über IPv6 bzw. IPv4 zugänglich gemacht Whitelisting auf Providerebene Wird jetzt nicht mehr gemacht Kein konkreter Austausch zwischen Diensteanbieter und ISP Die Topologie und das Routing bei IPv6 und IPv4 sind nicht zwingend gleich Am Ende ist der Weg zwischen Dienst und Nutzer, dass was am längsten bei der Umstellung braucht Tunnel (01:15:46) Wenn man umbedingt IPv6 haben will aber der Provider es noch nicht anbietet oder die Hardware zu Hause es nicht kann, gibt es die Möglichkeit einen Tunnel zu verwenden NetCologne bietet auch einen solchen Tunnelendpunkt im Rahmen des SixXS-Projektes an (https://www.sixxs.net/main/) Nicht zu verwechseln mit Dual-Stack, dass Equipment weiß nichts von IPv6 Unterschiedliche Möglichkeiten: Netz auf einen Router zuweisen lassen, IPv6 auf ein Gerät Neben den reinen Fakten zu IPv6 muss man als ISP auch Erfahrung im Betrieb haben und dafür eignet sich der SixXS-PoP hervorragend SixXS-Tunnel ist sein 2010 in Betrieb, lange bevor IPv6 für den Endkunden überhaupt in konkreter Planung war Das war möglich, weil der Ausbau des Backbones seit 2005 statt fand Stufen der Umsetzung (01:24:00) 2005 - Zuteilung eines Netzblocks Ab da Umstellung des Backbones 2010 - SixXS PoP Ab 2011 begonnen Serverdienste auf IPv6-Betrieb aufzurüsten Ende 2011 waren alle Dienste über IPv6 erreichbar Mailverkehr zwischen den Servern geschieht mittlerweile zum Großteil über IPv6 IPv6 Konnektivität bei sich selbst testen Google Chrome Plugin:…
G
Geekstammtisch

1 GST033 - (Code)ship all the things! 1:25:23
1:25:23
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:25:23
Remote-Episode mit Flo von Codeship.io über Serverautomatisierung und UX Unser Gast (00:00:00) Florian Motlik CTO und Co-Founder von https://codeship.io Codeship ist ein Continuous Integration/Deployment Service Ist 2011 als Neben-dem-Studium-Projekt gestartet 2012 dann die Entscheidung das ganze Vollzeit zu verfolgen: Studium hinschmeißen und alle ziehen nach Berlin Nach Berlin dann 2013 nach Boston Hauptsitz in Boston und ein Büro Wien Wachsen erstmal "nur" vor Ort in Boston/Wien, Remote erst später; Ziel: gesunder Wachstum Usability ist wichtig (00:05:45) Usability war von Anfang im Fokus Geführter Einstieg in das Produkt und Features Noch vor der Anmeldung eines Nutzers sollen Screencasts und Blogposts Interessenten in die Thematik einführen Bei Anmeldung weiß man dann schon im Grunde worum es geht und kann schneller starten Tour durch Codeship.io (00:10:46) Erster Schritt: Anmeldung über GitHub (https://github.com/) oder Bitbucket (https://bitbucket.org/) Anschließend die Wahl des Repositories Einrichtung der Test-Befehle, dazu gibt Templates für die unterschiedlichsten Sprachen und Umgebungen Solange der Exit-Status eines Befehls 0 ist wird der nächste Schritt ausgeführt Nach dem Testing kommt das Deployment Auch hier lässt sich aus fertigen Anbindungen wählen, oder ein eigenes Skript wird verwendet Das Deployment ist dabei eher als Pipeline zu verstehen: Deploye erst auf Staging Lasse dann gegen Staging einige Tests laufen Deploye dann auf Produktion Prüfe auch hier mit einem Skript Am Ende des Tages kann Ablauf beliebig komplex oder sehr einfach sein, was immer gebraucht wird Genauso wird im übrigen auch Codeship selbst getestet und deployed "Eat your own dog food" ist vor allem für Developer-Produkte extrem wichtig Infrastruktur (00:14:10) Website läuft auf Heroku (https://www.heroku.com/home) Sidekiq (http://sidekiq.org/) als Worker Queue mit externem Redis (https://openredis.com/) Die interessanten Dinge passieren bei AWS (https://aws.amazon.com/): Die Ausführung der Jobs Zu AWS ist man von Hetzner über Rackspace gekommen. Die Erklärung warum haben wir dann später leider vergessen zu erwähnen :/ AWS-Setup Eigenes Auto-Scaling: Mehr Builds -> mehr Server Die größten Compute-Instanzen (c3.8xlarge) als Basis, Unterteilung mit LXC (https://linuxcontainers.org/) Ein Container mit einem vollständigen Ubuntu inkl. aller möglichen Abhängigkeiten Learning 1: Container eignen sich besser als dedizierte kleine Maschinen, weil mehr Speicher und CPU Learning 2: Einfach alles hochfahren treibt den Speicherverbrauch hoch, macht aber das Handling sehr viel leichter Jeder Push auf das Repo erzeugt eine neue virtuelle Maschine auf der man im Grunde tun und lassen kann was man will Es gibt aus Sicherheitsgründen kein sudo Es lässt sich alles nach installieren was ohne sudo geht Es sind die gängigen Sprachen in unzähligen Versionen enthalten + Haskell Das gleiche gilt für Datenbanken Support ist sehr wichtig Ein Dienst für Developer fordert Developer als Support, daher muss jeder Entwickler auch einen Tag Support machen und zwar 7 Tage die Woche Es gibt einen Cache-Layer (wo zum Beispiel auch Rubygems gecached werden) in den sich eigene Erzeugnisse ebenfalls cachen lassen Build-Artefakte (00:20:50) Keine Integration in Codeship: Build-Artefakte müssen per Skript woanders hinkopiert werden Hintergrund: Nach jedem Build wird der Container vollständig zerstört Deployment muss kein "Deployment" auf einen Server sein, sondern kann auch ein Script sein, welches z.B. Artefakte auf S3 kopiert von Codeship vordefinierte Deployments sind vorgefertigte Abläufe, machen aber sonst nichts spezielles im Wesentlichen gibt es keine Unterscheidung zwischen Setup, Test und Deploymentphasen: Es werden lediglich Kommandos ausgeführt Im Environment werden alle möglichen Informationen exportiert Ein spezieller Schutz für "geheime" Informationen (wie Access Keys) können aktuell noch nicht verschlüsselt in die Build-Umgebung gereicht werden Private Installations (00:28:10) Konkrete Pläne gibt es für On-Premise Installationen gibt es aktuell nicht Codeship will sich nicht in Unternehmen rein verkaufen, sondern die Teams sollen Codeship haben wollen Server in der EU und Datenschutz? (00:31:30) Aktuell benutzt Codeship AWS EC2 Instanzen in us-east Instanzen in der EU werden irgendwann wichtig sein (Datenschutzgesetz und auch Ausfallsicherheit) Aber: Die Kunden haben aktuell ihren Code ohnehin auf Github oder Bitbucket, und deren Code liegt dann ohnehin nicht in der EU Produktentwicklung & Fokus behalten (00:33:45) Wie behält man den Fokus bei der Entwicklung? Der Fokus war bei Codeship notwendig, weil Flo der einzige Entwickler war Tech-only Start-Ups "bauen sich gerne in den Markt", was nicht funktioniert Blogposts und Screencast (00:37:30) 20% der Entwicklerzeit geht in Marketing: z.B. Blogposts und Screencasts Der Aufwand für einen Blogpost: 4-8 Stunden, wenn man nicht zu viel Research machen muss ...und bei Screencasts: Aufnahme 2-3 Stunden, Schneiden noch mal 1-1,5 Tage Auch in den 20%: Meetups organisieren, Konferenzbesuche, User Groups... Flo's Pro Tip: Sticker!!! Hosting bei Heroku (00:42:40) Codeship selber läuft auf Heroku mit 8 Add-Ons Postgres: https://addons.heroku.com/heroku-postgresql#premium-ika Logentries: https://addons.heroku.com/logentries New Relic: https://addons.heroku.com/newrelic New Relic Alternative: Skylight: https://www.skylight.io/ Pricing bei Codeship (00:49:15) Codeship Preise: https://codeship.io/pricing Kostenfrei (keine: 50 Builds, ein Concurrent Build 49 USD: ein Concurrent Build, sonst keine Limits je 50 USD mehr, +1 Concurrent Build AWS (00:51:50) EC2 Reserved Instances: https://aws.amazon.com/ec2/purchasing-options/reserved-instances/ AWS Trusted Advisor: https://aws.amazon.com/premiumsupport/trustedadvisor/ Immutable Servers (00:54:40) Server sind immutable Server werden gebaut mit Packer (http://www.packer.io/) Aus einer JSON Konfiguration und Skripten zur Provisionierung wird eine Amazon Machine Image (AMI) erstellt Worklfow bei Codeship.io: Code-Änderungen auf GitHub Automatische Tests Erstellung des AMI (Laufzeit ~ 90 Minuten) Austausch eines AMI Alte Server werden ausgemacht wenn keine Jobs mehr laufen Scaling-System fährt nur noch neue Maschinen hoch Wichtig: Laufende Server werden nicht mehr angefasst! Vorteil: Alle Server sind immer gleich Server sind getestet bevor ein AMI überhaupt gebaut wird Ziel bei der Automatisierung: Fokus der Entwickler auf die Entwicklung, alles nach dem Push muss automatisch geschehen Automatisierung (01:00:56) Weiteres wichtiges Tool ist Librato (https://metrics.librato.com/) zur Erfassung und Auswertung von sämtlichen Daten Neben Betriebsdaten von Heroku und Amazon laufen dort auch Businessdaten rein Alerts auf unterschiedlichen Ebenen Wenn was ist, dann wird man benachrichtigt Über Health-Checks werden sogar die Build-Server automatisch deaktiviert und neue Instanzen hochgefahren Wenn alles automatisiert ist, dann können sich die Entwickler stärker auf ihre Arbeit konzentrieren Keine dedizierte Ops-Abteilung, sondern gute Sys-Admins, die in die Entwicklungsabteilung und deren Prozesse integriert sind (aka: DevOps) Am Ende haben alle Beteiligten (Frontend, Backend, Ops) den gleichen Workflow Wie kommen auf die Jobs auf die Build-Server (01:05:00) Auf jedem Build-Server läuft ein Sidekiq-Job Die Web-App schiebt neue Jobs in die Queue Die Build-Server schieben Ergebnisse zur Anzeige auf der Webseite auch wieder in eine Queue Sidekiq-Pro kommt zum Einsatz Provisionierung der LXC-Container (01:08:12) Provisionierung via Bash Aktuelles Projekt: Migration auf Ansible (http://www.ansible.com/home) Ansible erscheint für die Anforderungen als die sinnvollste Lösung Trotz LXC ist Docker (http://www.docker.com/) aktuell keine Alternative Früher oder später werden sie auf Docker umstellen, da es sich als das Tooling für LXC entwickelt Aktuell würde es aber mehr Arbeit machen als Benefit bringen UX (01:12:59) Die Komplexität liegt bei Codeship.io in der Feinabstimmung aller beteiligten Komponenten Technisch ist es kein Hexenwerk Wie bereits mehrfach angesprochen: UI/UX war und ist eine der großen Herausforderungen Daher: Dedizierte Menschen, die sich um dieses Thema kümmern Interviews mit Kunden User-Tracking spielt auch eine wichtige Rolle Kommunikation mit den Usern über Intercom (https://www.intercom.io/) grundsätzlicher Support Auf Basis von Metriken Identifikation von möglichen Problemen bei Kunden In der UI werden unterschiedliche Fehler unterschieden: Bundle Install, Tests nicht gelaufen, etc Matching der Fehlermeldung auf Reguläre Ausdrücke Nicht nur die Fehlermeldung sondern entsprechender Hinweis auf die Fehlerursache Next-Steps: Unterschiedliche Benachrichtigungen für unterschiedliche Fehlertypen…
G
Geekstammtisch

1 GST032 - NoSQL Matters 2014 Cologne 3:36:26
3:36:26
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked3:36:26
Der Geekstammtisch mit Gesprächen von der NoSQL Matters 2014. Gesprächspartner [EN] Ted Dunning (@ted_dunning) [EN] Ellen Friedman (@Ellen_Friedman) [EN] Johnny Miller (@cyanmiller) [DE] Michael Hunger (@mesirii) [EN] Akmal Chaudhr (@akmalchaudhri) [DE] Gereon Steffens (@gereons) [DE] Max Neunhöffer [EN] Mahesh Paolini-Subramanya (@dieswaytoofast) [EN] Boaz Leskes (@bleskes) [DE] Frank Celler (@fceller) und Stefan Edlich (@edlich) [EN] Russel Brown (@russelldb) [EN] Jennifer Rullmann (@jrullmann) Intro (00:00:00) Basti und Dirk sagen "Hallo" Ted Dunning, MapR (00:03:46) @ted_dunning War dieses Jahr Keynote Speaker Thema war "Remember the Future" Gist: Einige Dinge die heute modern erscheinen werden in Zukunft nicht mehr sein. Dinge von denen man dachte, sie spielen keine Relevanz mehr, werden in Zukunft modern sein. Was braucht NoSQL für die Zukunft? Welche Möglichkeiten werden uns Daten eröffnen? Was sind die kleinen Dinge, die in Zukunft große Relevanz haben werden? Ellen Friedman (00:18:23) @Ellen_Friedman Hat einen eher ungewöhnlichen Hintergrund: Sie ist Biologin mit Schwerpunkt auf Bio-Chemie und Genetik und hat in diesen Bereichen sowohl Forschung als auch Lehre betrieben Sie ist Autorin von zahlreichen Publikationen in diesem Bereich, aber auch Mitglied des Mahout-Projekts und schreibt aktuell viel über Machine-Learning Sie erklärt uns wie es zum Thema der Keynote "Remembering the future" kam Ellen glaubt wir werden genauer wenn es darum geht die Zukunft vorher zusagen Im Sinne von: Was für Probleme gelöst werden, weniger wie sie gelöst werden Die Lösung wird oft sehr überraschend sein Manchmal gab es die Lösung schon in der Vergangenheit und sie wird neu entdeckt "Die Geschichte wiederholt sich nicht" Wir sprechen über die Herausforderungen die auf unsere Gesellschaft zukommen mit der weiteren Erfassung großer Datenmengen Welche Verantwortung hat die Tech-Community in diesem Zusammenhang Abschließend geht es noch um die verständliche Vermittlung von komplexem Wissen Johnny Miller, DataStax (00:34:34) @cyanmiller Johnny ist Solution Architect bei DataStax, der größte Committer von Cassandra Neben einem Vortrag hat er auch einen sehr guten Einsteiger-Workshop gegeben Wir haben mit ihm über Ease-of-use gesprochen, und dass scheinbar viele NoSQL Systeme ihre Funktionalität langsam im Griff haben und sich nun auf die Benutzbarkeit konzentrieren können Sein Herzensthema ist Sicherheit in NoSQL Datenbanken, daher haben wir natürlich auch darüber gesprochen Michael Hunger, Neo Technologies (00:53:52) @mesirii Michael kommt von Neo Technologies, der Firma hinter Neo4j, einer Graphdatenbank Auch seinen Einsteiger-Workshop konnten wir besuchen Sein Talk war ebenfalls ein Einstieg, vor allem in die Welt der Graphen Wir sprachen mit ihm über "The right tool for the job" und welche Problemstellungen für Graphen geeignet sind Auch hier war Ease-of-use ein Thema Im Fall von Neo4j bezieht sich das sowohl auf die Anwendung als solche aber auch auf den Einstieg in die Welt der Graphen Off-the-Record: Leider erst nach Aufnahme haben wir uns noch verraten lassen, dass Neo4j seinen Namen aus dem Film der Matrix hat :-) Akmal Chaudhri, DataStax (01:12:24) @akmalchaudhri Akmal hat einen der wenigen nicht-technischen Talks gehalten Das Thema könnte dennoch nicht wichtiger sein: Skills Wie schafft man es als Unternehmen aber auch als Entwickler mit der rasanten technologischen Entwicklung mithalten zu können? Wir stellen fest, dass ein großer Vorteil ist, dass im Grunde alle großen NoSQL Datenbanken frei verfügbar sind und zu jeder zahlreiche und qualitativ hochwertige Lernressourcen kostenlos zur Verfügung stehen Gereon Steffens, Finanzen100 (01:29:17) @gereons Gereon ist Head of IT bei Finanzen100 in Köln Wir sprachen letztes Jahr mit ihm über die geplante Einführung von Redis Diese Einführung ist mehr als erfolgreich verlaufen Alle Anforderungen konnten erfüllt und neue Funktionalitäten für die Nutzer etabliert werden Wir sprachen auch darüber wie er diese neue Technologie im Team erfolgreich etablieren konnte Max Neunhöffer, triAGENS (01:45:09) Max kommt von der Open-Source Multi-Model Datenbank ArangoDB Wir reden mit ihm über das neueste Feature von ArangoDB: Sharding Vor allem geht es um die Herausforderungen ein solches Feature zu implementieren Der aktuelle Stand funktioniert zwar, aber es gibt noch viel zu tun Mahesh Paolini-Subramanya, Ubiquiti Networks (02:00:43) @dieswaytoofast Mit Mahesh wollten wir schon letztes Jahr sprechen, haben es aber nicht mehr geschafft. Nun hat es geklappt! Er arbeitet zur Zeit bei Ubiquiti Networks "The largest Network infrastructure company you may never heard of" Erste Frage die sich stellt: Was hat ein Hersteller von Netzwerkhardware mit NoSQL am Hut? Antwort: Unmengen von Daten! Uniquiti bietet eine Cloud-basierte Management Plattform für die Hardware an Jedes Gerät schickt alle 30 Sekunden Daten dorthin und kann von dort auch Konfiguration oder andere Informationen abrufen Sie setzen dazu so ziemlich jede NoSQL Datenbank ein die es gibt (außer MongoDB) Auch hier ist wieder "The right tool for the job" Thema Und natürlich sprechen wir über das große Thema Sicherheit Boaz Leskes, Elasticsearch (02:23:56) @bleskes Entwickler bei elasticsearch Er hat einen Talk zu den Aggregationsmöglichkeiten in elasticsearch gehalten Zusammengefasst: Mit Aggregationen, Facettensuche und den Analysefunktionen lassen sich sehr komplexe Systeme zur Analyse von beliebigen Daten erstellen elasticsearch ist noch viel weniger "nur" für Suchen geeignet, als noch vor einem Jahr Die Nutzer erkennen immer mehr, welche weiteren Möglichkeiten durch elasticsearch bekommen Boaz erklärt wie die Suchfunktionalitäten von elasticsearch bei der Analyse von arbiträren Daten helfen kann Es geht weiter mit einigen interessanten Einblicken in die Optimierung von Algorithmen Ease-of-use ist auch bei elasticsearch ein sehr wichtiges Thema, nicht nur bei der Nutzung aus Entwicklersicht, sondern auch aus Betriebssicht "Elasticsearch is a highly distributed system that really, really hard tries to hide it" Frank Celler und Dr. Stefan Edlich (02:39:35) @fceller (Dr. Celler Cologne Lectures) & @edlich Frank und Stefan sind beide Organisatoren der Konferenz und im Programmkommitee Wir sprechen über die Vorbereitungen der Konferenz und wie die bisherigen Eindrücke sind Wir erhalten ein paar Einblicke in die Schwierigkeiten bei der Zusammenstellung des Programms NoSQL Matters gibt es nicht nur in Köln, sondern auch in Dublin und Barcelona Russel Brown, Basho (02:53:18) @russelldb Russel ist kurzfristig für einen Talk eingesprungen, glücklicherweise zu dem Thema, dass er implementiert hat ;-) Mit Russel haben wir über CRDT in Riak gesprochen, dieses Theme hatten wir letztes Jahr auch schon mit Sean Cribbs Damals steckte es noch in den Kinderschuhen, heute ist es nutzbar in der neuesten Version von Riak CRDTs steht für "Conflict-Free Replicated Data-Typ" Wir reden über die Herausforderungen der Implementierung Und vor allem über die Herausforderungen beim Testing Obwohl das Feature implementiert ist, gibt es noch viele Dinge zu tun und zu optimieren Jennifer Rullmann, FoundationDB (03:11:26) @jrullmann Entwicklerin bei FoundationDB Hat vorher Webanwendungen Entwickelt nun arbeitet sie an FoundationDB FoundationDB: Distributed Key-Value DB mit der Möglichkeit andere Datenmodelle (Dokumente, Graphen, ...) in Form von Layern hinzufügen Ihr Talk war zu dem Thema "NoSQL and ACID" Ease of Use: FoundationDB legt viel Wert darauf einfach im Betrieb zu sein (wenig Konfiguration by default) Outro (03:28:52) Bast und Dirk sagen "Tschüss" persönliches Fazit: Wir hatten tolle drei Tage, haben viel gelernt und sehr spannende Gespräche geführt Fazit zur Konferenz: NoSQL wird erwachsen und wird uns bestimmt noch viele Jahre begleiten. In welcher Form? Das wird die Zukunft zeigen ;-)…
G
Geekstammtisch

1 GST031 - CORBA in cool 1:20:22
1:20:22
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:20:22
Wir haben mit Stefan Tilkov über Softwarearchitekturen, REST und das Web gesprochen. Unser Gast (00:00:00) Stefan Tilkov, @stilkov, http://www.innoq.com/blog/st/about/ REST und HTTP: Einsatz der Architektur des Web für Integrationsszenarien, Stefan Tilkov: http://rest-http.info Macht zum Teil Management und sonst wozu er so Lust hat: Workshops, Konferenzen, Schulungen, … Hat C, C++, Java und und und gemacht, sein aktueller Favorit ist allerdings: Clojure Architektur im Wandel (00:02:45) "architect" is Latin for "cannot code anymore.", Ted Neward: http://msdn.microsoft.com/en-us/library/aa905335.aspx "Architektur ist die Menge der wichtigen Entscheidungen", Stefan Tilkov :) Anwendungsarchitektur Anfang der 2000er Irgendwann wurde der Begriff "Architektur" negativ belegt Projekte bei innoQ (00:05:10) 60 Leute bei innoQ 20% strategische Beratung 80% Entwicklungsprojekt, teilweise nur mitarbeiten, teilweise komplett selber verantwortet bei innoQ werden immer wieder die Rollen/Aufgaben und Projekte gewechselt Architektur: negativ? (00:08:40) Agile Is Dead (Long Live Agility), Dave Thomas: http://pragdave.me/blog/2014/03/04/time-to-kill-agile/ Rollen (z.B. "der Architekt") ergeben sich oft automatisch, ohne dass es vorgegeben ist Architektur negativ? "Ist wie ich darf nicht mehr nachdenken!" REST (00:12:05) REST: https://en.wikipedia.org/wiki/Representational state transfer Representational State Transfer (REST), Roy Fielding, Dissertation (2000), Kapitel 5: https://www.ics.uci.edu/~fielding/pubs/dissertation/rest arch style.htm Roy Fieldings Blog: http://roy.gbiv.com/untangled/ REST war eigentlich vor der SOAP/WS-* Welle da Ressourcen haben eine URI und sind damit identifizierbar Standard-Interface um mit Ressourcen zu interagieren: GET, PUT, POST, DELETE Hypermedia: https://en.wikipedia.org/wiki/Hypermedia REST Maturity Models (RMM): http://martinfowler.com/articles/richardsonMaturityModel.html Der WS-Weg (00:16:55) Leute müssen für Webservices oft missioniert werden; bei REST ist das deutlich einfacher Bei Web Serivces entwirft man permanent neue Protokolle (mit SOAP) WSDL: http://www.w3.org/TR/wsdl Enterprise Service Bus: https://en.wikipedia.org/wiki/Enterprise service bus Microservices vs SOA? (00:22:05) James Lewis, Martin Fowler über Microservices: http://martinfowler.com/articles/microservices.html Jim Webber "Guerilla SOA": http://www.infoq.com/presentations/webber-guerilla-soa Hypermedia Explained (00:23:53) Hypermedia: https://en.wikipedia.org/wiki/Hypermedia Heute sind REST APIs relativ gut (kein GET mehr, um eine Ressource zu löschen) URI Templating, http://whatisrest.com/rest service contracts/uri templates and resource queries REST APIs haben eine Startseite, von wo aus der Clients den Links folgen kann Der API Client braucht nicht so festverdrahtet sein Links für Ressourcen signalisieren dem Client, wie er mit einer Ressource interagieren kann Architekturstile (https://de.wikipedia.org/wiki/Architekturstil) haben immer Tradeoffs! Apache Thrift: https://en.wikipedia.org/wiki/Apache_Thrift CORBA: https://en.wikipedia.org/wiki/Common Object Request Broker Architecture URI Templates sind ein Rezept, um z.B. eine große Menge von Links abzubilden HTML ist ein schönes Beispiel: Mit einem Formular und GET HTML ist ein Hypermedia Format! Ein Browser ist quasi ein Hypermedia Client REST sollte Standardformate, selbstbeschreibender Nachrichten verwenden IANA Media Types: https://www.iana.org/assignments/media-types/media-types.xhtml Populäre Formate: JSON, XML JSON Schema: http://json-schema.org/ JSON & Hypermedia Collection+JSON: http://amundsen.com/media-types/collection/ Hypertext Application Language: http://stateless.co/hal_specification.html Siren: https://github.com/kevinswiber/siren Jon Moore, "Building Hypermedia APIs with HTML": http://www.infoq.com/presentations/web-api-html AtomPub, The Atom Publishing Protocol: http://bitworking.org/projects/atom/rfc5023.html REST für das Web (00:45:00) REST ist die Architektur des Webs und nicht nur von Web Services ROCA: Resource-oriented Client Architecture: http://roca-style.org Single Page Application Frameworks: http://emberjs.com, http://angularjs.org, http://backbonejs.org, ... Yehuda Katz: http://yehudakatz.com/ JSON API: http://jsonapi.org/ ROCA: Server-seitiges HTML, App Logik nur im Server, Seite funktioniert ohne JavaScript, JavaScript erweitert nur, Progressive Enhancement (https://en.wikipedia.org/wiki/Progressive_enhancement), ... History API: http://diveintohtml5.info/history.html SEO & Single Page Apps: http://backbonetutorials.com/seo-for-single-page-apps/ iTunes im Browser? o_O z.B. mit https://vaadin.com/home Monolithen aufbrechen; die einzelnen Teile sollten auch ein eigenes UI haben Breaking the monolith: Towards a system-of-systems architecture: http://vimeo.com/74354372 jQuery UI: https://jqueryui.com/ ember.js und AngularJS bieten Konventionen und vermeiden Diskussionen (meint Basti) Web Framework Ansatz: "Wir nehmen entweder JSF oder Grails oder JRuby oder Angular oder jQuery" Architektur sollte unabhängig sein von der Implementierung Bower: http://bower.io/ "build for replacement, not for reuse" The Twelve-Factor App: http://12factor.net/ Web Services, REST (01:11:30) innoQ macht auch Projekte im klassischen Web Service Kontext Web Service Metadaten mit RESTful HTTP managen UDDI: https://en.wikipedia.org/wiki/Universal Description Discovery and Integration WSDL: https://en.wikipedia.org/wiki/Web Services Description_Language WS-MetadataExchange: https://en.wikipedia.org/wiki/WS-MetadataExchange Ausblick (01:17:20) Alte Ideen tauchen in neuen Konzepten wieder auf; verschiedene Gruppe lernen von einander JAXconf: http://jaxconf.com/ innoQ Timeline: http://www.innoq.com/de/timeline/ innoQ Podcast: http://www.innoq.com/de/timeline/?type=podcast_episodes…
G
Geekstammtisch

1 GST030 - Turnschuhadministration 2:03:22
2:03:22
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked2:03:22
Wir sprachen mit Essy (@casheeew) über das spannende Dasein einer Administratorinnen Unser Gast (00:00:00) Essy podcastet sonst bei der Nerdkunde: http://nerdkun.de Hat mal "Bindestrichinformatik" studiert und macht nun ihren berufsbegleitenden Master an der FH-Köln Master Studium WebScience an der FH Köln: http://webscience.fh-koeln.de/live/ Basti und Dirk haben an der FH Köln auch ihren Master gemacht: http://www.medieninformatik.fh-koeln.de/website/general/startseite/startseite 527/de/de startseite articl 1.php Es gibt eine gewisse Deckungsgleichheit bei den Dozenten ^^ Vorlesungen finden abends via Webcam statt Fokus (noch) auf Theorie, weniger Implementierung Alle Klausuren (~8) sind an einem Wochenende Weiterempfehlungsgrad von WebScience: Kommt drauf an was man möchte ;-) Deployment über Netzwerkfreigabe (00:10:44) In GST029 (http://geekstammtisch.de/#GST029) haben wir über Java-Entwicklung und Betrieb gesprochen, dabei viel der Begriff JBoss Und Essy setzt sich beruflich mit dem Betrieb von Anwendungen auf dem JBoss auseinander Essy arbeitet bei einem großen Rechenzentrum in Köln Betrieben werden dort die unterschiedlichsten Anwendungen (vor allem auch große Anwendungen mit vielen Abhängigkeiten) Herausforderungen: Leben mit komplexeren Prozessen als bei einem Fancy-Web-Startup™ Deployment für den JBoss läuft zum Beispiel so ab: Kunde legt Auszug aus seinem JBoss inkl. aller Konfigurationen auf einer Netzwerkfreigabe ab Essy sucht Änderungen zwischen altem und neuem Stand heraus Änderungen werden auf allen Systemen eingespielt Klingt umständlich und ist es auch, daher der Plan: Verwendung von Puppet: http://puppetlabs.com/ Trotz der Strukturen und Prozesse ist es Essy und ihren Kollegen überlassen welche Tools intern verwendet werden, solange das Ergebnis am Ende passt Warum mit Puppet? Die nächste Version des Red Hat Enterprise Satellite Server (http://de.redhat.com/products/enterprise-linux/satellite/) setzt auf Puppet auf, daher war hier der Wunsch Puppet auch für weitere Bereiche einzusetzen Server, Monitoring & Bereitschaft (00:26:00) Essy verantwortet den vollständigen Server Die Maschine wird lediglich von einem anderen Team bereitgestellt und übergeben Neben Maschinen für Kunden gibt es auch Maschinen für Forschung & Entwicklung Basis-Monitoring (Erreichbarkeit, Plattenfüllstand, etc) kommt mit dem Server mit Weiteres Monitoring lässt sich dann hinzufügen Monitoring läuft über Icinga (https://www.icinga.org/), einem Nagios (http://www.nagios.org/) Ableger Es gibt natürlich auch eine 24x7 Bereitschaft (in der nicht alle Server enthalten sind) Folge ist: Systeme werden so redundant und solide aufgesetzt, dass man Nachts nicht angerufen wird Das bedeutet auch, dass man Bereitschaft für Systeme machen muss, die man in der Regel nicht selbst betreut Dafür existiert dann entsprechende Dokumentation, die regelmäßig kontrolliert und auditiert wird Softwarelandschaft (00:35:48) Unterschiedlichste Versionsstände von (beispielsweise) Java (von alt bis ganz neu) JBoss wird nicht in der Community-Variante verwendet, sondern in der kommerziell unterstützten Die Open-Source Variante wird auch nicht mehr JBoss heißen, sondern WildFly (https://github.com/wildfly/wildfly) Kostet nicht unerheblich, aber weniger im Vergleich zu anderen Produkten Support lohnt sich und wurde von Essy auch immer mal wieder in Anspruch genommen Als Dienstleister hat mal im Grunde keine andere Wahl als den kommerziellen Support sowohl von Red Hat Linux als auch JBoss zu nehmen Aus diesem Grund wird Ruby 1.8.7 auch immer noch von Red Hat gepflegt Was dann natürlich zu anderen Problemen führt ^^ Virtualisierung (00:40:40) Ein Großteil der Server laufen auf VMWare ESX Virtualisierung: Der ESX-Hypervisor läuft direkt auf dem Server ohne weiteres Betriebssytem (https://en.wikipedia.org/wiki/VMware_ESX) VMware (http://www.vmware.com/de) VMware vSphere (http://www.vmware.com/de/products/vsphere) VMware vCenter zum Verwalten/Clustern von mehreren VMware ESX Servern mit DRS (Dynamic Resource Scheduling) und HA (High Availability)(http://www.vmware.com/de/products/vcenter-server) Einige Dinge machen virtualisiert einfach keinen Sinn (manchmal auch aus Lizenzgründen…) Virtualisierung ist auf diesem Niveau schon sehr spaßig: Einfach mal laufende Server per Mausklick auf andere Hardware ziehen Für ein Rechenzentrum extrem sinnvoll Prozesszertifizierung, Support und Monitoring der Kaffeemaschinen (00:44:35) Zertifizierung ist für einen Betreiber eines Rechenzentrums sehr wichtig Die ISO in diesem Fall ist die 27001 (http://de.wikipedia.org/wiki/ISO/IEC_27001) In diesem Zuge werden vor allem organisatorische Aspekte geprüft Neben der Dokumentation der Prozesse werden aber auch Gespräche mit Mitarbeitern geführt und exemplarisch Server betrachtet Das Audit findet jährlich statt Pentesting (http://de.wikipedia.org/wiki/Penetrationstest_(Informatik)) ist nicht Teil der Zertifizierung Glücklicherweise keine PCI Zertifizierung (http://de.wikipedia.org/wiki/Payment Card Industry Data Security_Standard) Bei der Vielzahl von Kunden und Projekten lassen sich umfangreiche Prozesse am Ende aber nicht vermeiden Das Maximum an Projekten, die man so übernimmt varriert und hängt von der Komplexität der jeweiligen Projekte ab Essy macht glücklicherweise kaum bis keinen Support (: Der Rest des Teams macht aber durchaus auch mehr 2nd-Level Support 2nd-Level Support hat keinen unmittelbaren Kontakt mit dem Kunden Inhouse Servicecenter für den First Level Support, wenn das nicht reicht, landen die Tickets im Team im Second Level Support Ärzte schrauben ganz gerne mal selbst an PCs rum und mailen an alle über den Mailverteiler Basti hat mal in einer Firma die Druckerlandschaft mitkonfiguriert, globales Auslesen von über SNMP von Tonerfüllständen mit Abgleich auf den Lagerbestand und ggf. direkte automatisierte Bestellung beim Händler Drucker sind natürlich auch im Icinga ;-) Telefone allerdings nicht mehr Icinga hört immer dort auf, wo es spezialisierte Tools der jeweilgen Produkte gibt JBoss Operation Network (http://de.redhat.com/products/jbossenterprisemiddleware/operations-network/) Ungelöstes Problem: Monitoring und Alerting der Kaffeemaschinen K-Fälle (01:02:35) K-Fälle wie Katastrophenfälle Redundanz bedeutet in diesem Fall auch, dass ein Rechenzentrum wegbrechen kann Für diesen Fall werden unterschiedliche Szenarien durchgespielt, um Lücken im System zu entdecken ESX-Cluster werden inkl. Storage zwischen den Rechenzentren gespiegelt und im Hot-Standby gehalten Dafür braucht man dann allerdings auch entsprechend Bandbreite Wir vermuten, dass Darkfibers in Köln zu bekommen kein Problem sein sollten Diese hohe Ausfallsicherheit lohnt sich erst für Projekte/System ab einem gewissen Grad, vorher macht es finanziell einfach keinen Sinn Finanziell bedeutet in diesem Fall weniger Hardware, sondern vor allem Personal, Organisation und Prozess Resultat ist in jedem Fall die Einbüßung von Flexibilität Hohe Anhängigkeiten zwischen verschiedenen Teams Deployment, Koordination (01:10:30) Produktmanager koordinieren zwischen Kunde, externer Entwicklung und Infrastruktur Es gibt komplexe Abhängigkeiten zwischen verschiedenen System (sowohl in Hard- als auch Software) Zero-Downtime Deployments werden angestrebt, aber sind nicht immer möglich Vor Deployments: Wöchentliche Meetings von Teams zur Koordination Tooling (01:16:00) Excel ist ein wichtiges Werkzeug hust , soll aber langsam abgelöst werden Confluence ist seit neustem im Einsatz (https://www.atlassian.com/de/software/confluence) OwnCloud (http://owncloud.org/) ist auch hinzugekommen git, Gitlab, Stash, Github Enterprise (01:18:35) bisher SVN: https://subversion.apache.org/ aber Essy hat Gitlab aufgesetzt: https://www.gitlab.com/ Wir erzählen Essy von Stash: https://www.atlassian.com/software/stash Integration in Confluence & Co Betrieb macht man selber (wie bei GHE), für hosted nimmt man dann Bitbucket https://bitbucket.org/ Ja, Github kann auch SVN sprechen! Github Enterprise: https://enterprise.github.com/ Administration und Automatisierung (01:25:00) Turnschuh-Administration: Monkey see, Monkey do! Automatisierung ist nicht for-free und ein anhaltender Prozess "Läuft's noch oder automatisierst du schon?" (@bascht) Backups (01:28:20) Regelmäßig machen, lang genug aufbewahren UND Restore testen! Bei Essys Arbeitgeber gibt es dazu ein dediziertes Backup Team von VMs werden Snapshots erstellt und gesichert Restore ist ein Informationssicherheitsvorfall Chaos Monkey (01:32:20) Wir fragen Essy, was mit dem Testen von Infrastruktur ist Chaos Monkey bei Netflix (http://techblog.netflix.com/2012/07/chaos-monkey-released-into-wild.html) Chaos Gorilla macht ganze AWS Availability Zones aus Mehr Monkeys… Latency Monkey, Conformity Monkey, Doctor Monkey, Janitor Monkey, Security Monkey, 10-18 Monkey: http://techblog.netflix.com/2011/07/netflix-simian-army.html Essy sagt, das sei im VMware Land (auch) möglich IPv6 (01:38:05) Bei Essy noch kein IPv6 IPv6 CRE: http://cre.fm/cre197-ipv6 Verschiedenes (01:38:30) es gibt einen regelmäßigen Austausch zwischen den Teams ActiveDirectory: https://en.wikipedia.org/wiki/Active_Directory Telearbeit (01:45:00) Essy hat einen (Windows) Arbeitsrechner und darf mit ihrem Mac Book nicht ins Firmennetz WPA2: https://en.wikipedia.org/wiki/Wi-Fi Protected Access Remote Zugang via Citrix, dann via Remote Desktop (RDP) zum Arbeitsrechner und von da aus zu den Servern Problem dabei: Keyboard Shortcuts funktionieren wegen dem hin- und hermapping nicht so richtig Essy kann Heimarbeit machen, sofern es keine Notwendigkeit gibt, Vorort zu arbeiten Homesetup (01:53:55) Essy hat drei Displays (sowohl zuhause als auch auf der Arbeit) und sich kürzlich neue Hardware für einen Desktop Rechner gekauft Dirk und Basti haben schon EWIG keinen Rechner mehr komplett aus Einzelteilen gebaut Abschluß (01:59:15) Es gibt wohl Führungen durch ein Vorzeigerechenzentrum! Girls'Day: http://www.girls-day.de/…
G
Geekstammtisch

1 GST029 - Die JVM ist ein Erfolgsmodell 1:47:38
1:47:38
Später Spielen
Später Spielen
Listen
Gefällt mir
Geliked1:47:38
Wir sprachen mit Matthias Richter über die Freuden der Java-Entwicklung Einleitung & GST-Meta (00:00:00) Matthias Richter (@mr_samma) ist heute unser Gast GST019 mit Stefan Schiffer "Weg von .NET & Windows": http://geekstammtisch.de/#GST019 Der Geekstammtisch und die Nerdkunde beim Rudelpodcasten: http://das-sendezentrum.de/blog/podcasts-aus-unserer-30c3-assembly Das neue Büro des Home Office Cologne in der Lindenstraße 14: https://twitter.com/HomeOfficeCGN/status/425630254364119040 Unser Gast (00:02:45) Matthias hat mit Dirk & Basti studiert …und hat nach dem Studium als Java Entwickler bei einer Softwarefirma im "Telekommunikationsumfeld" gearbeitet Matthias hat dort nie Admins zu Gesicht bekommen :) Nach vier Jahren hat Matthias dann etwas neues gesucht und ist in der Logistikbranche gelandet Kleineres Unternehmen, eigene Produkte, jeder macht alles (Matthias ist also "auch" Admin) wollte weiter auf der JVM entwickeln Scala: http://www.scala-lang.org/ Clojure Koans: http://clojurekoans.com/ Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages (von Bruce A. Tate): http://pragprog.com/book/btlang/seven-languages-in-seven-weeks Java-Entwicklung (00:12:30) Dirk hat das letzte mal ernsthaft Java 2005 gemacht (mit Apache Struts, http://struts.apache.org/); "Das war schlimm!" – Dirk Basti hat es nie ernsthaft gemacht (abgesehen vom Studium) "Java, das Ökosystem" Die JVM ist ein Erfolgsmodell K virtual machine (KVM): http://en.wikipedia.org/wiki/K virtual machine Java Platform, Micro Edition, J2ME: http://en.wikipedia.org/wiki/Java Platform, Micro_Edition Java EE Application Server: http://en.wikipedia.org/wiki/Comparison of application_servers Java ME / SE / EE: http://docs.oracle.com/javaee/6/firstcup/doc/gkhoy.html Java Community Process: https://www.jcp.org/en/home/index Servlet API ist Teil der Java EE Spring Framework: http://spring.io/ Zwischen Anhängern von Spring und Java EE hat sich ein flame war entwickelt: Blog Beitrag eines bekannten JEE Evangelist inkl. Antworten von Spring Mitarbeitern in den Kommentaren: https://blogs.oracle.com/arungupta/entry/why java ee 6 is Antwort eines VMWare Mitarbeiters: http://www.iamjambay.com/2012/03/arun-gupta-java-ee-6-and-spring.html tl;dr: hier eine Zusammenfassung auf deutsch: http://jaxenter.de/news/JavaEE-versus-Spring-Hitzige-Debatte-um-Arun-Guptas-Legacy-Vorwurf Matthias würde immer Spring wählen, da es dynamischer ist und aktueller Spring legt wesentlich mehr Wert auf Testing Java 8 SE Release März 2014, EE dann wesentlich später, irgendwann noch später lassen sich Application Server zertifizieren Vielzahl an Java Frameworks für jeden Zweck Web Frameworks, die "Großen" http://zeroturnaround.com/rebellabs/the-curious-coders-java-web-frameworks-comparison-spring-mvc-grails-vaadin-gwt-wicket-play-struts-and-jsf/ Liste von sonstigen Web Frameworks: http://java-source.net/open-source/web-frameworks Liste von Persistenz Frameworks: http://java-source.net/open-source/persistence Frameworks zur asynchronen Verarbeitung: http://spring.io/blog/2013/05/13/reactor-a-foundation-for-asynchronous-applications-on-the-jvm http://akka.io/ http://vertx.io/ Web Service Frameworks, Xfire, Apache CXF DAO / ActiveRecord als Beispiel dafür, dass in Rails Dinge falsch angegangen werden dies kann aber für einfache Anwendungsfälle in Ordnung sein, findet Matthias, Dirk sieht das aber anders DAOs sind lange Standard in Java Apps gewesen mittlerweile werden häufig Repositories eingesetzt: http://thinkinginobjects.com/2012/08/26/dont-use-dao-use-repository/ Repository Ansatz in Java EE 6 / 7 Misko Hevery zu AR: http://misko.hevery.com/2009/05/05/the-problem-with-active-record/ Spring Roo nutzt ActiveRecord Pattern in Java Apps: http://docs.spring.io/spring-roo/reference/html/architecture.html#architecture-dao AR in Rails tief verwurzelt, ermöglicht aber die Geschwindigkeit in der Rails Entwicklung Matthias findet opinionated Ansatz in Rails gut Matthias macht mittlerweile Projekte mit JRuby on Rails, AngularJS und Elasticsearch Elasticsearch basiert auf Lucene, in Java geschrieben Deployment & JVM (01:20:00) JRuby ist ein guter Einstieg in Ruby-Entwicklung gewesen, da man "nur" ein WAR (https://en.wikipedia.org/wiki/WAR (file format)) erstellen muss und es im bisherigen Application-Server deployed Java Wissen auf der Betriebsseite kann im Grunde 1:1 weiter verwendet werden Auch Deploymentstruktur über Jenkins konnte weiter verwendet werden Deployment via JMX (https://en.wikipedia.org/wiki/Java Management Extensions) Das WAR wird per Warbler erstellt (http://caldersphere.rubyforge.org/warbler/) Switch von Java auf JRuby ist schneller gemacht als die Umstellung von JBoss auf nginx+passenger (o.ä.) Maven ist auch im Projekt o/ Entwicklungsumgebung (01:23:05) Matthias hat jahrelang Eclipse verwendet, dann zu IntelliJ gegangen Mit Ruby dann zu RubyMine gegangen (bzw. IntelliJ mit Ruby-Plugin) Sublime Text auch mal ausprobiert, geweint Vim ausprobiert, noch mehr geweint AngularJS auch in RubyMine, Alternativ auch WebStorm vielleicht eine Möglichkeit Lokale Entwicklung ist schneller geworden, da kein Kompilieren und Deployment mehr Lokal wird die Anwendung mit Puma/JRuby entwickelt sowie Grunt für JavaScript Keine weiteren Java-Abhängigkeiten (außer dem Datenbanktreiber) Basti möchte wissen wie der Umstieg von IDE in die Welt des Terminals war Matthias ist aber leider ein schlechtes Beispiel ;-) Er hat Eclipse eigentlich immer "nur" als Editor verwendet Matthias würde sich gerne auch Vim mal ansehen, aber scheut derzeit die Lernkurve Frage: Warum Vim? Antwort: Kosten. Aber wir stellen in Frage, ob die Kosten wirklich ein Grund ist. Wahrscheinlich nicht :-) Insgesamt ist Matthias noch in der Findungsphase: RubyMine ist aber ein Favorit Matthias hat Spaß auf neue Tools umzustellen :-) Next Steps (01:30:47) Derzeit macht er AngularJS Entwicklung, Testing mit Karma, Jasmine, PhantomJS Es wird auch für Mobile-Plattformen mit AngularJS und Cordova (https://cordova.apache.org/) entwickelt Die Software die derzeit entwickelt wird, ist sehr allgemein einsetzbar Im Grunde geht darum Firmen zu unterstützen ihren Kram zusammenzuhalten Zusätzlich gibt es Systeme die auf Gabelstapler montiert werden Der Branchenwechseln war eine gute Idee Fazit (01:33:10) Bewertung des Wechsels: Positiv, nicht nur wegen dem Spaß sich in neue Dinge einzuarbeiten Frontend-Entwicklung mit AngularJS fühlt sich tatsächlich mal an wie Entwicklung ;-) Gab es auch Probleme bei der Umstellung? Einige Mitarbeiter wollen sich nicht mit so vielen Technologien befassen, das kann auch OK sein, aber man muss damit als Unternehmen/Team umgehen Ein Kollege ist auch gegangen, da er mehr .NET machen wollte Lernkurven müssen an die Geschäftsführung und die anderen Kollegen kommuniziert werden Viele Parallenen zu GST019 (http://geekstammtisch.de/#GST019) Die Umstellung ist unter anderem auch dadurch motiviert worden, weil der Chef die Folge gehört hat :-) Frage dann vom Chef: Was ist eigentlich dieses Ruby und Rails? Und wenn das so gut ist, warum machen das nicht alle? Entwicklungsgeschwindigkeit hat mit überzeugt Ausklang (01:38:35) Wir sind uns einig, dass die Folge Leute nicht davon abhalten wird weiter Java zu bashen. Dafür ist es auch einfach zu lustig. Kritiker werden sagen: "Matthias hat ja dann doch von Java auf Ruby gewechselt" Matthias hat sich eigentlich auf Java 8 gefreut Das Unternehmen wird nie ganz auf (J)Ruby umstellen, dafür gibt es zu viele Bereiche in denen man Software entwickelt. Gleichzeitig macht das den Reiz aus JRuby hat zwar kein Komitee aber dennoch genug Entwicklungsresourcen :-) Problem ist aber, dass die Community recht klein ist und man schwieriger Lösungen für seine Probleme findet: Erste Einschränkung: JRuby Zweiter Einschränkung: JBoss Deployment Matthias empfiehlt: Wenn man kein Java-Know-How hat, einfach MRI verwenden Wir fordern Matthias zu Usergroups zu kommen und ihr Wissen zu teilen Vor allem JRuby Wissen in die Welt zu tragen lohnt sich NoSQL-Matters als Konferenz Empfehlung (http://2014.nosql-matters.org/cgn/) Wenn man ernsthaft JRuby macht, kann man auch mal mit dem Core-Team Kontakt aufnehmen, die freuen sich über derartiges Feedback Hiring-Pitch (01:44:06) Wir fragen explizit nach ob noch Entwickler gesucht werden Antwort: Ja Firma sitzt in St. Augustin, direkt neben der FH FrOSCon quasi einen Steinwurf entfernt ;-) Aufgaben sind sehr vielfältig (Mobile-Entwicklung, Emedded-Entwicklung, Hardware-Entwicklung, Web-Entwicklung, Infrastruktur, etc.) Die Branche nennt sich: Intra-Logistik Die Firma heißt IdentPro: http://www.identpro.de/de/, aber bitte nicht von der Webseite abschrecken lassen, die ist old-school-Industrie-kompatibel o/…
Essy, Lucas, Tobias, Bodo, Dirk und Basti berichten ihre Eindrücke vom 30C3 Das zweite Joint Venture der @nerdkunde (ohne Klaus, mit Bodo) und des @geekstammtisch (mit allen) live und in Farbe vom 30. Chaos Communication Congress (30C3) aus dem @Sendezentrum. Wir geben einen kurzen persönlichen Rundblick über die letzten vier Tage Kongress. Vielen Dank an das Sendezentrum für die Bereitstellung des Equipments und Ralf (@rstockm) für die super Betreuung!…
Willkommen auf Player FM!
Player FM scannt gerade das Web nach Podcasts mit hoher Qualität, die du genießen kannst. Es ist die beste Podcast-App und funktioniert auf Android, iPhone und im Web. Melde dich an, um Abos geräteübergreifend zu synchronisieren.