Think Forward.

Travel diary #5: Indonesia 8431

The flight from Brisbane to Denpasar, Indonesia, was a piece of cake compared to the previous leg of our journey. We did not complain. We spent just one night in the Kuta region on the island of Bali before taking a ferry to the small island of Nusa Penida, where we planned to stay for a week. Our research didn’t mislead us, it is indeed a lovely little island, though slightly more expensive than Bali. While walking along a road, we passed a tiny shop advertising tourist activities like snorkelling, sightseeing tours, and scooter rentals. This led to a delightful encounter with a local entrepreneur offering his services. We booked a family scooter for the next day, a tour of the eastern part of the island, and a boat excursion with snorkelling. The latter turned out to be one of the most memorable moments of the trip: swimming in the ocean near a cliff, amidst meter-high swells, and, to top it all off, witnessing a dozen manta rays dancing before our eyes, a few meters under us. As I mentioned in the previous post, it is the rainy season here. However, none of our activities were spoiled by the weather. It rained occasionally, sometimes light drizzles, other times heavy downpours, but we always found time to explore beaches, cliffs, or take scooter rides. We visited Crystal Bay, which was supposedly one of the must see beaches. In my opinion, it wasn’t worth it. The beach was dirty, and the area behind it was crowded with shops and warungs (small, cheap restaurants/stores), ruining the scenery. If you only focus on the ocean and the rocks though, it’s undeniably beautiful. This wasn’t the only spot where enjoying the view required overlooking trash or tourist oriented constructions (swings, wooden nests, hearts, sculpted benches, etc.) meant for artificial and exaggerated social network photographs. It’s a pity. Fortunately, not all places were affected. One morning, we discussed our plans with the receptionist, who suggested a slightly off-the-beaten-path destination worth a small detour: Tembeling Beach. We visited Broken Beach first, as planned. For the second stop, the final stretch of the journey turned into a dirt road with steep inclines: off-road scootering! We finished on foot, descending stairs for about 15 minutes. What a sight! A hidden beach nestled between cliffs, with rocks forming a freshwater pool at the end of a river. The pool was semi-natural, with visible pipes directing the river water into the pool and some rock reinforcements. This spot was stunning, and we encountered only a handful of other visitors. Then came Christmas Eve, one of our last days on Nusa Penida. For the first time in a long while, we decided to do nothing at all. Every now and then, it feels good. We spent the day planning the next steps of our trip, playing games, watching a movie, swimming in the pool, and enjoying dinner at a cliffside restaurant with a fabulous sunset. We had planned to visit Lombok next, but after talking with locals, always a great source of advice, we changed our plans. They told us that skipping Bali would mean missing out on a significant part of the culture. Lombok, they said, offered mostly the same activities as Nusa Penida (beaches, cliffs, hikes, and diving) just on a larger scale. So, we took the same ferry back to Bali and booked a guesthouse for six days in Ubud. It was a beautiful homestay set back from the main road. The taxi couldn’t take us all the way, so we walked down an alley, along a small rice field on a paved path, until we reached a house composed of several buildings. The rooms were private, and the bathrooms were adorned with intricate moldings. The complimentary breakfasts were so substantial that we barely ate lunch throughout our stay. One day was enough to explore the city’s main attractions on foot: temples, shops, markets, etc. On the following days, we rented scooters to visit the surrounding areas, including rice fields, the Sangeh Monkey Forest, waterfalls, and temples. In the days leading up to New Year’s, the city was bustling with tourists, but traffic eased up afterward, making scooter rides more enjoyable. Riding a family scooter remains one of my favorite activities, regardless of conditions (traffic or rain). The next stop on our journey was another guesthouse, this time in Munduk, near Mount Batukaru. That’s precisely why we went there, we planned a day hike to and from the summit. There were several starting points, and online we found a trail of about 5.5 hours leading to the peak. It didn’t disappoint! It was one of the most challenging hikes of my life, just over 3 km one way with a 1,100 meter elevation gain. The rest of the family stopped a little over halfway, but my pride pushed me to the summit. I left the picnic and water behind, taking only my poncho in case of heavy rain. I eventually caught up with them just before they reached the starting point. The view from the top was quite beautiful but partially obscured. While the photos weren’t exceptional, that wasn’t the point of my climb. It had been a long time since I’d pushed myself to my physical limits, and it felt great! We ended our trip with a few days in southern Tanah Lot. The temple is stunning, but like many tourist attractions, it’s marred by superficial tourist artifacts. We stayed in a hotel that was not more than ten-minute walk from the ocean, in the Canggu area. It was a stark change of scenery, full of gyms and trendy restaurants catering to a certain type of tourism that didn’t suit us. I don’t want to end on a negative note, though. Our stay in Nusa Penida and Bali was an incredibly enriching experience. We met many wonderful locals and had engaging conversations. The landscapes were breathtaking, as long as we ventured beyond the trendy tourist spots and ignored some artifacts. There won’t be another destination for a few months at least, as we are now back home. This marks the end of our family adventure but far from the end of our travels!
Antoine

