A PHP Error was encountered

Severity: 8192

Message: strlen(): Passing null to parameter #1 ($string) of type string is deprecated

Filename: libraries/Session.php

Line Number: 309

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: substr(): Passing null to parameter #1 ($string) of type string is deprecated

Filename: libraries/Session.php

Line Number: 309

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: strlen(): Passing null to parameter #1 ($string) of type string is deprecated

Filename: libraries/Session.php

Line Number: 311

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: 8192

Message: substr(): Passing null to parameter #1 ($string) of type string is deprecated

Filename: libraries/Session.php

Line Number: 311

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 827

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 173
Function: _ci_load_library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 192
Function: library

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 153
Function: libraries

File: /home/admin/domains/yubnub.news/public_html/application/third_party/MX/Loader.php
Line: 65
Function: initialize

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 23
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 899
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 899
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 899
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 899
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/helpers/dbcnewspilot_helper.php
Line: 906
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 29
Function: cache_category_counts

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: libraries/Session.php

Line Number: 1341

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 33
Function: set_userdata

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show.php
Line: 17
Function: __construct

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

A PHP Error was encountered

Severity: Warning

Message: Cannot modify header information - headers already sent by (output started at /home/admin/domains/yubnub.news/public_html/system/core/Exceptions.php:272)

Filename: models/News_model_core.php

Line Number: 211

Backtrace:

File: /home/admin/domains/yubnub.news/public_html/application/modules/admin/models/News_model_core.php
Line: 211
Function: setcookie

File: /home/admin/domains/yubnub.news/public_html/application/modules/show/controllers/Show_core.php
Line: 116
Function: inc_view_count_by_id

File: /home/admin/domains/yubnub.news/public_html/index.php
Line: 304
Function: require_once

YubNub News | Germany falling: Europe’s problems become America’s problems

Germany falling: Europe’s problems become America’s problems

Germany falling: Europe’s problems become America’s problems

The “Kissinger question” may never have been asked. The popular story goes that when Henry Kissinger was secretary of state, he was frustrated by the poor coordination between the United States’s European allies and asked, “Who do I call if I want to speak to Europe?” No one can recall Kissinger saying this, including Kissinger himself, though he did allow in 2021 that it was “a good line.” What’s more, his late aide Peter Rodman said that Kissinger disagreed with the premise. Rather than speak to the ornamental president of what was then the European Economic Community, Kissinger preferred to divide and rule by dealing with national leaders.

Whom to call now? There is no question who rules Europe today, at least on paper. Germany is the largest state in the European Union by population. It has the largest national economy in Europe. It has the world’s third-largest economy in nominal GDP and the fifth-largest GDP in purchasing power parity. Germany has decisive control over the euro, which is second only to the U.S. dollar as the world’s preferred reserve currency. In 2019, Germany’s trade surplus ($290 billion) was the highest in the world. In 2021, the value of Germany’s exports (just over $2 trillion) was exceeded only by those of the U.S. (just over $3 trillion) and China ($3.75 trillion).

This is the image of affluence. It should translate into influence abroad, yet Germany struggles to lead Europe, and Europe leads no one. It should create stability at home, yet Germany’s domestic politics are destabilized to the point that the far-right Alternative für Deutschland party is running second in the polls and angry farmers are dumping manure outside government ministries. It should ensure the kind of security coveted by smaller states, yet Germany depends on the U.S. for its energy security and military defense. It should create economic independence, yet Germany’s export-oriented economy is stagnant and caught in a Faustian bargain with China.

German Chancellor Olaf Scholz at a NATO summit in Madrid, June 30, 2022. (Manu Fernandez/AP)

Germany’s problems are Europe’s problems, and Europe’s problems become America’s problems. Weak leadership, sluggish economies, and political turmoil in Europe make for unreliable partners. The Russian invasion of Ukraine has exposed America’s NATO allies as ill-prepared and short of soldiers and equipment. The U.S. cannot manage a pivot to Asia so long as its forces and attention are tied down in Europe.

