The Ukraine war is one of contradictions. It was meant to be ultra-modern, Russian-dominated and swift. Instead, it has resorted to warfare in its most base form. Sieges, artillery barrages and many dead.
The Russians have suffered humiliating setbacks, huge losses in men and equipment. But its army is ominously still in the fight, remoulded in the furnace of fighting, with a seemingly inexorable advance in eastern Ukraine.
The past 100 days have featured an intensity of fighting not seen in Europe since 1945. The battle for Kyiv, the siege of Mariupol, the sinking of the Moskva, dead generals and battered cities. And it will inevitably continue, probably for another 100 days or more.
At 5.30am Moscow time on February 24, President Vladimir Putin announced the “special military operation” against Ukraine. Minutes later a barrage of missiles struck targets across the country.
He took an enormous gamble to swiftly unseat the Ukraine government with a “decapitation” operation by seizing Kyiv.
Airborne forces and Spetsnaz special forces attempted a textbook airfield seizure. It was a disaster. Transport helicopters were easy prey to handheld US Stinger missiles. There was little air support with Ukraine warplanes and air defences keeping the Russian Air Force at bay.
When the paratroopers landed on Hostomel Airport, outside Kyiv, their assault rifles were little match for Ukraine’s determined defence, supported by artillery and armour.
Russian teams that tried to enter Kyiv, either on foot or in lightly protected vehicles, were cut down.
It heralded the inept Russian approach to battle, the result of a lack of preparation caused by Mr Putin’s secrecy.
The tactic of “combined arms” — where infantry, tanks and artillery work in concert, supporting each other — was entirely ignored.
Casualties mounted and the Kyiv offensive stalled.
President Volodymyr Zelenskyy stood firm. When he was threatened by Chechen assassination squads in Kyiv, the Americans offered him an immediate evacuation. Mr Zelenskyy’s reply was: “I don’t need a ride, I need ammo.” The response will echo through Ukrainian history.
From that point on he has grown in stature as a leader. A key moment came on the first day of the war when Mr Zelenskyy, in green fatigues, posted a selfie taken on the streets of Kyiv. It captured a bold man who seemed unafraid and who thoroughly understood the power of the media.
Given his film production and acting background, that was unsurprising. But Mr Zelenskyy's astute grip on communications, later addressing parliaments across the western world — always dressed in an olive green or khaki T-shirt or fleece — has garnered immense support for Ukraine, along with money and military hardware.
Russia's southern offensive, mainly streaming out of annexed Crimea, was the most effective of the five lines of attack. By March 2, Russian forces had taken Kherson — Ukraine’s first city to fall. This provided a vital railhead for supplies and gave the momentum to push west and east along Ukraine’s southern Black Sea coast.
There were fears that the port of Odesa would swiftly follow, potentially with the Russians reaching the breakaway territory of Transnistria in Moldova. But fierce Ukrainian defence, which included blowing up bridges over rivers that flow south into the Black Sea, kept Odesa and the key grain port of Pivdennyi out of artillery range.
However, swiftly taking Kherson meant that the invaders could then push along the Sea of Azov coastline to the outskirts of city port Mariupol.
The opposite to Kherson happened in Kharkiv, in north-east Ukraine. A large industrial city just 30 kilometres from the Russian border, it should have been an easy picking. Instead, using dogged defence, it has held off the invaders and in recent weeks pushed them back to the border. Similarly, it was vital the Ukrainians held the Russians back from the city of Chernihiv, on the northern border with Belarus.
In 1945, the Battle of Berlin required 1.5 million Russian troops, who suffered 80,000 dead, to take the German capital. In 2022, the Russians had a total force of 180,000 servicemen, of whom about 50,000 were centred on Kyiv.
The decapitation gamble had spectacularly failed and subsequent Russian attempts to surround the capital were shambolic. The Maxar civilian satellite service revealed a 64km traffic jam of armoured Russian vehicles — including tanks, missile batteries and fuel tankers.
It exemplified the chaotic Russian approach and presented the Ukrainians with an unmissable target.
Ukrainian special forces proved adept in ambushing armoured columns, using a combination of quad bikes to place anti-tank mines, then drones to call in accurate artillery strikes. Similar tactics were used against the uninspired Russian assaults throughout Ukraine in which armoured vehicles stuck to the roads, going ahead of infantry and artillery support, only to be picked off.
The results were devastating. After more than a month of fighting the Russian losses were put at 15,000 dead with 700 tanks and more than 3,000 combat support vehicles destroyed, including advanced air defence batteries and much-needed tankers.
The reputation of the Russian forces was also tarnished by atrocities such as the Bucha massacres, which brought further global support for Ukraine.
The faltering Russian campaign was exemplified by the number generals lost, the toll had reached seven by the end of March. All were killed in combat, some by snipers, others by artillery fire. The losses were almost more than those suffered during a decade of fighting in Afghanistan. The suggestion was that with fighting stalled, senior officers had gone to the front line to motivate soldiers.
But a more worrying issue for Moscow was that it also suggested a lapse in operational security and the Ukrainians were able to eavesdrop their communications. The Russians were supposed to have an encrypted radio system but it appears that corruption and use of cheap Chinese parts undermined their communications. Commanders were forced to use mobile phones or handheld commercial radios.
It also raised questions about Russia’s fabled electronic warfare capabilities, supposedly able to down drones and shut down the internet.
In Ukraine, Elon Musk has become a hero. After an appeal by Ukraine’s digital minister, he provided the Starlink satellite internet service free of charge, with 12,000 dishes across the country.
This has not only allowed the government’s critical communications infrastructure to continue free from Russian interference, but also allowed Ukrainians to communicate on social media.
To the astonishment of the Kremlin and the wider world, the Ukrainians scored a significant military and propaganda success by sinking the flagship of Russia's Black Sea Fleet.
The attack on the missile cruiser Moskva on April 13 demonstrated the military’s ability to use technology and cunning. Flying a drone to distract the warship’s defences, the Ukrainians fired two of their recently developed Neptune anti-ship missiles striking the Moskva and causing a fire.
The ship, which had been bombarding Odesa, sunk within a day, and with it went the morale and reputation of the Russian Navy. The enduring effect was that Russian warships were pushed away from the coastline, making their bombardment and blockade more difficult.
To an extent, they were also handicapped by Turkey invoking the Montreux Convention, which allowed it to deny passage of warships through the Bosporus into the Black Sea, blocking reinforcements.
Russian supremacy will be further challenged when advanced Nato anti-ship missiles arrive in Ukraine.
Those weapons, likely to include the Harpoon and possibly the long-range Blue Spear missiles, will add to the major foreign component of weapons that have blunted the Russian attack.
While Ukraine has a decent defence industry, it was the supply of NLAW anti-tank and Stinger anti-aircraft missiles that inflicted significant pain on the Russians.
It is estimated Ukraine received 60,000 anti-tank and 25,000 anti-aircraft missiles.
While those stemmed the initial attack, more equipment is needed to prevent Russian advances in the east and a potential counterattack.
Western defence chiefs met in April to consider how best to co-ordinate the supply, but more importantly the training for sophisticated equipment.
Artillery is key for defence and attack. Counter-battery radars, to detect incoming fire, have been sent along with about 90 American Paladin 155mm guns. The Germans have provided tracked anti-aircraft vehicles, as have the British, while the Czechs and Poles have given Soviet-era T-72 tanks — which Ukraine already uses. Many other countries have provided undisclosed equipment.
It is now a question of training the Ukrainians in more advanced technology that could potentially defeat the Russians. The coming months will reveal how successful this has been.
The Americans and British have also been providing crucial intelligence, either through their security agencies or surveillance platforms, leading to one officer asserting that the “Ukrainians know more [about] where the Russians are located than Russian generals do”.
There is also a unique briefing campaign by the Pentagon and other western officials, giving information to the media in a transparent fashion, allowing the wider public to understand the war.
The first 100 days of the war have favoured the Ukrainians, who were meant to succumb in the first few days.
A combination of courage, agility and equipment has frustrated and humiliated the invaders, but the Russians are certainly not defeated.
Just as they did in the Second World War, they appear to have absorbed the early defeats and have now re-organised, with greater understanding of what is required.
Centralising command under a single figure, the Syria war veteran Gen Aleksandr Dvornikov, has given the army focus. Reassembling the force in the east means shorter supply lines and a greater concentration of effort.
The Russian tactic now is simple and effective. It identifies a Ukrainian position then uses massed artillery fire to methodically pound it before its armoured forces move in.
The fall of Mariupol, after an 85-day siege and heroic defence of the Azovstal steelworks, has also freed up more troops for the east.
For now, the next phase of the war is predictable. The Russians grimly pushing forward, one objective at a time, with Severodonetsk next. What happens then is unclear. Will the Ukrainians unveil new tactics in a counter-offensive to push the Russians back? Or will they simply not have enough time or resources to hold back an army with superior numbers?
The Russians have suffered heavily and no one knows if their demoralised army has the calibre to defeat the Ukrainians.
They might arrive at what military experts call the “culmination point”, when an advancing army is battered, depleted and exhausted and on the cusp of defeat, similar to Germany's Western Front offensive of spring 1918, during the First World War.
“If Russia reaches the culminating point, running out of steam as both sides did in the First World War, then the time is right for a counter-offensive,” said former Brig Ben Barry of the London-based International Institute for Strategic Studies think tank. “When that time is, is a very difficult judgment.”
The Ukrainians may well be allowing the Russians to plough on, willing to sacrifice territory to inflict mounting attrition on them.
We may also yet see unleashed a Ukraine reserve force they have been building.
“The counter-offensive option is really key,” said Sam Cranny-Evans of the Royal United Services Institute think tank in London.
“That could potentially change things quite dramatically, because the Russians would have to very quickly reposition forces to deal with it. I don't know how slick it would be but if they have enough experienced troops left alive, they could do it.”
After 100 days of warfare that Europe thought it would never see again, neither side is defeated and victory remains elusive.