Antoine

I am the CTO and co-founder of Bluwr. I love designing and writing scalable code and infrastructure.


3500

100

Lazy Developers are the #1 Security issue 372

Open-source used to be the best you could do security wise. Someone, or a small team would start a project about a true unmet need, open-source it on the internet, a community would grow around it. That community would be thousands of people strong, working tirelessly 24/7 to make the project better, while the original team would usually serve as "benevolent dictators". This means that every line of code is in the open and audited by several dedicated programmers before it is officially released. This is an extraordinary efficient model for development and security, that made open-source software the foundation of the internet and much more. This model gave us Apache, GNU/Linux, Git, ffmpeg, pyTorch, MySQL, ... just to name a few. Without it, there is no modern computer science, there is no modern internet, no modern operating systems, no modern AI. Of course, it is not a bullet proof system, bad actors still try to exploit bugs and integrate backdoors into open-source software. However, these are identified by the community and promptly corrected at a pace that proprietary software can never match. Hardened security through radical openness. This system worked because it is maintained by passionate people with very high technical knowledge and abilities. These projects are all coded in low-level programming languages (means harder), not high-level scripting languages. Fast-forward to today, a world dominated by nodesjs and scripting languages in general. Scripting languages like Python and Javascript have allowed many more people to integrate the folds of the "Developers". These languages are orders of magnitude easier to learn, do not require compilation, and due to many technological advancements, are now fast enough to be used in serious applications. However their massive adoption also had the unintended consequence of lowering security standards in open-source and therefore everywhere. Nodesjs is now for many the preferred way of building "full-stack" applications. One single language for both the backend and the frontend is a very enticing premise. However Javascript, was never meant to be a secure language and more importantly the scripting language came with a lazyness culture. Gone are the days where programmers would fight off to show their skills and understanding of the machine, to see would come up with the most efficient, the most elegant and the most secure code. Now there is often expediency and lack of skill disguised as "efficiency". Why reinvent the wheel, when you can just import a free package (under MIT license) made by someone you don't know. That seemingly wise advise has now created a security nightmare of package dependencies that are impossible to audit. There are now millions of open-source nodesjs packages. Most of these packages, are not, or very poorly maintained, they don't have sizeable communities supporting them. For most of them their makers have either moved on, or don't have the technical abilities to assess wether some piece of code could produce an exploit that some bad actors could use. These millions of packages all prime targets for bad actors looking for ways to insert backdoors into software used by millions. If an application requires 600MB of dependencies, it is not secure. That number should make any security aware person shudder. Of course you can sandbox applications, but that is not enough. Write your own code. Use as little dependencies as you can.

The Emerging Political Maturity of Moroccan Youth: A Legacy of GENZ212 393