Europe’s weakness is Germany’s weakness. The major economy that should be an active partner for the U.S. is a strategic liability in need of protection. This, like most of Germany’s problems, is self-inflicted. Its effects, however, will influence the shape of the Western alliance.

A weak Europe

Europe is militarily weak by choice. It is politically weak by design. The sources of European military weakness are obvious. The sources of Europe’s political weakness are complex. Germany has been crucial in creating both, and only Germany can fix them.

After 1945, American defense guarantees allowed Western European governments to build up their welfare systems at the expense of their militaries. In 2014, the year Russia annexed Crimea, NATO members committed to spend at least 2% of their GDP on defense, with 20% of their spending on new equipment. NATO also formed a rapid reaction force in response to Russia’s aggression. At its initial exercise in September 2014, the German component was missing 31% of its machine guns, 41% of its handguns, and more than 75% of its night-vision gear. Soldiers painted broomsticks black and mounted them on armored vehicles to simulate gun barrels.

By 2016, the year that then-President Barack Obama criticized NATO’s “free riders,” only four European states, Estonia, Greece, Poland, and the United Kingdom, met the 2% target, and only two, the U.K. and Poland, met the new equipment target.

In 2017, then-President Donald Trump, who had called NATO “obsolete” in his 2016 campaign, repeated Obama’s demand at higher volume. German Foreign Minister Sigmar Gabriel declared the 2% target was “neither reachable nor desirable.” That year, Germany’s defense spending was $42.21 billion, or 1.15% of GDP. The domestic budget surplus was $44.91 billion. 

German soldiers at a training range north of Vilnius, Lithuania, June 7, 2022. (Mindaugas Kulbis/AP)

In February 2022, following the Russian invasion of Ukraine, German Chancellor Olaf Scholz declared a Zeitenwende, a historic “turning point” in Germany’s defense policy and spending. Scholz announced a Special Fund of 100 billion euros that would allow Germany to meet and exceed the NATO spending goal and become a “reliable and capable partner.” In July 2023, NATO reported that 10 members were now spending 2% or more of their GDP on defense. Germany was not among them.

Scholz’s government claims that its 2024 defense budget (51.8 billion euros) means that Germany will finally meet the 2% threshold this year. An analysis by the German Council on Foreign Relations differed. The government’s total defense expenditure for 2024 is 78 billion euros. The report’s authors allow that this proves that the government “intends to uphold its promise.” But 2% of 2024’s GDP is “about 85 billion euros,” so the defense budget is about 10% short of its target. Once the Special Fund runs out in 2026, total defense spending will “drop massively,” leading to “an absurd funding gap of 30 billion euros” in 2027.

This year, German troops will join the NATO garrison in Lithuania for a three-year tour of duty. This is the first permanent foreign deployment of German ground forces since 1945. The symbolism counts, but symbols only count for so much. Historically, relations between Russia and Germany have shaped the map of Europe far more than relations between France and Germany. The invasion of Ukraine has revived the old Russo-German tension. The Eastern European nations on NATO’s eastern flank are not just threatened by Russian aggression. Nations such as Poland have not forgotten that a Russo-German balance of power involves a carve-up of the territories in between.

A German soldier prepares munitions during an exercise in Grafenwoehr, Germany, July 20, 2022. (AP photo)

Germany’s Russian dilemma is genuine. Geography means that only Germany can lead the EU on this, but Germany cannot rebalance the EU’s eastern front without American help. Even if German defense spending exceeds 2% of GDP for a decade, it will not reduce NATO’s dependency on the U.S. Between 2014 and 2023, U.S. defense expenditure grew from $660 billion to $743 billion. The combined defense expenditures of NATO’s members grew from $250 billion to $356 billion. In 2014, the other states’ expenditure was equivalent to 41% of American expenditure. By 2023, it was 47%. The U.S. is still spending more than twice as much on defense as the other 30 NATO members combined.

Germany’s military weakness began as an ethical obligation, a condition of rejoining the community of nations after 1945. After 1990, military weakness became a strategic choice, in Europe and beyond. Germany might once again dominate Europe’s economy and politics, but Britain and France were Europe’s militaries. This division of powers assuaged any lingering concerns about Germany’s desire to dominate Europe. It also handicapped the development of a coherent European military capable of acting independently of its American protectors. That dependency suited both the U.S. and the Europeans, until it suited neither. Today, German weakness imperils the EU that was designed to contain German strength.

