Category: Longform
You are viewing all posts from this category, beginning with the most recent.
✏️ Day 4: The Forgotten Desert
Chapter 1: Awakening in Sand
The heat was overwhelming. Jake opened his eyes against a blinding light so intense it hurt. His lips were already cracked, his throat so dry that swallowing was torture. He lay half-buried in sand that felt scorching hot against his skin, like tiny fiery needles pricking into him.
He struggled to his feet, sand sliding from his clothes that were still damp from the melting ice crystals of the Ice World. The moisture evaporated almost visibly in the dry air, small clouds of vapour rising and immediately disappearing in the merciless sun.
Jake looked around. Endless sand dunes stretched in all directions, undulating like a frozen ocean of gold. The sky was a deep, unnaturally blue, without a single cloud to offer shelter from the burning sun. The heat made the air shimmer above the sand, causing the horizon to dance and distort like a hallucinating vision.
He felt in his pockets and sensed the reassuring presence of the objects he had collected: the card with the tree symbol from the Silent City, the wooden tree figurine from the Magical Forest, and the Crystal Heart from the Ice World. They felt warm, almost hot in the desert heat, but somehow comforting, like anchors connecting him to the worlds he had visited.
In the distance, almost merged with the horizon, he saw the contours of what appeared to be ruins – broken columns and decayed walls rising from the sand like the remains of a long-forgotten civilisation. It was the only feature in the endless landscape, and Jake instinctively knew that was his destination.
He began to walk, his feet sinking into the hot sand that slipped between his toes with each step. The sun burned on his head and shoulders, and he could already feel his skin beginning to glow. Without water, without shelter, he knew he wouldn’t survive long in this unforgiving environment.
“Water,” he whispered, the word barely audible in the dry air. “I need water.”
As if in answer to his thoughts, he saw a flash of movement in the corner of his eye. He turned and saw a figure standing on top of a nearby dune, shrouded in a long, sand-coloured cloak that fluttered in a wind Jake couldn’t feel. The figure’s face was hidden behind a veil, but something in the posture, in the way the person stood, was unmistakably familiar.
“Mandy?” called Jake, his voice hoarse and weak.
The figure made a gesture, an invitation to follow, and then began to descend the other side of the dune, disappearing from view.
Jake quickened his pace, as best he could in the deep sand, determined not to lose the mysterious figure. He reached the top of the dune, out of breath and sweating, and looked down. There, in a small valley between the dunes, stood an oasis – a small pool of water surrounded by palm trees offering impossible shade in this scorching landscape.
The veiled figure stood by the water, waiting.
Chapter 2: The Desert Guide
Jake almost stumbled in his haste to reach the oasis. The water glistened in the sunlight, an impossible blue jewel in the golden sand. He fell to his knees at the edge of the pool and plunged his hands into the cool water, bringing it eagerly to his lips. It was sweet and fresh, and he drank greedily, feeling life returning to his dehydrated body.
“Careful,” said a voice above him. “Drinking too quickly after dehydration can be dangerous.”
Jake looked up. The veiled figure stood beside him, and now she slowly removed the veil from her face. It was indeed Mandy, but again different from how he had seen her before. Her skin was tanned by the sun, her hair dark and braided with small beads that jingled when she moved. Her eyes, normally brown, now had a golden glow reminiscent of the sand around them.
“Mandy,” said Jake, standing up to look at her. “Or do you have a different name here?”
She smiled, a flash of white teeth against her tanned skin. “Here I am known as Zara, the Desert Guide. But to you, I am always Mandy, in whatever form.”
“Zara,” repeated Jake, tasting the name. “It suits you.”
“Come,” she said, gesturing towards the shade of the palm trees. “Let’s rest before the midday heat is at its worst. Then I will tell you about this world.”
They sat together in the shade, and Zara produced a bundle from beneath her cloak. She unfolded it to reveal dried fruit and bread, which she shared with Jake. The food, though simple, was the most delicious meal Jake could remember.
“This is the Forgotten Desert,” Zara began, as they ate. “A world of extremes – scorching heat by day, freezing cold by night. A world where water is more precious than gold and where secrets lie buried beneath centuries of sand.”
“What kind of secrets?” asked Jake.
“The ruins you saw in the distance were once a great city, the centre of a civilisation that had perfected the art of remembering,” she explained. “They could capture memories in stone, preserve them for eternity. But a great disaster came, and the desert claimed the city. Now only the ruins remain, and the memories stored within them.”
“Memories… like a memory gate?” asked Jake, thinking of the radio in the Silent City, the tree in the Magical Forest, and the mirror in the Ice World.
Zara nodded. “Exactly. In the ruins is a temple, and in that temple is a broken column. That column contains memories that are important for your journey, Jake. Memories about the Erebus project, about who you were before you began travelling between worlds.”
Jake felt an excitement that dispelled the fatigue of his journey through the desert. “Then we must go to those ruins.”
“We will go,” Zara assured him, “but not now. Now we rest. The desert does not forgive haste or carelessness. We travel at sunset, when the heat diminishes.”
Jake wanted to protest, but he felt the wisdom in her words. The desert was a dangerous place, and he needed her knowledge to survive. He leaned back against the trunk of a palm tree, feeling fatigue overcome him now that his hunger and thirst were quenched.
“Rest now,” he heard Zara say, her voice already far away as sleep claimed him. “I will keep watch.”
Chapter 3: The Ruins of Memory
Jake awoke when the sun was low in the sky, the fierce heat of the day replaced by a pleasant warmth. The shadows had grown long, and the sand had a golden-red glow in the light of the setting sun.
Zara sat beside him, patiently waiting. She had prepared a second cloak for him, sand-coloured like hers. “For the nights in the desert,” she explained. “They get colder than you might expect.”
Jake put on the cloak, grateful for the protection it offered. They drank some more water, filled leather pouches for the journey, and then began walking in the direction of the ruins, which were now more clearly visible in the evening light.
As they walked, Zara told more about the Forgotten Desert and its history. “This world was once green and fertile,” she said. “The people here had a deep connection with the past, with memories. They believed that remembering was a sacred act, that the past was never truly gone but always with us, shaping who we are.”
“What happened?” asked Jake. “They began to experiment with ways to preserve memories, not just in their minds but in physical form. They created the Memory Columns, massive structures that could record and replay what people had experienced. It was a marvel of technology and magic.”
“But then came the Great Forgetting,” she continued, her voice growing softer. “Some say it was a natural disaster, others that it was a consequence of their own experiments. Whatever it was, it changed the land into a desert and scattered the people. Only the ruins remained, and the memories stored within them.”
They reached the edge of the ruins as the last rays of the sun disappeared and the first stars appeared in the sky. It was an extensive site, larger than Jake had expected. Broken columns and collapsed walls stretched across an area as large as a small city. In the centre stood a structure that was larger and better preserved than the rest – a temple, Jake suspected, with tall columns that seemed to support the starry sky.
“That’s where we need to be,” said Zara, pointing to the temple. “But be careful. The ruins are protected by the Forgotten Guardians, beings made of sand and memory who are not friendly to intruders.”
They moved carefully through the ruins, their footsteps muffled by the sand that covered everything. The moon had risen, a full, silver disc that cast a ghostly light over the fallen city. Shadows moved between the columns, and Jake wasn’t sure if they were merely tricks of the moonlight or something more sinister.
When they reached the steps of the temple, Jake heard a soft, rustling sound behind him. He turned and saw the sand beginning to move, to pile up and take shape. A figure rose from the sand, vaguely human in form but with empty holes where eyes should be and a mouth that seemed to form an endless, silent scream.
“A Forgotten Guardian,” whispered Zara. “Move slowly towards the temple. I will distract it.”
Chapter 4: The Sandstorm of Memories
Before Jake could protest, Zara stepped forward and began to sing in a language he did not know. Her voice was melodious and hypnotic, and the Forgotten Guardian seemed to hesitate, its sandy form wavering in the night air.
Jake moved slowly backwards, up the steps of the temple, his eyes never leaving the confrontation between Zara and the Guardian. More sand forms began to rise from the ruins, attracted by Zara’s singing or perhaps by Jake’s presence.
Inside the temple it was cooler, the air heavy with the scent of ancient stone and time. Moonlight fell through holes in the roof, illuminating a central space where a single, broken column stood. The column was covered with inscriptions and symbols that glowed with a faint, golden light.
Jake walked towards the column, drawn by the glow. As he came closer, he saw that the symbols seemed to move, to change, like living things trapped in stone. He recognised some of the symbols – they resembled the tree symbol he had seen in the Silent City, but more complex, more detailed.
He stretched out his hand to touch the column, but hesitated, remembering the shock he had felt at the previous memory gates. But he knew he had to do this, that a piece of his past awaited him here.
Outside, he heard Zara’s singing change, becoming more intense. The Forgotten Guardians must be growing more numerous, more dangerous. He had no time to lose.
Jake placed his hand on the column, and immediately he was overwhelmed by images:
He sits in a laboratory, surrounded by screens and equipment. Before him stands a man with grey hair – the same man he had seen in his first memory in the Silent City.
“The Erebus project is almost ready for the testing phase,” says the man. “We just need a volunteer, someone who can make the journey and return to tell about it."
Jake hears himself say: “I’ll do it. I designed it, I understand the risks better than anyone."
The scene changes. Jake lies on a table, connected to machines. Beside him stands a woman with dark hair – the woman from his memory in the Magical Forest. She holds his hand, her face concerned.
“You don’t have to do this, Jake,” she says softly.
“I have to do it, Elara,” he answers. “This is what we’ve been working towards all these years. The possibility of travelling between worlds, of breaking the boundaries of reality."
“But the risks—"
“I know the risks,” he interrupts her. “And I accept them."
The scene changes again. A room filled with a strange, pulsating energy. Jake stands in the middle, dressed in a special suit covered with sensors. Around him stand scientists, including the grey-haired man and Elara.
“Activate the portal,” commands the grey-haired man.
Machines come to life, energy builds up. A tear appears in the air before Jake, an opening to… somewhere else.
“Now, Jake,” says the grey-haired man. “Step through."
Jake steps forward, towards the tear. But just as he reaches it, something goes wrong. Alarms sound, the energy becomes unstable. The tear begins to grow, to change.
“Shut it down!” someone shouts.
“I can’t!” calls another voice. “It’s out of control!"
Jake feels himself being pulled towards the tear, unable to resist. The last thing he sees before he is sucked through it is Elara running towards him, her face contorted with fear and despair.
“Jake!” she screams. “JAKE!"
The images vanished, and Jake found himself on his knees before the column, tears streaming down his cheeks. He remembered now – not everything, but enough. He had been a scientist, one of the designers of the Erebus project. He had voluntarily stepped through the portal, but something had gone wrong. And Elara… who was she? His wife? His beloved? Someone who had been important to him, that was certain.
A sudden gust of wind drew his attention. He looked up and saw that the temple was filled with swirling sand, a miniature sandstorm circling around him. The grains of sand glowed with the same golden light as the symbols on the column, and as they moved, they formed images – flashes of faces, places, events. Memories, Jake realised, memories trapped in the sand itself.
And in the middle of the storm stood Zara, her arms outstretched, her eyes glowing with the same golden light.
“Jake,” she said, her voice strangely distorted, as if multiple voices were speaking at once. “You must control the storm. You must accept the memories, make them part of you.”
Chapter 5: The Power of Memory
Jake stood up, feeling the sand swirling around him, touching his skin like small electric shocks. Each grain seemed to contain a memory, a fragment of a life – not just his own, but of countless others who had been here, who had left their memories in this ancient place.
“How?” he called above the sound of the storm. “How do I control this?”
“In the Silent City, you learned about resistance,” Zara replied, still with that strange, multi-voiced voice. “In the Magical Forest, you learned about life and growth. In the Ice World, you learned about structure and emotion. Here you must learn about memory – how to hold onto the past without being trapped by it.”
Jake closed his eyes, concentrating on the swirling grains of sand around him. He felt how each particle carried a story, a moment in time. He thought of the objects he had collected: the card with the tree symbol, the wooden figurine, the Crystal Heart. Each was an anchor, a memory of a world he had visited, a part of himself he had rediscovered. He took them out and held them in his outstretched hands. They began to glow – the card with a soft blue light, the figurine with a green light, the Heart with a white light. The glow expanded, mingling with the golden light of the sandstorm.
Jake felt a new power rising within him, different from what he had experienced before. It wasn’t the resistance energy of the Silent City, not the life force of the Magical Forest, not the crystallising energy of the Ice World. This was the power of memory, of the past shaping the present.
He stretched his hands towards the storm and felt the sand respond to his will. The swirling chaos began to take form, to organise itself into patterns that resembled the symbols on the column. The images in the sand became clearer, more coherent – no longer random flashes but a cohesive story.
Jake saw himself, younger, working on the Erebus project. He saw the grey-haired man – Professor Harlow, he remembered now – leading the team. He saw Elara, his colleague, his partner, his… wife? The memories were still fragmentary, but they were beginning to come together like pieces of a puzzle.
“You were a pioneer,” said Zara, her voice now calmer, more like her own. “One of the first to explore the boundaries between worlds. But something went wrong.”
“The portal became unstable,” said Jake, the memory now clearer. “I was pulled through it, but not to one world – to many. My consciousness, my memories, were scattered across different realities.”
“And now you’re gathering them again,” nodded Zara. “Piece by piece, world by world.”
The sandstorm began to calm, the grains slowly descending to the ground, forming patterns on the temple floor – intricate mandalas that told the story of Jake’s journey. In the centre of the patterns, the sand formed a small object, glowing with a warm, golden light.
Jake knelt down and picked up the object. It was a compass, but not an ordinary compass. Instead of pointing north, the needle seemed to spin, searching, like a living thing trying to find its way.
“The Compass of Memory,” said Zara. “An artefact of great power in this world. It will help you find your way, not just through space, but through memories.”
Jake felt the weight of the compass in his hand, a reassuring heaviness. “Will it help me find my way home?”
Zara’s face grew more serious. “That depends on what you consider home, Jake. Your journey is not over yet. There are more worlds to visit, more pieces of yourself to find.”
Chapter 6: The Caravan of Lost Souls
Night had advanced far when they left the temple. The Forgotten Guardians had disappeared, retreated into the sand from which they had emerged. The ruins lay silent under the moonlight, their secrets hidden again beneath centuries of silence.
“We must find shelter for the night,” said Zara. “The desert becomes deadly cold after midnight.”
She led Jake to a small structure at the edge of the ruins, once perhaps a watchtower or a temple for a less important god. It offered shelter from the wind that now blew cold over the sand, a sharp contrast to the scorching heat of the day.
As they made a small fire from driftwood and dry bushes they had gathered, Zara told more about the Forgotten Desert.
“This world is a crossroads,” she explained. “A place where memories come together and mingle. Some travellers come here to forget, others to remember. Some stay forever, trapped in their own past.”
“Like the Forgotten Guardians?” asked Jake.
Zara nodded. “They were once people, travellers like you. But they got lost in memories that weren’t their own, forgot who they themselves were. Now they are nothing more than echoes, shadows of what they once were.”
Jake thought about what he had learned, about the memories he had recovered. “Elara,” he said softly. “She was important to me.”
“Yes,” said Zara, her voice soft. “She was your partner in the Erebus project, and more than that. She was the one who tried to save you when the portal became unstable.” “What happened to her?” asked Jake.
Zara looked away, her face half in shadows. “That is a memory for another time, another world.”
Before Jake could insist, they heard a sound in the distance – the soft jingling of bells, the creaking of wheels on sand. Zara stood up, alert.
“A caravan,” she said. “The Caravan of Lost Souls.”
They went outside and saw a long line of wagons moving slowly through the desert, illuminated by lanterns that gave off a ghostly blue light. The wagons were decorated with strange symbols and fluttering banners, and were pulled by animals that looked like camels but with longer necks and six legs.
“Who are they?” asked Jake.
“Seekers,” replied Zara. “People who travel between worlds, looking for lost memories, lost souls. They collect stories and sell them to those who have forgotten their past.”
The caravan stopped at the sight of their fire, and a figure descended from the front wagon. It was a tall, thin man with skin as dark as the night sky and eyes that shone like stars.
“Zara of the Sand,” he greeted her with a deep bow. “It has been a long time.”
“Nomad of the Night,” she replied with a nod. “You travel far from your usual routes.”
“The stars have guided me here,” he said, his gaze shifting to Jake. “And I see why. A traveller between worlds, a collector of memories.”
Jake felt uncomfortable under the intense gaze of the man. “How do you know that?”
Nomad smiled, a flash of white teeth in his dark face. “I deal in stories, stranger. I recognise someone who is seeking his own story.”
He produced something from his robe – a small, glass bottle filled with a liquid that sparkled like liquid silver. “A gift,” he said, offering it to Jake. “Water from the Source of Memory. Drink it when you are lost, and it will help you find your way.”
Jake took the bottle, feeling how the liquid inside moved like a living thing. “Thank you,” he said, not sure what else to say.
Nomad nodded and then turned to Zara. “The desert whispers of change,” he said softly. “The boundaries between worlds are growing thinner. The Erebus project has set more in motion than its creators could ever have foreseen.”
Zara’s face tightened. “Do you know something I should know, Nomad?”
“Only that time is short,” he answered cryptically. “The traveller must complete his journey before the last boundary falls.”
With those words, he bowed again and returned to his caravan. The wagons set in motion again, disappearing into the night like a dream upon waking.
“What did he mean?” Jake asked Zara when they were alone again.
“Nomad sees things others don’t see,” she said. “He travels not only between places, but also between times. If he says time is short, then we must pay attention to that.”
They returned to their shelter, but the peace from earlier was gone, replaced by a sense of urgency, of a clock counting down to an unknown but inevitable end.
Chapter 7: The Gate of Sand
Dawn came with an explosion of colours – the sky changing from deep indigo to fiery orange and gold, the sand dunes gleaming like molten metal in the early light. Jake and Zara stood outside their shelter, watching the sun rise over the Forgotten Desert.
“It’s time,” Zara said softly. “You must move on.”
Jake nodded, knowing that his time in this world was coming to an end. He had learned what he needed to learn here, had recovered a piece of himself that had been lost. But there were still gaps in his memory, pieces of the puzzle that were missing.
“Where am I going?” he asked. Zara pointed to a spot in the desert where the air seemed to shimmer, like heat above hot sand, but with a strange, pulsating quality. “The Gate of Sand,” she said. “A passage to the next world on your journey.”
They walked together towards the shimmering air. As they got closer, Jake saw that it wasn’t an ordinary mirage. The air seemed to fold and bend, forming an opening to… somewhere else. Through the opening, he could catch glimpses of another place – a world of darkness and winding tunnels.
“The Underground Labyrinth,” said Zara, following his gaze. “A world of paths and choices, of seeking and finding.”
Jake felt a mixture of excitement and fear. Each new world brought him closer to understanding who he was, but also closer to an unknown end.
“Will I see you there again?” he asked Zara.
She smiled, a hint of melancholy in her golden eyes. “I am always where you need me, Jake. Look for me in the darkness, and I will be there.”
She reached out to him and touched his cheek, her fingers warm against his skin. “Don’t forget what you’ve learned here. The power of memory is great – it can guide you, but also mislead you. Trust what you know, but be open to what you have yet to learn.”
Jake nodded, cherishing her touch. He took out the Compass of Memory and saw how the needle turned, eventually pointing towards the Gate of Sand.
“It’s showing me the way,” he said.
“It’s pointing you to where you need to be,” corrected Zara. “Not always where you want to be.”
Jake put away the compass, along with the small bottle that Nomad had given him. He took one last look at the Forgotten Desert, the endless dunes and the ruins in the distance, the remains of a civilisation that had perfected the art of remembering but was ultimately forgotten.
“Goodbye, Zara,” he said softly.
“Goodbye, Jake,” she replied. “And good luck in the Labyrinth.”
He stepped through the Gate of Sand, feeling how the world around him changed, warped, rearranged itself into a new reality. The heat and light of the desert faded, replaced by coolness and darkness.
Epilogue: The Darkness Waits
Jake opened his eyes in absolute darkness. Not a single ray of light pierced the blackness around him, so complete that he couldn’t even see his hand in front of his face. The air was cool and damp, with an earthy smell of moist stone and moss. He heard the soft dripping of water somewhere in the distance, a lonely, rhythmic sound in the silence.
He felt in his pockets and sensed the reassuring presence of the objects he had collected: the card with the tree symbol, the wooden figurine, the Crystal Heart, and now also the Compass of Memory and the bottle with the Water from the Source. Together they formed a tangible history of his journey, anchors in a sea of changing realities.
The Compass felt warm in his hand, and when he took it out, he saw that it emitted a soft, golden light – just enough to illuminate his immediate surroundings. He found himself in a tunnel of smooth, black stone, stretching in two directions, both disappearing into darkness.
The needle of the Compass turned, searching, and then pointed towards the left tunnel. Jake hesitated, looking from one tunnel to the other. In the desert, Zara had said that the Compass would point him to where he needed to be, not where he wanted to be. But in this darkness, without any other reference point, what was the difference?
He thought about what he had learned in the worlds he had visited. In the Silent City, he had learned about resistance to oppression. In the Magical Forest, he had discovered the power of life and growth. In the Ice World, he had learned about structure and emotional truth. And in the Forgotten Desert, he had found the power of memory.
Each world had given him back a piece of himself, a fragment of his identity. He was a scientist, a designer of the Erebus project. He had voluntarily stepped through a portal to travel between worlds. Something had gone wrong, and now he was scattered across different realities, collecting what had been lost.
And Elara… who was she exactly? His colleague, his partner, someone who had been important to him. Someone he had left behind when the portal became unstable. Someone he might be trying to find again.
With a deep sigh, Jake began to walk down the left tunnel, guided by the soft light of the Compass. The Underground Labyrinth awaited, a world of paths and choices, of seeking and finding. And somewhere in the darkness, he knew, Mandy was waiting for him in a new form, ready to help him take the next step in his journey.
The tunnel stretched out before him, a path to a new world, a new piece of the puzzle that formed his identity. And with each step he took, Jake felt stronger, more certain, more himself – whoever that might be.
📝 Give away a free Lucky Four-Leaf Clover
✏️ Dag 4: De Vergeten Woestijn
Hoofdstuk 1: Ontwaken in Zand
De hitte was overweldigend. Jake opende zijn ogen tegen een verblindend licht dat zo intens was dat het pijn deed. Zijn lippen waren al gebarsten, zijn keel zo droog dat slikken een marteling was. Hij lag half begraven in zand dat gloeiend heet aanvoelde tegen zijn huid, als kleine vurige naalden die in hem prikten.
Hij kwam moeizaam overeind, zand glijdend van zijn kleren die nog vochtig waren van de smeltende ijskristallen van de IJswereld. De vochtigheid verdampte bijna zichtbaar in de droge lucht, kleine dampwolkjes die opstegen en meteen verdwenen in de meedogenloze zon.
Jake keek om zich heen. In alle richtingen strekten zich eindeloze zandduinen uit, golvend als een bevroren oceaan van goud. De lucht was van een diep, onnatuurlijk blauw, zonder een enkele wolk die beschutting bood tegen de brandende zon. De hitte deed de lucht trillen boven het zand, waardoor de horizon danste en vervormde als een hallucinerend visioen.
Hij tastte in zijn zakken en voelde de geruststellende aanwezigheid van de objecten die hij had verzameld: het kaartje met het boomsymbool uit de Stille Stad, het houten boomfiguurtje uit het Magische Woud, en het Kristallen Hart uit de IJswereld. Ze voelden warm aan, bijna heet in de woestijnhitte, maar op een of andere manier geruststellend, als ankers die hem verbonden met de werelden die hij had bezocht.
In de verte, bijna versmolten met de horizon, zag hij de contouren van wat ruïnes leken te zijn – gebroken zuilen en vervallen muren die oprezen uit het zand als de overblijfselen van een lang vergeten beschaving. Het was het enige kenmerk in het eindeloze landschap, en Jake wist instinctief dat daar zijn bestemming lag.
Hij begon te lopen, zijn voeten zinkend in het hete zand dat bij elke stap tussen zijn tenen glipte. De zon brandde op zijn hoofd en schouders, en hij voelde al hoe zijn huid begon te gloeien. Zonder water, zonder beschutting, wist hij dat hij niet lang zou overleven in deze meedogenloze omgeving.
“Water,” fluisterde hij, het woord nauwelijks hoorbaar in de droge lucht. “Ik heb water nodig.”
Alsof in antwoord op zijn gedachten, zag hij een flits van beweging in zijn ooghoek. Hij draaide zich om en zag een figuur staan op de top van een nabije duin, gehuld in een lange, zandkleurige mantel die wapperde in een wind die Jake niet kon voelen. Het gezicht van de figuur was verborgen achter een sluier, maar iets in de houding, in de manier waarop de persoon stond, was onmiskenbaar vertrouwd.
“Mandy?” riep Jake, zijn stem schor en zwak.
De figuur maakte een gebaar, een uitnodiging om te volgen, en begon toen de andere kant van de duin af te dalen, verdwijnend uit het zicht.
Jake versnelde zijn pas, zo goed als hij kon in het diepe zand, vastbesloten om de mysterieuze figuur niet te verliezen. Hij bereikte de top van de duin, buiten adem en zwetend, en keek naar beneden. Daar, in een kleine vallei tussen de duinen, stond een oase – een kleine poel water omringd door palmbomen die onmogelijke schaduw boden in dit verzengende landschap.
De gesluierde figuur stond bij het water, wachtend.
Hoofdstuk 2: De Woestijngids
Jake struikelde bijna in zijn haast om de oase te bereiken. Het water glinsterde in het zonlicht, een onmogelijk blauw juweel in het gouden zand. Hij viel op zijn knieën aan de rand van de poel en dompelde zijn handen in het koele water, bracht het gretig naar zijn lippen. Het was zoet en fris, en hij dronk gulzig, voelend hoe het leven terugkeerde in zijn uitgedroogde lichaam.
“Voorzichtig,” zei een stem boven hem. “Te snel drinken na uitdroging kan gevaarlijk zijn.”
Jake keek op. De gesluierde figuur stond naast hem, en nu haalde ze langzaam de sluier weg van haar gezicht. Het was inderdaad Mandy, maar weer anders dan hij haar eerder had gezien. Haar huid was gebruind door de zon, haar haar donker en gevlochten met kleine kralen die rinkelden wanneer ze bewoog. Haar ogen, normaal bruin, hadden nu een goudachtige gloed die deed denken aan het zand om hen heen.
“Mandy,” zei Jake, opstaand om haar aan te kijken. “Of heb je hier een andere naam?”
Ze glimlachte, een flits van witte tanden tegen haar gebruinde huid. “Hier ben ik bekend als Zara, de Woestijngids. Maar voor jou ben ik altijd Mandy, in welke vorm dan ook.”
“Zara,” herhaalde Jake, proevend aan de naam. “Het past bij je.”
“Kom,” zei ze, gebarend naar de schaduw van de palmbomen. “Laten we rusten voordat de middaghitte op zijn ergst is. Dan zal ik je vertellen over deze wereld.”
Ze zaten samen in de schaduw, en Zara haalde een bundel tevoorschijn van onder haar mantel. Ze ontvouwde het om gedroogd fruit en brood te onthullen, die ze met Jake deelde. Het voedsel, hoewel eenvoudig, was de meest heerlijke maaltijd die Jake zich kon herinneren.
“Dit is de Vergeten Woestijn,” begon Zara, terwijl ze aten. “Een wereld van extremen – verzengende hitte overdag, bevriezende kou ’s nachts. Een wereld waar water kostbaarder is dan goud en waar geheimen begraven liggen onder eeuwen van zand.”
“Wat voor geheimen?” vroeg Jake.
“De ruïnes die je in de verte zag, waren ooit een grote stad, het centrum van een beschaving die de kunst van het herinneren had geperfectioneerd,” legde ze uit. “Ze konden herinneringen vastleggen in steen, ze bewaren voor eeuwigheid. Maar er kwam een grote ramp, en de woestijn eiste de stad op. Nu zijn alleen de ruïnes over, en de herinneringen die erin zijn opgeslagen.”
“Herinneringen… zoals een geheugenpoort?” vroeg Jake, denkend aan de radio in de Stille Stad, de boom in het Magische Woud, en de spiegel in de IJswereld.
Zara knikte. “Precies. In de ruïnes is een tempel, en in die tempel is een gebroken zuil. Die zuil bevat herinneringen die belangrijk zijn voor jouw reis, Jake. Herinneringen over het Erebus-project, over wie je was voordat je begon te reizen tussen werelden.”
Jake voelde een opwinding die de vermoeidheid van zijn reis door de woestijn verdreef. “Dan moeten we naar die ruïnes gaan.”
“We zullen gaan,” verzekerde Zara hem, “maar niet nu. Nu rusten we. De woestijn vergeeft geen haast of onvoorzichtigheid. We reizen bij zonsondergang, wanneer de hitte afneemt.”
Jake wilde protesteren, maar hij voelde de wijsheid in haar woorden. De woestijn was een gevaarlijke plaats, en hij had haar kennis nodig om te overleven. Hij leunde terug tegen de stam van een palmboom, voelend hoe de vermoeidheid hem overmande nu zijn honger en dorst waren gestild.
“Rust nu,” hoorde hij Zara zeggen, haar stem al ver weg terwijl de slaap hem opeiste. “Ik zal waken.”
Hoofdstuk 3: De Ruïnes van Herinnering
Jake werd wakker toen de zon laag aan de hemel stond, de felle hitte van de dag vervangen door een aangename warmte. De schaduwen waren lang geworden, en het zand had een gouden-rode gloed in het licht van de ondergaande zon.
Zara zat naast hem, geduldig wachtend. Ze had een tweede mantel voor hem klaargelegd, zandkleurig zoals de hare. “Voor de nachten in de woestijn,” legde ze uit. “Ze worden kouder dan je zou verwachten.”
Jake trok de mantel aan, dankbaar voor de bescherming die deze bood. Ze dronken nog wat water, vulden leren zakken voor de reis, en begonnen toen te lopen in de richting van de ruïnes, die nu duidelijker zichtbaar waren in het avondlicht.
Terwijl ze liepen, vertelde Zara meer over de Vergeten Woestijn en haar geschiedenis. “Deze wereld was ooit groen en vruchtbaar,” zei ze. “De mensen hier hadden een diepe verbinding met het verleden, met herinneringen. Ze geloofden dat herinneren een heilige daad was, dat het verleden nooit echt voorbij was maar altijd met ons, vormend wie we zijn.”
“Wat gebeurde er?” vroeg Jake.
“Ze begonnen te experimenteren met manieren om herinneringen te bewaren, niet alleen in hun geest maar in fysieke vorm. Ze creëerden de Herinneringszuilen, massieve structuren die konden opnemen en weergeven wat mensen hadden ervaren. Het was een wonder van technologie en magie.”
“Maar toen kwam de Grote Vergetelheid,” vervolgde ze, haar stem zachter wordend. “Sommigen zeggen dat het een natuurramp was, anderen dat het een gevolg was van hun eigen experimenten. Wat het ook was, het veranderde het land in een woestijn en verstrooide de mensen. Alleen de ruïnes bleven, en de herinneringen die erin waren opgeslagen.”
Ze bereikten de rand van de ruïnes toen de laatste stralen van de zon verdwenen en de eerste sterren aan de hemel verschenen. Het was een uitgestrekte site, groter dan Jake had verwacht. Gebroken zuilen en ingestorte muren strekten zich uit over een gebied zo groot als een kleine stad. In het centrum stond een structuur die groter en beter bewaard was dan de rest – een tempel, vermoedde Jake, met hoge zuilen die de sterrenhemel leken te ondersteunen.
“Daar moeten we zijn,” zei Zara, wijzend naar de tempel. “Maar wees voorzichtig. De ruïnes worden beschermd door de Vergeten Wachters, wezens gemaakt van zand en herinnering die niet vriendelijk zijn voor indringers.”
Ze bewogen zich voorzichtig door de ruïnes, hun voetstappen gedempt door het zand dat alles bedekte. De maan was opgekomen, een volle, zilveren schijf die een spookachtig licht wierp over de vervallen stad. Schaduwen bewogen tussen de zuilen, en Jake was niet zeker of het slechts trucs van het maanlicht waren of iets meer sinister.
Toen ze de trappen van de tempel bereikten, hoorde Jake een zacht, ritselend geluid achter zich. Hij draaide zich om en zag hoe het zand begon te bewegen, zich op te hopen en vorm aan te nemen. Een figuur rees op uit het zand, vaag menselijk in vorm maar met lege gaten waar ogen zouden moeten zijn en een mond die een eindeloze, stille schreeuw leek te vormen.
“Een Vergeten Wachter,” fluisterde Zara. “Beweeg langzaam naar de tempel. Ik zal hem afleiden.”
Hoofdstuk 4: De Zandstorm van Herinneringen
Voordat Jake kon protesteren, stapte Zara naar voren en begon te zingen in een taal die hij niet kende. Haar stem was melodieus en hypnotiserend, en de Vergeten Wachter leek te aarzelen, zijn zandige vorm weifelend in de nachtlucht.
Jake bewoog zich langzaam achteruit, de trappen van de tempel op, zijn ogen nooit de confrontatie tussen Zara en de Wachter verlatend. Meer zandvormen begonnen op te rijzen uit de ruïnes, aangetrokken door Zara’s zang of misschien door Jake’s aanwezigheid.
Binnen in de tempel was het koeler, de lucht zwaar met de geur van oude steen en tijd. Maanlicht viel door gaten in het dak, verlichtend een centrale ruimte waar een enkele, gebroken zuil stond. De zuil was bedekt met inscripties en symbolen die glansden met een zwak, gouden licht.
Jake liep naar de zuil toe, aangetrokken door de gloed. Toen hij dichterbij kwam, zag hij dat de symbolen leken te bewegen, te veranderen, als levende dingen gevangen in steen. Hij herkende sommige van de symbolen – ze leken op het boomsymbool dat hij had gezien in de Stille Stad, maar complexer, meer gedetailleerd.
Hij strekte zijn hand uit om de zuil aan te raken, maar aarzelde, herinnerend aan de schok die hij had gevoeld bij de vorige geheugenpoorten. Maar hij wist dat hij dit moest doen, dat hier een stuk van zijn verleden op hem wachtte.
Buiten hoorde hij de zang van Zara veranderen, intenser worden. De Vergeten Wachters moesten talrijker worden, gevaarlijker. Hij had geen tijd te verliezen.
Jake legde zijn hand op de zuil, en meteen werd hij overspoeld door beelden:
Hij zit in een laboratorium, omringd door schermen en apparatuur. Voor hem staat een man met grijs haar – dezelfde man die hij had gezien in zijn eerste herinnering in de Stille Stad.
“Het Erebus-project is bijna klaar voor de testfase,” zegt de man. “We hebben alleen nog een vrijwilliger nodig, iemand die de reis kan maken en terugkeren om erover te vertellen."
Jake hoort zichzelf zeggen: “Ik zal het doen. Ik heb het ontworpen, ik begrijp de risico’s beter dan wie dan ook."
De scène verandert. Jake ligt op een tafel, verbonden met machines. Naast hem staat een vrouw met donker haar – de vrouw uit zijn herinnering in het Magische Woud. Ze houdt zijn hand vast, haar gezicht bezorgd.
“Je hoeft dit niet te doen, Jake,” zegt ze zacht.
“Ik moet het doen, Elara,” antwoordt hij. “Dit is waar we al die jaren naartoe hebben gewerkt. De mogelijkheid om tussen werelden te reizen, om de grenzen van realiteit te doorbreken."
“Maar de risico’s—"
“Ik ken de risico’s,” onderbreekt hij haar. “En ik accepteer ze."
De scène verandert weer. Een kamer gevuld met een vreemde, pulserende energie. Jake staat in het midden, gekleed in een speciaal pak bedekt met sensoren. Rondom hem staan wetenschappers, waaronder de grijsharige man en Elara.
“Activeer het portaal,” beveelt de grijsharige man.
Machines komen tot leven, energie bouwt op. Een scheur verschijnt in de lucht voor Jake, een opening naar… ergens anders.
“Nu, Jake,” zegt de grijsharige man. “Stap door."
Jake stapt naar voren, naar de scheur. Maar net als hij het bereikt, gaat er iets mis. Alarmen klinken, de energie wordt instabiel. De scheur begint te groeien, te veranderen.
“Sluit het af!” schreeuwt iemand.
“Ik kan niet!” roept een andere stem. “Het is buiten controle!"
Jake voelt hoe hij wordt getrokken naar de scheur, niet in staat om weerstand te bieden. Het laatste wat hij ziet voordat hij erdoor wordt gezogen, is Elara die naar hem toe rent, haar gezicht vertrokken van angst en wanhoop.
“Jake!” schreeuwt ze. “JAKE!"
De beelden verdwenen, en Jake vond zichzelf op zijn knieën voor de zuil, tranen stromend over zijn wangen. Hij herinnerde zich nu – niet alles, maar genoeg. Hij was een wetenschapper geweest, een van de ontwerpers van het Erebus-project. Hij had vrijwillig door het portaal gestapt, maar er was iets misgegaan. En Elara… wie was zij? Zijn vrouw? Zijn geliefde? Iemand die belangrijk voor hem was geweest, dat was zeker.
Een plotselinge windvlaag trok zijn aandacht. Hij keek op en zag dat de tempel was gevuld met wervelend zand, een miniatuur zandstorm die rond hem cirkelde. De zandkorrels glansden met hetzelfde gouden licht als de symbolen op de zuil, en terwijl ze bewogen, vormden ze beelden – flitsen van gezichten, plaatsen, gebeurtenissen. Herinneringen, besefte Jake, herinneringen gevangen in het zand zelf.
En in het midden van de storm stond Zara, haar armen uitgestrekt, haar ogen gloeiend met hetzelfde gouden licht.
“Jake,” zei ze, haar stem vreemd vervormd, alsof meerdere stemmen tegelijk spraken. “Je moet de storm beheersen. Je moet de herinneringen aanvaarden, ze deel van je maken.”
Hoofdstuk 5: De Kracht van Herinnering
Jake stond op, voelend hoe het zand rond hem wervelde, zijn huid raakte als kleine elektrische schokken. Elke korrel leek een herinnering te bevatten, een fragment van een leven – niet alleen het zijne, maar van talloze anderen die hier waren geweest, die hun herinneringen hadden achtergelaten in deze oude plaats.
“Hoe?” riep hij boven het geluid van de storm uit. “Hoe beheers ik dit?”
“In de Stille Stad leerde je over verzet,” antwoordde Zara, nog steeds met die vreemde, meerstemmige stem. “In het Magische Woud leerde je over leven en groei. In de IJswereld leerde je over structuur en emotie. Hier moet je leren over herinnering – hoe je het verleden kunt vasthouden zonder erdoor gevangen te worden.”
Jake sloot zijn ogen, concentrerend op de wervelende zandkorrels om hem heen. Hij voelde hoe elk deeltje een verhaal droeg, een moment in de tijd. Hij dacht aan de objecten die hij had verzameld: het kaartje met het boomsymbool, het houten figuurtje, het Kristallen Hart. Elk was een anker, een herinnering aan een wereld die hij had bezocht, een deel van hemzelf dat hij had herontdekt.
Hij haalde ze tevoorschijn en hield ze in zijn uitgestrekte handen. Ze begonnen te gloeien – het kaartje met een zacht blauw licht, het figuurtje met een groen licht, het Hart met een wit licht. De gloed breidde zich uit, vermengde zich met het gouden licht van de zandstorm.
Jake voelde een nieuwe kracht in zich opkomen, anders dan wat hij eerder had ervaren. Het was niet de verzetsenergie van de Stille Stad, niet de levenskracht van het Magische Woud, niet de kristalliserende energie van de IJswereld. Dit was de kracht van herinnering, van het verleden dat vorm geeft aan het heden.
Hij strekte zijn handen uit naar de storm en voelde hoe het zand reageerde op zijn wil. De wervelende chaos begon vorm aan te nemen, zich te organiseren in patronen die leken op de symbolen op de zuil. De beelden in het zand werden duidelijker, coherenter – niet langer willekeurige flitsen maar een samenhangend verhaal.
Jake zag zichzelf, jonger, werkend aan het Erebus-project. Hij zag de grijsharige man – Professor Harlow, herinnerde hij zich nu – die leiding gaf aan het team. Hij zag Elara, zijn collega, zijn partner, zijn… vrouw? De herinneringen waren nog steeds fragmentarisch, maar ze begonnen samen te komen als stukjes van een puzzel.
“Je was een pionier,” zei Zara, haar stem nu kalmer, meer als haar eigen. “Een van de eerste die de grenzen tussen werelden verkende. Maar er ging iets mis.”
“Het portaal werd instabiel,” zei Jake, de herinnering nu duidelijker. “Ik werd erdoor getrokken, maar niet naar één wereld – naar vele. Mijn bewustzijn, mijn herinneringen, werden verspreid over verschillende realiteiten.”
“En nu verzamel je ze weer,” knikte Zara. “Stukje bij stukje, wereld bij wereld.”
De zandstorm begon te kalmeren, de korrels daalden langzaam naar de grond, vormden patronen op de tempelvloer – ingewikkelde mandala’s die het verhaal van Jake’s reis vertelden. In het centrum van de patronen vormde het zand een klein object, dat gloeide met een warm, gouden licht.
Jake knielde neer en nam het object op. Het was een kompas, maar geen gewoon kompas. In plaats van naar het noorden te wijzen, leek de naald te draaien, zoekend, als een levend ding dat zijn weg probeerde te vinden.
“Het Kompas van Herinnering,” zei Zara. “Een artefact van grote kracht in deze wereld. Het zal je helpen je weg te vinden, niet alleen door ruimte, maar door herinneringen.”
Jake voelde het gewicht van het kompas in zijn hand, een geruststellende zwaarte. “Zal het me helpen mijn weg naar huis te vinden?”
Zara’s gezicht werd ernstiger. “Dat hangt af van wat je als thuis beschouwt, Jake. Je reis is nog niet voorbij. Er zijn nog meer werelden te bezoeken, meer stukjes van jezelf te vinden.”
Hoofdstuk 6: De Karavaan van Verloren Zielen
De nacht was ver gevorderd toen ze de tempel verlieten. De Vergeten Wachters waren verdwenen, teruggetrokken in het zand waaruit ze waren ontstaan. De ruïnes lagen stil onder het maanlicht, hun geheimen weer verborgen onder eeuwen van stilte.
“We moeten een schuilplaats vinden voor de nacht,” zei Zara. “De woestijn wordt dodelijk koud na middernacht.”
Ze leidden Jake naar een kleine structuur aan de rand van de ruïnes, ooit misschien een wachttoren of een tempel voor een minder belangrijke god. Het bood beschutting tegen de wind die nu koud over het zand blies, een scherp contrast met de verzengende hitte van de dag.
Terwijl ze een klein vuur maakten van drijfhout en droge struiken die ze hadden verzameld, vertelde Zara meer over de Vergeten Woestijn.
“Deze wereld is een kruispunt,” legde ze uit. “Een plaats waar herinneringen samenkomen en zich vermengen. Sommige reizigers komen hier om te vergeten, anderen om te herinneren. Sommigen blijven voor altijd, gevangen in hun eigen verleden.”
“Zoals de Vergeten Wachters?” vroeg Jake.
Zara knikte. “Ze waren ooit mensen, reizigers zoals jij. Maar ze raakten verloren in herinneringen die niet van hen waren, vergaten wie ze zelf waren. Nu zijn ze niet meer dan echo’s, schaduwen van wat ze ooit waren.”
Jake dacht na over wat hij had geleerd, over de herinneringen die hij had teruggevonden. “Elara,” zei hij zacht. “Ze was belangrijk voor me.”
“Ja,” zei Zara, haar stem zacht. “Ze was je partner in het Erebus-project, en meer dan dat. Ze was degene die je probeerde te redden toen het portaal instabiel werd.”
“Wat gebeurde er met haar?” vroeg Jake.
Zara keek weg, haar gezicht half in schaduwen. “Dat is een herinnering voor een andere tijd, een andere wereld.”
Voordat Jake kon aandringen, hoorden ze een geluid in de verte – het zachte gerinkel van bellen, het kraken van wielen op zand. Zara stond op, alert.
“Een karavaan,” zei ze. “De Karavaan van Verloren Zielen.”
Ze gingen naar buiten en zagen een lange rij wagens die langzaam door de woestijn bewoog, verlicht door lantaarns die een spookachtig blauw licht afgaven. De wagens waren versierd met vreemde symbolen en fladderende banieren, en werden getrokken door dieren die leken op kamelen maar met langere nekken en zes poten.
“Wie zijn ze?” vroeg Jake.
“Zoekers,” antwoordde Zara. “Mensen die reizen tussen werelden, op zoek naar verloren herinneringen, verloren zielen. Ze verzamelen verhalen en verkopen ze aan degenen die hun verleden zijn vergeten.”
De karavaan stopte bij het zien van hun vuur, en een figuur steeg af van de voorste wagen. Het was een lange, magere man met huid zo donker als de nachthemel en ogen die glansden als sterren.
“Zara van het Zand,” begroette hij haar met een diepe buiging. “Het is lang geleden.”
“Nomad van de Nacht,” antwoordde ze met een knik. “Je reist ver van je gebruikelijke routes.”
“De sterren hebben me hierheen geleid,” zei hij, zijn blik verschuivend naar Jake. “En ik zie waarom. Een reiziger tussen werelden, een verzamelaar van herinneringen.”
Jake voelde zich ongemakkelijk onder de intense blik van de man. “Hoe weet je dat?”
Nomad glimlachte, een flits van witte tanden in zijn donkere gezicht. “Ik handel in verhalen, vreemdeling. Ik herken iemand die zijn eigen verhaal zoekt.”
Hij haalde iets tevoorschijn uit zijn gewaad – een kleine, glazen fles gevuld met een vloeistof die glinsterde als vloeibaar zilver. “Een geschenk,” zei hij, het aan Jake aanbiedend. “Water van de Bron van Herinnering. Drink het wanneer je verdwaald bent, en het zal je helpen je weg te vinden.”
Jake nam de fles aan, voelend hoe de vloeistof erin bewoog als een levend ding. “Dank je,” zei hij, niet zeker wat hij verder moest zeggen.
Nomad knikte en wendde zich toen tot Zara. “De woestijn fluistert van verandering,” zei hij zacht. “De grenzen tussen werelden worden dunner. Het Erebus-project heeft meer in beweging gezet dan zijn scheppers ooit hadden kunnen voorzien.”
Zara’s gezicht verstrakte. “Weet je iets dat ik zou moeten weten, Nomad?”
“Alleen dat de tijd kort is,” antwoordde hij cryptisch. “De reiziger moet zijn reis voltooien voordat de laatste grens valt.”
Met die woorden boog hij nogmaals en keerde terug naar zijn karavaan. De wagens zetten zich weer in beweging, verdwijnend in de nacht als een droom bij het ontwaken.
“Wat bedoelde hij?” vroeg Jake aan Zara toen ze weer alleen waren.
“Nomad ziet dingen die anderen niet zien,” zei ze. “Hij reist niet alleen tussen plaatsen, maar ook tussen tijden. Als hij zegt dat de tijd kort is, dan moeten we daar aandacht aan besteden.”
Ze keerden terug naar hun schuilplaats, maar de rust van eerder was verdwenen, vervangen door een gevoel van urgentie, van een klok die aftelde naar een onbekend maar onvermijdelijk einde.
Hoofdstuk 7: De Poort van Zand
De dageraad kwam met een explosie van kleuren – de hemel veranderde van diep indigo naar vurig oranje en goud, de zandduinen glansden als gesmolten metaal in het vroege licht. Jake en Zara stonden buiten hun schuilplaats, kijkend naar de zon die opkwam over de Vergeten Woestijn.
“Het is tijd,” zei Zara zacht. “Je moet verder.”
Jake knikte, wetend dat zijn tijd in deze wereld ten einde liep. Hij had geleerd wat hij hier moest leren, had een stuk van zichzelf teruggevonden dat verloren was geweest. Maar er waren nog steeds gaten in zijn geheugen, stukjes van de puzzel die ontbraken.
“Waar ga ik heen?” vroeg hij.
Zara wees naar een plek in de woestijn waar de lucht leek te trillen, als hitte boven heet zand, maar met een vreemde, pulserende kwaliteit. “De Poort van Zand,” zei ze. “Een doorgang naar de volgende wereld op je reis.”
Ze liepen samen naar de trillende lucht. Naarmate ze dichterbij kwamen, zag Jake dat het geen gewone luchtspiegeling was. De lucht leek te vouwen en te buigen, een opening vormend naar… ergens anders. Door de opening kon hij glimpen opvangen van een andere plaats – een wereld van duisternis en kronkelende tunnels.
“Het Ondergrondse Labyrint,” zei Zara, zijn blik volgend. “Een wereld van paden en keuzes, van zoeken en vinden.”
Jake voelde een mengeling van opwinding en angst. Elke nieuwe wereld bracht hem dichter bij het begrijpen van wie hij was, maar ook dichter bij een onbekend einde.
“Zal ik je daar weer zien?” vroeg hij aan Zara.
Ze glimlachte, een vleugje melancholie in haar gouden ogen. “Ik ben altijd waar je me nodig hebt, Jake. Zoek naar me in de duisternis, en ik zal er zijn.”
Ze reikte naar hem en raakte zijn wang aan, haar vingers warm tegen zijn huid. “Vergeet niet wat je hier hebt geleerd. De kracht van herinnering is groot – het kan je leiden, maar ook misleiden. Vertrouw op wat je weet, maar wees open voor wat je nog moet leren.”
Jake knikte, haar aanraking koesterend. Hij haalde het Kompas van Herinnering tevoorschijn en zag hoe de naald draaide, uiteindelijk wijzend naar de Poort van Zand.
“Het wijst me de weg,” zei hij.
“Het wijst je naar waar je moet zijn,” corrigeerde Zara. “Niet altijd waar je wilt zijn.”
Jake stopte het kompas weg, samen met de kleine fles die Nomad hem had gegeven. Hij keek nog een laatste keer naar de Vergeten Woestijn, de eindeloze duinen en de ruïnes in de verte, de overblijfselen van een beschaving die de kunst van het herinneren had geperfectioneerd maar uiteindelijk was vergeten.
“Tot ziens, Zara,” zei hij zacht.
“Tot ziens, Jake,” antwoordde ze. “En veel geluk in het Labyrint.”
Hij stapte door de Poort van Zand, voelend hoe de wereld om hem heen veranderde, vervormde, zich herordende in een nieuwe realiteit. De hitte en het licht van de woestijn vervaagden, vervangen door koelte en duisternis.
Epiloog: De Duisternis Wacht
Jake opende zijn ogen in absolute duisternis. Geen enkele lichtstraal doorboorde het zwart om hem heen, zo volledig dat hij niet eens zijn hand voor zijn gezicht kon zien. De lucht was koel en vochtig, met een aardse geur van vochtige steen en mos. Hij hoorde het zachte druppelen van water ergens in de verte, een eenzaam, ritmisch geluid in de stilte.
Hij tastte in zijn zakken en voelde de geruststellende aanwezigheid van de objecten die hij had verzameld: het kaartje met het boomsymbool, het houten figuurtje, het Kristallen Hart, en nu ook het Kompas van Herinnering en de fles met het Water van de Bron. Samen vormden ze een tastbare geschiedenis van zijn reis, ankers in een zee van veranderende realiteiten.
Het Kompas voelde warm aan in zijn hand, en toen hij het tevoorschijn haalde, zag hij dat het een zacht, gouden licht afgaf – net genoeg om zijn directe omgeving te verlichten. Hij bevond zich in een tunnel van gladde, zwarte steen, die zich in twee richtingen uitstrekte, beide verdwijnend in duisternis.
De naald van het Kompas draaide, zoekend, en wees toen naar de linker tunnel. Jake aarzelde, kijkend van de ene tunnel naar de andere. In de woestijn had Zara gezegd dat het Kompas hem zou wijzen naar waar hij moest zijn, niet waar hij wilde zijn. Maar in deze duisternis, zonder enig ander referentiepunt, wat was het verschil?
Hij dacht aan wat hij had geleerd in de werelden die hij had bezocht. In de Stille Stad had hij geleerd over verzet tegen onderdrukking. In het Magische Woud had hij de kracht van leven en groei ontdekt. In de IJswereld had hij geleerd over structuur en emotionele waarheid. En in de Vergeten Woestijn had hij de kracht van herinnering gevonden.
Elke wereld had hem een stukje van zichzelf teruggegeven, een fragment van zijn identiteit. Hij was een wetenschapper, een ontwerper van het Erebus-project. Hij had vrijwillig door een portaal gestapt om tussen werelden te reizen. Er was iets misgegaan, en nu was hij verspreid over verschillende realiteiten, verzamelend wat verloren was gegaan.
En Elara… wie was zij precies? Zijn collega, zijn partner, iemand die belangrijk voor hem was geweest. Iemand die hij had achtergelaten toen het portaal instabiel werd. Iemand die hij misschien probeerde terug te vinden.
Met een diepe zucht begon Jake de linker tunnel in te lopen, geleid door het zachte licht van het Kompas. Het Ondergrondse Labyrint wachtte, een wereld van paden en keuzes, van zoeken en vinden. En ergens in de duisternis, wist hij, wachtte Mandy op hem in een nieuwe gedaante, klaar om hem te helpen de volgende stap in zijn reis te zetten.
De tunnel strekte zich voor hem uit, een pad naar een nieuwe wereld, een nieuw stukje van de puzzel die zijn identiteit vormde. En met elke stap die hij zette, voelde Jake zich sterker, zekerder, meer zichzelf – wie dat ook mocht zijn.
📝 Geef een gratis Klavertje Vier weg
✏️ Day 3: The Ice World
Chapter 1: Awakening in Ice
The cold was the first thing Jake felt. A cutting, merciless cold that penetrated his clothes and made his skin tingle as if a thousand needles were striking him at once. He opened his eyes and saw an endless expanse of white, so bright it hurt to look at. Snow and ice stretched to the horizon, where the white ground merged with a pale, grey sky.
Jake rose with difficulty, his limbs stiff from the cold. His breath formed clouds in the icy air, little white ghosts that quickly disappeared in the wind. He looked around, searching for any sign of life or civilisation, but saw only crystal formations rising from the snow like strange, frozen sculptures.
“Where am I now?” he whispered to himself, his voice immediately carried away by the wind.
He felt something in his hand and looked down. There, firmly clutched in his numbed fingers, was the wooden figurine of the tree that Mandy had given him in the Magical Forest. It felt warm, almost alive, in contrast to the deathly cold around him.
Jake carefully tucked the figurine into his pocket and began to walk, his feet sinking into the deep snow. He had no idea where he was going, but standing still would mean freezing. The wind cut through his clothes, and he wrapped his arms around himself in a futile attempt to stay warm.
After what seemed like hours, he saw in the distance a glimmer that was different from the reflection of sunlight on snow. It was a structure, a building perhaps, made of what appeared to be solid ice. With renewed energy, Jake quickened his pace, hoping for shelter from the cold.
Chapter 2: The Ice Queen
The building was a palace, a majestic construction of ice and crystal that rose from the snow like a frozen dream. Towers of translucent ice reached towards the sky, and walls of polished crystal reflected the light in rainbow colours. It was both beautiful and intimidating, a monument to the beauty and cruelty of this frozen world.
Jake hesitated at the enormous gates of the palace, uncertain if he would be welcome. But the cold forced him forward, and he pushed against the gates, which swung open surprisingly easily.
Inside, the palace was even more impressive. High vaults of ice, illuminated by an ethereal blue light, stretched above his head. The floor was polished to a mirror-like sheen, and columns of crystal supported the ceiling. Despite the icy construction, it was noticeably warmer inside than outside, though still cold enough to make Jake’s breath visible.
“Welcome, traveller,” sounded a voice, clear and cold as a mountain stream in winter.
Jake turned and saw a woman standing on a throne of ice. She was tall and slender, with skin so pale it almost seemed translucent, and hair as white as the snow outside. She wore a dress that seemed to be made of ice crystals, which glittered with every movement. But it was her face that made Jake’s breath catch—it was Mandy, but not as he knew her. Her usual warmth had been replaced by a cool, distant beauty, and her eyes were now ice-blue instead of the warm brown he remembered.
“Mandy?” he asked hesitantly.
A flash of surprise crossed her face, quickly replaced by a neutral expression. “In this world, I am known as Lyra, the Ice Queen,” she said. “But you may call me Mandy, if that helps you to orient yourself.”
Jake walked towards her, carefully maintaining his balance on the slippery floor. “You look… different.”
“As I told you, Jake, I am in every world, but not always the same.” She rose from her throne and descended the steps until she stood before him. “In the Magical Forest, I was a protector, a guardian of life and growth. Here, I am a ruler, a keeper of order and structure.”… “And what am I here?” asked Jake.
Lyra/Mandy looked at him searchingly. “That depends on what you choose to be. In this world, choices are made of ice—hard, clear, and difficult to change. Choose carefully.”
Chapter 3: The Crystal Mirror
Lyra led Jake deeper into the ice palace, through corridors and rooms that became increasingly complex and more wonderful. Ice sculptures of impossible beauty stood in niches, and fountains of liquid crystal bubbled in courtyards beneath domes of ice.
“This world is different from the others,” Lyra explained as they walked. “In the Silent City, emotion was suppressed by technology. In the Magical Forest, emotion was celebrated and enhanced by magic. Here in the Ice World, emotion is crystallised, transformed into something tangible and lasting.”
“What does that mean?” asked Jake.
“It means that thoughts and feelings can take form here,” she replied. “They can be captured in ice, preserved for eternity. But it also means they can freeze, become stuck in patterns that can no longer change.”
They reached a circular room in the heart of the palace. In the middle stood an enormous mirror, made of a single plate of crystal so clear it was almost invisible. The mirror was framed by intricately worked ice that seemed to move and change as Jake looked at it.
“This is the Crystal Mirror,” said Lyra. “One of the most powerful memory gates in all worlds. It shows not only who you are, but also who you could be.”
Jake stepped forward, drawn to the mirror like a moth to a flame. In the reflective surface, he first saw only himself—a young man with tousled hair and tired eyes, clad in clothes unsuitable for this frozen world. But then the image began to change.
He saw himself in a white laboratory coat, surrounded by monitors and equipment. His face was more serious, older perhaps, and he looked with intense concentration at something off-screen. Then the image changed again, and he saw himself in a field of flowers, laughing at the dark-haired woman from his earlier memory. Another change, and he stood in a room full of people in white coats, while the grey-haired man from his first memory spoke: “The Erebus project will break the boundaries between worlds."
The images came faster, flashing by like a film at high speed: Jake in the Magical Forest, his hands glowing with green energy; Jake in a desert, digging in the sand for something hidden; Jake in an underground labyrinth, following a trail of light through dark tunnels; Jake in a city of floating islands, jumping from one to another; Jake in a village where time stood still, talking to people who did not seem to move.
And through all these images, he saw Mandy, always in a different form but always recognisable by something in her eyes, in the way she looked at him.
The stream of images stopped abruptly, and Jake staggered backwards, dizzy from what he had seen. “What was that?” he asked breathlessly.
“Fragments of your past and possible futures,” said Lyra. “The mirror shows what is hidden, even from yourself.”
“I saw… so many places, so many versions of myself.”
“Your journey is complex, Jake. You travel not only between worlds, but also between possibilities, between versions of yourself.”
Jake looked at the mirror again, which now showed only his normal reflection. “What is the Erebus project?” he asked. “I keep hearing about it, but I don’t know what it means.”
Lyra’s face became more serious. “The Erebus project was an experiment to break the boundaries between worlds, to make travel possible where it was previously impossible. You were… are an important part of that experiment.”
“Was I a scientist? One of those people in white coats?”
“Yes and no,” Lyra answered cryptically. “You were both researcher and subject. But something went wrong, and now you travel between worlds, your memory fragmented, your identity spread across different realities.”… Jake tried to process this, his thoughts swirling like snowflakes in a storm. “And you? What is your role in all this?”
“I am your anchor,” she said softly. “Your constant in a sea of change. I help you find your way, to put the pieces together.”
Chapter 4: The Ice Storm
Their conversation was interrupted by a sudden rumbling that echoed through the palace. The walls trembled, and small pieces of ice fell from the ceiling.
“What is that?” asked Jake, instinctively ducking.
Lyra’s face tightened. “An ice storm. The worst in years.” She quickly walked to a window and looked outside. Jake followed her and saw a wall of swirling snow and ice approaching the palace, a white apocalypse devouring everything in its path.
“Is the palace safe?” he asked.
“Normally, yes,” she said, “but this storm is different. There’s a… rage in it, a purposefulness I’ve never seen before.”
She turned and quickly walked back to the Crystal Mirror. “We must protect the mirror. If it breaks, a part of your memory, a part of your self, will be lost forever.”
Jake followed her, feeling a new determination. “What can I do?”
“In the Magical Forest, you discovered a power, a connection to life energy,” said Lyra. “Here, you must find a different power—the power of structure, of order, of crystallisation.”
The rumbling grew louder, and the palace now trembled continuously. Outside, the storm drew ever closer, a wall of destruction approaching them.
“How do I do that?” asked Jake, his voice barely audible above the sound of the storm.
“Touch the mirror,” instructed Lyra. “Concentrate on what you saw, on the connections between the images, between the worlds.”
Jake placed his hands on the cold surface of the mirror. The crystal felt different than he had expected—not dead and cold, but vibrating with a subtle energy, like a heartbeat beneath ice.
He closed his eyes and concentrated, trying to remember the images he had seen, to feel the connections between the different versions of himself. He thought about the symbol of the tree, about the roots that branched out and came together again, about the network of connections between worlds.
Slowly, he felt a new sensation—a cold, clear energy flowing through him, different from the warm, green power of the Magical Forest, but equally powerful. It was like crystal-clear water freezing into perfect structures in his mind, patterns of order and symmetry that extended from his thoughts to the physical world.
He opened his eyes and saw that his hands now glowed with a blue light. The light spread across the mirror, forming patterns that resembled ice crystals, extending to the walls and ceiling of the room.
“It’s working!” cried Lyra. “You’re strengthening the structure of the palace, making it resistant to the storm.”
The ice crystals continued to expand, reinforcing the walls and columns, weaving a network of light and energy that enveloped the palace like a protective shield. Outside, the storm raged, but the walls held firm, strengthened by Jake’s newly discovered power.
After what seemed an eternity, the storm began to subside. The rumbling grew softer, and the tremors stopped. Jake lowered his hands, exhausted but satisfied.
“That was… incredible,” he said, looking at his hands which were now normal again.
Lyra looked at him with a new appreciation in her eyes. “You learn quickly, Jake. In each world, you discover a new aspect of your power, a new piece of yourself.”
Chapter 5: The Crystal Heart
After the storm had subsided, Lyra led Jake to a new room in the palace. This one was smaller than the room with the mirror, but no less impressive. In the middle stood a pedestal of ice, and upon it rested a small object that glowed with an inner light.
“This is the Crystal Heart,” said Lyra. “An artefact of great power in this world, and a symbol that will help you in your journey.”
Jake stepped closer and saw that the object was a perfect crystal replica of a human heart, so detailed that he almost expected it to beat. Inside, a soft, blue light pulsed in the rhythm of a heartbeat…. “What does it do?” he asked.
“The Crystal Heart represents emotional truth,” Lyra explained. “In a world where feelings can freeze and become stuck, the Heart reminds us that true emotions must flow, must change, must live.”
She took the Heart from the pedestal and offered it to Jake. “This is for you. A piece of this world to take with you on your journey.”
Jake accepted the Heart, surprised by how warm it felt despite its icy appearance. It pulsed in his hand, and he felt a resonance with the wooden figurine of the tree in his pocket, as if the two objects were somehow communicating with each other.
“Thank you,” he said, carefully tucking the Heart into his other pocket.
Lyra looked at him with a mixture of pride and melancholy. “You grow stronger with each world you visit, Jake. You are beginning to find the pieces of yourself, to restore the connections.”
“But there is still so much I don’t know,” said Jake, frustrated. “Who am I really? What is my purpose? Why do I travel between worlds?”
“Those answers will come,” Lyra assured him. “But not all at once. Some truths can only be understood when you are ready for them.”
Chapter 6: The Frozen River
The time to say goodbye arrived, and Lyra led Jake to the back of the palace, where a frozen river stretched out like a path of blue-white ice.
“This is the Frozen River,” she said. “Like the River of Dreams in the Magical Forest, this is a path between worlds. Follow it, and it will lead you to your next destination.”
Jake looked at the glistening surface of the river, which stretched to the horizon. “Will I see you again?” he asked, turning to Lyra.
“In another form, in another world,” she replied with a small smile. “Look for me, and I will be there.”
She reached out and touched his cheek, her fingers cool but not unpleasant. “Don’t forget what you have learned here, Jake. The power of structure and order, but also the importance of emotional truth. Both are parts of who you are.”
Jake nodded, cherishing her touch. There was something in the way she looked at him, something that went deeper than their brief time together in this world would justify. He wondered what their connection truly meant, what their history together had been before he lost his memory.
“Goodbye, Lyra,” he said softly.
“Goodbye, Jake,” she replied. “And good luck in the Forgotten Desert.”
Before he could ask what she meant, he felt the familiar dizziness that overcame him when changing worlds. The Ice World began to fade, and Lyra’s figure became translucent, like a ghost disappearing in the morning light.
Epilogue: Sand and Heat
Jake opened his eyes against a blinding light, so different from the soft glow of the Ice World. Heat struck him in the face like a fist, dry and merciless. He blinked against the harsh sunlight and tried to take in his surroundings.
Sand. Endless sand in all directions, undulating in dunes that stretched to the horizon. The air shimmered above the hot surface, and the sun burned relentlessly in a cloudless, cobalt blue sky.
He lay half-buried in the sand, his clothes still damp from the melting ice crystals that had clung to him when he left the Ice World. The moisture evaporated quickly in the dry desert air.
Jake rose with difficulty, his throat already dry and raw. He felt in his pockets and felt the reassuring presence of the wooden tree figurine from the Magical Forest and the Crystal Heart from the Ice World. They felt warm, almost hot in the desert heat, but somehow comforting…. In the distance, almost merged with the horizon, he saw the contours of what appeared to be ruins – broken columns and decayed walls rising from the sand like the remains of a long-forgotten civilisation.
Jake looked around, searching for any sign of Mandy, but saw only the endless desert. Yet he knew she would be here somewhere, in a new form, waiting to help him as she had done in every world.
With a deep sigh, he began to walk in the direction of the ruins, his feet sinking into the hot sand. The Forgotten Desert, Lyra had called it. A new world, a new challenge, a new piece of the puzzle that formed his identity.
As he walked, Jake thought about what he had learned in the three worlds he had visited so far. In the Silent City, he had learned about suppression and resistance. In the Magical Forest, he had discovered the power of life and growth. In the Ice World, he had learned about structure and emotional truth.
What would the desert teach him? What power would he discover here? What piece of himself would he find here?
With each step he took, Jake felt stronger, more certain. He began to see the patterns, the connections between the worlds, between the different aspects of himself. The Erebus project, the memory gates, Mandy’s changing forms – they were all part of a larger whole, a puzzle he was slowly beginning to unravel.
And somewhere, at the heart of that puzzle, waited the truth about who he really was and why he travelled between worlds.
With the Crystal Heart beating in his pocket and the wooden figurine warm against his chest, Jake continued his journey into the Forgotten Desert, ready for what the fourth world would bring him.
📝 Give away a free Lucky Four-Leaf Clover
✏️ Dag 3: De IJswereld
Hoofdstuk 1: Ontwaken in Ijs
De kou was het eerste wat Jake voelde. Een snijdende, meedogenloze kou die door zijn kleren drong en zijn huid deed prikken alsof duizenden naalden hem tegelijk raakten. Hij opende zijn ogen en zag een eindeloze vlakte van wit, zo fel dat het pijn deed om ernaar te kijken. Sneeuw en ijs strekten zich uit tot aan de horizon, waar de witte grond versmolt met een bleke, grijze hemel.
Jake kwam moeizaam overeind, zijn ledematen stijf van de kou. Zijn adem vormde wolkjes in de ijzige lucht, kleine witte spookjes die snel verdwenen in de wind. Hij keek om zich heen, zoekend naar enig teken van leven of beschaving, maar zag alleen kristallen formaties die uit de sneeuw oprezen als vreemde, bevroren sculpturen.
“Waar ben ik nu?” fluisterde hij tegen zichzelf, zijn stem meteen weggevoerd door de wind.
Hij voelde iets in zijn hand en keek naar beneden. Daar, stevig in zijn verkleumde vingers geklemd, was het houten figuurtje van de boom dat Mandy hem in het Magische Woud had gegeven. Het voelde warm aan, bijna levend, in tegenstelling tot de doodse kou om hem heen.
Jake stopte het figuurtje zorgvuldig in zijn zak en begon te lopen, zijn voeten zinkend in de diepe sneeuw. Hij had geen idee waar hij heen ging, maar stilstaan zou betekenen dat hij zou bevriezen. De wind sneed door zijn kleren, en hij sloeg zijn armen om zich heen in een vergeefse poging om warm te blijven.
Na wat uren leken, zag hij in de verte een schittering die anders was dan de reflectie van zonlicht op sneeuw. Het was een structuur, een gebouw misschien, gemaakt van wat leek op massief ijs. Met hernieuwde energie versnelde Jake zijn pas, hopend op beschutting tegen de kou.
Hoofdstuk 2: De IJskoningin
Het gebouw was een paleis, een majestueuze constructie van ijs en kristal die oprees uit de sneeuw als een bevroren droom. Torens van doorschijnend ijs reikten naar de hemel, en muren van gepolijst kristal weerkaatsten het licht in regenboogkleuren. Het was zowel prachtig als intimiderend, een monument voor de schoonheid en wreedheid van deze bevroren wereld.
Jake aarzelde bij de enorme poorten van het paleis, onzeker of hij welkom zou zijn. Maar de kou dwong hem voorwaarts, en hij duwde tegen de poorten, die verrassend gemakkelijk openzwaaiden.
Binnen was het paleis nog indrukwekkender. Hoge gewelven van ijs, verlicht door een etherisch blauw licht, strekten zich uit boven zijn hoofd. De vloer was gepolijst tot een spiegelachtige glans, en zuilen van kristal ondersteunden het plafond. Ondanks de ijzige constructie was het binnen merkbaar warmer dan buiten, hoewel nog steeds koud genoeg om Jake’s adem zichtbaar te maken.
“Welkom, reiziger,” klonk een stem, helder en koud als een bergbeek in de winter.
Jake draaide zich om en zag een vrouw staan op een troon van ijs. Ze was lang en slank, met huid zo bleek dat ze bijna doorschijnend leek, en haar was wit als de sneeuw buiten. Ze droeg een jurk die leek te zijn gemaakt van ijskristallen, die glinsterde bij elke beweging. Maar het was haar gezicht dat Jake’s adem deed stokken—het was Mandy, maar niet zoals hij haar kende. Haar gebruikelijke warmte was vervangen door een koele, afstandelijke schoonheid, en haar ogen waren nu ijsblauw in plaats van het warme bruin dat hij zich herinnerde.
“Mandy?” vroeg hij aarzelend.
Een flits van verrassing trok over haar gezicht, snel vervangen door een neutrale uitdrukking. “In deze wereld ben ik bekend als Lyra, de IJskoningin,” zei ze. “Maar je mag me Mandy noemen, als dat je helpt je te oriënteren.”
Jake liep naar haar toe, voorzichtig zijn evenwicht bewarend op de gladde vloer. “Je ziet er… anders uit.”
“Zoals ik je al vertelde, Jake, ik ben in elke wereld, maar niet altijd dezelfde.” Ze stond op van haar troon en daalde de treden af tot ze voor hem stond. “In het Magische Woud was ik een beschermer, een hoeder van leven en groei. Hier ben ik een heerseres, een bewaarder van orde en structuur.”
“En wat ben ik hier?” vroeg Jake.
Lyra/Mandy keek hem onderzoekend aan. “Dat hangt af van wat je kiest te zijn. In deze wereld worden keuzes gemaakt van ijs—hard, duidelijk, en moeilijk te veranderen. Kies zorgvuldig.”
Hoofdstuk 3: De Kristallen Spiegel
Lyra leidde Jake dieper het ijspaleis in, door gangen en kamers die steeds complexer en wonderlijker werden. IJssculpturen van onmogelijke schoonheid stonden in nissen, en fonteinen van vloeibaar kristal borrelden in binnenplaatsen onder koepels van ijs.
“Deze wereld is anders dan de anderen,” legde Lyra uit terwijl ze liepen. “In de Stille Stad werd emotie onderdrukt door technologie. In het Magische Woud werd emotie gevierd en versterkt door magie. Hier in de IJswereld wordt emotie gekristalliseerd, omgevormd tot iets tastbaars en blijvends.”
“Wat betekent dat?” vroeg Jake.
“Het betekent dat gedachten en gevoelens hier vorm kunnen aannemen,” antwoordde ze. “Ze kunnen worden vastgelegd in ijs, bewaard voor eeuwigheid. Maar het betekent ook dat ze kunnen bevriezen, vast komen te zitten in patronen die niet meer kunnen veranderen.”
Ze bereikten een cirkelvormige kamer in het hart van het paleis. In het midden stond een enorme spiegel, gemaakt van een enkele plaat kristal zo helder dat het bijna onzichtbaar was. De spiegel was omlijst door ingewikkeld bewerkt ijs dat leek te bewegen en te veranderen terwijl Jake ernaar keek.
“Dit is de Kristallen Spiegel,” zei Lyra. “Een van de krachtigste geheugenpoorten in alle werelden. Het toont niet alleen wie je bent, maar ook wie je zou kunnen zijn.”
Jake stapte naar voren, aangetrokken door de spiegel als een mot naar een vlam. In het reflecterende oppervlak zag hij eerst alleen zichzelf—een jonge man met verwarde haren en vermoeide ogen, gehuld in kleren die niet geschikt waren voor deze bevroren wereld. Maar toen begon het beeld te veranderen.
Hij zag zichzelf in een wit laboratoriumjasje, omringd door monitoren en apparatuur. Zijn gezicht was ernstiger, ouder misschien, en hij keek met intense concentratie naar iets buiten beeld. Dan veranderde het beeld opnieuw, en hij zag zichzelf in een veld van bloemen, lachend naar de vrouw met het donkere haar uit zijn eerdere herinnering. Nog een verandering, en hij stond in een kamer vol mensen in witte jassen, terwijl de man met het grijzende haar uit zijn eerste herinnering sprak: “Het Erebus-project zal de grenzen tussen werelden doorbreken."
De beelden kwamen sneller, flitsten voorbij als een film op hoge snelheid: Jake in het Magische Woud, zijn handen gloeiend met groene energie; Jake in een woestijn, gravend in het zand naar iets verborgens; Jake in een ondergronds labyrint, volgend een lichtspoor door donkere tunnels; Jake in een stad van drijvende eilanden, springend van het ene naar het andere; Jake in een dorp waar de tijd stilstond, pratend met mensen die niet leken te bewegen.
En door al deze beelden heen zag hij Mandy, steeds in een andere gedaante maar altijd herkenbaar aan iets in haar ogen, in de manier waarop ze naar hem keek.
De stroom van beelden stopte abrupt, en Jake wankelde achteruit, duizelig van wat hij had gezien. “Wat was dat?” vroeg hij ademloos.
“Fragmenten van je verleden en mogelijke toekomsten,” zei Lyra. “De spiegel toont wat verborgen is, zelfs voor jezelf.”
“Ik zag… zoveel plaatsen, zoveel versies van mezelf.”
“Je reis is complex, Jake. Je reist niet alleen tussen werelden, maar ook tussen mogelijkheden, tussen versies van jezelf.”
Jake keek weer naar de spiegel, die nu weer alleen zijn normale reflectie toonde. “Wat is het Erebus-project?” vroeg hij. “Ik blijf het horen, maar ik weet niet wat het betekent.”
Lyra’s gezicht werd ernstiger. “Het Erebus-project was een experiment om de grenzen tussen werelden te doorbreken, om reizen mogelijk te maken waar dat voorheen onmogelijk was. Jij was… bent een belangrijk deel van dat experiment.”
“Was ik een wetenschapper? Een van die mensen in witte jassen?”
“Ja en nee,” antwoordde Lyra cryptisch. “Je was zowel onderzoeker als onderwerp. Maar er ging iets mis, en nu reis je tussen werelden, je geheugen gefragmenteerd, je identiteit verspreid over verschillende realiteiten.”
Jake probeerde dit te verwerken, zijn gedachten tollend als sneeuwvlokken in een storm. “En jij? Wat is jouw rol in dit alles?”
“Ik ben je anker,” zei ze zacht. “Je constante in een zee van verandering. Ik help je de weg te vinden, de stukjes bij elkaar te brengen.”
Hoofdstuk 4: De IJsstorm
Hun gesprek werd onderbroken door een plotseling gerommel dat door het paleis echode. De muren trilden, en kleine stukjes ijs vielen van het plafond.
“Wat is dat?” vroeg Jake, instinctief in elkaar duikend.
Lyra’s gezicht verstrakte. “Een ijsstorm. De ergste in jaren.” Ze liep snel naar een raam en keek naar buiten. Jake volgde haar en zag een muur van wervelende sneeuw en ijs die op het paleis afkwam, een witte apocalyps die alles op zijn pad verslond.
“Is het paleis veilig?” vroeg hij.
“Normaal gesproken wel,” zei ze, “maar deze storm is anders. Er zit een… woede in, een doelgerichtheid die ik nog nooit heb gezien.”
Ze draaide zich om en liep snel terug naar de Kristallen Spiegel. “We moeten de spiegel beschermen. Als hij breekt, gaat een deel van je geheugen, een deel van je zelf, voor altijd verloren.”
Jake volgde haar, een nieuwe vastberadenheid voelend. “Wat kan ik doen?”
“In het Magische Woud ontdekte je een kracht, een verbinding met de levensenergie,” zei Lyra. “Hier moet je een andere kracht vinden—de kracht van structuur, van orde, van kristallisatie.”
Het gerommel werd luider, en het paleis trilde nu voortdurend. Buiten werd de storm steeds dichterbij, een muur van vernietiging die op hen afkwam.
“Hoe doe ik dat?” vroeg Jake, zijn stem nauwelijks hoorbaar boven het geluid van de storm.
“Raak de spiegel aan,” instrueerde Lyra. “Concentreer je op wat je zag, op de verbindingen tussen de beelden, tussen de werelden.”
Jake legde zijn handen op het koude oppervlak van de spiegel. Het kristal voelde anders aan dan hij had verwacht—niet dood en koud, maar vibrerend met een subtiele energie, als een hartslag onder ijs.
Hij sloot zijn ogen en concentreerde zich, proberend zich de beelden te herinneren die hij had gezien, de verbindingen tussen de verschillende versies van zichzelf te voelen. Hij dacht aan het symbool van de boom, aan de wortels die zich vertakten en weer samenkwamen, aan het netwerk van verbindingen tussen werelden.
Langzaam voelde hij een nieuwe sensatie—een koude, heldere energie die door hem heen stroomde, anders dan de warme, groene kracht van het Magische Woud, maar even krachtig. Het was als kristalhelder water dat bevroor tot perfecte structuren in zijn geest, patronen van orde en symmetrie die zich uitstrekten van zijn gedachten naar de fysieke wereld.
Hij opende zijn ogen en zag dat zijn handen nu gloeiden met een blauw licht. Het licht spreidde zich uit over de spiegel, vormde patronen die leken op ijskristallen, die zich uitstrekten naar de muren en het plafond van de kamer.
“Het werkt!” riep Lyra. “Je versterkt de structuur van het paleis, maakt het bestand tegen de storm.”
De ijskristallen bleven zich uitbreiden, versterkten de muren en zuilen, weven een netwerk van licht en energie dat het paleis omhulde als een beschermend schild. Buiten raasde de storm, maar de muren hielden stand, versterkt door Jake’s nieuw ontdekte kracht.
Na wat een eeuwigheid leek, begon de storm af te nemen. Het gerommel werd zachter, en de trillingen stopten. Jake liet zijn handen zakken, uitgeput maar voldaan.
“Dat was… ongelooflijk,” zei hij, naar zijn handen kijkend die nu weer normaal waren.
Lyra keek hem aan met een nieuwe waardering in haar ogen. “Je leert snel, Jake. In elke wereld ontdek je een nieuw aspect van je kracht, een nieuw stukje van jezelf.”
Hoofdstuk 5: Het Kristallen Hart
Nadat de storm was gaan liggen, leidde Lyra Jake naar een nieuwe kamer in het paleis. Deze was kleiner dan de kamer met de spiegel, maar niet minder indrukwekkend. In het midden stond een sokkel van ijs, en daarop rustte een klein object dat gloeide met een innerlijk licht.
“Dit is het Kristallen Hart,” zei Lyra. “Een artefact van grote kracht in deze wereld, en een symbool dat je zal helpen in je reis.”
Jake stapte dichterbij en zag dat het object een perfecte kristallen replica was van een menselijk hart, zo gedetailleerd dat hij bijna verwachtte dat het zou kloppen. Binnenin pulseerde een zacht, blauw licht in het ritme van een hartslag.
“Wat doet het?” vroeg hij.
“Het Kristallen Hart vertegenwoordigt emotionele waarheid,” legde Lyra uit. “In een wereld waar gevoelens kunnen bevriezen en vast komen te zitten, herinnert het Hart ons eraan dat ware emoties moeten stromen, moeten veranderen, moeten leven.”
Ze nam het Hart van de sokkel en bood het Jake aan. “Dit is voor jou. Een stuk van deze wereld om mee te nemen op je reis.”
Jake nam het Hart aan, verrast door hoe warm het aanvoelde ondanks zijn ijzige uiterlijk. Het pulseerde in zijn hand, en hij voelde een resonantie met het houten figuurtje van de boom in zijn zak, alsof de twee objecten op een of andere manier met elkaar communiceerden.
“Dank je,” zei hij, het Hart zorgvuldig in zijn andere zak stoppend.
Lyra keek hem aan met een mengeling van trots en melancholie. “Je groeit sterker met elke wereld die je bezoekt, Jake. Je begint de stukjes van jezelf terug te vinden, de verbindingen te herstellen.”
“Maar er is nog zoveel dat ik niet weet,” zei Jake gefrustreerd. “Wie ben ik echt? Wat is mijn doel? Waarom reis ik tussen werelden?”
“Die antwoorden zullen komen,” verzekerde Lyra hem. “Maar niet allemaal tegelijk. Sommige waarheden kunnen alleen worden begrepen wanneer je er klaar voor bent.”
Hoofdstuk 6: De Bevroren Rivier
De tijd om afscheid te nemen brak aan, en Lyra leidde Jake naar de achterkant van het paleis, waar een bevroren rivier zich uitstrekte als een pad van blauw-wit ijs.
“Dit is de Bevroren Rivier,” zei ze. “Net als de Rivier van Dromen in het Magische Woud, is dit een weg tussen werelden. Volg hem, en hij zal je naar je volgende bestemming leiden.”
Jake keek naar de glinsterende oppervlakte van de rivier, die zich uitstrekte tot aan de horizon. “Zal ik je weer zien?” vroeg hij, zich omdraaiend naar Lyra.
“In een andere gedaante, in een andere wereld,” antwoordde ze met een kleine glimlach. “Zoek naar mij, en ik zal er zijn.”
Ze reikte naar hem en raakte zijn wang aan, haar vingers koel maar niet onaangenaam. “Vergeet niet wat je hier hebt geleerd, Jake. De kracht van structuur en orde, maar ook het belang van emotionele waarheid. Beide zijn delen van wie je bent.”
Jake knikte, haar aanraking koesterend. Er was iets in de manier waarop ze naar hem keek, iets dat dieper ging dan hun korte tijd samen in deze wereld zou rechtvaardigen. Hij vroeg zich af wat hun verbinding werkelijk betekende, wat hun geschiedenis samen was geweest voordat hij zijn geheugen verloor.
“Tot ziens, Lyra,” zei hij zacht.
“Tot ziens, Jake,” antwoordde ze. “En veel geluk in de Vergeten Woestijn.”
Voordat hij kon vragen wat ze bedoelde, voelde hij de bekende duizeligheid die hem overviel wanneer hij van wereld wisselde. De IJswereld begon te vervagen, en Lyra’s gestalte werd doorschijnend, als een geest die verdwijnt in het ochtendlicht.
Epiloog: Zand en Hitte
Jake opende zijn ogen tegen een verblindend licht, zo anders dan de zachte gloed van de IJswereld. Hitte sloeg hem in het gezicht als een vuist, droog en meedogenloos. Hij knipperde tegen het felle zonlicht en probeerde zijn omgeving in zich op te nemen.
Zand. Eindeloos zand in alle richtingen, golvend in duinen die zich uitstrekten tot aan de horizon. De lucht trilde boven het hete oppervlak, en de zon brandde genadeloos aan een wolkeloze, kobaltblauwe hemel.
Hij lag half begraven in het zand, zijn kleren nog vochtig van de smeltende ijskristallen die aan hem hadden gekleefd toen hij de IJswereld verliet. De vochtigheid verdampte snel in de droge woestijnlucht.
Jake kwam moeizaam overeind, zijn keel al droog en schraal. Hij tastte in zijn zakken en voelde de geruststellende aanwezigheid van het houten boomfiguurtje uit het Magische Woud en het Kristallen Hart uit de IJswereld. Ze voelden warm aan, bijna heet in de woestijnhitte, maar op een of andere manier geruststellend.
In de verte, bijna versmolten met de horizon, zag hij de contouren van wat ruïnes leken te zijn – gebroken zuilen en vervallen muren die oprezen uit het zand als de overblijfselen van een lang vergeten beschaving.
Jake keek om zich heen, zoekend naar enig teken van Mandy, maar zag alleen de eindeloze woestijn. Toch wist hij dat ze hier ergens zou zijn, in een nieuwe gedaante, wachtend om hem te helpen zoals ze dat in elke wereld had gedaan.
Met een diepe zucht begon hij te lopen in de richting van de ruïnes, zijn voeten zinkend in het hete zand. De Vergeten Woestijn, had Lyra het genoemd. Een nieuwe wereld, een nieuwe uitdaging, een nieuw stukje van de puzzel die zijn identiteit vormde.
Terwijl hij liep, dacht Jake aan wat hij had geleerd in de drie werelden die hij tot nu toe had bezocht. In de Stille Stad had hij geleerd over onderdrukking en verzet. In het Magische Woud had hij de kracht van leven en groei ontdekt. In de IJswereld had hij geleerd over structuur en emotionele waarheid.
Wat zou de woestijn hem leren? Welke kracht zou hij hier ontdekken? Welk stukje van zichzelf zou hij hier terugvinden?
Met elke stap die hij zette, voelde Jake zich sterker, zekerder. Hij begon de patronen te zien, de verbindingen tussen de werelden, tussen de verschillende aspecten van zichzelf. Het Erebus-project, de geheugenpoorten, Mandy’s veranderende gedaantes – ze waren allemaal deel van een groter geheel, een puzzel die hij langzaam begon te ontrafelen.
En ergens, in het hart van die puzzel, wachtte de waarheid over wie hij werkelijk was en waarom hij tussen werelden reisde.
Met het Kristallen Hart kloppend in zijn zak en het houten figuurtje warm tegen zijn borst, zette Jake zijn reis voort in de Vergeten Woestijn, klaar voor wat de vierde wereld hem zou brengen.
📝 Geef een gratis Klavertje Vier weg
✏️ Day 2: The Magical Forest
Chapter 1: Awakening in the Forest
Jake opens his eyes and blinks against the filtered sunlight falling through a canopy of emerald green leaves. Instead of yesterday’s sterile, white room, he now lies on a bed of moss that feels surprisingly soft against his back. The air is heavy with moist earth and sweet nectar, so different from the odourless atmosphere of the Silent City. Birds sing melodies he has never heard before, and the trees around him pulse with a soft, blue glow that seems to flow through their bark like veins.
He slowly rises, his muscles stiff from sleeping on the forest floor. His thoughts are still a tangle of confusion and questions. What had happened to the Silent City? To Mandy? To the radio that had revealed flashes of his past?
“You’re awake,” says a familiar voice behind him.
Jake turns and sees Mandy standing there, but not as he knew her. Her red hair is now longer, braided with small flowers and leaves. She wears a long, green cloak that seems to be made of living leaves that subtly move with each breath. In her hand, she holds a staff of twisted wood that pulses with the same blue light as the trees.
“Mandy?” he asks hesitantly, not sure if this is the same person he had met in the Silent City.
She smiles, and in that smile, he sees a glimpse of the woman who had helped him yesterday. “Welcome to the Magical Forest,” she says. “Here, magic is the norm, and technology a distant memory. We must be careful; there are forces in this forest that are not favourably disposed towards us.”
Jake stands up and looks around, overwhelmed by the vivid colours and sounds. “What am I doing here? How did I get here?”
Mandy’s face becomes more serious. “You travel between worlds, Jake. Each world has its own rules, its own magic.” She points to an enormous tree in the distance, its trunk broader than ten normal trees combined. “A memory gate is located there. It’s time for you to discover more about your past.”
Chapter 2: The Tree of Memories
They walk together through the forest, and Jake notices that the vegetation responds to their presence. Flowers turn their heads towards them like curious spectators, and branches bend aside to form a path. Small luminous creatures – are they fireflies or something more magical? – dance around them like guides.
“This forest is alive,” Mandy explains as they walk. “Not just in the sense that plants live, but truly conscious. It feels, thinks, remembers. Some of these trees are thousands of years old and have seen more than you or I will ever experience.”
Jake listens, fascinated and a bit afraid. “And you? Are you the same Mandy as yesterday?”
She looks at him with a mysterious smile. “I am Mandy, but in each world, I take a different form, a different role. In the Silent City, I was a technician, a rebel against the system. Here, I am a protector of the forest, a magician who guards the balance.”
They reach the enormous tree, which is even more impressive up close. The trunk is covered with symbols that pulse with a soft, golden glow. They seem to shift and change as Jake looks at them, as if telling a story he can almost understand.
“This is the Tree of Memories,” Mandy says reverently. “The oldest tree in the forest, and one of the most powerful memory gates in all worlds.”
She places her hand on the trunk, and the symbols glow brighter. “Touch the tree, Jake. It will return memories you have lost.”
Jake hesitates, remembering the shock from the radio in the Silent City. But curiosity wins over fear, and he places his hand on the rough bark.
The world around him fades, and he is immersed in a vivid memory:
He is a child, perhaps six or seven years old, running through a field full of wildflowers. The sun is warm on his face, and he laughs carefree. A woman with long, dark hair stands at the edge of the field and looks at him with a loving smile. “Jake,” she calls, “it’s time to go home.” He cannot see her face clearly, but he feels an overwhelming wave of love and safety.… The memory fades, and Jake returns to the present, his hand still on the tree. Tears unexpectedly flow down his cheeks, and he feels a deep, searing pain in his chest – the grief of something precious that has been lost.
“Who was that?” he asks Mandy, his voice hoarse with emotion.
Mandy shakes her head, her eyes full of compassion. “I don’t know, Jake. The tree only shows what is already within you, hidden behind the veils of forgetting. But it is a part of your past, a piece of who you are.”
Jake wipes away the tears, surprised by the intensity of his reaction to a memory he wasn’t even aware he had. “There’s so much I don’t know, Mandy. Who am I? Why do I travel between worlds? What is the Erebus project?”
“I cannot tell you everything,” she says softly. “Some things you must discover for yourself. But I can help you find the way.”
Chapter 3: The Mystery of the Forest
They continue their journey deeper into the forest. As they walk further, the character of the forest changes. The trees stand closer together, their branches intertwined in an almost impenetrable network. The light becomes scarcer, and the atmosphere feels heavier, tense.
“The forest is nervous,” whispers Mandy, her voice barely audible above the rustling of the leaves. “It senses a threat.”
Jake notices that the trees seem to be responding to their presence. Branches bend towards them, and leaves rustle as if whispering secrets in a language he cannot understand but can feel. A sense of urgency, of warning.
“What’s happening?” he asks, his voice also dropped to a whisper.
Mandy’s face is tense, her eyes scanning the surroundings. “The forest is in danger,” she says. “There is a dark force at work, something trying to destroy the magic, to suck up the life force of the forest.”
She explains that the forest is a complex ecosystem, not just of plants and animals, but of magic and energy. The trees communicate via a kind of telepathy, sharing nutrients and information via a network of roots and mycelium that extends throughout the entire forest.
“But there is something disrupting this network,” she says. “A parasite, a corruption that feeds on the magic of the forest and transforms it into something else, something dark.”
Jake feels an unexpected pang of responsibility. “What can I do to help?”
Mandy looks at him, surprised by his question. Then she smiles, a glimpse of hope in her eyes. “You’ve already taken a step by being here, by listening to the forest. Now you must find the next gate, and rediscover another piece of yourself.”
She explains that each memory gate not only reveals a piece of his past but also a part of his strength, his potential. “You are more than you think, Jake,” she says. “And the forest needs you.”
Chapter 4: The Hunt for the Dark Force
They reach a clearing in the forest, where the trees form a perfect circle around a small pond with crystal-clear water. The surface of the water is so still that it looks like a mirror reflecting the sky.
“This is the Heart of the Forest,” says Mandy. “The source of its magic, its life force.”
But even as she speaks, Jake sees that something is wrong. At the edge of the pond, a dark substance creeps across the ground, like ink slowly spreading. Where it touches, plants wither and the moss turns black.
Suddenly, shadows emerge from the trees, formless entities that materialise into beings with red eyes and claws of darkness…. “They are the servants of the dark force,” says Mandy as she raises her staff. The staff begins to glow more intensely, forming a shield of light around them. “We must stop them before they reach the Heart.”
The shadows circle around them, searching for a weak spot in Mandy’s protection. Jake feels helpless, unarmed against this supernatural threat.
But then he hears it – a soft whisper in his head, voices overlapping and speaking through each other. It takes a moment before he realises that it’s the trees, communicating with him as they do with each other.
Help us. Protect us. You have the power.
Jake closes his eyes and concentrates on the voices, letting them guide him. He feels a strange energy flowing through him, like electricity but warmer, more alive. Instinctively, he stretches out his hands, and to his amazement, a beam of green light shoots from his fingertips, striking one of the shadow creatures. The creature shrieks and dissolves into smoke.
“Jake!” calls Mandy, her voice full of amazement. “How are you doing that?”
“I don’t know,” he answers honestly. “I hear the trees, and they… help me.”
Together with Mandy, he manages to drive away the shadows, her light and his newly discovered power working in perfect harmony. When the last shadow has disappeared, Jake sinks to his knees, exhausted but also excited by what he has done.
“What was that?” he asks Mandy. “How could I do that?”
Mandy kneels beside him, her face a mixture of pride and concern. “You are connected to the forest, Jake. That is rare, even here. It means you have a natural affinity with life force, with the energy that connects all things.”
“Is that why I travel between worlds? Because of this… power?”
“Perhaps,” she says. “Or perhaps you travel between worlds to discover this power. To learn who you truly are.”
Chapter 5: The Symbol of the Tree
After the shadows have disappeared, peace is restored in the Heart of the Forest. The dark substance retreats, and the plants that had withered slowly come back to life.
Mandy leads Jake to the edge of the pond. “Look,” she says, pointing at the water’s surface.
In the water, Jake sees his reflection, but there is something different. A symbol glows on his forehead, an intricate pattern resembling the roots of a tree extending upwards, towards branches reaching for the sky.
“What is that?” he asks, his fingers reaching for his forehead, but feeling nothing but his own skin.
“It is the Sign of Connection,” says Mandy. “The forest has marked you as one of its protectors. It is a great honour… and a great responsibility.”
She produces a small wooden figurine, perfectly carved in the shape of a tree. It has the same pattern of roots and branches as the symbol Jake saw in the water.
“This is a symbol of the forest,” she says, handing him the figurine. “It will help you find the next gate, and remind you of the power you have discovered here.”
Jake takes the figurine and feels a warm tingling in his fingers, a sense of connection with the forest that surrounds him. It feels right, as if he has found a part of himself he didn’t know he was missing.
Chapter 6: The Underground River
The day progresses, and Mandy leads Jake to a hidden entrance between the roots of an enormous oak. A narrow tunnel leads downwards, illuminated by phosphorescent mushrooms growing along the walls.
“Down here flows the River of Dreams,” Mandy explains as they descend. “It is one of the ways travellers like you can move between worlds.”
The tunnel opens into a vast underground cavern, where a river of glistening, almost translucent fluid flows. The water – if it is water – seems to glow with an inner light, and images flash across the surface: glimpses of other places, other times, other worlds.
“This is the only way to the next world,” says Mandy. “You must swim or find a boat.”
Jake looks at the strange river, uncertain. “Is it safe?”
“Nothing is completely safe when you travel between worlds,” Mandy answers honestly. “But the river will guide you where you need to be, if you surrender to its flow.”
Jake hesitates at the shore, but Mandy’s words give him courage. He thinks about what he has learned, about the power he has discovered, about the symbol the forest has given him. He takes a deep breath and jumps into the water.
The fluid doesn’t feel wet, but tingles against his skin like soft electricity. Images flash through his mind – fragments of places he doesn’t know, faces that seem vaguely familiar to him, voices speaking words he can almost understand.
He swims with the current, surrendering to the river, trusting that it will guide him where he needs to be.
Chapter 7: The Other Side
After what seems like ages, but might only be minutes, Jake reaches the other side of the river. He climbs onto a rocky shore, exhausted but also filled with a strange energy, as if the river has charged him with something more than just physical strength.
Mandy appears beside him, dry and calm as if she has never been in the water. “You are strong,” she says, helping him stand. “Stronger than you realise.”
Jake looks at her, still amazed at how she seems to move between worlds without effort. “What can I expect in the next world?”
Mandy’s face becomes more serious. “A greater challenge. A colder, harder place where survival is not taken for granted. But also a place where you will find another piece of the puzzle, another part of yourself.”
She touches his cheek, a gesture of affection that surprises him. “Trust in what you have learned here, Jake. The connection you have felt with the forest, that power is within you, regardless of where you are.”
Jake wants to ask more questions, but he already feels the familiar dizziness overtaking him, the feeling that the world around him is fading.
“Goodbye, Jake,” he still hears Mandy say before darkness envelops him.
Epilogue: A New Journey
Jake wakes up in a world of ice and snow. The air is sharp and cold in his lungs, and the wind cuts through his clothes. Before him stretch endless plains of snow, interrupted by sharp, icy formations that rise like crystal towers.
He stands up, shivering, and feels something in his hand. The wooden figurine of the tree, a reminder of the Magical Forest and the power he discovered there.
A new world awaits, a new challenge, and somewhere, he knows, Mandy is waiting for him in a new guise.
With the figurine clutched firmly in his hand, Jake takes his first step into the snow.
📝 Give away a free Lucky Four-Leaf Clover
✏️ Dag 2: Het Magische Woud
Hoofdstuk 1: Ontwaken in het Woud
Jake opent zijn ogen en knippert tegen het gefilterde zonlicht dat door een bladerdak van smaragdgroene bladeren valt. In plaats van de steriele, witte kamer van gisteren, ligt hij nu op een bed van mos dat verrassend zacht aanvoelt tegen zijn rug. De lucht is zwaar van vochtige aarde en zoete nectar, zo anders dan de geurloze atmosfeer van de Stille Stad. Vogels zingen melodieën die hij nog nooit heeft gehoord, en de bomen om hem heen pulseren met een zachte, blauwe gloed die door hun schors lijkt te stromen als aderen.
Hij komt langzaam overeind, zijn spieren stijf van het slapen op de bosgrond. Zijn gedachten zijn nog steeds een wirwar van verwarring en vragen. Wat was er gebeurd met de Stille Stad? Met Mandy? Met de radio die flitsen van zijn verleden had onthuld?
“Je bent wakker,” zegt een bekende stem achter hem.
Jake draait zich om en ziet Mandy staan, maar niet zoals hij haar kende. Haar rode haar is nu langer, gevlochten met kleine bloemen en bladeren. Ze draagt een lange, groene mantel die lijkt te zijn gemaakt van levende bladeren die subtiel bewegen met elke ademhaling. In haar hand houdt ze een staf van gedraaid hout die pulseert met hetzelfde blauwe licht als de bomen.
“Mandy?” vraagt hij aarzelend, niet zeker of dit dezelfde persoon is die hij in de Stille Stad had ontmoet.
Ze glimlacht, en in die glimlach ziet hij een glimp van de vrouw die hem gisteren had geholpen. “Welkom in het Magische Woud,” zegt ze. “Hier is magie de norm, en technologie een verre herinnering. We moeten voorzichtig zijn; er zijn krachten in dit woud die ons niet gunstig gezind zijn.”
Jake staat op en kijkt om zich heen, overweldigd door de levendige kleuren en geluiden. “Wat doe ik hier? Hoe ben ik hier gekomen?”
Mandy’s gezicht wordt ernstiger. “Je reist tussen werelden, Jake. Elke wereld heeft zijn eigen regels, zijn eigen magie.” Ze wijst naar een enorme boom in de verte, waarvan de stam breder is dan tien normale bomen samen. “Daar bevindt zich een geheugenpoort. Het is tijd dat je meer over je verleden ontdekt.”
Hoofdstuk 2: De Boom van Herinneringen
Ze lopen samen door het woud, en Jake merkt dat de vegetatie reageert op hun aanwezigheid. Bloemen draaien hun kopjes naar hen toe als nieuwsgierige toeschouwers, en takken buigen zich opzij om een pad te vormen. Kleine lichtgevende wezens – zijn het vuurvliegjes of iets magischer? – dansen om hen heen als gidsen.
“Dit woud is levend,” legt Mandy uit terwijl ze lopen. “Niet alleen in de zin dat planten leven, maar echt bewust. Het voelt, denkt, herinnert zich. Sommige van deze bomen zijn duizenden jaren oud en hebben meer gezien dan jij of ik ooit zullen meemaken.”
Jake luistert, gefascineerd en een beetje bang. “En jij? Ben jij dezelfde Mandy als gisteren?”
Ze kijkt hem aan met een mysterieuze glimlach. “Ik ben Mandy, maar in elke wereld neem ik een andere vorm aan, een andere rol. In de Stille Stad was ik een technicus, een rebel tegen het systeem. Hier ben ik een beschermer van het woud, een magiër die de balans bewaakt.”
Ze bereiken de enorme boom, die van dichtbij nog indrukwekkender is. De stam is bedekt met symbolen die pulseren met een zachte, gouden gloed. Ze lijken te verschuiven en te veranderen terwijl Jake ernaar kijkt, alsof ze een verhaal vertellen dat hij bijna kan begrijpen.
“Dit is de Boom van Herinneringen,” zegt Mandy eerbiedig. “De oudste boom in het woud, en een van de krachtigste geheugenpoorten in alle werelden.”
Ze legt haar hand op de stam, en de symbolen lichten helderder op. “Raak de boom aan, Jake. Hij zal je herinneringen teruggeven die je verloren bent.”
Jake aarzelt, herinnert zich de schok van de radio in de Stille Stad. Maar nieuwsgierigheid wint het van angst, en hij legt zijn hand op de ruwe schors.
De wereld om hem heen vervaagt, en hij wordt ondergedompeld in een levendige herinnering:
Hij is een kind, misschien zes of zeven jaar oud, en rent door een veld vol wilde bloemen. De zon is warm op zijn gezicht, en hij lacht onbezorgd. Een vrouw met lang, donker haar staat aan de rand van het veld en kijkt naar hem met een liefdevolle glimlach. “Jake,” roept ze, “het is tijd om naar huis te gaan.” Hij kan haar gezicht niet duidelijk zien, maar hij voelt een overweldigende golf van liefde en veiligheid.
De herinnering vervaagt, en Jake komt terug in het heden, zijn hand nog steeds op de boom. Tranen stromen onverwacht over zijn wangen, en hij voelt een diepe, schrijnende pijn in zijn borst – het verdriet van iets kostbaars dat verloren is gegaan.
“Wie was dat?” vraagt hij aan Mandy, zijn stem hees van emotie.
Mandy schudt haar hoofd, haar ogen vol medeleven. “Dat weet ik niet, Jake. De boom toont alleen wat al in je zit, verborgen achter de sluiers van vergeten. Maar het is een deel van je verleden, een stukje van wie je bent.”
Jake veegt de tranen weg, verrast door de intensiteit van zijn reactie op een herinnering die hij zich niet eens bewust was dat hij had. “Er is zoveel dat ik niet weet, Mandy. Wie ben ik? Waarom reis ik tussen werelden? Wat is het Erebus-project?”
“Ik kan je niet alles vertellen,” zegt ze zacht. “Sommige dingen moet je zelf ontdekken. Maar ik kan je helpen de weg te vinden.”
Hoofdstuk 3: Het Mysterie van het Woud
Ze vervolgen hun weg dieper het woud in. Naarmate ze verder lopen, verandert het karakter van het bos. De bomen staan dichter op elkaar, hun takken verweven in een bijna ondoordringbaar netwerk. Het licht wordt schaarser, en de atmosfeer voelt zwaarder, gespannen.
“Het woud is nerveus,” fluistert Mandy, haar stem nauwelijks hoorbaar boven het ruisen van de bladeren. “Het voelt een dreiging.”
Jake merkt dat de bomen lijken te reageren op hun aanwezigheid. Takken buigen zich naar hen toe, en bladeren ritselen alsof ze geheimen fluisteren in een taal die hij niet kan verstaan maar wel kan voelen. Een gevoel van urgentie, van waarschuwing.
“Wat gebeurt er?” vraagt hij, zijn stem ook gedaald tot een fluistering.
Mandy’s gezicht is gespannen, haar ogen scannen de omgeving. “Het woud is in gevaar,” zegt ze. “Er is een duistere kracht aan het werk, iets dat de magie probeert te vernietigen, de levenskracht van het woud op te zuigen.”
Ze legt uit dat het woud een complex ecosysteem is, niet alleen van planten en dieren, maar van magie en energie. De bomen communiceren via een soort telepathie, delen voedingsstoffen en informatie via een netwerk van wortels en mycelium dat zich uitstrekt over het hele woud.
“Maar er is iets dat dit netwerk verstoort,” zegt ze. “Een parasiet, een corruptie die zich voedt met de magie van het woud en het verandert in iets anders, iets donkers.”
Jake voelt een onverwachte steek van verantwoordelijkheid. “Wat kan ik doen om te helpen?”
Mandy kijkt hem aan, verrast door zijn vraag. Dan glimlacht ze, een glimp van hoop in haar ogen. “Je hebt al een stap gezet door hier te zijn, door te luisteren naar het woud. Nu moet je de volgende poort vinden, en nog een stukje van jezelf herontdekken.”
Ze legt uit dat elke geheugenpoort niet alleen een stukje van zijn verleden onthult, maar ook een deel van zijn kracht, zijn potentieel. “Je bent meer dan je denkt, Jake,” zegt ze. “En het woud heeft je nodig.”
Hoofdstuk 4: De Jacht op de Duistere Kracht
Ze bereiken een open plek in het woud, waar de bomen een perfecte cirkel vormen rond een kleine vijver met kristalhelder water. Het oppervlak van het water is zo stil dat het lijkt op een spiegel die de hemel weerkaatst.
“Dit is het Hart van het Woud,” zegt Mandy. “De bron van zijn magie, zijn levenskracht.”
Maar zelfs terwijl ze spreekt, ziet Jake dat er iets mis is. Aan de rand van de vijver kruipt een donkere substantie over de grond, als inkt die zich langzaam verspreidt. Waar het aanraakt, verwelken planten en wordt het mos zwart.
Plotseling komen er schaduwen uit de bomen, vormloze entiteiten die zich materialiseren tot wezens met rode ogen en klauwen van duisternis.
“Ze zijn de dienaren van de duistere kracht,” zegt Mandy terwijl ze haar staf opheft. De staf begint feller te gloeien, een schild van licht vormend om hen heen. “We moeten ze tegenhouden voordat ze het Hart bereiken.”
De schaduwen cirkelen om hen heen, zoekend naar een zwakke plek in Mandy’s bescherming. Jake voelt zich hulpeloos, ongewapend tegenover deze bovennatuurlijke dreiging.
Maar dan hoort hij het – een zacht gefluister in zijn hoofd, stemmen die overlappen en door elkaar spreken. Het duurt een moment voordat hij beseft dat het de bomen zijn, die met hem communiceren zoals ze met elkaar doen.
Help ons. Bescherm ons. Je hebt de kracht.
Jake sluit zijn ogen en concentreert zich op de stemmen, laat ze hem leiden. Hij voelt een vreemde energie door hem heen stromen, als elektriciteit maar warmer, levender. Instinctief strekt hij zijn handen uit, en tot zijn verbazing schiet er een straal van groen licht uit zijn vingertoppen, die een van de schaduwwezens raakt. Het wezen krijst en lost op in rook.
“Jake!” roept Mandy, haar stem vol verbazing. “Hoe doe je dat?”
“Ik weet het niet,” antwoordt hij eerlijk. “Ik hoor de bomen, en ze… helpen me.”
Samen met Mandy weet hij de schaduwen te verdrijven, haar licht en zijn nieuw ontdekte kracht werkend in perfecte harmonie. Wanneer de laatste schaduw is verdwenen, zakt Jake op zijn knieën, uitgeput maar ook opgewonden door wat hij heeft gedaan.
“Wat was dat?” vraagt hij aan Mandy. “Hoe kon ik dat doen?”
Mandy knielt naast hem, haar gezicht een mengeling van trots en zorgen. “Je bent verbonden met het woud, Jake. Dat is zeldzaam, zelfs hier. Het betekent dat je een natuurlijke affiniteit hebt met levenskracht, met de energie die alle dingen verbindt.”
“Is dat waarom ik tussen werelden reis? Vanwege deze… kracht?”
“Misschien,” zegt ze. “Of misschien reis je tussen werelden om deze kracht te ontdekken. Om te leren wie je werkelijk bent.”
Hoofdstuk 5: Het Symbool van de Boom
Nadat de schaduwen zijn verdwenen, herstelt de vrede zich in het Hart van het Woud. De donkere substantie trekt zich terug, en de planten die verwelkt waren, komen langzaam weer tot leven.
Mandy leidt Jake naar de rand van de vijver. “Kijk,” zegt ze, wijzend naar het wateroppervlak.
In het water ziet Jake zijn spiegelbeeld, maar er is iets anders. Een symbool gloeit op zijn voorhoofd, een ingewikkeld patroon dat lijkt op de wortels van een boom die zich uitstrekken naar boven, naar takken die reiken naar de hemel.
“Wat is dat?” vraagt hij, zijn vingers reikend naar zijn voorhoofd, maar voelend niets dan zijn eigen huid.
“Het is het Teken van de Verbinding,” zegt Mandy. “Het woud heeft je gemarkeerd als een van zijn beschermers. Het is een grote eer… en een grote verantwoordelijkheid.”
Ze haalt een klein houten figuurtje tevoorschijn, perfect gesneden in de vorm van een boom. Het heeft dezelfde patroon van wortels en takken als het symbool dat Jake in het water zag.
“Dit is een symbool van het woud,” zegt ze, hem het figuurtje overhandigend. “Het zal je helpen de volgende poort te vinden, en je herinneren aan de kracht die je hier hebt ontdekt.”
Jake neemt het figuurtje aan en voelt een warme tinteling in zijn vingers, een gevoel van verbinding met het woud dat hem omringt. Het voelt juist, alsof hij een deel van zichzelf heeft teruggevonden dat hij niet wist dat hij miste.
Hoofdstuk 6: De Ondergrondse Rivier
De dag vordert, en Mandy leidt Jake naar een verborgen ingang tussen de wortels van een enorme eik. Een nauwe tunnel leidt naar beneden, verlicht door fosforescerende paddenstoelen die langs de wanden groeien.
“Hier beneden stroomt de Rivier van Dromen,” legt Mandy uit terwijl ze afdalen. “Het is een van de manieren waarop reizigers zoals jij tussen werelden kunnen bewegen.”
De tunnel mondt uit in een enorme ondergrondse grot, waar een rivier van glinsterende, bijna doorschijnende vloeistof stroomt. Het water – als het water is – lijkt te gloeien met een innerlijk licht, en beelden flitsen over het oppervlak: glimpen van andere plaatsen, andere tijden, andere werelden.
“Dit is de enige weg naar de volgende wereld,” zegt Mandy. “Je moet zwemmen of een boot vinden.”
Jake kijkt naar de vreemde rivier, onzeker. “Is het veilig?”
“Niets is volledig veilig als je tussen werelden reist,” antwoordt Mandy eerlijk. “Maar de rivier zal je leiden waar je moet zijn, als je je overgeeft aan haar stroom.”
Jake aarzelt aan de oever, maar Mandy’s woorden geven hem moed. Hij denkt aan wat hij heeft geleerd, aan de kracht die hij heeft ontdekt, aan het symbool dat het woud hem heeft gegeven. Hij haalt diep adem en springt in het water.
De vloeistof voelt niet nat, maar tintelt tegen zijn huid als zachte elektriciteit. Beelden flitsen door zijn geest – fragmenten van plaatsen die hij niet kent, gezichten die hem vaag bekend voorkomen, stemmen die woorden spreken die hij bijna kan begrijpen.
Hij zwemt met de stroom mee, zich overgevend aan de rivier, vertrouwend dat ze hem zal leiden waar hij moet zijn.
Hoofdstuk 7: De Overkant
Na wat eeuwen lijkt, maar misschien slechts minuten zijn, bereikt Jake de overkant van de rivier. Hij klimt op een rotsachtige oever, uitgeput maar ook vervuld van een vreemde energie, alsof de rivier hem heeft opgeladen met iets meer dan alleen fysieke kracht.
Mandy verschijnt naast hem, droog en kalm alsof ze nooit in het water is geweest. “Je bent sterk,” zegt ze, hem helpend opstaan. “Sterker dan je beseft.”
Jake kijkt haar aan, nog steeds verwonderd over hoe ze tussen werelden lijkt te bewegen zonder moeite. “Wat kan ik verwachten in de volgende wereld?”
Mandy’s gezicht wordt ernstiger. “Een grotere uitdaging. Een koudere, hardere plaats waar overleving niet vanzelfsprekend is. Maar ook een plaats waar je een ander stuk van de puzzel zult vinden, een ander deel van jezelf.”
Ze raakt zijn wang aan, een gebaar van genegenheid dat hem verrast. “Vertrouw op wat je hier hebt geleerd, Jake. De verbinding die je hebt gevoeld met het woud, die kracht zit in je, ongeacht waar je bent.”
Jake wil meer vragen stellen, maar hij voelt al de bekende duizeligheid die hem overvalt, het gevoel dat de wereld om hem heen vervaagt.
“Tot ziens, Jake,” hoort hij Mandy nog zeggen voordat de duisternis hem omhult.
Epiloog: Een Nieuwe Reis
Jake wordt wakker in een wereld van ijs en sneeuw. De lucht is scherp en koud in zijn longen, en de wind snijdt door zijn kleren. Voor hem strekken zich eindeloze vlaktes van sneeuw uit, onderbroken door scherpe, ijzige formaties die oprijzen als kristallen torens.
Hij staat op, rillend, en voelt iets in zijn hand. Het houten figuurtje van de boom, een herinnering aan het Magische Woud en de kracht die hij daar heeft ontdekt.
Een nieuwe wereld wacht, een nieuwe uitdaging, en ergens, weet hij, wacht Mandy op hem in een nieuwe gedaante.
Met het figuurtje stevig in zijn hand geklemd, zet Jake zijn eerste stap in de sneeuw.
📝 Geef een gratis Klavertje Vier weg
✏️Day 1: The Gates of Memory
Chapter 1: Awakening in Silence
Jake opens his eyes and stares at a sterile ceiling reminiscent of a hospital. The light is cold and bright, leaving no room for shadows. The air smells of metal and ozone, a scent that makes him uncomfortable, as if he were inside a machine rather than a room. His head throbs, and he feels an overwhelming emptiness. Who is he? Where is he? Why can’t he remember anything?
He tries to recall something, but his thoughts slip through his fingers like water. Only his name – Jake – seems familiar, but he doesn’t even know if it’s really his name or something he’s imagining.
He sits up on the edge of a narrow, hard bed and looks around. The room is small and bare, with smooth white walls devoid of any personality. The only thing that stands out is a table in the centre of the room. Above it floats a holographic map, blue and pulsing like a heartbeat. Jake cautiously moves towards the table, his feet feeling cold against the floor.
Suddenly, words appear on the map: “Find the radio.” The letters flash briefly and disappear again, as if they don’t want him to think too long.
Jake stares at the map, but his memory remains blank. He doesn’t know why this task is important, but something tells him he must move. He walks to the door, which opens automatically with a soft hissing sound.
What he sees outside makes him freeze. Before him stretches a city that seems both futuristic and unreal. Towering buildings of glass and steel gleam under an artificial sun that seems to give no warmth. Floating vehicles glide silently through the air, like weightless shadows. The streets are crowded, but no one talks. The silence is almost tangible, as if sound were forbidden.
The city resembles an enormous mirror wall stretching as far as the eye can see—a linear metropolis unlike anything he could have imagined. Everything is perfectly symmetrical; even the people move with mechanical precision. Their faces are expressionless, their eyes empty. They communicate via holographic projections that appear between them—words and images flashing briefly before disappearing again.
Jake takes a deep breath and takes his first step into this strange, silent world.
Chapter 2: The Woman with the Radio
Jake wanders through the city, lost among the silent crowd. He tries to speak to someone, but they ignore him completely. He feels invisible, a ghost in a world of living statues.
The buildings tower above him, their glass surfaces reflecting the artificial sunlight in patterns that make him dizzy. There is no wind, no sound of traffic, no laughter or talking—only the soft hum of the floating vehicles and the almost inaudible rustle of holographic projections.
He tries to understand how this world works. People seem to communicate via thoughts or via the holograms that appear between them. Their movements are coordinated, as if they were all part of one large organism. It’s both frightening and fascinating.
In a dark alley, he sees her for the first time: a woman with red hair, clad in a tight suit glowing with circuits. She’s crouched next to an old analogue radio—an object that doesn’t fit at all in this hyper-modern world.
She looks up and meets his gaze. Her eyes are sharp and inquisitive, as if she already knows him. Unlike the empty gazes of others in the city, her eyes are full of life and intelligence.
“You’re new here,” she says without moving her mouth. Her voice sounds directly in his head via an invisible communication system.
Jake blinks in surprise. “Who are you?”
“Mandy,” she answers simply. “And you’re late.”
“Late for what?” Jake asks.
She stands up and hands him the radio. “For this.”
The radio feels heavy in his hands, as if it’s more than just a device. It’s old and worn, with knobs and dials that seem strangely familiar to him, though he can’t remember ever seeing such a thing. “What am I supposed to do with this?” he asks.
Mandy looks around, as if afraid someone is watching them. “Not here,” she says. “Follow me.”
Chapter 3: The First Gate
Mandy leads Jake through winding alleys to an abandoned building on the edge of the city. The contrast with the gleaming skyscrapers in the centre is stark—this building is old, dilapidated, forgotten. Inside, everything is covered in dust; broken machines lie scattered across the floor as if they’ve been forgotten for years.
“What is this place?” Jake asks, looking around.
“A memory,” Mandy answers cryptically. “A piece of what this city once was, before the Silence came.”
She places the radio on a table and gestures for Jake to come closer.
“Touch it,” she says.
Jake hesitates, but something in her voice compels him to trust her. He reaches out and places his fingers on the cold metal surface of the radio.
Suddenly, an electric pulse shoots through his body. His vision blurs, and images flash through his mind—a fragment of a memory:
He’s standing in a sterile laboratory, surrounded by people in white coats. Monitors beep and screens flicker with data he can’t read. A man with a stern face and greying hair speaks: “The Erebus project begins today.” Jake feels fear… but also curiosity. The man places a hand on his shoulder. “You’re our best candidate, Jake. If anyone can survive this, it’s you."
The images disappear as quickly as they came, and Jake grabs the table to keep from falling. His heart pounds in his chest, and his breath comes in short gasps.
“What was that?” he asks breathlessly.
“A piece of your past,” Mandy says calmly. “There are more of these gates—scattered across different worlds.”
“Worlds?” Jake repeats in disbelief.
Mandy nods. “This city is just one of many. You travel between them, Jake. Each day a new world, but they return in a cycle. And in each world is a gate that gives you back a piece of yourself.”
Jake tries to process this. It sounds insane, but after what he’s just experienced, he can’t dismiss it outright. “Why don’t I remember anything? Who am I?”
“That’s what you need to discover,” says Mandy. “The gates will help you.”
Before Jake can ask more, the radio starts to crackle. A distorted voice sounds: “The gates are connected… seek the crystal in the labyrinth.”
“What does that mean?” Jake asks.
Mandy opens her mouth to answer but is interrupted by a threatening hum that grows louder.
Chapter 4: Pursuit
The moment is abruptly disrupted by a threatening hum that grows louder. Mandy looks up sharply and grabs Jake’s arm.
“They’ve found us,” she says hurriedly.
Jake looks at her in confusion. “Who?”
“The Silence Keepers,” Mandy answers as she pulls him outside. “They keep this city perfectly silent… and you’re a disturbance.”
Outside, sleek humanoid machines with glowing blue faces appear. They move with mechanical precision and scan their surroundings with laser-like eyes. Their bodies are made of a shiny, silvery metal that reflects light in hypnotising patterns.
“What do they want?” Jake whispers.
“They want to eliminate anything that’s different,” says Mandy. “Anything that doesn’t fit into their perfect, silent world. You’re different, Jake. You’re not programmed like the others.”
One of the Silence Keepers turns its head in their direction, its eyes flashing red. It has detected them.
Mandy takes a small device from her pocket and activates it. A holographic copy of them both appears further down the street and starts running away. The Silence Keepers follow the hologram while Mandy and Jake make their escape in the opposite direction.
They run through deserted alleys and dilapidated buildings, always just out of reach of the Silence Keepers. Jake’s lungs burn and his legs protest, but the adrenaline keeps him going.
“Why are you helping me?” he asks between breaths. Mandy looks at him briefly, her eyes unreadable. “Because you’re important, Jake. More important than you realise.”
They duck into a building that looks like an abandoned factory. Machines, once used for a purpose Jake can’t guess, stand still and rusty in the half-darkness.
“We’re safe here, for now,” says Mandy. “The Silence Keepers don’t like coming into these old buildings. Too much interference for their sensors.”
Jake leans against a wall, trying to regulate his breathing. “What happened to this city? Why is everyone… like this?”
Mandy’s face becomes sombre. “The Silence came gradually. First it was convenience—why talk when you can share thoughts? Why show emotions when algorithms can tell you what you should feel? But convenience became control, and control became suppression. Now everyone is connected in a network of silence, their thoughts regulated, their emotions suppressed.”
“And you?” Jake asks. “Why are you different?”
“Some of us resisted,” she says. “We found ways to stay outside the network, to maintain our humanity. We are the Whisperers—those who still dare to speak, to feel, to remember.”
Chapter 5: The Symbol
After hours of running and hiding, they stop in another abandoned building to catch their breath. This building seems to have once been a library—empty bookshelves stand in rows, and here and there yellowed papers lie on the ground.
“We must part ways here,” Mandy says suddenly.
Jake looks at her in shock. “Why? What happens now?”
“You have other worlds to visit,” she says cryptically. “Your journey has only just begun.”
She takes out a small card and gives it to Jake. On the card is a symbol—a tree whose roots extend like energy lines, branching into a complex pattern reminiscent of a neural network.
“This will help you,” she says softly. “You’ll encounter this symbol in other worlds. It’s a sign of the connection between the gates, between the worlds.”
Jake studies the symbol, fascinated by its complexity. “What does it mean?”
“It’s the Sign of Connection,” says Mandy. “It represents the network that connects all worlds, and your journey through those worlds.”
Jake looks up from the card to Mandy’s face. “Will I see you again?”
Mandy smiles, a mixture of warmth and melancholy in her eyes. “Yes, but perhaps not as you expect. I’m in every world, Jake, but not always the same.”
Before Jake can ask what she means, he feels a strange dizziness overtaking him. The world around him begins to fade, colours and shapes melting into a haze.
“What’s happening?” he asks, panic in his voice.
“You’re going to the next world,” says Mandy, her voice already far away. “Trust what you’ve learned. Trust the symbol. Trust yourself.”
Darkness envelops him completely, and Jake feels himself sinking into a deep, dreamless sleep.
Chapter 6: Between Worlds
In the darkness between worlds, Jake drifts in a state of semi-consciousness. He has no body, no form, only consciousness floating in an endless void. Here there is no time, no space, only the feeling of movement, of travelling between realities.
Fragments of thoughts and images flash through his mind—fragments of memories that don’t fully take shape. He sees faces he doesn’t recognise, hears voices speaking words he can’t understand. It’s as if he’s travelling through a tunnel of his own past, but can’t stop to see the details.
The Erebus project… the memory gates… Mandy… the tree symbol… everything spins in his thoughts, puzzle pieces that don’t yet fall into place.
Then he feels it—a pull, a call drawing him forward, towards a new reality. The darkness begins to recede, and light seeps in.
Epilogue: A New World
Jake wakes up under a canopy of leaves that seems to emit light. Birds sing above him, and around him stand trees pulsing with magical energy. The air is warm and humid, and he smells the scent of blooming flowers and moist earth.
He sits up, amazed by the complete change of environment. Instead of the sterile, silent city, he now finds himself in a lush, vibrant forest vibrating with colours and sounds.
In his hand, he feels something—the card with the symbol Mandy gave him. The symbol now seems to glow with a soft, green energy, resonating with the trees around him.
A new world awaits exploration, new mysteries to unravel, and somewhere, he knows, Mandy awaits him in a new guise.
With the card clutched tightly in his hand, Jake stands up and takes his first step into the Magical Forest.
📝 Give away a free Lucky Four-Leaf Clover
✏️Dag 1: De Poorten van Herinnering
Hoofdstuk 1: Ontwaken in Stilte
Jake opent zijn ogen en staart naar een steriel plafond dat hem doet denken aan een ziekenhuis. Het licht is koud en helder, zonder ruimte voor schaduwen. De lucht ruikt naar metaal en ozon, een geur die hem ongemakkelijk maakt, alsof hij zich in een machine bevindt en niet in een kamer. Zijn hoofd bonkt, en hij voelt een leegte die hem overweldigt. Wie is hij? Waar is hij? Waarom kan hij zich niets herinneren?
Hij probeert zich iets te herinneren, maar zijn gedachten zijn als water dat door zijn vingers glipt. Alleen zijn naam – Jake – lijkt bekend, maar hij weet niet eens of het werkelijk zijn naam is of iets wat hij zich verbeeldt.
Hij zit rechtop op een smalle, harde bedrand en kijkt om zich heen. De kamer is klein en kaal, met gladde witte muren die elke vorm van persoonlijkheid missen. Het enige wat opvalt is een tafel in het midden van de kamer. Daarboven zweeft een holografische kaart, blauw en pulserend als een hartslag. Jake schuift voorzichtig naar de tafel toe, zijn voeten voelen koud tegen de vloer.
Plotseling verschijnen er woorden op de kaart: “Vind de radio." De letters flitsen kort op en verdwijnen weer, alsof ze niet willen dat hij te lang nadenkt.
Jake staart naar de kaart, maar zijn geheugen blijft leeg. Hij weet niet waarom deze opdracht belangrijk is, maar iets in hem zegt dat hij moet bewegen. Hij loopt naar de deur, die automatisch opent met een zacht sissend geluid.
Wat hij buiten ziet doet hem verstijven. Voor hem strekt zich een stad uit die zowel futuristisch als onwerkelijk lijkt. Torenhoge gebouwen van glas en staal glimmen onder een kunstmatige zon die geen warmte lijkt te geven. Zwevende voertuigen glijden geluidloos door de lucht, als schaduwen zonder gewicht. De straten zijn druk bevolkt, maar niemand praat. De stilte is bijna tastbaar, alsof geluid verboden is.
De stad lijkt op een enorme spiegelwand die zich uitstrekt tot zover het oog reikt—een lineaire metropool zoals hij zich niet had kunnen voorstellen. Alles is perfect symmetrisch; zelfs de mensen bewegen met mechanische precisie. Hun gezichten zijn uitdrukkingsloos, hun ogen leeg. Ze communiceren via holografische projecties die tussen hen verschijnen—woorden en beelden flitsen kort op voordat ze weer verdwijnen.
Jake ademt diep in en zet zijn eerste stap in deze vreemde, stille wereld.
Hoofdstuk 2: De Vrouw met de Radio
Jake dwaalt door de stad, verloren tussen de zwijgende menigte. Hij probeert iemand aan te spreken, maar ze negeren hem volledig. Hij voelt zich onzichtbaar, een spook in een wereld van levende standbeelden.
De gebouwen rijzen hoog boven hem uit, hun glazen oppervlakken weerkaatsen het kunstmatige zonlicht in patronen die hem duizelig maken. Er is geen wind, geen geluid van verkeer, geen lachen of praten—alleen het zachte zoemen van de zwevende voertuigen en het bijna onhoorbare ruisen van holografische projecties.
Hij probeert te begrijpen hoe deze wereld werkt. Mensen lijken te communiceren via gedachten of via de hologrammen die tussen hen verschijnen. Hun bewegingen zijn gecoördineerd, alsof ze allemaal deel uitmaken van één groot organisme. Het is beangstigend en fascinerend tegelijk.
In een donkere steeg ziet hij haar voor het eerst: een vrouw met rood haar, gehuld in een strak pak dat gloeit met circuits. Ze zit gehurkt naast een oude analoge radio—een object dat totaal niet past in deze hypermoderne wereld.
Ze kijkt op en ontmoet zijn blik. Haar ogen zijn scherp en onderzoekend, alsof ze hem al kent. In tegenstelling tot de lege blikken van de anderen in de stad, zijn haar ogen vol leven en intelligentie.
“Je bent nieuw hier,” zegt ze zonder haar mond te bewegen. Haar stem klinkt direct in zijn hoofd via een onzichtbaar communicatiesysteem.
Jake knippert verbaasd. “Wie ben jij?”
“Mandy,” antwoordt ze simpel. “En jij bent laat.”
“Laat voor wat?” vraagt Jake.
Ze staat op en reikt hem de radio aan. “Voor dit.”
De radio voelt zwaar in zijn handen, alsof het meer is dan alleen een apparaat. Het is oud en versleten, met knoppen en wijzers die hem vreemd bekend voorkomen, hoewel hij zich niet kan herinneren ooit zoiets te hebben gezien.
“Wat moet ik hiermee?” vraagt hij.
Mandy kijkt om zich heen, alsof ze bang is dat iemand hen in de gaten houdt. “Niet hier,” zegt ze. “Volg me.”
Hoofdstuk 3: De Eerste Poort
Mandy leidt Jake door kronkelende steegjes naar een verlaten gebouw aan de rand van de stad. Het contrast met de glimmende wolkenkrabbers in het centrum is scherp—dit gebouw is oud, vervallen, vergeten. Binnen is alles bedekt met stof; kapotte machines liggen verspreid over de vloer alsof ze al jaren vergeten zijn.
“Wat is dit voor plaats?” vraagt Jake, terwijl hij om zich heen kijkt.
“Een herinnering,” antwoordt Mandy cryptisch. “Een stukje van wat deze stad ooit was, voordat de Stilte kwam.”
Ze plaatst de radio op een tafel en gebaart naar Jake om dichterbij te komen.
“Raak het aan,” zegt ze.
Jake aarzelt, maar iets in haar stem dwingt hem om haar te vertrouwen. Hij strekt zijn hand uit en legt zijn vingers op het koude metalen oppervlak van de radio.
Plotseling schiet er een elektrische puls door zijn lichaam. Zijn zicht vervaagt, en beelden flitsen door zijn hoofd—een fragment van een herinnering:
Hij staat in een steriel laboratorium, omringd door mensen in witte jassen. Monitoren piepen en schermen flikkeren met data die hij niet kan lezen. Een man met een streng gezicht en grijzend haar spreekt: “Het Erebus-project begint vandaag.” Jake voelt angst… maar ook nieuwsgierigheid. De man legt een hand op zijn schouder. “Je bent onze beste kandidaat, Jake. Als iemand dit kan overleven, ben jij het."
De beelden verdwijnen even snel als ze kwamen, en Jake grijpt naar de tafel om niet te vallen. Zijn hart bonkt in zijn borst, en zijn adem komt in korte stoten.
“Wat was dat?” vraagt hij ademloos.
“Een stukje van je verleden,” zegt Mandy rustig. “Er zijn meer van deze poorten—verspreid over verschillende werelden.”
“Werelden?” herhaalt Jake ongelovig.
Mandy knikt. “Deze stad is slechts één van velen. Je reist tussen hen, Jake. Elke dag een nieuwe wereld, maar ze keren terug in een cyclus. En in elke wereld is een poort die je een stukje van jezelf teruggeeft.”
Jake probeert dit te verwerken. Het klinkt waanzinnig, maar na wat hij net heeft ervaren, kan hij het niet zomaar afwijzen. “Waarom herinner ik me niets? Wie ben ik?”
“Dat is wat je moet ontdekken,” zegt Mandy. “De poorten zullen je helpen.”
Voordat Jake meer kan vragen, begint de radio te kraken. Een vervormde stem klinkt: “De poorten zijn verbonden… zoek het kristal in het labyrint."
“Wat betekent dat?” vraagt Jake.
Mandy opent haar mond om te antwoorden, maar wordt onderbroken door een dreigend gezoem dat steeds luider wordt.
Hoofdstuk 4: Achtervolging
Het moment wordt abrupt verstoord door een dreigend gezoem dat steeds luider wordt. Mandy kijkt scherp op en grijpt Jake’s arm.
“Ze hebben ons gevonden,” zegt ze gehaast.
Jake kijkt haar verward aan. “Wie?”
“De Stiltebewakers,” antwoordt Mandy terwijl ze hem mee trekt naar buiten. “Ze houden deze stad perfect stil… en jij bent een verstoring.”
Buiten verschijnen slanke humanoïde machines met gloeiende blauwe gezichten. Ze bewegen met mechanische precisie en scannen hun omgeving met laserachtige ogen. Hun lichamen zijn gemaakt van een glanzend, zilverachtig metaal dat het licht weerkaatst in hypnotiserende patronen.
“Wat willen ze?” fluistert Jake.
“Ze willen alles wat anders is elimineren,” zegt Mandy. “Alles wat niet past in hun perfecte, stille wereld. Jij bent anders, Jake. Je bent niet geprogrammeerd zoals de anderen.”
Een van de Stiltebewakers draait zijn hoofd in hun richting, zijn ogen flitsen rood. Hij heeft hen gedetecteerd.
Mandy haalt een klein apparaat uit haar zak en activeert het. Een holografische kopie van hen beiden verschijnt verderop in de straat en begint weg te rennen. De Stiltebewakers volgen het hologram terwijl Mandy en Jake zich uit de voeten maken in de tegenovergestelde richting.
Ze rennen door verlaten steegjes en vervallen gebouwen, altijd net buiten het bereik van de Stiltebewakers. Jake’s longen branden en zijn benen protesteren, maar de adrenaline houdt hem gaande.
“Waarom help je me?” vraagt hij tussen twee ademhalingen door.
Mandy kijkt hem even aan, haar ogen onleesbaar. “Omdat je belangrijk bent, Jake. Belangrijker dan je beseft.”
Ze duiken een gebouw binnen dat eruitziet als een verlaten fabriek. Machines, ooit gebruikt voor een doel dat Jake niet kan raden, staan stil en roestig in het halfduister.
“We zijn hier veilig, voor nu,” zegt Mandy. “De Stiltebewakers komen niet graag in deze oude gebouwen. Te veel interferentie voor hun sensoren.”
Jake leunt tegen een muur, proberend zijn adem te reguleren. “Wat is er met deze stad gebeurd? Waarom is iedereen… zo?”
Mandy’s gezicht wordt somber. “De Stilte kwam geleidelijk. Eerst was het gemak—waarom praten als je gedachten kunt delen? Waarom emoties tonen als algoritmen je kunnen vertellen wat je zou moeten voelen? Maar gemak werd controle, en controle werd onderdrukking. Nu is iedereen verbonden in een netwerk van stilte, hun gedachten gereguleerd, hun emoties onderdrukt.”
“En jij?” vraagt Jake. “Waarom ben jij anders?”
“Sommigen van ons hebben weerstand geboden,” zegt ze. “We hebben manieren gevonden om buiten het netwerk te blijven, om onze menselijkheid te behouden. We zijn de Fluisteraars—degenen die nog durven te spreken, te voelen, te herinneren.”
Hoofdstuk 5: Het Symbool
Na uren rennen en schuilen stoppen ze in een ander verlaten gebouw om op adem te komen. Dit gebouw lijkt ooit een bibliotheek te zijn geweest—lege boekenkasten staan in rijen, en hier en daar liggen vergeelde papieren op de grond.
“We moeten hier afscheid nemen,” zegt Mandy plotseling.
Jake kijkt haar geschrokken aan. “Waarom? Wat gebeurt er nu?”
“Jij hebt andere werelden te bezoeken,” zegt ze cryptisch. “Je reis is pas net begonnen.”
Ze haalt een klein kaartje tevoorschijn en geeft het aan Jake. Op het kaartje staat een symbool—een boom waarvan de wortels zich uitstrekken als energielijnen, vertakkend in een complex patroon dat doet denken aan een neuronaal netwerk.
“Dit zal je helpen,” zegt ze zachtjes. “Je zult dit symbool in andere werelden tegenkomen. Het is een teken van de verbinding tussen de poorten, tussen de werelden.”
Jake bestudeert het symbool, gefascineerd door de complexiteit ervan. “Wat betekent het?”
“Het is het Teken van de Verbinding,” zegt Mandy. “Het vertegenwoordigt het netwerk dat alle werelden met elkaar verbindt, en jouw reis door die werelden.”
Jake kijkt op van het kaartje naar Mandy’s gezicht. “Zal ik je weer zien?”
Mandy glimlacht, een mengeling van warmte en melancholie in haar ogen. “Ja, maar misschien niet zoals je verwacht. Ik ben in elke wereld, Jake, maar niet altijd dezelfde.”
Voordat Jake kan vragen wat ze bedoelt, voelt hij een vreemde duizeligheid die hem overvalt. De wereld om hem heen begint te vervagen, kleuren en vormen versmelten tot een waas.
“Wat gebeurt er?” vraagt hij, paniek in zijn stem.
“Je gaat naar de volgende wereld,” zegt Mandy, haar stem al ver weg. “Vertrouw op wat je hebt geleerd. Vertrouw op het symbool. Vertrouw op jezelf.”
De duisternis omhult hem volledig, en Jake voelt hoe hij wegzakt in een diepe, droomloze slaap.
Hoofdstuk 6: Tussen Werelden
In de duisternis tussen werelden drijft Jake in een staat van halfbewustzijn. Hij heeft geen lichaam, geen vorm, alleen bewustzijn dat zweeft in een eindeloze leegte. Hier is geen tijd, geen ruimte, alleen het gevoel van beweging, van reizen tussen realiteiten.
Flarden van gedachten en beelden flitsen door zijn geest—fragmenten van herinneringen die niet volledig vorm krijgen. Hij ziet gezichten die hij niet herkent, hoort stemmen die woorden spreken die hij niet kan verstaan. Het is alsof hij door een tunnel van zijn eigen verleden reist, maar niet kan stoppen om de details te zien.
Het Erebus-project… de geheugenpoorten… Mandy… het symbool van de boom… alles draait in zijn gedachten, puzzelstukjes die nog niet op hun plaats vallen.
Dan voelt hij het—een trekken, een roep die hem naar voren trekt, naar een nieuwe realiteit. De duisternis begint te wijken, en licht sijpelt binnen.
Epiloog: Een Nieuwe Wereld
Jake wordt wakker onder een bladerdak dat licht lijkt te geven. Vogels zingen boven hem, en om hem heen staan bomen die pulseren met magische energie. De lucht is warm en vochtig, en hij ruikt de geur van bloeiende bloemen en vochtige aarde.
Hij zit op, verbaasd door de complete verandering van omgeving. In plaats van de steriele, stille stad bevindt hij zich nu in een weelderig, levendig woud dat vibreert met kleuren en geluiden.
In zijn hand voelt hij iets—het kaartje met het symbool dat Mandy hem gaf. Het symbool lijkt nu te gloeien met een zachte, groene energie, resonerend met de bomen om hem heen.
Een nieuwe wereld wacht op verkenning, nieuwe mysteries om te ontrafelen, en ergens, weet hij, wacht Mandy op hem in een nieuwe gedaante.
Met het kaartje stevig in zijn hand geklemd, staat Jake op en zet zijn eerste stap in het Magische Woud.
📝 Geef een gratis Klavertje Vier weg
📟 Escaping USA Tech, Bye Bye Dropbox, Hello! Jottacloud
I recently got more concerned about what is happening in the US since a certain president He-Who-Must-Not-Be-Named and what this does in the world and my personal life. I was already on a streak, cutting loose from BIG-TECH social media like META’s “suite” and Google. This was also for privacy concerns.
I got concern about having all my data, partly client side encrypted but partly not, stored in the USA with Dropbox. I really liked Dropbox because it has a great adoption rate in other apps and products. But I did not like it that all my data was in the US. And with the recent presidency of He-Who-Must-Not-Be-Named, I got more concerned about my data with Dropbox.
Finding a European alternative with the same level of integration in software and services as Dropbox is a challenging task. Not that these services are inferior, but integrating them can sometimes be difficult. My goal was to achieve incremental backups of my shared folders on a Synology NAS and have the sync folder from my cloud storage synchronised with the Synology NAS.
This would be typically done with Hyperbackup for incremental backups and Cloud Sync for your sync folder. Most of the services listed there are either US-based, expensive, no up to the job, etc. A least for me.
After looking around and comparing European-based cloud providers, I got my eye on Jottacloud. This is a Norwegian cloud provider which is fast, in Europe of course, nice supporting clients for iOS and macOS (Yes, also US BIG-TECH, but I love Apple, there is nothing that compares with Apple Products. And I think Apple is doing a better job on privacy), has a great deal on “unlimited” storage space. The only downside Jottacloud has, they don’t (like Dropbox) have zero-knowledge encryption. If they had it, would enhance privacy a lot… But since they are in Europe with strict privacy laws, I took that as a step forward compared to the US-based Dropbox. Plus, the unlimited storage deal at JottaCloud is the same price as the 2 TB deal I had at Dropbox. Just a hint: if you look around on the internet you can find Jottacloud deals. I got a deal with 15% off for the first year.
Jottacloud also runs on 100% renewable energy, if you care for such a thing (I do).
Jottacloud is not one of the default services supported by Synology in their backup suite and other software. This is a shame, but there is a way to still create nice incremental backups of your shared folders to Jottacloud directly from your Synology.
This is achieved using a brilliant free application called Restic. Restic is a free, open-source backup tool offering secure, efficient, and flexible data protection. It supports multiple storage backends, including cloud services, and features encryption, deduplication, and compression. Restic is user-friendly and suitable for various operating systems, making it ideal for both personal and professional backup needs.
To access Jottacloud with Restic, I used Rclone. Rclone is a versatile command-line tool for managing cloud storage, offering features such as file syncing, encryption, and compression. It supports over 70 cloud services, including Jottacloud, Google Drive, and Amazon S3, and is ideal for automating backups and data transfers across various platforms with ease and reliability.
Rclone and Restic are not natively available on your Synology. There are scripts and methods to install them via the NAS shell. However, I am a fan of Docker. Since I own a Synology that supports Docker, which Synology refers to as “Container Manager” in their DSM, I implemented Restic and Rclone using Docker.
Docker is a containerisation platform that enables efficient deployment and management of applications. It allows developers to package software into portable containers, ensuring consistent performance across environments. Docker streamlines development, testing, and deployment processes, enhancing flexibility and scalability for a wide range of applications and services.
If your Synology does not support Docker, you can still achieve what is described below by using a Raspberry Pi. You can in install your favourite OS (mine is Ubuntu on the PI) and install Docker within Ubuntu on this beautiful device. If you have done so, you can connect your shared folders using NFS to the Ubuntu installation you can use the method that is described below.
Okay, how is this done? Five years ago, I came a cross of a nice five-year-old (at that time) project on GitHub. This already made a docker container including Restic and Rclone. At the time It was not recently maintained (older Restic version, not build with the latest package) I decided to fork this project and update and enhance it. My GitHub repository can be found here. The pre-build docker images for ARM and AMD can be found here.
I recently added an option to set up a sync with your sync-folder, supported by your cloud provider. I will explain that later. First, we set up the container in Docker.
Below you find a template docker-compose.yml file. This uses the stable build for the image. If you like the development tree, use the marc0janssen/restic-backup-helper:develop
as an image reference.
version: '3'
services:
restic-remote:
container_name: restic-remote
image: marc0janssen/restic-backup-helper:latest
healthcheck:
test: ["CMD", "restic", "-r", "rclone:jottacloud:backups", "cat", "config"]
interval: 15m
timeout: 10s
start_period: 1m
start_interval: 10s
restart: always
hostname: supernode
cap_add:
- DAC_READ_SEARCH
- SYS_ADMIN
devices:
- /dev/fuse
environment:
- RESTIC_PASSWORD=YOUR_PASSWORD_HERE
- RESTIC_TAG=YOUR_TAGS_HERE
- RESTIC_FORGET_ARGS=--prune --keep-hourly 24 --keep-daily 7 --keep-weekly 5 --keep-monthly 12 --keep-yearly 10
- RESTIC_REPOSITORY=rclone:jottacloud:backups
- RESTIC_JOB_ARGS=--exclude-file /config/exclude_files.txt
- BACKUP_CRON=0 1,13 * * *
- BACKUP_ROOT_DIR=/volume1/data
- MAILX_RCPT=your_mail@here.tld
- MAILX_ON_ERROR=OFF
- CHECK_CRON=37 1 1 * *
- RCLONE_CONFIG=/config/rclone.conf
- SYNC_JOB_FILE=/config/sync_jobs.txt
- SYNC_JOB_ARGS=--exclude-from exclude_sync.txt
- SYNC_CRON=*/10 * * * *
- TZ=Europe/Amsterdam
volumes:
- /etc/localtime:/etc/localtime:ro
- /path/to/your/hooks:/hooks
- /path/to/your/log:/var/log
- /path/to/your/restore:/restore
- /path/to/your/config/:/config
- /path/to/your/config/msmtprc:/etc/msmtprc
- /volume1/data:/volume1/data
Set up the following tree for your installation:
./
├── config
│ ├── exclude_files.txt
│ ├── exclude_sync.txt
│ ├── include_files.txt
│ ├── msmtprc
│ ├── rclone.conf
│ └── sync_jobs.txt
├── hooks
├── log
│ ├── backup-error-last.log
│ ├── backup-last.log
│ ├── check-error-last.log
│ ├── check-last.log
│ └── cron.log
└── scripts
└── docker-compose.yml
-
config
exclude_files.txt
- files/folders to exclude from your Restic backupsexclude_sync.txt
- files/folders to exclude from your Rclone bisyncinclude_files.txt
- files/folders to include from your Restic backupsmsmtprc
- configuration file for the msmtp-clientrclone.conf
- configuration file for your rclone clientsync_jobs.txt
- configuration file with sync jobs for rclone
-
hooks
pre-backup.sh
- script started before backuppost-backup.sh
- script started after backuppre-check.sh
- script started before checking the repositorypost-check.sh
- script started after checking the repositorypre-sync.sh
- script started before sync of sync folderpost-sync.sh
- script started after sync of sync folder
-
log
backup-error-last.log
- Most recent backup error logbackup-last.log
- Most recent backup logcheck-error-last.log
- Most recent repository check error logcheck-last.log
- Most recent repository check logcron.log
- Active cron logsync-error-last.log
- Most recent sync error logsync-last.log
- Most recent sync log
-
scripts
docker-compose.yml
- Container Configuration file
The first thing to do is to create a rclone config file. I, personally, do this within Ubuntu on a Raspberry Pi, where I installed rclone. Run the follow command and follow its instructions:
$ rclone config
To choose the following option, n) New remote
. Enter a name for your new remote. Since I use Jottacloud, I entered Jottacloud
. A list of cloud providers is shown. Jottacloud is number 25
. Enter this number on the CLI. The next question is if you have an advanced configuration, for me, this answer is the default no
. After this, you have to select an authentication type. Choose 1 Standard authentication
. Now you have to generate a Personal login token
. This can be generated here. Paste this token in the CLI and press enter. The next question is if you use a non-standard device or mountpoint. For a backup is n) No (default)
but if you want to use the sync option of this image I advise you to select y) Yes
and pick the Sync
mount point. For now, select n) No (default)
. Confirm your config. Your new created rclone.conf
can be found in:
~/.config/rclone/rclone.conf
Copy this file to the /config/
directory of the tree shown above.
Remember to set RESTIC_REPOSITORY
and healthcheck:
in the docker-compose.yml
to the path of your repository. For me, this would be:
rclone:jottacloud:backups
NOTE: If you plan to back up multiple nodes with their containers. And you decide to have a rclone and Restic package on your client desktop or laptop. And also connect to the repository, ALWAYS have a new separate rclone.conf file. Your token will get invalid if you connect with multiple nodes to use the same token.
NOTE: Also make sure the rclone.conf file is writable for the restic-helper-container, since Rclone will update the expiration date for the token. If it fails to do so, your token will get invalid.
If the token gets invalid, you can update your token with:
$ rclone config reconnect jottacloud:
Where jottacloud:
is the name of your remote.
The next stop is to create a configuration file for the mail option in the container. This file should look like the following example.
account default
from _mail_from@here.tld_
host _smtp_host.here.tld_
port 587
tls on
auth on
user _login@here.tld_
password _Pa55w0rd_h3r3_
Next stop is to create a configuration file for the files you would rather not back up from your source. A basic file for a Synology would be something like the following example. Of course, you can add your exclusions to the file exclude_files.txt
.
*@eaDir*
.DS_Store
**/#recycle
Setting the BACKUP_ROOT_DIR
environment variable in the docker-compose.yml
file to a shared directory of your Synology would only back up that directory, ex.: BACKUP_ROOT_DIR=/volume1/data
. That is probably not what you want. You most likely want to back up more shared directories. If you choose BACKUP_ROOT_DIR=/volume1
to do so, I would back up ALL the stuff in /volume1
and that is also not what we want.
To come around this, you leave BACKUP_ROOT_DIR=
empty and set up include_files.txt
. This file holds the files and directories you would like to back up.
/volume1/content
/volume1/docker
/volume1/documents
/volume1/homes
/volume1/homevideo
/volume1/inbox
/volume1/logging
/volume1/photo
/volume1/programming
/volume1/software
Edit your docker-compose.yml
with the following line.
- RESTIC_JOB_ARGS=--exclude-file /config/exclude_files.txt --files-from /config/include_files.txt
We still need to create a repository in the cloud, Jottacloud that is. Here we need to use Restic on the linux CLI. I do this again from an Ubuntu installation on a Raspberry Pi. The command you have to execute is:
$ restic -r rclone:jottacloud:backups init
- rclone - This is the protocol we like to use
- jottacloud - This is the remote you created with rclone
- backups - This is a target that will be created in the Jottacloud Archive section.
Now set up the rest of the docker-compose.yml
file and start your container. The following command will get you started to start the container.
$ docker-compose -p "restic-backup-helper" -f /path/to/your/docker-compose.yml up -d --remove-orphans
Of course, if you use Portainer. You can create a stack and past the content of the docker-compose.yml
in the editor and start your container like so.
Portainer is an open-source container management platform offering a user-friendly graphical interface for managing Docker and Kubernetes environments. It simplifies deployment, monitoring, and maintenance of containerised applications, providing a unified dashboard for multiple environments and supporting various container technologies like Docker Swarm and Azure ACI.
If you set up the container correctly, you would see something like this.
🌟 *************************************************
🌟 *** Restic Backup Helper ***
🌟 *************************************************
🚀 Starting container Restic Backup Helper 'kish' on: 2025-03-25 19:03:16...
📦 Release: 1.6.52-0.17.3-dev
🔍 Checking repository status...
ℹ️ Repository check status: 0
✅ Restic repository 'rclone:jottacloud:backups' attached and accessible.
⏰ Setting up backup cron job with expression: 30 17 * * 6
⏰ Setting up sync cron job with expression: */5 * * * *
✅ Container started successfully.
In this example, the backup will be executed every Saturday at 17:30. The repository can be found on rclone:jottacloud:backups
. This will back it up to the archive part of Jottacloud.
If there is a successful backup, you will see output like this.
ℹ️ Pre-backup script not found...
🔄 Starting Backup at 2025-03-25 17:30:00
📦 Performing backup of /volume1/inbox...
✅ Backup Successful
🏁 Finished backup at 2025-03-25 17:30:38 after 0m 38s
ℹ️ Post-backup script not found...
So your backup is nice and running. In the example above, there a second CRON with runs every 5 minutes. This is the sync folder the connects to the Jottacloud synchronisation part of the cloud.
The setting this up runs rclone config
again, runs through the same steps as shown above but if the question comes for a non-standard device or mountpoint. Choose YES and choose the option Sync
. This gives Rclone access to the synchronisation part of Jottacloud. The advantage is that whatever you sync from your Synology to Jottacloud, the Jottacloud software will pick this up and sync this to your other devices. If you have the Jottacloud software installed.
Don’t forget to pick a new TOKEN, and after you generate that new config file (with two remotes) copy it to /config/
of your container. Also pick a new name for that remote like jottasync
.
Set up the following environment variables in the docker-compose.yml
file.
- SYNC_JOB_FILE=/config/sync_jobs.txt
- SYNC_JOB_ARGS=--exclude-from exclude_sync.txt
- SYNC_CRON=*/10 * * * *
The sync_jobs.txt
should contain something like this.
# SYNC JOBS
# SOURCE;DESTINATION
/volume1/inbox;jottasync:/inbox
/volume1/photo;jottasync:/photo
/volume1/documents;jottasync:/documents
It is the source and destination of the data you like to sync.
The exclude_sync.txt
should contain the files and directories you don’t like to sync.
# Exclude system directories
@eaDir/**
\#recycle/**
# Exclude macOS system files
.DS_Store
And set your SYNC_CRON
with the desired interval of your sync.
If all is well set up, you will see output for the first run only like the following example.
🔀 Performing sync of /volume1/inbox <-> jottasync:/inbox...
❌ Sync Failed with Status 2
🚨 Starting recovery procedure...
🔄 Step 1: Updating from /volume1/inbox to jottasync:/inbox
🔄 Step 2: Updating from jottasync:/inbox to /volume1/inbox
🔄 Step 3: Performing full resync between /volume1/inbox and jottasync:/inbox
✅ Recovery Successful - All steps completed
📊 Recovery Exitcode Summary: Source→Dest=0, Dest→Source=0, Resync=0
🏁 Finished sync at 2025-03-25 15:55:39 after 0m 39s
🔀 Performing sync of /volume1/photo <-> jottasync:/photo...
❌ Sync Failed with Status 2
🚨 Starting recovery procedure...
🔄 Step 1: Updating from /volume1/photo to jottasync:/photo
🔄 Step 2: Updating from jottasync:/photo to /volume1/photo
🔄 Step 3: Performing full resync between /volume1/photo and jottasync:/photo
✅ Recovery Successful - All steps completed
📊 Recovery Exitcode Summary: Source→Dest=0, Dest→Source=0, Resync=0
🏁 Finished sync at 2025-03-25 15:55:39 after 0m 39s
🔀 Performing sync of /volume1/documents <-> jottasync:/documents...
❌ Sync Failed with Status 2
🚨 Starting recovery procedure...
🔄 Step 1: Updating from /volume1/documents to jottasync:/documents
🔄 Step 2: Updating from jottasync:/documents to /volume1/documents
🔄 Step 3: Performing full resync between /volume1/documents and jottasync:/documents
✅ Recovery Successful - All steps completed
📊 Recovery Exitcode Summary: Source→Dest=0, Dest→Source=0, Resync=0
🏁 Finished sync at 2025-03-25 15:55:39 after 0m 39s
The first sync will “fail” because the caches are not yet up to date. The script will handle this correctly for the second run of your sync. Like you see below.
ℹ️ Pre-sync script not found...
🔀 Performing sync of /volume1/inbox <-> jottasync:/inbox...
✅ Sync Successful
🏁 Finished sync at 2025-03-25 19:30:11 after 0m 11s
🔀 Performing sync of /volume1/photo <-> jottasync:/photo...
✅ Sync Successful
🏁 Finished sync at 2025-03-25 19:30:24 after 0m 24s
🔀 Performing sync of /volume1/documents <-> jottasync:/documents...
✅ Sync Successful
🏁 Finished sync at 2025-03-25 19:30:33 after 0m 33s
ℹ️ Post-sync script not found...
Note: The default for Rclone bisync if that is 50% more difference between the source and the destination is found, Rclone will fail and exit. The script syncing your data will then try to copy all data back from the source to the destination and from destination to source. This will look like all syncs did not work, but actually, it is a safety measure. If you don’t want this, add --force
to your SYNC_JOB_ARGS
.
Here are some examples to use Restic inside the container from the host.
This command will list all snapshots with Restic from a container restic-remote
.
$ sudo docker exec -ti restic-remote restic snapshots
This command generates the following output.
ID Time Host Tags Paths Size
-----------------------------------------------------------------------------------
9547a8f4 2025-03-21 16:33:45 eridu eridu /home/pi/docker 324.319 MiB
693fc4e7 2025-03-21 23:59:09 eridu eridu /home/pi/docker 324.366 MiB
a2db8a02 2025-03-22 18:00:00 eridu eridu /home/pi/docker 324.823 MiB
b3076cd0 2025-03-22 19:00:00 eridu eridu /home/pi/docker 324.476 MiB
187efc43 2025-03-22 20:00:00 eridu eridu /home/pi/docker 324.477 MiB
e50c1751 2025-03-22 21:00:00 eridu eridu /home/pi/docker 324.482 MiB
If you want to list the content of a snapshot, you use the following command.
$ sudo docker exec -ti restic-remote restic ls e50c1751 --long | grep mp3
This command will list all files in the snapshot e50c1751
. The grep command will only show you all lines with mp3
in its path.
Restoring files from a snapshot is done with the following command.
$ sudo docker exec -ti restic-remote restic restore e50c1751 --target /data --include /mnt/data/
This command will restore from snapshot e50c1751
to target /data
, but only the files from the path /mnt/data/
For all the information you need on Restic, check this website.
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
✏️📝
🛜Setting up Wireguard on Your Ubiquiti Edge Router
I aimed to create a VPN router using my Ubiquiti Edge Router ER-12 and utilise the configuration files from NordVPN. Initially, I attempted this with OpenVPN configuration files, which worked flawlessly, but unfortunately, OpenVPN resulted in poor throughput. (I have written another blog post about setting this up with OpenVPN if you need it, but I recommend using WireGuard instead.)
NordVPN’s implementation of WireGuard is known as NordLynx. However, NordVPN does not make these profiles easily accessible like Mullvad VPN does. On the NordVPN website, only OpenVPN configurations are readily available for download.
To obtain the NordLynx configuration files, I discovered two methods online.
- One approach is to use the method described by Daniel Rosenberg. You can find more details in his article on using WireGuard with NordVPN on an EdgeRouter here.
- The other method I found is a more practical solution from “MyShittyCode”, which provides a straightforward script to extract WireGuard configurations. You can read about it here.
I initially used the Daniel Rosenberg method in a Linux VM on my MacBook, which worked, but after discovering the second option from MyShittyCode, I found their script to be quite useful and decided to modify it slightly, as you can see below.
The primary step in the MyShittyCode method involves setting up NordVPN to generate an ACCESS TOKEN for use in the script. This is relatively straightforward; simply follow the steps outlined in the original blog post.
What You Need to Set in the Script
To use the script, you need to configure the following variables:
# --- Configuration Variables ---
ACCESS_TOKEN="**YOUR TOKEN HERE!!**"
TOTAL_CONFIGS=1
DNS_SERVER="103.86.96.100"
COUNTRY_NAME="Netherlands"
- ACCESS_TOKEN: This can be obtained by following the steps in the original post.
- TOTAL_CONFIGS: You can set this to any number of configurations you wish to generate.
- DNS_SERVER: You can use any DNS server, but to avoid DNS leak complaints from NordVPN, use 103.86.96.100 or 103.86.99.100.
- COUNTRY_NAME: Set this to any country where NordVPN has endpoints; you might prefer to use your current location.
#!/usr/bin/env bash
# NordVPN WireGuard Configuration Generator
# Checks prerequisites and generates WireGuard configuration files.
# --- Configuration Variables ---
ACCESS_TOKEN="<<YOUR TOKEN HERE!!>>"
TOTAL_CONFIGS=1
DNS_SERVER="103.86.96.100"
COUNTRY_NAME="Netherlands"
# --- Functions for Prerequisite Checks ---
check_command() {
if ! command -v "$1" >/dev/null 2>&1; then
echo "❌ ERROR: Required command '$1' is not installed."
MISSING_DEPENDENCIES=true
else
echo "✅ '$1' is installed."
fi
}
check_internet_connection() {
if ! curl -s --head https://api.nordvpn.com >/dev/null; then
echo "❌ ERROR: Unable to connect to NordVPN API. Please check your internet connection."
exit 1
else
echo "✅ Internet connection is working."
fi
}
check_access_token() {
RESPONSE=$(curl -s -u token:"$ACCESS_TOKEN" "https://api.nordvpn.com/v1/users/services/credentials")
if [[ $(echo "$RESPONSE" | jq -r '.nordlynx_private_key') == "null" ]]; then
echo "❌ ERROR: Invalid or expired ACCESS_TOKEN."
exit 1
else
echo "✅ ACCESS_TOKEN is valid."
fi
}
# --- Perform Prerequisite Checks ---
echo "🔍 Checking prerequisites..."
MISSING_DEPENDENCIES=false
check_command curl
check_command jq
if [ "$MISSING_DEPENDENCIES" = true ]; then
echo "🚨 Please install the missing dependencies before running this script again."
exit 1
fi
check_internet_connection
check_access_token
echo "🚀 All prerequisites satisfied. Proceeding..."
# --- Fetch Country ID ---
COUNTRY_ID=$(curl -s "https://api.nordvpn.com/v1/servers/countries" | \
jq -r ".[] | select(.name==\"$COUNTRY_NAME\") | .id")
if [ -z "$COUNTRY_ID" ]; then
echo "❌ ERROR: Country '$COUNTRY_NAME' not found or invalid."
exit 1
fi
# --- Fetch Private Key ---
PRIVATE_KEY=$(curl -s -u token:"$ACCESS_TOKEN" \
"https://api.nordvpn.com/v1/users/services/credentials" | jq -r '.nordlynx_private_key')
# --- Fetch Recommended Servers and Generate Configurations ---
SERVER_RECOMMENDATIONS_URL="https://api.nordvpn.com/v1/servers/recommendations?&filters\[country_id\]=$COUNTRY_ID&filters\[servers_technologies\]\[identifier\]=wireguard_udp&limit=$TOTAL_CONFIGS"
curl -s "$SERVER_RECOMMENDATIONS_URL" | jq -r --arg private_key "$PRIVATE_KEY" --arg dns "$DNS_SERVER" '
.[] |
{
filename: (.locations[0].country.name + " - " + .locations[0].country.city.name + " - " + .hostname + ".conf"),
ip: .station,
publicKey: (.technologies[] | select(.identifier=="wireguard_udp") | .metadata[] | select(.name=="public_key").value)
} |
{
filename: .filename,
config: [
"# " + .filename,
"",
"[Interface]",
"PrivateKey = \($private_key)",
"Address = 10.5.0.2/32",
"DNS = \($dns)",
"",
"[Peer]",
"PublicKey = " + .publicKey,
"AllowedIPs = 0.0.0.0/0, ::/0",
"Endpoint = " + .ip + ":51820"
] | join("\n")
} |
"echo \"" + .config + "\" > \"" + .filename + "\""
' | sh
echo "🎉 WireGuard configuration file(s) successfully generated!"
Running the Script
When you run the script, you should see a smooth output like this:
✅ 'curl' is installed.
✅ 'jq' is installed.
✅ Internet connection is working.
✅ ACCESS_TOKEN is valid.
🚀 All prerequisites satisfied. Proceeding...
🎉 WireGuard configuration file(s) successfully generated!
You will find one or more configuration files generated, depending on your settings, similar to this:
-rw-rw-r-- 1 admin admin 290 Mar 19 20:58 'Netherlands - Amsterdam - nl729.nordvpn.com.conf'
The content of the file will resemble the following:
# Netherlands - Amsterdam - nl729.nordvpn.com.conf
[Interface]
PrivateKey = ** YOUR_PRIVATE_KEY_HERE **
Address = 10.5.0.2/32
DNS = 103.86.96.100
[Peer]
PublicKey = ** YOUR_PUBLIC_KEY_HERE **
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = 213.232.87.204:51820
Installing Wireguard package on your Edgerouter
The EdgeRouter does not come with WireGuard pre-installed. You will need to install it manually. There is a helpful individual on GitHub who maintains the WireGuard packages for EdgeOS. You can find the current release here.
For my router, the ER-12, the correct package can be found here. Now, open an SSH session to your Edge router and enter the following commands:
curl -OL https://github.com/WireGuard/wireguard-vyatta-ubnt/releases/download/1.0.20211208-1/e300-v2-v1.0.20220627-v1.0.20210914.deb
sudo dpkg -i e300-v2-v1.0.20220627-v1.0.20210914.deb
- The
curl
command will download the required package onto the router. Ensure you download the correct one; in my case, it ise300-v2-v1.0.20220627-v1.0.20210914.deb
. - The
dpkg
command will install the package on the router.
After Obtaining the Configuration Files and package installation
Once you have obtained the configuration files and installed the package, you are ready to proceed with the next step: setting up your Edge Router with a VPN connection.
Setting up your Edge Router with a VPN connection
The script below is an EdgeOS script designed to set up your VPN tunnel for your home LAN. In the example below, it is assumed that you have VLANs and that VLAN30 is the network for all clients that need to be routed through the WireGuard tunnel wg0.
Assumptions:
- VLAN30 is configured with the IP range 192.168.30.0/24.
- You wish to exclude nodes 192.168.30.50, 192.168.30.51, and 192.168.30.52 from the tunnel (for example, these might be RING.COM devices that experience issues with VPNs).
- You need to exclude nodes 104.17.127.1 (Ring oath1) and 104.17.128.1 (Ring oath2) for clients that use the wg0 tunnel. This is necessary for clients that require access to RING.COM apps, as RING.COM does not support VPNs.
- You want to exclude subnets within RFC1918 in the wg0 VPN tunnel.
- You aim to exclude email services from Apple and Google, as they often have issues with VPNs.
Note: Ensure you set your Private Key and Public Key in the script below, which can be found in the configuration file named “Netherlands - Amsterdam - nl729.nordvpn.com.conf”.
Note: Set the correct IP address below, found in the same configuration file. In this example, the IP address is 213.232.87.204
configure
# Wireguard configuration
set interfaces wireguard wg0 address 10.5.0.2/32
set interfaces wireguard wg0 description 'NordVPN Wireguard'
set interfaces wireguard wg0 listen-port 37728
set interfaces wireguard wg0 mtu 1420
set interfaces wireguard wg0 peer YOUR_PUBLIC_KEY_HERE allowed-ips 0.0.0.0/0
set interfaces wireguard wg0 peer YOUR_PUBLIC_KEY_HERE description nl729.nordvpn.com.conf
set interfaces wireguard wg0 peer YOUR_PUBLIC_KEY_HERE endpoint 213.232.87.204:51820
set interfaces wireguard wg0 peer YOUR_PUBLIC_KEY_HERE persistent-keepalive 25
set interfaces wireguard wg0 private-key YOUR_PRIVATE_KEY_HERE
set interfaces wireguard wg0 route-allowed-ips false
commit
# NAT-rule for traffic from 192.168.30.0/24 to VPN-tunnel
set service nat rule 5020 description 'masquerade for wg0/NordVPN'
set service nat rule 5020 log disable
set service nat rule 5020 outbound-interface wg0
set service nat rule 5020 protocol all
set service nat rule 5020 type masquerade
commit
# Allow incoming WireGuard protocol traffic on the WAN
set firewall name WAN_LOCAL rule 15 action accept
set firewall name WAN_LOCAL rule 15 description 'Allow incoming WireGuard'
set firewall name WAN_LOCAL rule 15 destination port 37728
set firewall name WAN_LOCAL rule 15 protocol udp
commit
# Static route for traffic from 192.168.30.0/24 via de VPN-tunnel
set protocols static table 1 description 'Route out via wg0/NordVPN'
set protocols static table 1 interface-route 0.0.0.0/0 next-hop-interface wg0
set protocols static table 1 route 0.0.0.0/0 blackhole distance 255
commit
# Hosts in 192.168.30.0/24 we don't want through wg0/NordVPN
set firewall group address-group Vlan30_Hosts_NordVPN_EXCLUDE description 'Hosts in VLAN30 we dont want through wg0/NordVPN'
set firewall group address-group Vlan30_Hosts_NordVPN_EXCLUDE address 192.168.30.50 # host50
set firewall group address-group Vlan30_Hosts_NordVPN_EXCLUDE address 192.168.30.51 # host51
set firewall group address-group Vlan30_Hosts_NordVPN_EXCLUDE address 192.168.30.52 # host52
commit
# Sites on the Internet we dont want through wg0/NordVPN
set firewall group address-group Internet_Hosts_NordVPN_EXCLUDE description 'Sites on the Internet we dont want through wg0/NordVPN'
set firewall group address-group Internet_Hosts_NordVPN_EXCLUDE address 104.17.127.1 # Ring oath1
set firewall group address-group Internet_Hosts_NordVPN_EXCLUDE address 104.17.128.1 # Ring oath2
commit
# None routable subnets
set firewall group address-group RFC1918 description 'Allow None routable subnets'
set firewall group address-group RFC1918 address 192.168.0.0/16
set firewall group address-group RFC1918 address 172.16.0.0/12
set firewall group address-group RFC1918 address 10.0.0.0/8
commit
# Mail ports (spoiler: Apple Mail and Google Mail don't like VPN's)
set firewall group port-group Mail_ports description 'Mail poorten'
set firewall group port-group Mail_ports port 993
set firewall group port-group Mail_ports port 587
set firewall group port-group Mail_ports port 465
set firewall group port-group Mail_ports port 2525
commit
# traffic from 192.168.30.0/24 to RFC1918 not via wg0
set firewall modify SOURCE_ROUTE rule 10 description 'traffic from 192.168.30.0/24 to RFC1918 not via wg0'
set firewall modify SOURCE_ROUTE rule 10 source address 192.168.30.0/24
set firewall modify SOURCE_ROUTE rule 10 destination group address-group RFC1918
set firewall modify SOURCE_ROUTE rule 10 action accept
# traffic from excluded hosts to 0.0.0.0/0 not via wg0
set firewall modify SOURCE_ROUTE rule 20 description 'traffic from excluded hosts to 0.0.0.0/0 not via wg0'
set firewall modify SOURCE_ROUTE rule 20 source group address-group Vlan30_Hosts_NordVPN_EXCLUDE
set firewall modify SOURCE_ROUTE rule 20 destination address 0.0.0.0/0
set firewall modify SOURCE_ROUTE rule 20 action accept
# traffic for excluded sites on Internet not via wg0
set firewall modify SOURCE_ROUTE rule 21 description 'traffic for excuded sites on Internet not via wg0'
set firewall modify SOURCE_ROUTE rule 21 destination group address-group Internet_Hosts_NordVPN_EXCLUDE
set firewall modify SOURCE_ROUTE rule 21 action accept
# traffic from MAIL ports to 0.0.0.0/0 not via wg0
set firewall modify SOURCE_ROUTE rule 30 description 'traffic from MAIL ports to 0.0.0.0/0 not via wg0'
set firewall modify SOURCE_ROUTE rule 30 destination group port-group Mail_ports
set firewall modify SOURCE_ROUTE rule 30 action accept
# Firewall rule traffic from 192.168.30.0/24 through wg0
set firewall modify SOURCE_ROUTE rule 100 description 'traffic from 192.168.30.0/24 through wg0'
set firewall modify SOURCE_ROUTE rule 100 source address 192.168.30.0/24
set firewall modify SOURCE_ROUTE rule 100 modify table 1
# Apply firewall-modification to VLAN30
set interfaces switch switch0 vif 30 firewall in modify SOURCE_ROUTE
commit
save
exit
The interface specified in the script can be configured to any interface you need. In this example, it is VLAN30 on switch0, but you can easily use eth2 or any other interface that suits your requirements.
# Apply firewall-modification to eth2
set interfaces ethernet eth2 firewall in modify SOURCE_ROUTE
Or If you want it to be applied to your complete switch0
# Apply firewall-modification to switch0
set interfaces switch switch0 firewall in modify SOURCE_ROUTE
Disabling a VPN
To disable a VPN, use the following commands:
configure
delete interfaces switch switch0 vif 30 firewall in modify SOURCE_ROUTE
commit
save
exit
Re-enabling a VPN
To re-enable a VPN after disabling it, use the following commands:
configure
set interfaces switch switch0 vif 30 firewall in modify SOURCE_ROUTE
commit
save
exit
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📝
📝Renaming Noteplan files with the correct title
A great feature in Noteplan is that the filename of the note gets the filename that is equal to the title of the note
What is not so great, as a note evolves and changes and maybe your title gets changed, the filename does not. Which can be a hassle if you do a files search on your disk to find a particular file. I recently learned that you can work together with Obsidian. But for this to work correctly, the files need to have nice describing names.
I don’t use Obsidian, but I like to have my filenames aligned with the notes’ title. Therefore, I wrote the bash script below.
You can set your directories to be scanned, so that the files within them get renamed if needed.
#!/bin/bash
# Directories to process
directories=(
"/Users/<user>/Library/Containers/co.noteplan.NotePlan-setapp/Data/Library/Application Support/co.noteplan.NotePlan-setapp/Notes/personal"
"/Users/<user>/Library/Containers/co.noteplan.NotePlan-setapp/Data/Library/Application Support/co.noteplan.NotePlan-setapp/Notes/work"
)
# Loop through directories and *.txt files
for root_dir in "${directories[@]}"; do
echo
echo
echo "Processing directory: $root_dir"
# Find and process *.txt files
find "$root_dir" -name "*.txt" -type f -print0 | while IFS= read -r -d '' file; do
title=$(head -n 1 "$file" | tr -cd '[:alnum:][:space:]._-' | xargs)
path=$(dirname "$file")
new_filename="${path}/${title}.txt"
if [[ "$file" != "$new_filename" ]]; then
mv "$file" "$new_filename"
echo "File renamed to: $new_filename"
else
echo "File already has correct title: $new_filename"
fi
done
done
I have Noteplan via Setapp, so I included the Setapp paths to be used. Set <user> to your username and mutate the path, so it resembled your folder structure in Noteplan. 📝🖋️☕️
✏️ Cooper's Ontsnapping
‘Wat bedoel je, hij is ontsnapt?’ snauwt hij haar toe. De takken op de zachte bosgrond kraken als hij met een ferme pas op haar af komt. ‘Normaal loopt Cooper nooit weg,’ bijt hij. Laura deinst wat terug. ‘Rustig Jason,’ sust ze, ‘het is een goed getrainde politiehond. Die loopt niet in zeven sloten tegelijk.’ Maar dat is ook niet de grootste zorg van Jason.
Hij traint al drie jaar met Cooper. Al die tijd is hij een betrouwbare partner gebleken. Een betrouwbaar middel bij het bestrijden van criminaliteit. Jason wilde hem een uitje gunnen. Even wat vertier in het anders zo intensieve schema. Hij wist dat hij haar niet alleen had moeten laten met de strijder. Überhaupt had hij Cooper niet mee moeten nemen. Maar in plaats van dat toe te geven, wordt hij steeds giftiger op Laura. Dit gaat hem problemen geven op het bureau, weet hij.
‘Laten we het pad terug volgen naar de auto,’ stelde Laura voor. Maar Jason wil door. ‘We zijn op de helft van de route en Cooper kent de weg,’ zegt hij bits. Na een korte woordenwisseling besluiten ze ieder een andere kant op te gaan en elkaar te treffen bij de auto op de parkeerplaats. Roepend en fluitend verdwijnt Jason verder het bos in. Laura volgt het pad terug naar de parkeerplaats. Geen spoor van Cooper tijdens deze intense speedmars.
Als ze de parkeerplaats nadert, hoort ze ook Jason weer. Nog steeds roepend en fluitend. Wanneer ze elkaar weer treffen en samen naar de auto lopen is Jason radeloos. Zijn woede en furie zijn omgeslagen in angst. Ze lopen langs de enkele auto’s die er geparkeerd staan. Stomverbaasd is Jason als blijkt dat Cooper op de grond achter hun auto ligt. Blij beide spoorzoekers weer te zien. Met een onbekende riem zit Cooper vast aan de trekhaak van hun auto. Jason en Laura kijken snel om zich heen, maar niemand in de buurt. ‘Wie kan dit gedaan hebben?’ stamelt hij in zichzelf.
Als Jason een briefje achter de ruitenwisser ontdekt, wordt hij timide. ‘Maandag 09:00 kantoor. Commissaris Bleekveld’.
De rit naar huis heeft nog nooit zo lang geduurd. Maar niet voor Cooper. Hij heeft het mooiste vertier in tijden gehad. 🐕📝🏕️
🛜Set up QOS with EdgeOS (Ubiquiti)
Setting up QOS on a Ubiquiti router with EdgeOS is not very complicated and pretty straightforward. In this post I try to set forth the way to set this up. I will show two ways.
- A configuration with groups, which is slower but better manageable
- A configuration without groups, which is faster giving a higher throughput
Configuration with groups
This configuration with a group is nice if you want to easily add or remove nodes from QOS. You can do this by logging in to the webGUI of your Ubiquiti router and just conveniently add or remove a IP. In the script below that group is called “QOS_High_Prio_Nodes”. A default IP is added “192.168.130.1”.
The downside of this script is that because we are marking the traffic, the router gets pretty busy and so the throughput of the traffic goes significantly down.
-
Create an address group for high-priority nodes.
This group (QOS_High_Prio_Nodes) can be easily managed from the webGui. -
Mark traffic via a firewall rule
This marking makes it possible to use a group, as using a group directly is not possible. The downside is that the throughput is significantly lower than not marking the traffic. -
Define a traffic shaper policy for download traffic
Here you set the true bandwidth of your broadband connection with your ISP. -
Class 10: High priority for traffic to QOS_High_Prio_Nodes
-
Class 20: Lower priority for traffic from VLAN200 (192.168.200.0/24)
-
Class 30: Lower priority for traffic from VLAN120 (192.168.120.0/24)
In this example there are 3 classes set. All with their own bandwidth-quota and priority. -
Default Class: Other traffic receives default treatment.
All other traffic is shaped at the lowest priority.Make sure the sum of all the bandwidth does not excite 100%
-
Apply the policy to both interfaces.
Since I own a Ubiquiti Edgerouter ER-12 the default WAN port is eth9. Of course if your WAN is on a different port, adjust accordingly.
Script 1
configure
# 1. Create an address group for all high priority nodes
set firewall group address-group QOS_High_Prio_Nodes address 192.168.130.1
set firewall group address-group QOS_High_Prio_Nodes description "Address group for nodes with high priority"
# 2. Mark traffic via a firewall rule
set firewall modify MARK_QOS_High_Prio_Nodes rule 10 action modify
set firewall modify MARK_QOS_High_Prio_Nodes rule 10 modify mark 10
set firewall modify MARK_QOS_High_Prio_Nodes rule 10 source group address-group QOS_High_Prio_Nodes
set firewall modify MARK_QOS_High_Prio_Nodes rule 10 description "Mark traffic for QOS_High_Prio_Nodes"
# 3. Define a traffic shaper policy for download traffic
set traffic-policy shaper DOWNLOAD_POLICY bandwidth 910mbit
set traffic-policy shaper DOWNLOAD_POLICY description "QoS policy for download traffic, total bandwidth 910 Mbps"
# 4. Class 10: High priority for VLAN30 traffic (192.168.130.1/32)
set traffic-policy shaper DOWNLOAD_POLICY class 10 bandwidth 5%
set traffic-policy shaper DOWNLOAD_POLICY class 10 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 10 priority 7
set traffic-policy shaper DOWNLOAD_POLICY class 10 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 10 match VLAN30_QOS_HIGH_PRIORITY mark 10
set traffic-policy shaper DOWNLOAD_POLICY class 10 description "High priority (50% guaranteed) for PRIO nodes"
# 5. Class 20: Lower priority for VLAN20 traffic (192.168.20.0/24)
# If VLAN20 does not exist in your network, remove this class.
set traffic-policy shaper DOWNLOAD_POLICY class 20 bandwidth 20%
set traffic-policy shaper DOWNLOAD_POLICY class 20 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 20 priority 4
set traffic-policy shaper DOWNLOAD_POLICY class 20 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 20 match VLAN20_PRIORITY ip source address 192.168.120.0/24
set traffic-policy shaper DOWNLOAD_POLICY class 20 description "Lower priority (20% guaranteed) for VLAN20 traffic"
# 6. Class 30: Lower priority for VLAN178 traffic (192.168.178.0/24)
set traffic-policy shaper DOWNLOAD_POLICY class 30 bandwidth 65%
set traffic-policy shaper DOWNLOAD_POLICY class 30 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 30 priority 3
set traffic-policy shaper DOWNLOAD_POLICY class 30 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 30 match VLAN178_PRIORITY ip source address 192.168.200.0/24
set traffic-policy shaper DOWNLOAD_POLICY class 30 description "Lower priority (20% guaranteed) for VLAN178 traffic"
# 7. Default class: Other traffic gets standard treatment
set traffic-policy shaper DOWNLOAD_POLICY default bandwidth 10%
set traffic-policy shaper DOWNLOAD_POLICY default ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY default priority 1
set traffic-policy shaper DOWNLOAD_POLICY default queue-type fair-queue
# 8. Apply the policy to both interfaces:
# - eth9: Outbound traffic to the internet
set interfaces ethernet eth9 traffic-policy out DOWNLOAD_POLICY
set interfaces ethernet eth9 description "WAN interface with QoS policy applied to outbound traffic"
commit
save
exit
Configuration without groups, but a higher throughput
This configuration lacks groups, which would have given it the ability to be more manageable. More manageable in the way that you could add and remove modes (IP’s) to and from an address-group in the webGUI of your Ubiquiti router. This would have been very convenient. But more on that later.
The great benefit of dropping the convenience of the traffic marking is that you get the max possible throughput of the router.
-
Define a traffic shaping policy for download traffic
Here you set the true bandwidth of your broadband connection with your ISP. -
Class 10: High priority for VLAN30 traffic (192.168.130.1/32)
This now your node this the highest priority for QOS -
Class 20: Lower priority for VLAN120 traffic (192.168.120.0/24)
-
Class 30: Lower priority for VLAN140 traffic (192.168.140.0/24)
-
Default class: Other traffic gets standard treatment
All other traffic is shaped at the lowest priority.Make sure the sum of all the bandwidth does not excite 100%
-
Apply the policy to both interface eth9
Since I own a Ubiquiti Edgerouter ER-12 the default WAN port is eth9. Of course if your WAN is on a different port, adjust accordingly.
Script 2
configure
# 1. Define a traffic shaping policy for download traffic
set traffic-policy shaper DOWNLOAD_POLICY bandwidth 910mbit
set traffic-policy shaper DOWNLOAD_POLICY description "QoS policy for download traffic, total bandwidth 910 Mbps"
# 2. Class 10: High priority for (192.168.130.1/32)
set traffic-policy shaper DOWNLOAD_POLICY class 10 bandwidth 5%
set traffic-policy shaper DOWNLOAD_POLICY class 10 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 10 priority 7
set traffic-policy shaper DOWNLOAD_POLICY class 10 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 10 match VLAN30_QOS_HIGH_PRIORITY ip source address 192.168.130.1/32
set traffic-policy shaper DOWNLOAD_POLICY class 10 description "High priority (5% guaranteed) for TV"
# 3. Class 20: Lower priority for VLAN120 traffic (192.168.120.0/24)
# If VLAN120 does not exist in your network, remove this class.
set traffic-policy shaper DOWNLOAD_POLICY class 20 bandwidth 20%
set traffic-policy shaper DOWNLOAD_POLICY class 20 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 20 priority 4
set traffic-policy shaper DOWNLOAD_POLICY class 20 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 20 match VLAN20_PRIORITY ip source address 192.168.120.0/24
set traffic-policy shaper DOWNLOAD_POLICY class 20 description "Lower priority (20% guaranteed) for VLAN120 traffic"
# 4.Class 30: Lower priority for VLAN140 traffic (192.168.140.0/24)
# If VLAN140 does not exist in your network, remove this class.
set traffic-policy shaper DOWNLOAD_POLICY class 30 bandwidth 65%
set traffic-policy shaper DOWNLOAD_POLICY class 30 ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY class 30 priority 3
set traffic-policy shaper DOWNLOAD_POLICY class 30 queue-type fair-queue
set traffic-policy shaper DOWNLOAD_POLICY class 30 match VLAN178_PRIORITY ip source address 192.168.140.0/24
set traffic-policy shaper DOWNLOAD_POLICY class 30 description "Lower priority (65% guaranteed) for VLAN140 traffic"
# 5. Default class: Other traffic gets standard treatment
set traffic-policy shaper DOWNLOAD_POLICY default bandwidth 10%
set traffic-policy shaper DOWNLOAD_POLICY default ceiling 100%
set traffic-policy shaper DOWNLOAD_POLICY default priority 1
set traffic-policy shaper DOWNLOAD_POLICY default queue-type fair-queue
# 6. Apply the policy to both interfaces:
# - eth9: outbound internet-facing interface
set interfaces ethernet eth9 traffic-policy out DOWNLOAD_POLICY
set interfaces ethernet eth9 description "WAN interface with QoS policy applied to outbound traffic"
commit
save
exit
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📝🎮📺
📺Getting your Emby library scanned for new content in four ways.
Running Emby en Radarr/Sonarr on different servers or in different container can be a pain in the ass to get your content scanned.
But it is much easier than you think if you know what’s going on inside the services. The TL;DR is keep your content path the same in EMBY and in Sonarr/Radarr. If you don’t keep them the same, you run into trouble.
First, I show two options when you can’t keep the paths the same (say you have a linux node running EMBY and a Windows (don’t mention it) node for Sonarr/Radarr. It’s obvious the paths will never be the same, as Linux will give you a PATH like below.
/home/user/video/movies/Your Old Movie (1921)/Your.Old.Movie.1921.Remux-2160p.mkv
Where Windows (sh*t have to mention it again) will give you a path
D:\data\video\movies\Your Old Movie (1921)\Your.Old.Movie.1921.Remux-2160p.mkv
The slashed only (Linux forward slash / and Windows a backslash \ ) already makes this a problem.
Then I will show you two options if you can the PATHs the same. This can be done when:
- You run all your software on one node, therefor the content PATHs in EMBY en Sonarr/Radarr will be the same (Obviously)
- When you run multiple nodes of the SAME OS and run the services (EMBY, Sonarr, Radarr) in DOCKER, and therefore you can keep the PATHs the same inside your docker containers.
- When you run multiple nodes of THE SAME OS (for EMBY, Sonarr and Radarr) and store the content on the same network share (a third node) via Radarr/Sonarr and EMBY will scan the content on that same third node.
Option 1 different paths (you can’t keep the paths the same)
This method triggers a complete library scan. This work fine but is suboptimal. When your library is large, or you frequently trigger the library scan, it will have an impact on EMBY.
curl -X POST "${EMBY_HOST}/Emby/Library/Refresh?api_key=${EMBY_APIKEY}" --data ""
Where:
EMBY_HOST = http:/192.168.1.1:0896 or https://www.yourdoamin.com:443
EMBY_APIKEY = XXXXXXYYYYYZZZZZZ
Option 2 different paths (you can’t keep the paths the same)
This method tiggers a scan for a certain library in your collection (EMBY_PARENT_ID). The advance to the pervious option is that you only trigger one collection in the library. The downside is you have to fiddle around with the EMBY_PARENT_ID. These can be obtained from the URL when you open the collection in EMBY.
curl -X POST "${EMBY_URL}/emby/Items/${EMBY_PARENT_ID}/Refresh?Recursive=true&MetadataRefreshMode=Default&ImageRefreshMode=Default&ReplaceAllMetadata=false&ReplaceAllImages=false&api_key=${EMBY_APIKEY}" -H "accept: */*" -d “”
Where:
EMBY_HOST = http:/192.168.1.1:0896 or https://www.yourdoamin.com:443
EMBY_APIKEY = XXXXXXYYYYYZZZZZZ
EMBY_PARENT_ID = 12
Option 3 Same paths (you can keep the path in *arr equal to the path in EMBY)
This is the simplest to configure the default trigger in Sonarr/Radarr
Option 4 Same paths (you can keep the path in *arr equal to the path in EMBY)
This method tiggers a scan for a certain library in your collection. The advance to the pervious option is that you add your own logic to the scan. The other advance is that you can fill-out Path and UpdateType from the environment variables in Linux (or your container)
curl -X POST "${EMBY_URL}/emby/Library/Media/Updated?api_key=${EMBY_APIKEY}" -H "accept: */*" -H "Content-Type: application/json" -d "{\"Updates\":[{\"Path\":\"${Path}\",\"UpdateType\":\"${UpdateType}\"}]}"
Where:
EMBY_HOST = http:/192.168.1.1:0896 or https://www.yourdoamin.com:443
EMBY_APIKEY = XXXXXXYYYYYZZZZZZ
Path = /movies/Old Movie, The (1921)/The.Old.Movie.1921.Bluray-2160p.mkv
UpdateType = [ Created | Modified | Deleted ] (optional)
Here is an example script I use for Radarr and Sonarr. I like separate scripts for Radarr and Sonarr, but you easily merge them and create one script for both Radarr and Sonarr.
Radarr
#!/bin/bash
NOW=$(date +"%d-%m-%Y %H:%M")
LOG_FILE="/logging/radarr/emby_scan.txt"
TMP_FILE="/tmp/tmp_emby_radarr.txt"
DL_FILE="/scripts/dl_radarr.txt"
DEL_FILE="/scripts/del_radarr.txt"
REN_FILE="/scripts/ren_radarr.txt"
EMBY_URL="https://emby.yourdomain.com"
EMBY_RADARR_APIKEY="xxxyyyyyzzz"
if [ "${radarr_eventtype}" != "" ]; then
if [ "${radarr_eventtype}" == "ApplicationUpdate" ] || [ "${radarr_eventtype}" == "MovieAdded" ] || [ "${radarr_eventtype}" == "Grab" ] || [ "${radarr_eventtype}" == "HealthIssue" ] || [ "${radarr_eventtype}" == "Test" ]; then
(echo "${NOW} - [Emby Library Scan] Radarr Event Type is ${radarr_eventtype}, exiting."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
exit
fi
(echo "${NOW} - [Emby Library Scan] Radarr Event Type is ${radarr_eventtype}, updating Emby Library for ${radarr_movie_title}."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
if [ "$radarr_eventtype" == "Download" ]; then
echo "${radarr_movie_title} (${radarr_movie_year})" >> ${DL_FILE}
UpdateType="Created"
Path="${radarr_movie_path}"
fi
if [ "${radarr_eventtype}" == "MovieDelete" ]; then
echo "${radarr_movie_title} (${radarr_movie_year})" >> ${DEL_FILE}
UpdateType="Deleted"
Path="${radarr_movie_path}"
fi
if [ "$radarr_eventtype" == "Rename" ]; then
echo "${radarr_movie_title} (${radarr_movie_year})" >> ${REN_FILE}
UpdateType="Modified"
Path="${radarr_movie_path}"
fi
curl -X POST "${EMBY_URL}/emby/Library/Media/Updated?api_key=${EMBY_RADARR_APIKEY}" -H "accept: */*" -H "Content-Type: application/json" -d "{\"Updates\":[{\"Path\":\"${Path}\",\"UpdateType\":\"${UpdateType}\"}]}"
else
(echo "${NOW} - [Emby Library Scan] Radarr Event Type is empty."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
fi
# write a status file with date of last run. Helps troubleshoot that cron task is running.
echo "$(basename $0) last run was at $(date)" > /logging/radarr/_$(basename $0)_lastrun.txt
Sonarr
#!/bin/bash
NOW=$(date +"%d-%m-%Y %H:%M")
LOG_FILE="/logging/sonarr/emby_scan.txt"
TMP_FILE="/tmp/tmp_emby_sonarr.txt"
DL_FILE="/scripts/dl_sonarr.txt"
DEL_FILE="/scripts/del_sonarr.txt"
REN_FILE="/scripts/ren_sonarr.txt"
EMBY_URL="https://emby.yourdomain.com"
EMBY_SONARR_APIKEY="zzzzzyyyyyxxxxx"
if [ "${sonarr_eventtype}" != "" ]; then
if [ "${sonarr_eventtype}" == "ApplicationUpdate" ] || [ "${sonarr_eventtype}" == "Grab" ] || [ "${sonarr_eventtype}" == "HealthIssue" ] || [ "${sonarr_eventtype}" == "Test" ]; then
(echo "${NOW} - [Emby Library Scan] Sonarr Event Type is ${sonarr_eventtype}, exiting."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
exit
fi
(echo "${NOW} - [Emby Library Scan] Sonarr Event Type is ${sonarr_eventtype}, updating Emby Library for ${sonarr_series_title} - ${sonarr_episodefile_episodetitles}."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
if [ "$sonarr_eventtype" == "Download" ]; then
echo "${sonarr_series_title} - ${sonarr_episodefile_episodetitles}" >> ${DL_FILE}
UpdateType="Created"
Path="${sonarr_episodefile_path}"
fi
if [ "$sonarr_eventtype" == "EpisodeFileDelete" ]; then
echo "${sonarr_series_title} - ${sonarr_episodefile_episodetitles}" >> ${DEL_FILE}
UpdateType="Deleted"
Path="${sonarr_episodefile_path}"
fi
if [ "$sonarr_eventtype" == "SeriesDelete" ]; then
echo "${sonarr_series_title}" >> ${DEL_FILE}
UpdateType="Deleted"
Path="${sonarr_series_path}"
fi
if [ "$sonarr_eventtype" == "Rename" ]; then
echo "${sonarr_series_title}" >> ${REN_FILE}
UpdateType="Modified"
Path="${sonarr_series_path}"
fi
curl -X POST "${EMBY_URL}/emby/Library/Media/Updated?api_key=${EMBY_SONARR_APIKEY}" -H "accept: */*" -H "Content-Type: application/json" -d "{\"Updates\":[{\"Path\":\"${Path}\",\"UpdateType\":\"${UpdateType}\"}]}"
else
(echo "${NOW} - [Emby Library Scan] Sonarr Event Type is empty."; cat ${LOG_FILE}) > ${TMP_FILE}; mv ${TMP_FILE} ${LOG_FILE}
fi
# write a status file with date of last run. Helps troubleshoot that cron task is running.
echo "$(basename $0) last run was at $(date)" > /logging/sonarr/_$(basename $0)_lastrun.txt
These scripts also maintain lists of the content names, so they can be used in reporting or notification. You can, of course, strip these.
I run these scripts in the Connect section in Radarr/Sonarr.
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📺🎥📽️
👨🏽💻Choosing your Python editing weapon
Well a few days passed since I got a micro:bit… Started out with MakeCode to play around with it, but the goal was python. For this I switched to mu-editor at first. A great editor… I like the check en tidy function. But I missed the simulator I had in MakeCode. Of course you can (and must) run your code on the physical micro:bit but a simulator is great for testing and trying little pieces of code. But I accepted the fact that mu-editor and python coding didn’t had a simulator.
Then I picked up a “old” tool from the shed on my Macbook, Visual Studio code. I started to use it again to edit shell scripts because brackets announced to stop service this coming summer. Why not pop in python script in there. This editor offered me to install python extensions. And I started exploring the nets of inter what was possible with VScode.
And I came across Device Simulator Express, an extension for VScode. Just the tool I needed to have my micro:bit simulated in VScode. Just open the extensions tab in VScode and look for “Device Simulator Express” and install the beast.
There is one pitfall in installing this extension. After installing the extension en pressing shift-command-p to open de command-pane : enter “device simulator express : New file”. This will install some more dependencies and you might run in the problem that you get a message “Device Simulator Express: Install Extension Dependencies”. Telling you the install failed.
When pressing shift-command-p and giving the command “Device Simulator Express: Install Extension Dependencies” as instructed, you will find that they will never get installed and you end up with a reoccurring error all the time. This seems to have something to do with python 3.9. You can fix this doing the following:
On Python 3.9:
Edit the file “users<user>.vscodeextensionsms-python.devicesimulatorexpress-2020.0.36321outrequirements.txt” and changed the line
Pillow==7.0.0
to
Pillow==8.1.0
Restart VScode and press shift-command-p and give the command “Device Simulator Express: Install Extension Dependencies” again. Now the dependencies get installed nicely.
What I extra installed was a linter. Shift-command-x : this opens the extensions. Enter “flake8” in the search field. Sometimes you need to restart VS-code to force install-popup for flake8. Now you have error-highting in the editor as you go.
And what I also installed was code formatter for python. Shift-command-x : this opens the extensions. Enter “autopep8” in the search field. Press shift-option-f: to start the formatter when your cursor is on a line that needs formatting. This little baby formats your code. Cut the extra white-space. Correct the indenting. All kind of stuff.
I stopped using Windows at home for more than 11 years and left everything from Microsoft alone, switching to Apple and got the complete fruitbasket with all it’s products. But VScode has surprised me and it’s gonna stay for python editing……
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📝🖋️
👨🏽💻Starbit Commander II
Well, on my quest to learn python, I poked and peeked around at the web of inters. And came across some nice sites about the micro:bits, projects and coding.
One site inspired me to create a python version of Starbit Commander. This site is home to many projects of Derek Graham. Next to Micro:bit bits, he has many other things too on his site.
But why remake of Starbit Commander? Derek has this pleasant example of “Tiny Astroids”, which resembled a lot like Starbit Commander. And he created it in Python… so. Mine Starbit Commander should get a python version too… In this little gem from Derek, he created a really, really pleasant piece of code that animated an explosion on this 5×5 LED display. I loved it. And although I wanted to create Starbit from scratch in OO, I really wanted to adopt this pleasant little tiny explosion. So, I contacted Derek via Twitter, asked if he agreed to me use his explosion-code. We had a short but very nice chat on Twitter, and he agreed for the code to be reuse in Starbit Commander. Thanks, Derek!
Well, I wanted to test and learn more python and also OO in python. So, I decided to try to make Starbit Commander in an OO-style. I have no experience in this, but I think (as far as I can tell) this is an OO-version of the game now. Derek mentioned on micro:bit V1’s coding OO would let you ran into out of memory errors. I haven’t seen them on the microbit V2 with Starbit Commander. (Now I’m worried if I did a proper OO-coding style ;-0)
I differed a bit from the original Starbit code. While de MakeCode version has power-ups to collect, in this python-version I decided to skip that and make the astroid field a bit more challenging by starting slow and easy and ending fast and astroid-crowded. Giving you more and more bonus score along the way you go.
This code can be found here. And watch that explosion… Thanks again, Derek Graham!
👨🏽💻Micro:bit Fireflies
My first attempt to write some (micro)Python code. Fireflies. This leds simulate fireflies in the air…
By the way, I found that display.get_pixel does not return the correct value for the brightness of a LED on a micro:bit. I created this function to correct this behavior in the code (fixPixelBug).
from microbit import *
import random
# This fucntions fixes the "display.get_pixel" bug.
# a full bright led does not return a "9" but a "255".
def fixPixelBug(brightness):
if brightness == 4:
return 3
elif brightness == 8:
return 4
elif brightness == 16:
return 5
elif brightness == 32:
return 6
elif brightness == 64:
return 7
elif brightness == 128:
return 8
elif brightness == 255:
return 9
else:
return brightness
while True:
sleep(50)
brightness = random.randint(1, 9)
x = random.randint(0, 4)
y = random.randint(0, 4)
if display.get_pixel(x, y) == 0:
display.set_pixel(x, y, brightness)
for fireflies in range(0, 5):
x = random.randint(0, 4)
y = random.randint(0, 4)
if fixPixelBug(display.get_pixel(x, y)) > 0:
display.set_pixel(x, y, fixPixelBug(display.get_pixel(x, y)) - 1)
Code here 📝✏️
📟How do you find the RSS Feed of a website (if it exists)
Summary
This article describes various methods to find RSS feeds on websites. For WordPress, you append /feed to the URL to find the RSS feed, while for Tumblr and Medium, /rss and /feed/ are added respectively. For a Blogger site, the string at the end of the URL is longer, feeds/posts/default. YouTube channel pages also act as RSS feeds. Additionally, you can extract the RSS feed from the page source by searching for ‘Application/rss’ or ‘Atom’ in the source code. Safari users can use an app that adds a ready-to-use RSS button to their browser. Lastly, ‘educated guessing’ is a technique where you add /feed/ or /rss/ to the domain in the hope that one of them leads you to the correct feed.
Comments
Method 2 is the most practical in practice.
Content
Method 1 – Investigating the CMS Used
- To access a WordPress RSS feed, simply append /feed to the site’s URL. So, if the WordPress site’s URL is, for example, example.com, to find the RSS feed, you would add /feed to obtain example.com/feed. When used in an RSS reader, this URL would allow you to view the site’s content in feed form.
- In the case of sites hosted on Tumblr, the method is slightly different but still very straightforward. You need to add /rss to the end of the Tumblr site’s URL. So, if the Tumblr address is example.tumblr.com, the RSS feed can be found at example.tumblr.com/rss.
- For blogs hosted on Blogger, you need to add a slightly longer string to the end of the URL: feeds/posts/default. So, for a Blogger site at the address example.blogspot.com, the RSS feed can be found at example.blogspot.com/feeds/posts/default.
- If you want to find an RSS feed for a publication hosted on Medium, you have to add /feed/ before the publication’s name in the URL. If the publication’s address on Medium is medium.com/example-site, the URL for the RSS feed would change to medium.com/feed/example-site to view it in your RSS reader.
- YouTube channel pages also have a built-in functionality to act as RSS feeds. As such, you simply need to copy the channel’s URL and paste it into your RSS reader. Additionally, if you are already subscribed to various channels on YouTube, you can find an OPML file with all your subscriptions here, which you can then import into your RSS reader for easy access to all subscribed channels.
Method 2 – Extract RSS Feed from Page Source
To find the RSS or Atom feeds of a specific website, start by opening the website in your browser. Then, right-click anywhere on the page—it doesn’t matter where, as long as it’s not a link or image.
In the context menu that appears, choose the option “View Page Source” or something similar; the exact text may vary depending on the browser you are using. This will show you the page source, which is the underlying HTML and CSS skeleton that determines how the page looks and functions.
Once in the page source, use your browser’s search function (often accessible via Ctrl + F or Command + F on a Mac) to search for the term “Application/rss”. This is the most common way websites indicate their RSS feeds.
If you don’t get any results searching for “Application/rss,” try searching for “Atom”. Atom is an alternative feed standard that some sites may use instead of or in addition to RSS.
If you find any of these terms in the page source, follow the corresponding URL to access the feed.
Method 3 – Browser Extensions
If you use Safari, there is a user-friendly solution you can apply to receive RSS feeds, which is the RSS Button for the Safari app. This feature is designed with simplicity and ease of use in mind. It adds an RSS button to your Safari browser, allowing you quick and easy access to RSS feeds of websites you visit. The only caution is that this convenient button requires a small fee of $0.99. While this is a minimal cost, some users may object to paying for such functionality.
Method 4 – The Principle of Educated Guessing
This is an interesting method, particularly intended for cases where you want to find the RSS feed for a particular website, but it is not clearly indicated on the site itself. In such circumstances, “Educated Guessing” is helpful.
As an illustrative example, let’s take example.com/. Suppose you would like to find the RSS feed for this website, but you cannot find it in the usual sections of the website (such as the footer or sidebar). In such a situation, you can resort to educated guessing. This means trying out some obvious URL paths in the hope that one of them leads you to the correct feed.
Start by appending ‘/feed/’ after the domain. So, in our example, you would try navigating to example.com/feed/. If this doesn’t work, you can try another popular URL structure, such as ‘/rss/’. This means navigating to example.com/rss/.
This is, of course, not an exact science, and there is no guarantee that any of these guesses will lead you to the desired RSS feed. However, in practice, you will find that many websites follow these general URL structures for their feeds, making this a valuable technique to try. It is undoubtedly a quick and simple method to attempt to find the RSS feed if you are unable to locate it directly on the website.
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📝✏️
📝How I brought order in the chaos
Summary
I have been exploring different methods to enhance my productivity and note-taking system. Additionally, I am striving to establish organization within my personal archives stored on my Synology device. During my research, I came across the following methodologies: Johnny Decimal, Zettelkasten, PARA and the Build A Second Brain approach.
My objective is to integrate these four methods in a way that enables me to:
-
Effectively store, retrieve, and manage my notes in an orderly manner.
-
Establish a systematic approach for storing and retrieving personal documents on my Synology device.
-
Implement a coherent structure across all the applications I utilize and require.
By combining these methodologies, I aim to streamline my note-taking and document management processes while maintaining a consistent organizational framework across various applications.
Contents
PARA (Projects, Areas, Resources, Archive)
Tiago Forte is a prominent productivity expert known for developing the PARA framework, which stands for Projects, Areas, Resources, and Archives. The PARA method is designed to help individuals organize and optimize their digital information and tasks. It involves categorizing information based on project-specific tasks, broader areas of responsibility, essential resources, and archival items. The PARA methodology aims to improve focus, efficiency, and clarity in managing personal and professional workflows.
On his website mentioned above, you find all the info you need, there is an ebook too on the matter.
As I am a Dutch guy, I took the Dutch translation for the PARA acronym
- Projecten
- Aandachtsgebieden
- Redmiddelen
- Archief
Within the folder “Projects” and “Areas” I created the 10 most common Areas of Attention.
- Health and well-being: This includes physical health, mental health, fitness, nutrition, and self-care practices.
- Family and relationships: This area includes family members, friends, romantic relationships, and social interactions that are important to you.
- Career and work: This encompasses your profession, career development, work goals, and professional achievements.
- Finances: Managing your finances, including budgeting, saving, investing, and debt repayment.
- Personal growth and development: This includes pursuing new skills, knowledge, and personal growth, as well as setting goals for self-improvement.
- Leisure and hobbies: Activities that provide you with pleasure and relaxation, such as hobbies, sports, arts, and other recreational pursuits.
- Living environment: Organizing and caring for your home, living space, and personal belongings.
- Community involvement: Volunteer work, charity work, or other activities that contribute to your community or society as a whole.
- Personal values and spirituality: Exploring and cultivating your personal values, beliefs, and spiritual growth.
- Time management and productivity: Developing effective time management and productivity habits to achieve your goals.
I try to fit my Projects and my Interests in those 10 areas.
For “Resources” I have not some a strict list of areas. This more fluid. These are an area that build over time.
For “Archive”, this is your “freezer” of information. Here is information that you don’t need anymore, but can be de-frosted when needed.
Johnny Decimal (JD)
Johnny.Decimal is a personal productivity system created by John Poelstra. It is based on the idea of organizing and categorizing information using a numeric hierarchy. Each level in the hierarchy represents a different category, and items are assigned unique numbers based on their location within the hierarchy. The system is designed to help individuals manage their digital and physical information effectively and improve their productivity.
On his website (mentioned above) you will find a detailed description of how JD works and can be implemented in your folder structure across your apps.
Fusing PARA and JD
If we fusing these two together (JD and PARA) I came up with something like this:
It’s all in Dutch but you get the picture.
I made 4 “root” folder
- 10_Projects
- 20_Areas
- 30_Resouces
- 40_Archives
The 20_Areas (or in Dutch 20_Aandachtsgebieden) is wat you see in the image as an example. From 20.00-09 till 20.90-99 you have your 10 MAIN Areas.
As I open here the Area “20.50-59 Leisure and hobbies” (or in Dutch 20.50-59 Vrije tijd en hobby’s) you can see I summed up all my hobbies in the subfolders.
- 20.51 Fotografie
- 20.52 Programming
- 20.53 Koken
- 20.54 Schrijven
- 20.55 Piano
- 20.56 Computers
- 20.57 Apple
- 20.58 Vertier
And within “20.51 Photography” I have al the individual items I care about in Photography (for now).
- 20.51.01 Phonographer
- 20.51.02 Albelli
- 20.51.03 Info
Can I see how the Johnny.Decimal Numbers all nicely lock in place. The advance is that if you share the folder structure with someone or you want to refer to a item in the structure you can simple say:
“Hey, look in 20.51.02 Albelli”
And that person (or yourself from a note), will know the PATH to that location without having to tell them:
“Goto /Users/marco/Resilio/20_aandachtsgebieden/20.50-59 Vrije tijd en hobby’s/20.51 Fotografie/20.51.02 Albelli”
They exactly where to find this folder and it’s content. It’s all locked in side those numbers. Easi-Peasi! And you can do this in apps too. Say for instance in Things3 or like in the image blow in an app called Noteplan3 where I keep all my text-notes for stuff I find interesting.
🛜Blocking (or Allowing) whole Countries or a Provider or a Network with your Ubiquiti Edgerouter
I recently picked up a nice second hand Ubiquiti Edgerouter X from Marktplaats, which is the Dutch Craigslist. I wanted to play with a firewall in my network. This quickly became a complete rebuild of the network with multiple Vlans in my house. Which was enjoyable because exploring and learning is always a good thing.
This learning also counts for the firewall in the Edgerouter (which runs EdgeOS). I had some experience with firewalls in a very far past with a product called Checkpoint Firewall-1. I am unsure if it still exists. The company Checkpoint still does, though.
Playing around with the firewall wasn’t very hard. Of course, you need to learn the interface and the possibilities of the Firewall. I checked three videos on YouTube to get a head start. This video jumpstarted the head start for me.
As I progressed and got all the firewall rules in place as I wanted them, I really wanted to block off certain countries to be able to reach my webserver, which is behind a nginx reverse-proxy. The Ubiquiti doesn’t have preloaded sets of country networks. And I would rather not add all the networks used by a country manually. This is a daunting task. If I check for my country for example, there are 5999 networks (date:2024-01-18). This is impossible. So this must be done smarter.
Adding a complete country to a network-group in EdgeOS
For this solution, we lean heavily on te website http://www.ipdeny.com/ with the following script I wrote.
I saved this script on the Edgerouter in my $HOME directory with the following name: create_networkgroup_countrycode.sh
#!/bin/sh
# Name: create_networkgroup_asn.sh
# Coder: Marco Janssen (mastodon [@marc0janssen@mastodon.online](https://micro.blog/marc0janssen@mastodon.online))
# date: 2024-01-17 21:30:00
# update: 2024-01-31 21:39:00
if [ $# -eq 0 ]; then
echo "No parameters provided. Provide a countrycode. Example nl or de"
else
countrycode="$1"
NOW=$(date +"%Y%m%d")
echo "*** Downloading networkaddress blocks for countrycode $countrycode"
curl "http://www.ipdeny.com/ipblocks/data/countries/$countrycode.zone" -o "./$countrycode.zone" -s
echo "*** Writing networkgroup script"
echo "delete firewall group network-group $countrycode.zone" > "./networkgroup-$countrycode.$NOW.sh"
echo "set firewall group network-group $countrycode.zone description \"All networks $countrycode\" on $NOW" >> "./networkgroup-$countrycode.$NOW.sh"
sed -e "s/^/set firewall group network-group $countrycode.zone network /" "./$countrycode.zone" >> "./networkgroup-$countrycode.$NOW.sh"
cp "./networkgroup-$countrycode.$NOW.sh" nwgs.sh
echo "*** Archiving zone-list"
mv "$countrycode.zone" "$countrycode.zone.$NOW"
echo
echo "Now execute the following commands on the prompt of your Edgerouter"
echo
echo "configure"
echo ". ./nwgs.sh"
echo "commit"
echo "save"
echo "exit"
fi
What will this script do?
- It will check if you give it a parameter with a single country code. For example, nl or dk or de.
- Then it will try to download the network address blocks for the country-code and save it in a file. For The Netherlands (if you give it country-code nl) it will create a file called “nl.zone”.
- Then it will try to write a script for you which creates a network group in the Edgerouter. The file will be called “networkgroup-nl.<date>.sh (if you give it country-code nl).
- The script which is generated in step 3 will be copied to a shorter name “nwgs.sh” for your convenience. You can archive the longer one in step 3 and use the shorter one in this step.
- The zone list used in step 3 will also be archiving for you in a format “nl.zone.<date>” (if you give it country-code nl).
- Finally, you get further instructions to use the script and create the network-group.
Running the script
-
Get this script on your Edgerouter (ssh, scp, sftp) and place it in a directory of your likings. I place it in my $HOME on the router.
-
Name the script “create_networkgroup_countrycode.sh”
-
Make sure the script is executable:
chmod +x ./create_networkgroup_countrycode.sh
-
Run the script (in this example for The Netherlands, i.e., nl):
./create_networkgroup_countrycode.sh nl
-
Execute the following commands after the script has run.
configure . ./nwgs.sh commit save exit
A note of warning
For The Netherlands alone it will add 5999 networks to your Edgerouter. (Date: 2024-01-18). To run the generated network group script with the above command . ./nwgs.sh
will take you some 18 minutes on the router. The following step commit
will take you another 9 minutes on the router. If you now open your Edgerouter GUI, you will see the steps created a network-group called “nl.zone” of 5999 items. To open this group in the GUI takes a long(er) time. A reboot of the router takes 25 minutes with 5999 networks, don’t think your router is bricked…. It just needs loads of time to boot with this kind of lists.
What is next?
Now you have your network-group called “nl.zone” (for this example) in the Edgerouter. You can use it like any other resource in a firewall rule. You can now allow this network-group through your firewall and block all others that are not in this group (so allow only this country to your webserver or whatever). Or you can block this network-group from your webserver and allow all other countries. It’s up to you.
Adding a complete provider to a network-group in EdgeOS
Maybe for you, it is not necessary to allow or block complete countries. I started using the following method, to only allow certain providers in my country to reach my webserver. Why? First, I only share this content with family members so not all networks are needed to achieve this. Second I did not like the long boot times of the Edgerouter with a complete country list. It was not necessary for me to allow a complete country to my server, I just wanted my family members. Why didn’t you just allow their home IP address of their ISP, you would say? Well, they are dynamic, and I would rather not revise the rules often. So I allow their complete provider.
For this solution, I used to following URL’s, but maybe you have beter ones on the internet.
https://www.nirsoft.net/countryip/nl_owner.html
- Nirsoft gives a nice overview of all the providers with the IP-addressblocks.
- ASNTOOL helps to get all the networks in an Autonomous System.
- TEXTCLEAR helps to clean up the list you get from ASNTOOL.
- NETWORKSDB is an example of a website to find your ASN.
ASN stands for Autonomous System Number in networks. It is a unique identifier that is globally available and allows an autonomous system (AS) to exchange routing information with other ASes. An AS is a large network or group of networks that operates under a single routing policy. Each AS is assigned a unique ASN, which is a number used to differentiate and identify the AS in the global routing system. ASNs are essential for network operators to control routing within their networks and facilitate the exchange of routing information.
Save the following script in the $HOME of your Edgerouter (or any directory of your likings). And give it the name “create_networkgroup_asn.sh”.
#!/bin/bash
# Name: create_networkgroup_asn.sh
# Coder: Marco Janssen (mastodon [@marc0janssen@mastodon.online](https://micro.blog/marc0janssen@mastodon.online))
# date: 2024-01-17 21:30:00
# update: 2024-01-31 20:50:00
print_usage() {
echo "No parameters provided. Provide an ASN with IP blocks. Example: AS1136."
}
create_networkgroup_script() {
local asn
local temp_filename
local output_filename
local archive_filename
local networkgroup_script_filename
asn="$1"
temp_filename=".temp.txt"
output_filename="$asn.txt"
archive_filename="$asn.$NOW.txt"
networkgroup_script_filename="networkgroup-$asn.$NOW.sh"
echo "*** Writing new $asn output"
whois -h whois.radb.net -- "-i origin $asn" | grep -Eo "([0-9.]+){4}/[0-9]+" | uniq -s 0 > "$temp_filename"
echo "*** Getting owner of $asn"
local owner
owner=$(whois -h whois.radb.net -- "-i origin $asn" | grep "^descr:" | awk '{print $2}' | sort | uniq -c | sort -nr | head -1 | awk '{ print $NF }')
echo "--- Owner of $asn: $owner"
echo "*** Checking for changes in $asn"
if [[ -f "$output_filename" && $(diff "$output_filename" "$temp_filename") == "" ]]; then
echo "--- No Changes in $asn"
echo "*** Cleaning temporary output"
rm "$temp_filename"
else
echo "*** Writing networkgroup script for $asn"
cat <<EOF >"$networkgroup_script_filename"
delete firewall group network-group $asn
set firewall group network-group $asn description "All networks $asn by $owner on $NOW"
$(sed -e "s/^/set firewall group network-group $asn network /" "$temp_filename")
EOF
cp "$networkgroup_script_filename" nwgs.sh
echo "*** Archiving $asn output"
cp "$temp_filename" "$archive_filename"
mv "$temp_filename" "$output_filename"
echo
echo "Now execute the following commands on the prompt of your Edgerouter"
echo
echo "configure"
echo ". ./nwgs.sh"
echo "commit"
echo "save"
echo "exit"
fi
}
main() {
if [[ $# -eq 0 ]]; then
print_usage
else
NOW=$(date +"%Y%m%d")
ASN="$1"
readonly NOW
readonly ASN
create_networkgroup_script "$ASN"
fi
}
main "$@"
What will this script do?
- It will check if you give it a parameter with the name your ASN. For example, AS1136.
- Write a textfile with all the networks in the AS
- Try to get the owner of an AS
- Then it will try to write a script for you which creates a network group in the Edgerouter. The file will be called “networkgroup-AS1136.<date>.sh (if you give it ASN AS1136).
- The script which is generated in step 4 will be copying to a shorter name “nwgs.sh” for your convenience. You can archive the longer one in step 4 and use the shorter one in this step.
- Finally, you get further instructions to use the script and create the net-workgroup.
Running the script
-
Find the ASN you like to use for your network group. This can be done, for example, with the following site to find your ASN: https://networksdb.io/
Another way to get and ASN for your desired provider is to look up their IPblocks. I do this with a site from Nirsoft, https://www.nirsoft.net/countryip/nl.html. Here with the IPblocks for The Netherlands. If you want to have the ASN for a provider called “Alma International B.V.” for example, you just take the first available IP-address in their block “2.16.0.1”.
-
Get the above script on your Edgerouter (ssh, scp, sftp) and place it in a directory of your likings. I place it in my $HOME on the router.
-
Name the script “create_networkgroup_asn.sh”
-
Make sure the script is executable:
chmod +x ./create_networkgroup_asn.sh
-
Run the script (in this example for Alma International B.V., i.e., AS20940):
./create_networkgroup_asn.sh AS20940
-
Execute the following commands after the script has run.
configure . ./nwgs.sh commit save exit
A note
These network-groups are considerably smaller, I don’t really notice any extra boottime of the router.
What is next?
Now you have your network-group called “AS20940” (for this example) in the Edgerouter. You can use like it like any other resource in a firewall rule. You can now allow this network-group through your firewall and block all others that are not in this group (so allow only this provider to your webserver or whatever). Or you can block this network-group from your webserver and allow all other providers. It’s up to you.
If this blog was any help to you, give away a free Lucky Four-Leaf Clover
📝
✏️ Uittredingsdatum
Met pijn in haar vingertoppen hangt Emma aan de gevel van de lokale kerk in haar dorp. Uiteraard in het donker, ze mag niet gezien worden door de lokale wetsdienaar. Ze heeft dit al vaak gedaan. Niet alleen hier hangend aan de kerk, maar ook aan andere hoge en gevaarlijke objecten. Het beoefenen van parkour zit al 12 jaar in haar bloed vanaf haar 15de. Het jaar dat ze leerde over haar uittredingsdatum op haar geboorteakte. Zoals bij alle kinderen op die leeftijd wordt die datum dan ceremonieel in de kerk bekend gemaakt. Het maakt het kind direct bewust van de keuzes die gemaakt moeten worden en het pad dat gevolgd moet worden in het tijdsbestek op aarde.
Niemand weet hoe laat het zal gebeuren en op welke wijze op die bewuste datum. Dat is in de handen van God, maar de datum staat vast. Iets om naar toe te leven en te werken. De kinderen die leren dat ze maar een beperkte tijd op aarde hebben, moeten vaak intensief begeleid worden. In sommige gevallen tot mentale problemen aan toe. Vanaf het moment dat Emma wist wat haar uittredingsdatum was, voelde het voor haar als een bevrijding. Ze kon haar tijd gaan indelen, plannen maken, haar leven uitstippelen. Welke dingen deed ze niet en welke dingen deed ze juist wel? Het besef kwam al snel dat haar keuzes en handelen niet tot haar dood zouden leiden, althans niet tot een dag voor die bewuste datum. Fatalistisch is ze nooit geworden hierdoor, maar het maakte wel dat ze koos de meer extreme sporten en hobbies uit te oefenen. Met bijbehorende ziekenhuisopnames uiteraard. Maar doodsangsten hebben haar ouders nooit gehad.
Vrienden maken was soms lastig. Vooral als ze haar datum met een potentiële levenspartner uitwisselde en waarvan bleek dat zijn datum erg verschilde met die van haar. Dat maakte het vaak tot een korte amoureuze relatie, maar nooit tot die bestendige relatie die ze zocht. Dit heeft haar wel getekend door de jaren heen. Het maakte dat ze zich alleen voelde. Natuurlijk was er de warme band met haar ouders en vriendinnen, maar dat was toch anders. Die vriendschapsbanden met vriendinnen waren vaak wel diepe en innige verstandhoudingen, gezien de tijd die er dan bleek te zijn als de data werden uitgewisseld.
Emma haar datum is morgen, morgen zal er een einde komen naar haar tijd. Daarom hangt ze nu voor de laatste keer aan de gevel, de gevel van de kerk die ze al zo vaak beklommen had. Deze dag, voor middernacht, kan ze dat nog ongestraft doen. Wanneer ze met een mooie salto afspringt van de richel aan kerkmuur, denkt ze aan morgen. Ze heeft met een aantal vriendinnen afgesproken. Ze wil er geen heisa van maken. Het moet een mooie dag worden. Wat ze morgen gaat doen met die vriendinnen weet ze eigenlijk nog niet zo goed. Moet ze haar hart volgen en gaan bungee-jumpen of parachutespringen? Of wordt het een gezellige, maar misschien fatale high tea? 📚📝
✏️ Zeevisser
Met de zilte zeewind door onze haren staken we de zeedijk bij Borssele over. Lopend uiteraard want tante had de auto geparkeerd onderaan de dijk. De zon was zo fel en zo heet dat het asfalt gesmolten was en de zolen van onze schoenen bleven plakken aan de zwarte ondergrond. We gingen het strand op, daar wilde je zijn als kind. Rennen op het strand en het liefst ook beestjes vangen. Want als kleine jongen uit de Betuwe hadden we die mooie kwalletjes en krabbetjes niet in de boomgaarden.
Het strand van Borssele voorzag in een voor ons grote en handige attractie in dat opzicht. Een soort wildwaterbaan over het strand waar je alleen maar je schepnetje in hoefde te houden om de mooiste creaties uit de zee te vangen. Dat ze wat suf waren door de klappen van de koelwaterpompen van de kerncentrale dat deerde niet als jonge zeevisser. We stonden tussen de grote zeemeeuwen aan de rand van de stroom die ook hun slag sloegen. Best indrukwekkend wanneer die zeemeeuwen duidelijk maakten dat ze ook een plaats hadden langs deze fastfood van zeedelicatessen.
’s Avonds zaten de gevangen krabbetjes allemaal in miniatuur zeeaquaria op het balkon van het appartement van mijn tante. Ieder in zijn eigen Tupperwarebakje, want daar grossierde mijn tante dan weer in. Velen van hen, als niet allemaal, hebben hun laatste rustplaats in de tuin van het appartementencomplex gevonden.
Jaren later vertelde mijn tante dat je het strand niet meer zou herkennen. De kerncentrale stond er uiteraard nog maar het strand zou opgeslokt zijn. Niet door de zee, maar door de groter wordende energievraag. Ik weet het niet, ik ben er nooit meer wezen kijken. Zou ook niet meer weten waar we parkeerden. Dat zie je natuurlijk ook niet zo goed vanaf de achterbank tussen de schepnetten en de plastic bakjes. ✏️🗺️🌱
✏️Duik horloge
De slagen van de klok in de kerktoren gaven aan dat ik opnieuw te laat voor het avondeten zou zijn. Klokkijken was nog geen van mijn basisbekwaamheden in die tijd. Ik had van mijn ouders wel een mooi duikhorloge gekregen. Daar zat zo’n handige ring op die moeders op vijf uur draaide, zodat ik kon zien wanneer ik moest gaan rennen. Maar ja, als je aan het voetballen bent in de tuin achter het gemeentehuis en je bent aan het winnen, dan helpt zo’n duikhorloge ook niet om vijf uur.
Ik rende onder de kerktoren door, langs de gracht, zo door de poort naar huis. Ik wist dat moeders niet met open armen klaar zou staan. Dit was al de zoveelste keer namelijk. En op tijd thuis voor het eten was een norm die gehaald moest worden bij ons thuis. Mijn vader was diabeet en in die dagen was discipline en aardappelen wegen het enige voor hem waarmee hij controle hield. En die discipline werd ook van mij verwacht, van een jonge voetballer met duikhorloge.
Het eten smaakte goed, al was moeders wel op oorlogspad met me. Er werd niet veel gezegd aan tafel. Ik wist ook al welke penalty ik tegen zou gaan krijgen. In de tijd tussen het bidden na het eten en de enkele reis slaapkamer, kreeg ik nog even een opfrisser van het duikhorloge. Geslagen werd er nooit, maar een eenzame opsluiting was er geregeld voor me.
Want voetballen doe je namelijk met genopte schoenen en niet met een deel van een duikuitrusting. Vader werd nooit kwaad, hij was ook een voetballer. Hij snapte me wel. Hij zou me waarschijnlijk ook eerder een wedstrijdklok gegeven hebben dan een duikhorloge.
Het slaapkamerraam gaf een prima uitzicht op de buurt en ik droomde alweer het volgende duel in de tuin achter het gemeentehuis. ✏️⚽︎📖
✏️ Papa’s Goede Werk
Hij kon alles horen, maar durfde zijn ogen niet te openen. Liggende in de kast onder de trap hoort hij de soldaten schreeuwen. Zijn moeder heeft de grootste moeite om ze buiten te houden. Plots hoort hij haar gillen.
‘Als papa eens hier zou zijn,’ fluistert de kleine Aleksandr in zichzelf. Hij balt zijn kleine knuistjes. Mama heeft hem duidelijk verteld dat hij, hoe dan ook, onder de trap moest blijven. Papa doet goed werk voor Oekraïne, was hem verteld. Wat papa precies deed, wist de kleine man niet. Maar het zou niet lang meer duren of papa zou thuiskomen.
Hij had tegen zijn moeder gezegd dat als hij later groot zou zijn, hij ook dat goede werk van papa wilde doen. Voor Oekraïne, net als papa. Maar Aleksandr hoopte wel dat dan de oorlog voorbij zou zijn.
Plots gaat de deur van de kast met een ferme zwaai open. Mama staat in de deuropening. ‘Alles is weer rustig, Aleksandr,’ zegt ze en probeert het trillen van haar stem te verbergen. Haar haren zien er verwilderd uit, haar kleren lijken in de plooi getrokken. Door de zwarte vegen op haar wangen ziet de kleine man sporen van tranen lopen, maar mama tovert een lach op haar gezicht.
Aleksandr zijn knuistjes ontspannen, ‘Als papa eens hier zou zijn,’ denkt hij. 📝🎨
✏️ Altijd een beproeving
Afgepeigerd na het sporten dekt Frits in de keuken. Na het verlies van zijn eerste 93 kilo nog altijd een terging. Zijn vrouw vergt het uiterste van hem. 🏃♂️🏃♀️🏃