Künstliche Intelligenz
Softwareentwicklung: Debugger? Nein, danke! | heise online
Ich benutze seit vielen Jahren keinen Debugger mehr. Stattdessen füge ich console.log oder fmt.Println an den Stellen in meinen Code ein, wo ich es für sinnvoll erachte. Dafür werde ich oft belächelt und gelegentlich kritisiert, weil das vermeintlich kein „richtiges“ Fehlersuchen wäre.
Weiterlesen nach der Anzeige

Golo Roden ist Gründer und CTO von the native web GmbH. Er beschäftigt sich mit der Konzeption und Entwicklung von Web- und Cloud-Anwendungen sowie -APIs, mit einem Schwerpunkt auf Event-getriebenen und Service-basierten verteilten Architekturen. Sein Leitsatz lautet, dass Softwareentwicklung kein Selbstzweck ist, sondern immer einer zugrundeliegenden Fachlichkeit folgen muss.
Ich habe jedoch meine Gründe, und die sind – aus meiner Sicht – durchaus gut. Am Ende des Tages bin nämlich oft ich derjenige, der gefragt oder gerufen wird, wenn anderen Entwicklern (trotz Debugger) die Ideen ausgehen. Und ich finde den Fehler dann in der Regel nach einer Weile. Nicht weil ich keinen Debugger benutze, sondern weil letztlich die Methodik entscheidet und nicht das Tool.
Fangen wir damit an, was mir vorgeworfen wird. Da heißt es oft:
„Ach, du benutzt console.log? Wie niedlich!“
Oder:
„Das ist doch kein richtiges Debugging!“
Oder:
Weiterlesen nach der Anzeige
„Den Typen sollte man niemals wichtigen Code schreiben lassen, das ist kein richtiger Entwickler, der benutzt ja noch nicht mal einen Debugger!“
Die implizite Annahme dahinter ist immer: Ein guter Entwickler muss einen Debugger beherrschen. Interessanterweise ist das allerdings stark von der Community abhängig, in der man sich bewegt. In der Go- und in der JavaScript-Community beispielsweise sind fmt.Println beziehungsweise console.log völlig normal und akzeptiert. Niemand guckt einen da schräg an. In der Java- oder C#-Welt hingegen wird der Einsatz eines Debuggers oft als Pflicht angesehen. Das zeigt bereits: Es gibt nicht die eine richtige Art zu debuggen. Das ist stark davon abhängig, in welchem Ökosystem man sich bewegt.
Set-up-Aufwand und fehlende Übung
Warum benutze ich nun keinen Debugger? Dafür habe ich vier konkrete Gründe. Erstens: Der Set-up-Aufwand. Einen Debugger zu starten, zu attachen und zu konfigurieren kann je nach Set-up des Projekts (auf das man eventuell gar keinen Einfluss hat) sehr aufwendig sein. Besonders in fremden Projekten, wo man nicht genau weiß, wie die Infrastruktur aufgebaut ist, verliert man unter Umständen sehr schnell viel Zeit. Zeit, die man eigentlich für etwas anderes bräuchte, nämlich um den Fehler zu finden. Stattdessen konfiguriert man zunächst eine halbe Stunde lang Tools und ärgert sich, dass es nicht so funktioniert, wie man sich das vorstellt.
Empfohlener redaktioneller Inhalt
Mit Ihrer Zustimmung wird hier ein externes YouTube-Video (Google Ireland Limited) geladen.
Debugger? Nein, Danke! // deutsch
Zweitens: Die fehlende Übung. Wenn man viele Tests schreibt – und das sollte man tun –, erübrigen sich die einfachen Fälle. Die landen gar nicht erst auf dem Tisch, weil die Tests sie bereits abfangen. Was übrig bleibt, sind die schwierigen Fälle. Die gibt es jedoch gar nicht so oft. Vielleicht alle paar Wochen einmal, vielleicht alle paar Monate. Deswegen fehlt dann die Übung mit dem Debugger. Man ist aus der Routine raus, und wenn man ihn dann braucht, steht man da und muss sich erst wieder zurechtfinden. Man weiß dann oft gar nicht mehr so richtig, wie das funktioniert, wo welche Buttons sind, und so weiter. Genau das verstärkt natürlich auch den ersten Punkt, weil man wieder von vorn anfängt, um herauszufinden, wie man ihn überhaupt startet und attached.
Timing-Verzerrung bei nebenläufigen Systemen
Drittens: Die Timing-Verzerrung. Das ist für mich ein wichtiger Punkt, der viel zu oft ignoriert wird. Ein Debugger und dort insbesondere der Einsatz von Breakpoints verzerren nämlich das Zeitverhalten der Anwendung dramatisch. Ich habe vor vielen Jahren einmal in einem Projekt mit hunderten parallel laufenden Threads gearbeitet. Da war es praktisch unmöglich, mit einem Debugger etwas ausfindig zu machen. Warum? Weil jeder Breakpoint zum einen das Zeitverhalten komplett verändert hat. Hielt man einen Thread an, liefen die anderen weiter, und auf einmal hatte man ein völlig anderes Timing, und dann war der Fehler unter Umständen plötzlich weg. Oder es tauchten neue Fehler auf. Zum anderen hatte man bei zwei Läufen sowieso nie denselben Stand, weil Threads nebenläufig sind und das Scheduling von ihnen nicht deterministisch ist. Das heißt, hier kam es sehr darauf an, nachvollziehen zu können, welcher Thread etwas macht, was dann bei einem anderen Thread etwas verursacht. Das geht nur, indem man Code liest, sich Dinge notiert und vor allem, indem man sehr viel über den Code nachdenkt. Ein Debugger hilft einem da tatsächlich überhaupt nicht weiter, im Gegenteil: Er macht die Sache eigentlich nur schlimmer.
Viertens – und das ist aus meiner Sicht der wichtigste Punkt überhaupt: Der Debugger nimmt einem nicht das Denken ab. Die eigentliche Arbeit ist nämlich vor allem das Nachvollziehen und Nachdenken darüber, wie es zu einer bestimmten Situation überhaupt gekommen ist. Das kann ein Debugger naturgemäß nicht. Er ist nur ein Werkzeug. Er zeigt, was passiert ist, aber nicht warum. Man sieht die Werte in den Variablen, man sieht, welche Funktionen gerade aufgerufen werden, aber man versteht nicht die Kausalkette, wie es überhaupt dazu gekommen ist. Genau dieses Warum ist die Arbeit, die man als Entwicklerin oder als Entwickler leisten muss. Und das ist leider das, was vielen häufig schwerfällt.
Systematisches Denken als Kernkompetenz
Genau das ist der springende Punkt: Was wirklich zählt, ist systematisches Denken. Die Kernkompetenz beim Debuggen ist nämlich nicht, einen Debugger bedienen zu können. Die Kernkompetenz ist, Fehler systematisch eingrenzen zu können. Durch logisches Schlussfolgern die Zahl der Optionen, die als Ursache infrage kommen, immer weiter zu reduzieren. Und genau das macht der Mensch, nicht das Tool. Der Debugger kann einem zeigen, wie der Stand der Dinge ist, aber er kann einem nicht sagen, was sein sollte und warum es anders ist als erwartet.
Ich möchte dazu ein konkretes Beispiel geben, das zeigt, was ich meine. Vor einer Weile hatten wir bei einem Kunden ein Problem mit asynchronem Rendering in einer React-App. Keiner von uns wusste, dass an besagter Stelle etwas Asynchrones passierte; es war uns einfach nicht bewusst. Nachdem dann zwei Entwickler daran schon mehrere Stunden gesucht hatten, haben sie mich gefragt, ob ich einmal mit nach dem Fehler schauen könne. Beide hatten mit dem Debugger gearbeitet, hatten sich die Komponenten-Hierarchie angeschaut, hatten sich die Props angeschaut, hatten alles Mögliche gemacht. Ich habe es durch das Verwenden von console.log, das Beobachten des Verhaltens, Lesen des Codes und Nachdenken geschafft, den Fehler nach und nach immer weiter einzugrenzen. Und nach einer knappen Stunde blieb nur noch eine Möglichkeit als Ursache übrig: Diese und jene Zeile musste anscheinend asynchron verarbeitet werden, es war die einzig mögliche Erklärung, wie es zu dem gezeigten Verhalten kommen konnte.
Dann haben wir in die Dokumentation von React geschaut, und genau so war es dann auch. Natürlich hätte man das auch am Anfang nachschauen können, nur kam niemand auf die Idee, ausgerechnet an dieser Stelle zu suchen. Die Lektion dabei ist: Der Debugger hat das Problem offensichtlich nicht gelöst. Sondern: Das systematische Eingrenzen hat es am Ende gebracht. Eben die Frage:
„Wo könnte das Problem liegen?“
und dann Schritt für Schritt, nach und nach, alle Möglichkeiten bis auf eine ausschließen.
Warum console.log funktioniert: Observability-Mindset
Wenn wir damit jetzt zu der Erkenntnis gekommen sind, dass systematisches Denken wichtiger ist als das Tool, stellt sich natürlich die Frage: Was ist dann an console.log oder fmt.Println eigentlich vermeintlich so falsch? Oder andersherum gefragt: Warum funktioniert das so gut? Dafür gibt es tatsächlich drei ausgezeichnete Gründe.
Erstens: das Observability-Mindset. Im Grunde macht man nämlich Observability im Kleinen. In Production hat man oft auch keinen Debugger – nur Logging, Tracing, Metrics. Wer gewohnt ist, durch gezieltes Logging zu debuggen, denkt automatisch in die Richtung:
„Was muss ich wissen, um das System zu verstehen?“
Man überlegt sich: An welcher Stelle brauche ich welche Informationen? Was ist relevant? Was hilft mir weiter? Das ist eine wertvolle Fähigkeit, gerade für moderne verteilte Systeme, bei denen man nicht mehr mit einem Debugger arbeiten kann, weil die einzelnen Services auf verschiedenen Maschinen laufen.
Reproduzierbarkeit und bewusstes Denken
Zweitens: Reproduzierbarkeit und Dokumentation. Mit Logs hat man eine dauerhafte Spur. Man kann den Code laufen lassen, die Ausgabe analysieren, den Code erneut laufen lassen, die Ausgaben vergleichen. Man sieht:
„Ah, beim ersten Mal war der Wert hier 42, beim zweiten Mal ist er aber 43, da muss irgendwo ein Zähler sein, der nicht zurückgesetzt wird.“
Mit einem Debugger ist das oft sehr viel flüchtiger. Man klickt sich durch, sieht etwas, aber hat es nicht festgehalten. Beim nächsten Durchlauf muss man sich dann wieder durchklicken, und wenn man nicht aufgepasst hat, weiß man gar nicht mehr so genau, was man beim letzten Mal eigentlich gesehen hat.
Drittens: Bewusstes Denken wird erzwungen. Man muss sich überlegen: Was will ich eigentlich wissen? Wo könnte das Problem liegen? Welche Variablen sind relevant? An welcher Stelle im Code muss ich schauen? All das fördert systematisches Denken. Gerade für weniger erfahrene Entwicklerinnen und Entwickler kann ein Debugger dann nämlich schnell ein schlechtes Hilfsmittel werden: Sie setzen dann einen Breakpoint, schauen sich Variablen an, klicken sich durch den Call-Stack, verstehen aber nicht den größeren Zusammenhang. Sie sehen zwar Daten, aber sie verstehen nicht, was sie bedeuten. Durch bewusstes Logging muss man sich diese Fragen aber stellen. Man muss sich überlegen, was relevant ist. Das ist eine wertvolle Übung.
Die Praxis bestätigt die Methodik
Jetzt kommt eine Beobachtung aus der Praxis, die das Ganze noch unterstreicht: Ich bin, wie eingangs bereits erwähnt, in Kundenprojekten oft derjenige, der gefragt wird, wenn anderen die Ideen ausgehen. Die Leute kommen zu mir und sagen:
„Golo, wir suchen jetzt seit Tagen nach der Ursache für diesen Bug, wir finden ihn einfach nicht, kannst du mal draufschauen?“
Trotz Debugger finden sie den Fehler nicht. Ich finde ihn dann über kurz oder lang – ohne Debugger. Warum? Weil die Methodik entscheidet, nicht das Tool. Genau das können leider viel zu viele Entwicklerinnen und Entwickler nicht allzu gut: systematisch eingrenzen und logisch schlussfolgern. Die verlassen sich darauf, dass der Debugger ihnen die Antwort quasi auf dem Silbertablett präsentieren wird. So funktioniert das jedoch nicht. Der Debugger ist nur ein Werkzeug, das einem Daten zeigt. Die Interpretation dessen, also das Verstehen, das logische Schlussfolgern, das muss man selbst machen.
Ich will es aber auch nicht so darstellen, als wären Debugger per se schlecht oder als ob man sie nie benutzen sollte. Das wäre unseriös, und das wäre auch falsch. Es gibt durchaus Situationen, in denen ein Debugger legitim und sinnvoll ist. Zum Beispiel beim Verstehen von fremdem Code, den man noch gar nicht kennt. Man steigt in ein neues Projekt ein, und da kann ein Debugger natürlich helfen, schnell einen Überblick zu bekommen, im Sinne von:
„Ah, diese Funktion ruft jene auf, die ruft wiederum diese andere auf.“
Oder bei sehr komplexen Objektgraphen, die man visualisieren möchte. Wenn man eine verschachtelte Datenstruktur hat, die man sich in einer schönen Baumansicht anschauen will, ist ein Debugger praktisch. Aber auch hier gilt: Der Debugger ersetzt nicht das Denken. Er ist ein Hilfsmittel, mehr nicht. Es geht mir also, um das noch einmal zu betonen, nicht darum, Debugger an sich zu verteufeln. Sondern es geht mir darum, zu sagen: Bloß weil jemand keinen Debugger verwendet, macht das sie oder ihn nicht zu einem schlechten Developer. Unter Umständen bewirkt es das genaue Gegenteil.
Die Methodik macht den Unterschied
Das heißt: Nicht das Tool macht gute Developer aus, sondern die Methodik macht es. Systematisches Eingrenzen, logisches Denken, die Fähigkeit, eine Kausalkette nachzuvollziehen – das sind die Fähigkeiten, die zählen. Nur weil jemand keinen Debugger benutzt, ist sie oder er nicht schlecht oder falsch aufgehoben in der Entwicklung. Im Gegenteil: Wer ohne Debugger auskommt, hat oft die bessere Methodik, weil sie oder er sich nicht auf ein Tool verlässt, sondern auf das eigene Denken.
Mein Rat daher: Probieren Sie es einmal aus. Versuchen Sie beim nächsten Problem einmal, bewusst ohne Debugger auszukommen. Setzen Sie bewusst console.log oder fmt.Println ein, grenzen Sie systematisch ein und denken Sie nach. Stellen Sie sich die Frage: Was könnte die Ursache sein? Wie kann ich das überprüfen? Was schließe ich damit aus? Das wird vermutlich anstrengend, weil man es vielleicht nicht so geübt ist, so zu arbeiten. Je öfter man das macht, desto überraschter wird man aber sein, wie gut das funktioniert. Und irgendwann wird man merken, dass man auf einmal viel bewusster über seinen Code nachdenkt.
(rme)
Künstliche Intelligenz
So schädlich? Erster Kinder-Prozess gegen Facebook und YouTube läuft in LA an
Wie viel Schuld tragen die Betreiber Sozialer Netze am Leid von Kindern und deren Umfeld? Bauen sie absichtlich Funktionen ein, die Kinder süchtig machen? Welche Verantwortung tragen sie für die Auswahl der Kindern vorgesetzten Inhalte? Solche Fragen sollen Gerichte und Geschworene in den USA entscheiden. Über tausend Klagen sind anhängig, meist von Kindern, deren (hinterbliebenen) Eltern oder Schulverwaltungen. Zudem führt die Mehrheit der US-Staaten Klage. Beklagt sind regelmäßig Alphabet/Google/YouTube, Bytedance/TikTok, Meta Platforms/Facebook/Instagram und Snapchat-Betreiber Snap. In Kalifornien tritt jetzt ein erster Prozess in die Gerichtssaalphase ein.
Weiterlesen nach der Anzeige
Alphabet samt Google und YouTube sowie Facebook müssen sich den Vorwürfen einer als K.G.M. bezeichneten 19-Jährigen stellen. Snap und TikTok haben sich durch Vergleiche aus der Affäre gezogen. Wie viel sie dafür zahlen und ob sie Änderungen versprochen haben, ist streng geheim. Schließlich wollen sie nicht, dass sich das herumspricht, denn es sind ja noch über tausend weitere Klagen anhängig.
Durch ihre Vergleiche haben sich Snapchat und TikTok einen Vorteil verschafft: Sie können zuschauen, wie sich YouTube und Facebook vor Gericht schlagen, und beobachten, was bei den Geschworenen gut ankommt und was nicht. Gleichzeitig können sie auf Äußerungen verzichten, die ihnen sonst in einem späteren Verfahren vorgehalten werden könnten.
Testfall KGM
Erkenntnisgewinn ist ganz offiziell der Zweck dieses ersten Prozesses. Weil so viele Klagen anhängig sind, werden sie gebündelt. Bei Bundesgerichten nennt sich das MDL (Multi-District Litigation), bei kalifornischen Gerichten JCCP (Judicial Council Coordination Proceedings). Ausgewählt wurde dort der Superior Court des County Los Angeles, der zahlreiche Klagen in einer Akte zusammenfasst: Im Gerichtsenglisch heißt sie Christina Arlington Smith individually and as successor-interest to Lalani Walton, deceased, et al v Tiktok et al (Az. 22STCV 2135, JCCP5255). „et al“ ist eine lateinische Abkürzung und steht auf beiden Seiten für „und andere“.
Dass alle Klagen irgendwann im Gerichtssaal verhandelt werden, ist ausgeschlossen. Bis dahin wären viele der Kinder in Pension. Das Gericht in LA hat aus den vielen tragischen Fällen drei unterschiedliche für echte Verhandlungen vor Geschworenen ausgewählt: KGM, RKC und Moore. An diesen Urteilen sollen sich später die Vergleichsverhandlungen der vielen anderen Klagen orientieren. Für die beklagten Datenkonzerne steht in den drei Prozessen also viel auf dem Spiel. Die Auswahl der Geschworenen in Los Angeles hat am Dienstag begonnen und wird mindestens bis Donnerstag dauern.
KGM gibt an, seit dem Alter von sechs Jahren YouTube zu nutzen, seit dem Alter von elf Jahren Instagram. Sie wirft den Betreibern vor, ihr schwere psychologische Schäden zugefügt zu haben, insbesondere durch Merkmale wie endlose Webseiten (infinite scroll) und automatisch ablaufende Videos (autoplay). Die Folgen seien Angstzustände, Depressionen, Selbstschädigungen und Suizidalität.
Weiterlesen nach der Anzeige
Plattformen sollen sich bessern
Nicht nur fordert sie für sich und ihre Familie Schadenersatz und Strafschadenersatz, der die Sozialen Netze zu Änderungen drängen soll, sondern auch prominente Warnungen auf den Plattformen selbst. Diese sollen die Eltern der Kinder ansprechen. KGMs Mutter hat ausgesagt, dass sie bei entsprechender Warnung die Nutzung durch ihre Tochter eingeschränkt hätte. Die Beklagten stellen die Vorwürfe in Abrede. Tatsächlich würden sie besonderes Augenmerk auf Kinderschutz legen und zahlreiche Maßnahmen ergreifen.
Die Datenkonzerne haben vergeblich versucht, KGMs Klage im Keim zu ersticken. Die Mutter habe die Nutzungsbedingungen gar nicht gelesen, lautete ein Vorbringen; sie hätte die verlangten Warnhinweise also gar nicht wahrgenommen. Natürlich fordert KGM nicht mehr Kleingedrucktes, sondern prominente Einblendungen, die nicht zu übersehen sind. Bytedance meinte (vor dem Vergleich), KGM sei schon vor dem Einstieg in TikTok psychisch geschädigt gewesen.
Ein anderes Argument war, dass für den Leidensweg des Mädchens nicht die Sozialen Netze, sondern schikanierende Mitschüler (Bullies) und Schwierigkeiten in der Familie verantwortlich seien. Und juristisch seien die Klagen ohnehin unzulässig: Tatsächlich verleiht US-Bundesrecht in Section 230 Immunität für Inhalte, die Webseitenbetreiber nicht selbst bereitstellen, sondern die von Dritten gepostet werden (mit Ausnahmen, die hier nichts zur Sache tun). Die erhobenen Vorwürfe stünden allesamt in engem, untrennbarem Zusammenhang mit solchen Inhalten. Nur in bestimmten Fällen haften Betreiber für die Auswahl der Drittinhalte, die sie ihren Nutzern vorsetzen.
No provider or user of an interactive computer service shall be treated as the publisher or speaker of any information provided by another information content provider.
Schwierige Beweisführung
Die Richterin hat jedoch alle Anträge auf schnelle Verfahrenseinstellung abgelehnt: KGM habe genügend Beweise vorgelegt, um zu zeigen, dass die Schädigung durch die Gestaltung der Plattformen eingetreten ist, unabhängig von deren konkreten Inhalten.
Darauf werden sich die Anwälte der jungen Frau wohl konzentrieren. Besonders herausfordernd ist, dass sie nicht bloß die Geschworenen davon überzeugen müssen, dass es wirklich die Funktionen Facebooks und YouTubes waren, die die Mandantin geschädigt haben. Und, wenn möglich, dass die Konzerne von der Schädlichkeit wussten. Die Beweisführung muss zudem darlegen, welche Plattform in welchem Umfang zu welcher Schädigung beigetragen hat.
Hinweis: In Deutschland finden Sie Hilfe und Unterstützung bei Problemen aller Art, auch bei Fragen zu Suizid und Mobbing, bei der telefonseelsorge.de und telefonisch unter 0800 1110111. Die Nummer gegen Kummer (Kinder- und Jugendtelefon) lautet 116 111. In Österreich gibt es ebenfalls kostenfreie Hilfsangebote, darunter speziell für Kinder der Kindernotruf unter 0800 567 567 sowie Rat auf Draht unter 147. Dieselbe Telefonnummer führt in der Schweiz zu Pro Juventute.
(ds)
Künstliche Intelligenz
Adobe Photoshop: neue Einstellungsebenen und erweiterte KI-Werkzeuge
Adobe hat neue Funktionen für die Bildbearbeitung Photoshop vorgestellt. Im Mittelpunkt stehen neue Einstellungsebenen, überarbeitete KI-Werkzeuge und ein neues Textwerkzeug im Testbetrieb.
Weiterlesen nach der Anzeige
Neue Einstellungsebenen
Erstmals seit langer Zeit integriert Adobe einen neuen Satz Einstellungsebenen in Photoshop. Die aus Lightroom bekannten Regler für „Klarheit“, „Dunst entfernen“ und „Korn“ lassen sich künftig auf diese Weise nicht-destruktiv anwenden und mit Ebenenmasken kombinieren.
Klarheit verstärkt lokale Kontraste und betont Strukturen, ohne das gesamte Bild zu schärfen. „Dunst entfernen“ greift in Kontrast und Farbstimmung ein, um neblige oder flache Aufnahmen klarer wirken zu lassen. Korn verleiht Bildern mehr Struktur und reduziert digitale Glätte. Intensität, Größe und Charakter des digitalen Filmkorns können eingestellt werden.
Überarbeitete KI-Werkzeuge
Zu den KI-Funktionen rund um Adobe Firefly zählen „Generatives Füllen“, „Generatives Erweitern“ und das Entfernen-Werkzeug. Aktualisierte Modelle erzeugen 2K-Auflösung und sollen mehr Details liefern.
Weiterlesen nach der Anzeige
Nach Angaben von Adobe setzen die Werkzeuge Texteingaben zuverlässiger um und erzeugen sauberere Übergänge zwischen bestehenden und berechneten Bildteilen als zuvor. Beleuchtung und Bildtiefe sollen natürlicher wirken. Beim Retuschieren verspricht der Hersteller weniger Artefakte und gleichmäßigere Flächen.
Beim Generativen Füllen mit Referenzbildern kann Photoshop laut Adobe künftig nicht nur Stil, Farben oder Anmutung übernehmen, sondern auch konkrete Objekte aus einer Vorlage berücksichtigen. Das Programm erkenne Geometrie und Perspektive und passe eingefügte Inhalte an Größe, Licht, Farbe und Blickwinkel der Zielszene an. Adobe will damit Brüche vermeiden, bei denen eingefügte Elemente nicht zur Umgebung passen.