A weaker EU

In 1980, West Germany’s GDP ($853 billion) was just ahead of France’s ($702 billion) and Britain’s ($604 billion). By 2023, the united Germany’s GDP per capita ($4.3 trillion) had outstripped both the U.K.’s ($3.3 trillion) and France’s ($3.05 trillion). 

When the U.K. was an EU member, Britain typically sought to balance French and German ambitions to lead Europe. Brexit has tipped that balance in Germany’s favor. By 2028, Germany’s GDP ($5.45 trillion) is projected to be a full 50% higher than France’s ($3.63 trillion). That kind of economic advantage confers political leverage. Germany, for understandable reasons, remains unwilling to turn it into political dominance. The legacies of Germany’s aggressive past have handicapped the EU’s development. The EU is weak by design. 

When the Maastricht Treaty of 1992 mapped the EU’s development from a trade zone to a monetary union, Germany set the terms. The memory of the 1931 debt crisis that carried the Nazis to power in 1933 led Germany to insist on tight limits to national debt and cross-border fiscal transfers within the eurozone. The European Central Bank, which issued the euro currency in 1999, is not the Federal Reserve. It remains under strict German supervision. Its headquarters are not in the EU’s political center, Brussels, but in Germany’s financial center, Frankfurt am Main.

A German soldier in training in Lithuania, March 7, 2023. (Kay Nietfeld/Picture Alliance via Getty Images)

This has suited Germany, but not the debt-prone states of southern Europe.

When the southern states experienced a sovereign debt crisis in 2009, the EU, lacking a mechanism for fiscal transfer, had to fall back on temporary German loans. Since then, Germany has continued to run a surplus. Debtor states such as Italy and Greece have endured a lost generation of growth. Political radicalism and hostility to Germany and the EU government in Brussels have grown.

That radicalism has been exacerbated by illegal immigration. The immigration crisis of 2015 forced a Zeitenwende, a turning point, among European voters. The sheer number of new arrivals, and their obvious effect on crime statistics, has led the national government to restore the borders that the EU was supposed to consign to history and voters to turn ever further rightward. Germany’s leaders seem unwilling to recognize this change.

In 2015, Chancellor Angela Merkel opened the gates, saying, “Wir schaffen das” (“We can handle this”). The public disagreed, and the AfD began its march from the fringe to the people’s preferred opposition party. More recently, Scholz’s government has pressed the EU’s eastern states to take in a proportional share of migrants. The AfD now talks of enforcing mass “remigration.”

“The borders must be closed. Illegal immigrants must be rejected,” Alice Weidel, the AfD’s leader, said in January. “Anyone who stays here without authorization must be deported. Criminals, terrorists, and social fraudsters who have been illegally naturalized must hand over their German passports again. This is what we mean by remigration.”

The euro is strong because Germany backs it. But the EU will be politically weak so long as Germany is wary of a powerful European Central Bank that can regulate fiscal transfers within the eurozone. The same historical ambivalence runs through Germany’s military policy. The logic of Germany’s economic success should turn Germany’s military into Europe’s military, but Germany’s political class does not want to do it. The EU will become politically unmanageable if Germany does not lead the way in controlling immigration, but Germany’s leaders don’t want to do that, either.

Energy errors

The home of the Romantic cult of nature, Germany pioneered Europe’s environmental politics. Germany’s Energiewende (“energy transition”) has been decades in the making. As with immigration, German energy policy was consistent from Gerhard Schröder’s center-left government (1998-2005) through Merkel’s center-right government (2005-2021). Schröder committed to the Energiewende. Merkel followed through, accelerating the phase-out of nuclear power stations, closing coal mines, and subsidizing solar and wind energy.

