Connect with us

Künstliche Intelligenz

Bundesnetzagentur: Kosten für Stromnetze seit 2015 verdoppelt


Damit der Windstrom von der Küste bis in die Industrieregionen im Westen und Süden Deutschlands und bundesweit bis zu den Verbrauchern kommt, sind starke Netze nötig. Das ist eine teure Sache.

Die Kosten für Deutschlands Stromnetze haben sich binnen zehn Jahren mehr als verdoppelt. Wie aus Zahlen der Bundesnetzagentur hervorgeht, betragen die von den Verbrauchern und Unternehmen zu zahlenden Netzentgelte in diesem Jahr 33 Milliarden Euro. 2015 waren es nur 15,9 Milliarden Euro.

Die Zahlen der Bundesnetzagentur spiegeln den größten Teil der deutschen Stromnetzbetreiber wider. Kleinere Betreiber, für die die Netzagentur nicht zuständig ist und die nur eine Nebenrolle spielen, sind bei den Zahlen nicht inbegriffen.

Grund für den Anstieg ist die Energiewende – der Anteil erneuerbaren Energien bei der Stromerzeugung steigt, weswegen das Stromnetz und dessen Steuerung aufwendig umgebaut werden muss. Diese Kosten tragen die Stromkunden, also die Verbraucher und Firmen.

Ein durchschnittlicher Haushaltskunde zahlte im Jahr 2015 noch ein Netzentgelt von 6,59 Cent pro Kilowattstunde Strom, im vergangenen Jahr waren es 11,62 Cent.

Das BSW hatte die Zahlen bei der Bundesnetzagentur angefragt. Die Parteivorsitzende Sahra Wagenknecht nannte den starken Anstieg der Netzkosten „inakzeptabel“, sie wertete dies als „Versagen der Energiepolitik“. Es sei hausgemacht, dass Deutschland weltweit mit die höchsten Strompreise habe.

Die Bundesregierung müsse nicht nur die versprochene Entlastung bei der Stromsteuer liefern, sondern auch die Abzocke bei den Netzentgelten beenden, andernfalls werden die Strompreise nicht signifikant sinken, so Wagenknecht. „Die Netzentgelte sollten für die Verbraucher weitestgehend abgeschafft werden, die öffentliche Hand sollte die Netze übernehmen.“


(vbr)



Source link

Künstliche Intelligenz

Analyse: Das wahre Wasserproblem Deutschlands und welche Maßnahmen nötig sind


Sauberes Trinkwasser sprudelt hierzulande wie selbstverständlich aus dem Hahn. Und das soll auch so bleiben. Es wäre falsch zu behaupten, dass Wasser flächendeckend knapp ist in Deutschland. Doch steigende Temperaturen, Dürren und extreme Wetterereignisse bedrohen unsere Talsperren und Grundwasserreserven auf vielfältige Weise.

Laut Deutschem Wetterdienst war es hierzulande seit 1931 noch nie so trocken wie 2025 von Anfang Februar bis Mitte April. Da stellt sich durchaus die Frage, ob das mit dem Trinkwasser auch weiterhin so reibungslos klappt.

  • Wasser ist in Deutschland nicht knapp. Der Klimawandel und Stoffeinträge fordern aber eine Wasserwende.
  • Beginnender Grundwasserstress und saisonale Extreme erfordern eine intelligentere Infrastruktur, z. B. Speicher und Schwammstadt-Konzepte.
  • Wälder spielen eine Schlüsselrolle für die Wasserqualität, doch Waldsterben verschärft die Probleme; klimaresiliente Aufforstung ist ein zentraler Lösungsansatz.
  • Chemische Belastungen von Gewässern, insbesondere durch Nitrat und langlebige Schadstoffe (PFAS), treiben die Kosten der Trinkwasseraufbereitung massiv in die Höhe.
  • Politisches Handeln, wie das Verursacherprinzip und nachhaltige Managementstrategien, sind essenziell, um Wasserqualität und -verfügbarkeit zu sichern.

Der Artikel erklärt die direkten und indirekten Gefahren für unser Trinkwasser und zeigt auf, welche Lösungsansätze es gibt, um die Versorgung in Quantität und Qualität auch für zukünftige Generationen zu sichern.