Adobe Firefly soll künftig Objekte in Referenzbildern erkennen und in bestehende Szenen montieren können.
(Bild: Adobe)
Dynamischer Text (Beta)
Bisher nur im Testbetrieb veröffentlicht Adobe dynamischen Text. Damit lassen sich Textebenen per Klick biegen, krümmen oder kreisförmig anordnen. Photoshop passt Textgröße und Verlauf ohne Umwege über Pfade automatisch an eine gewählte Form an.

Vorerst in Beta-Status veröffentlicht Adobe ein Tool, das Text an Kurven entlang fließen lässt.
(Bild: Adobe)
Verfügbarkeit
Die neuen Einstellungsebenen und die überarbeiteten KI-Werkzeuge stehen laut Adobe ab sofort in der Desktop-Version von Photoshop bereit. Die verbesserten Funktionen für Generatives Füllen, Generatives Erweitern und Entfernen sollen auch in der Web-App von Photoshop verfügbar sein. Der dynamische Text startet zunächst als Beta-Funktion.
(akr)
Künstliche Intelligenz
Sicherheit zuerst: Schwarz-Rot will Transparenzpflichten bei Kritis einschränken
Nach dem folgenschweren Anschlag auf die Berliner Strominfrastruktur Anfang Januar will die Politik aufrüsten. Die Koalitionsfraktionen von CDU/CSU und SPD haben das neue Dachgesetz zum Schutz kritischer Infrastrukturen (Kritis) finalisiert. Der nun geleakte Änderungsantrag zum Regierungsentwurf verdeutlicht, dass die Resilienz der Bundesrepublik künftig nicht mehr nur eine Frage der IT-Sicherheit, sondern eine umfassende nationale Sicherheitsaufgabe sein soll.
Weiterlesen nach der Anzeige
Eine der Neuheiten betrifft die Machtbefugnisse der Bundesländer. Diese erhalten künftig eine deutlich größere Flexibilität bei der Identifizierung kritischer Anlagen. Während bisher oft starre Schwellenwerte – etwa die Versorgung von mindestens 500.000 Menschen – ausschlaggebend waren, dürfen die Länder diese Grenzen jetzt eigenständig absenken. Damit könnten auch kleinere, aber regional systemrelevante Einrichtungen unter den besonderen gesetzlichen Schutz gestellt werden, wenn sie vollständig in der Zuständigkeit des jeweiligen Landes liegen. Das Bundesinnenministerium soll dazu schnell eine Rechtsverordnung erarbeiten, die die genauen Kriterien und Verfahren festlegt.
Parallel werden die Fraktionen einen Entschließungsantrag einbringen, der eine Kehrtwende in der Informationspolitik markiert. Sie fordern die Bundesregierung auf, Transparenzpflichten drastisch einzuschränken. Heikel ist die Forderung, bereits öffentlich zugängliche Infrastrukturinformationen zu überprüfen und gegebenenfalls konsequent aus dem Internet zu entfernen. Hintergrund ist der Verdacht, dass die Attentäter von Berlin öffentlich verfügbare Lagepläne für ihre Sabotageplanung nutzen konnten. Schwarz-Rot will daher sicherstellen, dass sensible Daten über Leitungsverläufe oder Kraftwerksknoten künftig Terroristen nicht mehr zur Verfügung stehen. Der Vorstoß soll auch die europäische Ebene einbeziehen, um EU-weite Transparenzvorgaben, etwa im Energierecht, zu revidieren.
Transparenz soll abgewogen werden
Die Koalition will im Gesetz verankern, dass Sicherheit Vorrang gegenüber anderen Belangen wie dem Planungs- oder Umweltrecht bekommt. Behörden und Betreiber werden dazu angehalten, bestehende Ausnahmeregelungen von Veröffentlichungspflichten konsequent zu nutzen. Um die technische Überwachung zu verbessern, müssen Betreiber dem Bundesamt für Sicherheit in der Informationstechnik (BSI) künftig detailliert melden, welche Typen kritischer Komponenten sie verbauen – inklusive der konkreten Versionsnummern. Diese Informationen sollen exklusiv ans BSI fließen, um bei Sicherheitslücken gezielte Warnungen aussprechen zu können.
Auch die operative Zusammenarbeit zwischen Staat und Wirtschaft wird neu geregelt. Das Bundesamt für Bevölkerungsschutz und Katastrophenhilfe (BBK) wird verpflichtet, eingegangene Vorfallsmeldungen von Betreibern unverzüglich zu bestätigen und diese mit sachdienlichen Folgeinformationen oder Leitlinien zur Resilienzstärkung zu unterstützen. Zudem soll das BBK regelmäßige Lagebilder zur Gesamtsituation der kritischen Infrastruktur erstellen und diese den Betreibern und Behörden zur Verfügung stellen. Damit reagiert die Politik auf die Kritik, dass Unternehmen im Krisenfall oft zu wenig Rückmeldung von staatlicher Seite erhielten.
„Keine wesentlichen Verbesserungen“
Weiterlesen nach der Anzeige
Die schwarz-rote Koalition will die Bestimmungen auch stärker sanktionieren. Der Änderungsantrag etwa sieht eine Erhöhung der Bußgelder vor. Diese können bei schweren Verstößen gegen Melde- oder Registrierungspflichten bis zu einer Million Euro betragen. Um sicherzustellen, dass die neuen Regelungen greifen, wurde die erste Evaluierung des Gesetzes von fünf auf zwei Jahre nach Inkrafttreten vorgezogen.
Manuel Atug von der AG Kritis sieht trotzdem keine wesentlichen Verbesserungen. „Transparenzpflichten sind in einer Demokratie wesentlich und schützen gegen Unfälle“, sagte er. Zudem müssten alle kritischen Infrastrukturen auch im Staat und in der Verwaltung erfasst werden. Doch die Koalition will offenbar auf das Prinzip „Sicherheit vor Sichtbarkeit“ setzen.
Der Bundestag soll den überarbeiteten Gesetzentwurf am Donnerstag beschließen. Abschmettern dürfte Schwarz-Rot dabei zugleich einen Antrag der oppositionellen Grünen. Sie plädieren darin „für einen ganzheitlichen Schutz unserer kritischen Infrastruktur“.
(wpl)
-
Entwicklung & Codevor 2 MonatenKommandozeile adé: Praktische, grafische Git-Verwaltung für den Mac
-
Künstliche Intelligenzvor 4 WochenSchnelles Boot statt Bus und Bahn: Was sich von London und New York lernen lässt
-
Entwicklung & Codevor 2 MonatenKommentar: Anthropic verschenkt MCP – mit fragwürdigen Hintertüren
-
Apps & Mobile Entwicklungvor 2 MonatenFast 5 GB pro mm²: Sandisk und Kioxia kommen mit höchster Bitdichte zum ISSCC
-
Apps & Mobile Entwicklungvor 2 MonatenHuawei Mate 80 Pro Max: Tandem-OLED mit 8.000 cd/m² für das Flaggschiff-Smartphone
-
Social Mediavor 1 MonatDie meistgehörten Gastfolgen 2025 im Feed & Fudder Podcast – Social Media, Recruiting und Karriere-Insights
-
Künstliche Intelligenzvor 3 MonatenWeiter billig Tanken und Heizen: Koalition will CO₂-Preis für 2027 nicht erhöhen
-
Datenschutz & Sicherheitvor 2 MonatenSyncthing‑Fork unter fremder Kontrolle? Community schluckt das nicht