Russian gas became the low-carbon alternative. Schröder joined the board of the Russian gas company Rosneft and became the chairman of Nord Stream, which managed the Nord Stream 1 and 2 gas pipelines. The Russian invasion of Ukraine exposed Germany’s dependence on Russian gas and Schröder’s lobbying in particular. In September 2022, the gas lines were sabotaged, releasing massive quantities of methane and causing an overnight energy crisis for Germany. The authors of Europe’s worst environmental disaster since the meltdown of the Chernobyl reactor remain unknown.

The German energy crisis of 2022 made headlines. Its resolution seems to have attracted less attention. To keep the lights on through the winter of 2022, Scholz’s government extended licenses for Germany’s last three nuclear reactors, allowed the reopening of coal plants, and told consumers to turn down their thermostats. Resisting political pressure from allies, Germany gradually phased out its imports of Russian gas from 55% of gas imports in 2021 to 25% by June 2022, switching to gas from Norway and liquified natural gas from the Netherlands and Belgium. The German public monitored the levels in Germany’s gas storage facilities as they had previously followed the COVID-19 death rate.

The lights stayed on. Scholz, whose three-party coalition includes the Greens, has committed to building new LNG terminals and pushed through drilling for gas in the North Sea but also to accelerating Germany’s transition to renewable energy sources. The planned closure of Germany’s last coal mines has been pushed back from 2030 to 2038, but in April 2023, the last three nuclear power stations were switched off. In 2022, 44.6% of Germany’s electricity consumption was powered by renewables. The goal is to raise that figure to 80% by 2030.

This clean air and clean conscience come at a price. The consumer pays it through taxes. Germany’s energy market has some of Europe’s lowest retail prices but some of Europe’s highest consumer prices. These levies are part of the regulatory expansion that aims to make Germany a net-zero economy by 2045. The EU, which has launched a European Green Deal, purports to get there by 2050.

Enter the angry farmers of Europe. The EU’s Net-Zero Industry Act intends to cut emissions of “greenhouse gases” by 90%. The agricultural sector was expected to reduce its emissions by 30%. In early February, protests by farmers across the continent forced Brussels to abandon its plans to enforce the halving of pesticide use and sharp reductions in nitrogen and methane emissions. The EU’s leaders have also stopped exhorting their citizens to eat less meat, at least until after the European Parliament elections in June.

The long-term goals remain unaltered. Germany is leading Europe’s green transition. Its political class, having only just extracted Germany from dependency on Russian gas, remains determined to push through energy policies that, regardless of whether they save the planet, are sure to harm the German economy. German manufacturers of solar panels struggle to compete with cheap Chinese imports. German carmakers, pushed to electrify their fleets, risk becoming dependent on the Chinese companies that dominate the car battery market. 

CLICK HERE TO READ MORE FROM THE WASHINGTON EXAMINER

The EU’s Net-Zero Industry Act commits EU states to building local green industries. This will make the EU more protectionist and more regulated than it already is. Building the green utopia will add further friction to cross-frontier trade. The U.S. is moving in a similar direction as the global market of the 1990s fragments, but the U.S. economy is not dependent on exporting cars. The German economy is already stalled due to high energy prices, high borrowing costs and inflation, and an incomplete rebound in its exports to China. 

Before 2022, Germany’s global strategy was a three-legged stool. Its energy and industrial policies depended on cheap supplies of Russian gas. Its trade policies focused on selling Mercedes cars and precision machinery to China. Its defense was guaranteed by the U.S. under the aegis of NATO. The Chinese export policy was already wobbling, but the other two legs gave way in 2022. The Zietenweinde’s turn away from Russian gas has become a turn toward high regulation and low growth. That won’t fund Germany’s rearmament. It will, however, leave the U.S. as the guarantor of NATO’s eastern flank in a time of rising tensions in Asia. 

Dominic Green is a columnist for the Washington Examiner and a fellow of the Royal Historical Society. Follow him on Twitter @drdominicgreen.

Read this on Washington Examiner (Opinion) Header Banner
  Contact Us
  • admin@yubnub.news
  Follow Us
  Get newsletter
  About

YubNub! It means FREEDOM! The freedom to enjoy your daily news intake without all the liberal dribble and leftist lunacy!