Das war die Leseprobe unseres heise-Plus-Artikels „Analyse: Das wahre Wasserproblem Deutschlands und welche Maßnahmen nötig sind“.
Mit einem heise-Plus-Abo können Sie den ganzen Artikel lesen.



Source link

Weiterlesen

Künstliche Intelligenz

c’t-Webinar: Gamified Hacking – Lernen durch Spielen


Ihre Aufgabe führt Sie direkt in eine digitale Gruft. Mit Kali Linux und einer Portion Neugier jagen Sie versteckte Flaggen und treten am Ende gegen den Necromancer an. Hinter der Spielkulisse steckt ein intensives Hacking-Rätsel in einem abgeschotteten Netzwerk.

Im Webinar „Die Necromancer-Challenge“ führt c’t-Redakteur Wilhelm Drehling durch diese besondere CTF-Challenge (Capture The Flag).

Drehling hackt sich im Webinar durch alle elf Level. Um zum Ziel zu gelangen, greift er auf unterschiedliche Hacking-Tools zurück: Er klopft Server mit nmap ab, knackt Passwörter mit Hydra und analysiert den Netzwerkverkehr mit Wireshark. Dabei verzichtet er bewusst auf Fachchinesisch und trockene CVE-Tabellen. Sie gewinnen ein Gefühl dafür, wie man eine solche CTF-Challenge systematisch angeht und erfahren, wie Sie ein eigenes sicheres Hacking-Netzwerk aufsetzen.

Während des Webinars sollten Sie sich zunächst auf das Geschehen am Bildschirm konzentrieren und erst später selbst aktiv werden. Als Teilnehmer erhalten Sie Zugriff auf die Aufzeichnung sowie die begleitenden c’t-Artikel, um das Gelernte im eigenen Tempo nachzuvollziehen.

Das c’t-Webinar richtet sich an alle Menschen, die sich fürs Hacken interessieren, egal ob Anfänger oder mit Vorkenntnissen. Sie entwickeln ein Gespür für Angriffsmethoden und lernen, Schwachstellen zu identifizieren. Wilhelm Drehling gibt zudem wertvolle Tipps zu Lernplattformen, Kali-Alternativen und hilfreichen Tools. Allgemeine Verständnisfragen können Sie jederzeit im Chat stellen.

  • Datum: 16. September 2025
  • Uhrzeit: 15:00 bis 18:00 Uhr
  • Preis: 69,00 Euro

Zur Teilnahme benötigen Sie lediglich einen aktuellen Browser. Alle weiteren Informationen sowie Details zur Anmeldung finden Sie auf der Webseite von heise academy.


(abr)



Source link

Weiterlesen

Künstliche Intelligenz

Contracts in C++26: Evaluations-Semantik | heise online


Nachdem ich in meinem letzten Artikel Contracts in C++26: Ein tiefer Einblick in die Verträge kurz die Details von Contracts vorgestellt habe, möchte ich mich nun näher mit der sehr interessanten Evaluations-Semantik befassen.


Rainer Grimm

Rainer Grimm

Rainer Grimm ist seit vielen Jahren als Softwarearchitekt, Team- und Schulungsleiter tätig. Er schreibt gerne Artikel zu den Programmiersprachen C++, Python und Haskell, spricht aber auch gerne und häufig auf Fachkonferenzen. Auf seinem Blog Modernes C++ beschäftigt er sich intensiv mit seiner Leidenschaft C++.

Wenn eine Contracts Assertion auftritt, wird eine der vier Bewertungssemantiken angewendet: ignore, observe, enforce und quick-enforce. Die Tabelle gibt einen Überblick über die vier Semantiken:



(Bild: Rainer Grimm)

Leider ist es derzeit nicht möglich, diese Evaluations-Semantiken in vollem Umfang zu sehen.

Während die Checking-Semantik die Vertrags-Assertion nur auswertet, beendet die Terminating-Semantik auch das Programm.

Eine standardkonforme Implementierung muss nicht jede der vier genannten Evaluations-Semantiken implementieren. Sie kann auch ihre eigene Semantik anbieten.

Wie der Name schon sagt, ignoriert die ignore-Semantik die Auswertung des Prädikats. Dennoch muss das Prädikat syntaktisch korrekt sein.