The waning of the GENZ212 movement does not signal the end of a generation searching for meaning. It should mark the beginning of the political maturity of a youth until now seen as sidelined or completely uninterested. Between legitimate frustrations, institutional responses, and obvious possibilities of manipulation of which it may be unaware, Moroccan youth is entering a decisive turning point: moving from protest to construction. Recent decisions by the Council of Ministers to include youth more substantially in political life explain well a fading movement and a generation now questioning itself. The ball is clearly in their court now. They know Morocco will not be made without them and is being made for them. Born in the digital sphere, GENZ212 ignited social networks and mobilized a youth eager for change. Its energy, initially spontaneous, naive, and sincere, now clashes with reality: lack of a clear, common vision, unclear leadership, and attempts at takeover by opportunistic extremes who saw a golden opportunity and believed it could not be missed. The momentum quickly weakened, as in any protest based on hollow slogans without clear contours or precise content, but the question remains: what remains of this anger? The country responded quickly and seriously. The institutional response manifested rapidly. The calm and firmness of the royal speech at the opening of the current Parliament's last legislative session and the 2026 finance bill a few days later redefined priorities around health, education, and social cohesion. Record highs were set for education and health. By integrating youth expectations into public action, the crisis was defused. Morocco, as always, chose listening and reform over confrontation. The trap of manipulation thus quickly closed around these promoters... In other arenas, some tried to rekindle the flame. The call to boycott the Africa Cup of Nations, for example, illustrates this: presented as a protest gesture, it quickly revealed ambiguities and also some frustration over extremists’ failure. The majority of citizens quickly condemned the boycott promoters, ridiculing them. Many observers concluded it was a political or even geopolitical takeover attempt. The overzealousness of Algerian media in trying to heat up the scene confirms and justifies this suspicion. Some even claim the recent protests are no longer a heartfelt cry but an echo of external agendas. As a result, several young former supporters distanced themselves from the movement. "We wanted change, not to become a tool in invisible hands," say early activists on social media. Recent innovations encouraging youth to take the political step toward institutions, combined with the historic importance of budgets allocated to health and those planned for education, have shifted the mindset of most young people from protest to building. As always, rooted in history, faced with drift, the Moroccan state has always favored stability and dialogue. This pragmatic approach continues a deeply rooted tradition: responding to unrest with concrete policies, not empty speeches or sugary promises. Throughout its modern history, the Kingdom has always known the real power of youth is to build, not boycott. Morocco is not undone by despair; it is built through commitment. GENZ212 served as a revealer, expressing the aspirations of youth wanting to be heard without being manipulated, actors without being instrumentalized, a youth standing up on behalf of their parents and society as a whole. Today, through its calm, it reveals a political consciousness in gestation to which the state wants to contribute by encouraging it to take the step toward representative institutions. Thus, the anger and demands of this generation will no longer be expressed in the streets or covertly, nor quickly taken over by those who confuse freedom of expression with destabilization. This, of course, while awaiting the day their children will come to shake things up and push them out of their comfort zones, in turn. In a fragile and uncertain regional context, national cohesion remains the essential bulwark. Moroccan youth seems to have quickly understood and integrated this. A true passage into maturity. Morocco progresses, sometimes slowly, but surely, combining reform and stability, youth and responsibility. GENZ212 is not a failure but a step. That of a generation that understands real change does not improvise on social media but inscribes itself in the long term, through action, listening, and participation. Resisting today means refusing to be manipulated. It means building one’s country lucidly, not against it. Morocco thus enters a new phase where youth becomes consciousness, no longer a force of rupture but an engine of balance. This is, ultimately, the quiet revolution, a Moroccan evolution throughout its modern history. This is a particularity that only Moroccans can understand: protest, listen, dialogue, respond, combine, project, and envision oneself are the key words. Being Moroccan is a belief. Staying united is a faith. Defending the country is a devotion. It has been this way for millennia.