Die observe-Semantik ist eine Checking-Semantik. Im Allgemeinen können drei Bedingungen zu einer Vertragsverletzung führen:

  • Die Auswertung des Prädikats gibt false zurück.
  • Die Auswertung des Prädikats verursacht eine Exception.
  • Die Auswertung des Prädikats erfolgt zur Compile-Zeit, aber das Prädikat ist kein konstanter Ausdruck.

Wenn zur Compile-Zeit eine Vertragsverletzung auftritt, wird eine Diagnose ausgegeben und die Kompilierung fortgesetzt.

Wenn eine Vertragsverletzung zur Laufzeit auftritt, wird der Vertragsverletzungs-Handler aufgerufen, der auf ein Objekt vom Datentyp const std::contracts::contract_violation verweist, das Informationen über die Vertragsverletzung enthält. Wenn der Vertragsverletzungs-Handler normal zurückkehrt, wird die Programmausführung fortgesetzt.

Die enforce-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit auf. Das Programm wird beendet, wenn der Contract-Violation-Handler normal zurückkehrt. Die enforce-Semantik ist eine sogenannte terminierende Semantik. Das bedeutet, dass im Falle einer Vertragsverletzung die Programmausführung beendet wird. Danach kann eine der folgenden Aktionen erfolgen:

  • Aufruf von std::terminate,
  • Aufruf von std::abort oder
  • sofortige Beendigung der Ausführung.

Zur Compile-Zeit wird die Kompilierung abgebrochen.

Die quick-enforce-Semantik ruft den Vertragsverletzungs-Handler zur Laufzeit nicht auf. Als terminierende Semantik beendet sie das Programm sofort. In diesem Fall wird beispielsweise __builtin_trap() verwendet.

Zur Compile-Zeit wird die Kompilierung abgebrochen.

Der Vertragsverletzungs-Handler hat folgende Signatur:

void handle_contract_violation( std::contracts::contract_violation );

Die Implementierung stellt den Standard-Vertragsverletzungs-Handler bereit. Sie kann jedoch auch zulassen, dass dieser Standard-Vertragsverletzungs-Handler durch einen benutzerdefinierten ersetzt wird.

In seiner ausgezeichneten Präsentation Contracts for C++ auf der ACCU 2025 stellt Timur Doumler einige spannende Beispiele für benutzerdefinierte Vertragsverletzungshandler vor:


// Protokollierung
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    LOG(std::format("Contract violated at: {}\n", violation.location()));   
}

// Setze einen Haltepunkt
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::breakpoint();
}

// Warte, bis ein Debugger angeschlossen ist
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    
while (!std::is_debugger_present())
     /* spin */

    std::breakpoint();
}

// Stacktrace ausgeben
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::cout << std::stacktrace::current(1);
}

// An den Standard-Handler für Vertragsverletzungen übergeben
  
void handle_contract_violation( std::contracts::contract_violation violation ) {
    std::cout << std::stacktrace::current(1);
    std::contracts::invoke_default_contract_violation_handler(violation);
}


Abschließend möchte ich die Schnittstelle des Objekts std::contracts::contract_violation vorstellen, das der Vertragsverletzungs-Handler empfängt:

  • kind gibt die Art der Vertragsverletzung zurück.
  • semantic gibt die Evaluations-Semantik zurück, wenn die Vertragsverletzung auftritt.
  • is_terminating gibt zurück, ob die Evaluations-Semantik beendet wird.
  • detection_mode gibt den Grund für die Vertragsverletzung zurück.
  • evaluation_exception gibt einen std::exception_ptrzur zur Ausnahme zurück, die bei der Prädikatbewertung ausgelöst wurde.
  • comment gibt eine erklärende Zeichenfolge zur Vertragsverletzung zurück.
  • location gibt einen std::source_location zurück, der den Ort der Vertragsverletzung angibt.

Weitere Informationen zum std::contracts::contract_violation-Objekt finden sich auf der cppreference-Seite.

In meinem nächsten Artikel werde ich mich auf die kleineren Features in C++26 konzentrieren. Ich beginne mit den kleinen Sicherheits-Features in der Kernsprache.


(rme)



Source link

Weiterlesen

Beliebt