<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://alsado.ca/feed.xml" rel="self" type="application/atom+xml" /><link href="https://alsado.ca/" rel="alternate" type="text/html" /><updated>2026-05-29T19:15:40+00:00</updated><id>https://alsado.ca/feed.xml</id><title type="html">Majd Alsado</title><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><entry><title type="html">ai does not spark joy in programming</title><link href="https://alsado.ca/posts/ai-does-not-spark-joy-in-programming/" rel="alternate" type="text/html" title="ai does not spark joy in programming" /><published>2026-01-24T00:00:00+00:00</published><updated>2026-01-24T00:00:00+00:00</updated><id>https://alsado.ca/posts/ai-does-not-spark-joy-in-programming</id><content type="html" xml:base="https://alsado.ca/posts/ai-does-not-spark-joy-in-programming/"><![CDATA[<p>I feel the need to express my recent disenchantment with “programming” due to recent advancements in AI coding assistants.</p>

<p>Although AI has given me tools I couldn’t imagine I’d have access to during my lifetime, I feel that a certain joy of the programming craft has been stolen.</p>

<p>Let me clarify what I mean by programming here:</p>

<p>Programming</p>

<blockquote>
  <p>The craft of designing abstractions, leveraging code patterns, and writing effective code towards an engineering outcome</p>
</blockquote>

<p>Contrasting that to the general craft of being a Software Engineer</p>

<blockquote>
  <p>The discipline of designing and applying robust systems to solve complex user problems</p>
</blockquote>

<p>It’s specifically when I split up programming from general software engineering like this, that AI has stripped a certain joy and excitement away from the craft programming.</p>

<p>Some joys I’ve had in my programming journey:</p>

<ul>
  <li>the first time OOP “clicked” for me</li>
  <li>the satisfaction of refactoring a messy piece of code into a neatly organized, well-abstracted piece of code</li>
  <li>the joy of reading about a new paradigm, and having my mind wander about the different ways I could apply it in my own projects.</li>
</ul>

<p>It’s not that AI directly took away these joys, but it’s that they now allow anyone to reach for the solution immediately, making it hard to stay competitive if you don’t embrace them and allow them to quickly implement programming paradigms instead of doing it manually. You no longer need to build a mental model of a paradigm, and deeply understand it, before implementing it.</p>

<p>For me, and potentially for many other software engineers, that process sparked a lot of joy. It’s why I fell in love with the craft in the first place. Now, it feels that embracing that process is no longer viable.</p>

<p>Nowadays, when I’ve decided on how I want a system to work, written out a product spec, and documented edge cases to watch out for, I’m already 70% of the way towards the end.</p>

<p>I can safely pass this spec to an AI agent and have it leverage the best programming principles to build this out for me. I don’t have to brush up on the technical details as much. Especially not when I’m under pressure to ship features and accelerate product development.</p>

<p>Part of this struggle is also just me becoming more proficient and familiar with the craft, that I can safely delegate it to AI. But this also means I’m now automating an entire layer of craftsmanship I once cherished.</p>

<p>That doesn’t mean that all the joys of software engineering or product development are gone. You could still gain satisfaction from architecting a complex system, designing a new workflow, or solving a user’s problem.</p>

<p>But nowadays when I ship code, it no longer feels like a creative expression of my craft. And that deserves a bit of mourning.</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><category term="ai" /><category term="programming" /><summary type="html"><![CDATA[ai does not spark joy in programming]]></summary></entry><entry><title type="html">the latin alphabet privilege</title><link href="https://alsado.ca/posts/anglicize-latin-names/" rel="alternate" type="text/html" title="the latin alphabet privilege" /><published>2025-09-21T00:00:00+00:00</published><updated>2025-09-21T00:00:00+00:00</updated><id>https://alsado.ca/posts/anglicize-latin-names</id><content type="html" xml:base="https://alsado.ca/posts/anglicize-latin-names/"><![CDATA[<p>I was recently reading the book <em>Breaking Through</em> by Hungarian-American Biochemist Katalin Kariko (<em>a great book</em>). As it’s a biography, Katalin naturally includes references to many Hungarian names throughout the book.</p>

<p>These names are all mentioned in their Hungarian spelling, which is often difficult to pronounce.</p>

<p>For example, one town that Katalin lived in is named <code class="language-plaintext highlighter-rouge">Kisújszállás</code>… take a moment to try to pronounce that.</p>

<p>Naturally, I struggled to pronounce it and skipped over it, but as it kept surfacing, I eventually had to look it up: <code class="language-plaintext highlighter-rouge">KEE-shoo-ee-shaah-lahsh</code>.</p>

<p>This got me thinking about something that’s always bothered me in English writing: Why do we preserve the original spelling of latin-based foreign names, but transliterate names from other scripts?</p>

<p>It seemed like a lazy double standard, so today I decided to dive deeper. As it turns out, it might not just be laziness, the culprit seems to be an obscure international aviation standard that has quietly created reading difficulties for millions of people.</p>

<p>Let’s get into it.</p>

<h1 id="the-core-issue">The core issue</h1>

<p>In English, we generally allow Latin-based languages to retain the native spelling of their names.</p>

<p>This feels like a violation of systems thinking and design.</p>

<p>If the whole goal of writing is to communicate an idea clearly, then including foreign non-English names inside English text breaks that.</p>

<p>My thesis:</p>

<p>Just as we transliterate Russian names to their English spelling, we should do the same for all foreign languages, even if they use a Latin script. This ensures <strong>readers have a smooth, intuitive, and inclusive reading experience</strong>.</p>

<h1 id="what-i-mean">What i mean</h1>

<p>You’ve probably noticed this before.</p>

<p>If you see a Bosnian name in an English setting, it will likely be spelled in Bosnian even though the letters would not be pronounced correctly by an English speaker. (In Bosnian, a <code class="language-plaintext highlighter-rouge">J</code> is pronounced closer to <code class="language-plaintext highlighter-rouge">y</code>, a <code class="language-plaintext highlighter-rouge">ć</code> is pronounced closer to <code class="language-plaintext highlighter-rouge">ch</code>, &amp; more)</p>

<p>Most Latin languages have these differences in pronunciation, with some more severe than others.</p>

<ul>
  <li><strong>Hungarian</strong>
    <ul>
      <li>tends to be the most difficult for English speakers, I especially noticed this in Katalin’s biography.</li>
      <li>examples:
        <ul>
          <li><code class="language-plaintext highlighter-rouge">Kisújszállás</code> - a city, pronounced <code class="language-plaintext highlighter-rouge">kee-SHOOY-sahl-lahsh</code></li>
          <li><code class="language-plaintext highlighter-rouge">Zsuzsanna</code> - the Hungarian version of Suzanna, the name of Katalin’s daughter.</li>
        </ul>
      </li>
    </ul>
  </li>
  <li><strong>Irish (Gaelic)</strong>
    <ul>
      <li>If you have Irish friends, you have probably run into this</li>
      <li>examples:
        <ul>
          <li><code class="language-plaintext highlighter-rouge">Siobhán</code> - a common name, pronounced <code class="language-plaintext highlighter-rouge">shiv-AWN</code></li>
          <li><code class="language-plaintext highlighter-rouge">Niamh</code> - another common name, pronounced <code class="language-plaintext highlighter-rouge">Neev</code></li>
        </ul>
      </li>
    </ul>
  </li>
  <li><strong>Slavic languages</strong> (Croatian, Bosnian, Slovenian, Czech, Slovak, Polish)
    <ul>
      <li>examples:
        <ul>
          <li><code class="language-plaintext highlighter-rouge">Wojciech</code> - a common Polish name, pronounced <code class="language-plaintext highlighter-rouge">Voy-chek</code></li>
          <li><code class="language-plaintext highlighter-rouge">Ljubljana</code> - the capital of Slovenia, pronounced <code class="language-plaintext highlighter-rouge">LYOOB-lyah-na</code></li>
        </ul>
      </li>
    </ul>
  </li>
</ul>

<h1 id="why-it-matters">why it matters</h1>

<ol>
  <li><strong>It disturbs reading flow</strong></li>
</ol>

<p>When reading, my internal monologue gets derailed as I try to figure out how to say the name.</p>

<ol>
  <li><strong>It makes names difficult to retain</strong></li>
</ol>

<p>If I can’t pronounce it, I won’t retain it.</p>

<ol>
  <li><strong>it spreads errors</strong></li>
</ol>

<p>When someone learns a name in a mispronounced way, they will spread it in a mispronounced way.</p>

<h1 id="the-bureaucratic-root-cause">the bureaucratic root cause</h1>

<p>At first, I assumed this could be cultural pride. People insisting on keeping their native name spelling, and getting away with it because it resembles English. A sort of way to affirm identity.</p>

<p>It also felt like a weird Eurocentric double standard. <em>(Latin)</em> European names get to retain their spellings, but non-European names have to be anglicized, even if they’re both equally non-English?</p>

<p>While those reasons could be partially true, they might not be the full picture.</p>

<p>The more likely reason for this pattern seems to be <strong>bureaucracy</strong>.</p>

<h2 id="icao-document-9303-part-7">ICAO Document 9303 Part 7</h2>

<p><strong>The International Civil Aviation Organization (ICAO)</strong> is an agency which governs global aviation and standards.</p>

<p>As part of this role, it’s also responsible for releasing standards governing how names appear on passports.</p>

<p>This is where <a href="https://www.icao.int/sites/default/files/publications/DocSeries/9303_p7_cons_en.pdf"><strong>Document 9303 Part 7 comes in</strong></a>.</p>

<p>The main thing to know about this document is that it specifies that <strong>Latin alphabet is mostly not transliterated</strong> beyond the removal of diacritics and a few mandatory mappings.</p>

<p>Here’s the list of mandatory transliterations:</p>

<ul>
  <li>æ → AE</li>
  <li>œ → OE</li>
  <li>ß → SS</li>
  <li>þ → TH</li>
</ul>

<p>The list is not very comprehensive. And it definitely doesn’t cover any of the issues we’ve mentioned above.</p>

<h2 id="cascading-consequences">cascading consequences</h2>

<p>It seems that this one document’s policy has cascaded everywhere. Passports drive identity, and every other system follows suit from there (passport -&gt; visa -&gt; immigration -&gt; writing).</p>

<p>The result is the normalization of non-English names in English writing, even if they are not pronounceable in English.</p>

<p>This causes issues for readers, but I imagine it also causes headaches for millions of people affected by it as well.</p>

<p>For example, imagine you’re born in Hungary with the name <code class="language-plaintext highlighter-rouge">Zsuzsanna</code>. You immigrate to Canada. Legally, you stay <code class="language-plaintext highlighter-rouge">Zsuzsanna</code>.</p>

<p>Essentially doomed to repeat “it’s pronounced Suzanna” for the rest of your life (unless you go through the hassle of a legal name change).</p>

<p>This is at least just annoying, but at most design debt at the scale of millions.</p>

<h1 id="my-proposal-for-a-better-way">my proposal for a better way</h1>

<p>Although it turns out this pattern is mandated by international standards, it still feels like a sort of design failure that can be fixed.</p>

<p>For example, ICAO could mandate that each language create a mapping table for English transliteration.</p>

<p>ICAO already does this for many non-Latin characters coming from languages like Russian, Chinese, etc., so this should easily be made to cover all languages</p>

<p><img src="/assets/img/article_imgs/names/transliteration-cyrillic.webp" alt="ICAO Document 9303" /></p>

<p>Although it’s too late for the millions affected, I don’t think it’s too late to make a change for the future.</p>

<p>We should treat all foreign languages as foreign languages requiring transliteration by default.</p>

<p>It’s just good design.</p>

<p>P.S. I’ll send this article to ICAO and see if I hear back. Will keep you posted.</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><category term="rant" /><summary type="html"><![CDATA[why polish names get to keep their spellings but russian names don't]]></summary></entry><entry><title type="html">what’s the deal with gemini?</title><link href="https://alsado.ca/posts/gemini/" rel="alternate" type="text/html" title="what’s the deal with gemini?" /><published>2025-04-13T00:00:00+00:00</published><updated>2025-04-13T00:00:00+00:00</updated><id>https://alsado.ca/posts/gemini</id><content type="html" xml:base="https://alsado.ca/posts/gemini/"><![CDATA[<p><img src="/assets/img/article_imgs/gemini/gemini_header2.webp" alt="Gemini Header" />
Google’s Gemini line of models has been making waves lately, especially with the new 2.5 Pro model, boasting impressive benchmark scores that have the community buzzing.</p>

<p>I’ve been using Gemini models in production for a few months, and I’m calling the bell. Something is going on with these models that the benchmarks don’t show.</p>

<h1 id="why-we-bet-on-gemini">Why we bet on Gemini</h1>

<p>Before getting into all the details, let me explain a bit about what I’m building and why we bet on Gemini to be our AI partner.</p>

<p>About me: I’m one of the founders of <a href="https://bidaya.ai">Bidaya AI</a>, we’re aiming to build AI for AEC firms on the business development side, helping them evaluate and submit winning bids.</p>

<p>Our use case tends to be quite document-intensive. We’re often analyzing tons of project documents, and these documents are often filled with images, diagrams, tables, and the occasional poorly scanned document.</p>

<p>As you imagine, I was excited to see how Gemini would perform in our use case as Google was bringing capabilities that no other model could match.</p>

<p>Namely:</p>

<ul>
  <li>its impressive context window (1M tokens)
    <ul>
      <li>which could help us build strong agents capable of ingesting multiple project documents,</li>
    </ul>
  </li>
  <li>and its PDF vision
    <ul>
      <li>which could help us extract data we otherwise could miss from PDF text extraction.</li>
    </ul>
  </li>
</ul>

<p>It’s also good to note that most of my experience was with Gemini 2.0 Flash and Gemini 2.0 Pro (Experimental), although these issues seem to persist with 2.5.</p>

<h1 id="initial-impressions">Initial impressions</h1>

<p>On paper, it seemed like our product perfectly matched with Gemini, and our evals corroborated. It did perform well for document analysis.</p>

<p>In this example, Gemini was able to find and read data in a scanned report on page 77 of an 88-page document.
<img src="/assets/img/article_imgs/gemini/impressive_find.webp" alt="Impressive find" /></p>

<p>At times, however, I’d notice peculiarities.</p>

<p>Here, Gemini 2.5 Pro answered a completely different question than what was asked.</p>

<p><img src="/assets/img/article_imgs/gemini/gemini_hallucination.webp" alt="Gemini hallucinating" /></p>

<p>Here it just gave back rubbish.
<img src="/assets/img/article_imgs/gemini/Gemini_hiccup_2.webp" alt="Gemini hallucinating" /></p>

<p>This was a bit puzzling as I wouldn’t expect such elementary issues from a model of this stature.</p>

<p>To be fair, this wasn’t its behaviour most of the time. This would only happen occasionally or on certain days as if it had “bad days”.</p>

<p>I also noticed once it gives a poor response, it would continue to do so for the same type of question. As if there was a caching mechanism it relied on.</p>

<p>But let’s not get bogged down in these anomalies, Gemini Flash and Pro performed well most of the time.</p>

<h1 id="the-deal-breaker">The deal breaker</h1>

<p>The real Achilles heel appeared when we tried to build a tool-calling agent using these models. Something really strange happened.</p>

<p><img src="/assets/img/article_imgs/gemini/failed_tool_call.webp" alt="Gemini chat agent" /></p>

<p>In this example, Gemini mentioned a tool call but didn’t send a signal to invoke it. This was consistent behaviour.</p>

<p>At first, I assumed this was an implementation problem.</p>

<p>My approach to fixing this was two-pronged:</p>

<ol>
  <li>Prompt engineering</li>
  <li>Tighten the agent code</li>
</ol>

<p>It felt like fix #1 couldn’t be the solution.</p>

<p>In our examples, it was clear in its responses that Gemini <em>knew</em> it needed to call a tool, it even mentioned the tool name it wanted to call, it just never did.</p>

<p>Nonetheless, I tried what I could:</p>

<ul>
  <li>Adding more descriptions to each tool definition</li>
  <li>Adding conversation examples with tool calls</li>
  <li>Emphasizing that the AI should call the tools after mentioning them</li>
  <li>Reducing the model temperature</li>
</ul>

<p>This didn’t help. And examples confused it even more, Gemini actually started writing tool calls within the user response using the same example format I gave. (I didn’t get a chance to screenshot this)</p>

<p>At this point, I was convinced it was a code error. So we go to Fix #2.</p>

<h1 id="is-it-a-code-error">Is it a code error?</h1>

<p>I read up on Gemini docs and actioned the following:</p>

<ul>
  <li>Switch to Google’s newest genai SDK (watch for a separate blog article coming on confusion with all the different SDKs for Gemini)</li>
  <li>Use Google’s more reliable AFC (Automatic Function Calling)</li>
  <li>Switch to Google’s Enterprise API, Vertex AI</li>
</ul>

<p>If it was a logic error that we didn’t call the tool, then these would surely solve it.</p>

<p><img src="/assets/img/article_imgs/gemini/failed_tool_call2.webp" alt="Gemini chat agent" /></p>

<p>These changes did not solve it.</p>

<p>At this point, it felt like our bet on Gemini was a failed one.</p>

<p>Just to confirm sanity however, I switched back to the OpenAI SDK and used Claude to run our agent and surely enough, it worked.</p>

<p>When we switched back to Gemini on the OpenAI SDK, we had our issue again.</p>

<p>Researching this online, I found a few other developers talking about these issues on various forms, but the community overall was not sounding any major alarms like I’d expect.</p>

<p><img src="/assets/img/article_imgs/gemini/google_forum.webp" alt="Google AI post" />
<a href="https://discuss.ai.google.dev/t/gemini-2-5-pro-ending-the-turn-when-it-tries-calling-a-tool/78876">Developers on Google forums with similiar issue</a></p>

<p><img src="/assets/img/article_imgs/gemini/cursor_forum.webp" alt="Cursor forum" />
<a href="https://forum.cursor.com/t/gemini-2-5-performance-great-yesterday-terrible-today/72014/7">Developers on the Cursor forums with similiar issues</a></p>

<p><img src="/assets/img/article_imgs/gemini/n8n_devs.webp" alt="n8n forum" />
<a href="https://community.n8n.io/t/tools-are-not-working-for-google-gemini-chat-model/60935/8">Developers on the n8n forums with similiar issues</a></p>

<p>Even more puzzling despite all these reported issues, is that Gemini still ranks 18 for Tool Calling across all models on the Berkeley benchmark.</p>

<p><img src="/assets/img/article_imgs/gemini/berkeley_leaderboard.webp" alt="Gemini tool calling benchmark" /></p>

<h1 id="so-whats-the-deal-with-gemini">so what’s the deal with Gemini?</h1>

<p>Building with LLMs can be frustrating. As a developer, you’re already in a battle to control unusually chaotic systems. With Gemini, this entropy feels much more extreme.</p>

<p>Our production testing revealed a clear pattern:</p>

<ul>
  <li><strong>Document processing</strong>: Strong performance with superior multimodal capabilities</li>
  <li><strong>Tool calling</strong>: Persistent failure across SDK variations, regardless of implementation approach</li>
  <li><strong>Inconsistency</strong>: Performance varies significantly day-to-day, with entire classes of queries degrading simultaneously</li>
</ul>

<p>For now, we’ve switched off Gemini for all tool-calling use cases and life is good again.</p>

<p>It feels like there’s something painfully obvious Google is missing with these models.</p>

<p>We still use Gemini for document processing where it performs well and we’ll continue monitoring how 2.5 Pro performs but we’re not holding our breath.</p>

<p>What has your experience been with Gemini in production? Have you found solutions to these tool-calling issues that we missed? I added comments to this article to discuss.</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><category term="ai" /><category term="bidaya" /><summary type="html"><![CDATA[Google's Gemini tops the charts, yet it fails at basic production use cases.]]></summary></entry><entry><title type="html">the anti-social network: reflection on tiktok</title><link href="https://alsado.ca/posts/reflection-on-tiktok/" rel="alternate" type="text/html" title="the anti-social network: reflection on tiktok" /><published>2025-01-23T00:00:00+00:00</published><updated>2025-01-23T00:00:00+00:00</updated><id>https://alsado.ca/posts/reflection-on-tiktok</id><content type="html" xml:base="https://alsado.ca/posts/reflection-on-tiktok/"><![CDATA[<!-- In one sentence:
- what stands out about tiktok is that it gave users media that conforms to them, where typically media is made to conform its creators vision.

- TikTok is shutting down, wanted to reflect on a thing that really stood out to me
- The algorithm: remarkably on point. Adjusted in real-time and according to your desires, not what you try to put out there (by pressing like, commenting)
-- Remember the time we could see a feed of what your friends were doing on the app? <- That's how you don't get into the inner most desires of your customer
-- Removed social stigma from the common social media experience
-- I'd argue tiktok isn't even a social media app, but a media app.
- From another angle, tiktok reshaped what media is, putting it back into the users hands.
- formerly we were subject to the artist and what they wanted you to show you. this is the basis for most art such as films, stories, books (minus choose your own adventure), paintings, and even games.
- we're forced to conform to the creator's creative mind and idea.
- i.e. we had to sit down and read the book or watch the movie, and hope that by the time we understood where the artist was going it was worthwhile.
- tiktok removed that notion and brought it closer to the user to decide
- it equipped them users with the power to immediately understand and dismiss things that don't resonate. Promoting strong hook videos, allowing press-and-hold gesture to speed up the content and "get to the meat", and a simple swipe-up gesture to dismiss what didn't resonate.
- thus creating a powerful feedback loop where the end result is a rapid understanding of user desire and the granting of that desire to the user.
- its interesting to note this isn't always what people want (something that caters to you), sometimes its nice to be challenged to understand someone else vision. That's why we generally find tiktok less fulfilling as an artistic experience.

- The takeaway
TikTok was the first algorithm that truly tailored to the user, not giving them what they want, but what they need
- Its algorithm is based on real-time user real behavior, not the artificial way they use the likes or comments
- The success of tiktok tripped an arms race of all social media apps to follow its footsteps and abandon the social aspect of social media.
 -->

<p><img src="/assets/img/article_imgs/tiktok/tiktok-search.webp" alt="TikTok is getting banned" /></p>

<p>With talks of TikTok having to shut down in the US, I wanted to take a moment to reflect on the impact the app had on social media, and online media in general.</p>

<p>Two things came to mind:</p>

<ol>
  <li>its anti-social algorithm (and how good it was)</li>
  <li>how it reshaped online media</li>
</ol>

<h1 id="an-anti-social-algorithm">an anti-social algorithm</h1>

<p>What stood out to me about TikTok was how on point it was at tailoring content to the user.</p>

<p>It often felt that the algorithm was reading my mind, this is in stark contrast to the way other social media platforms like Instagram or Facebook were at the time.</p>

<p>In the early days of social media, the focus was on your social circle, and recommendation algorithms were mostly based on social signals.</p>

<p>On Instagram for example, your friends used to have access to a feed where they could see what you’ve been interacting with on the app, and Instagram would then use these social signals to tailor your algorithm.</p>

<p><img src="/assets/img/article_imgs/tiktok/activity-feed.webp" alt="Instagram feed" /></p>

<p>While this was great as a social experience, it also added a potential stigma to interacting with something outside your social norms. Hence, it never really gave insight into your inner desires.</p>

<p>TikTok on the other hand was anti-social and focused on the user’s desires. It measured the most minute reactions to each post (how long you watched, whether you rewatched, or if you hesitated before swiping). These subtle cues spoke more to how you a user felt about a post.</p>

<p>Of course, it’s only possible to iterate on these precise preferences if you have an extensive range of content to provide your users with.</p>

<p>Luckily for them, TikTok had an abundance of posts. Creators publish posts to the world by default, and consumers are encouraged to view recommended posts rather than who they’re following thanks to the ‘for you’ feed.</p>

<p>It’s easy to see why the algorithm worked so well. This shift in approach to a social media app meant that its engagement was unlike anything we’ve seen and caused ripples throughout the industry causing all the giants to follow suit and shift their algorithm.</p>

<p>At the same time, these shifts also made TikTok and the new age of <em>social media</em>, a lot more anti-social.</p>

<h1 id="reshaping-media">reshaping media</h1>

<p>From another angle, TikTok reshaped what online media is, putting it back into the user’s hands.</p>

<p>In traditional media, you’re often subject to the artist’s vision and what they want you to see.</p>

<p>This is the basis for most creative content such as films, books (minus ‘choose your adventure’), paintings, or games.</p>

<p>We’re usually forced to conform to the creator’s creative idea and expression.</p>

<p>You have to sit down and read the book, or complete the movie and hope that by the time you took in the full vision of the artist, it was worthwhile.</p>

<p>TikTok on the other hand empowered users immediately to grasp and dismiss content that doesn’t resonate.</p>

<p>Its algorithm was ruthless in promoting strong hooks, the press-and-hold allowed users to watch at 2x speed up to help users “get to the meat”, and of course the simple swipe-up allowed users to dismiss what they weren’t interested in easily.</p>

<p>This created a powerful feedback loop with a rapid understanding and granting of a user’s desires.</p>

<p>It’s interesting to note, however, that often when we seek a creative experience the reward comes from being challenged to understand someone else’s vision.</p>

<p>In art school, students are often assigned “slow-looking” exercises, where they spend hours staring at and contemplating a single painting to appreciate fully its depth and nuances.</p>

<p><img src="/assets/img/article_imgs/tiktok/staring.webp" alt="slow-looking exercise" /></p>

<p>Maybe this is why we generally find TikTok less fulfilling as an artistic experience. You never get longer than a few seconds to appreciate the artist’s vision.</p>

<p>It’s also why some may view the app as exploitative to human nature, and it makes you then wonder, what do we gain from this app?</p>

<p><a href="https://twitter.com/themajd_">Follow me on twitter</a></p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><summary type="html"><![CDATA[the anti-social network: reflection on tiktok]]></summary></entry><entry><title type="html">after 19,314 lines of code, i’m shutting down my project</title><link href="https://alsado.ca/posts/shutting-down-colive-values/" rel="alternate" type="text/html" title="after 19,314 lines of code, i’m shutting down my project" /><published>2024-12-17T00:00:00+00:00</published><updated>2024-12-17T00:00:00+00:00</updated><id>https://alsado.ca/posts/shutting-down-colive-values</id><content type="html" xml:base="https://alsado.ca/posts/shutting-down-colive-values/"><![CDATA[<p><img src="/assets/img/article_imgs/shutting-down-colive/cover.webp" alt="colive values banner" /></p>

<p><strong>After 12 months of work and 19,314 lines of code, I’m shutting down colive values</strong>.</p>

<p>When I started colive values, I was on a mission to revolutionize how remote workers choose to travel and work from remote communities. Shutting it down wasn’t the outcome I envisioned, but this journey has been incredibly valuable.</p>

<p>In this article, I’ll explain the full story, and focus on the key lessons learned that might help others avoid similar pitfalls.</p>

<p>Whether you’re curious about building your own project, interested building something within the coliving industry, or maybe even someone looking to build colive values 2.0, there’s something here for you.</p>

<h1 id="the-vision">The Vision</h1>

<p>I created colive values to solve a pressing problem: helping remote workers combat social isolation by connecting them with like-minded communities.</p>

<p>I’ll likely put a more detailed article on the vision and the problem I was trying to solve in the future. But for now, here’s a quick summary:</p>

<p>The coliving space was (and still is) fragmented, with communities scattered across the web, lacking crucial information about essentials that remote workers care about such as Wi-Fi speeds, the community culture, or the location details, to list a few.</p>

<p>My solution? Create the ultimate platform of remote work-friendly coliving spaces, categorized in a way that matters to remote workers. (By community values, amenities available, and the location characteristics.)</p>

<p>Some of the fragmented mess of finding a coliving. The sources varied across Google Sheets, Reddit, Twitter threads, random lists, and more:
<img src="/assets/img/article_imgs/shutting-down-colive/coliving-mess.webp" alt="the mess of finding a coliving" /></p>

<h1 id="what-worked-well">What Worked Well</h1>

<h3 id="finding-an-edge-in-a-crowded-market">Finding an Edge in a Crowded Market</h3>

<p>Building a marketplace is notoriously difficult - you need both supply (coliving hosts) and demand (remote workers) to create value. I knew I needed a creative approach to crack this chicken-and-egg problem. Especially as a team of one.</p>

<p>My edge came from two creative solutions:</p>

<ol>
  <li><strong>Web Scraping at Scale</strong>: Instead of chasing hosts one by one, I built scrapers to aggregate coliving communities automatically. This came with its own challenges - including legal threats from major players in the space - but it helped us build initial inventory quickly.</li>
  <li><strong>Early AI Integration</strong>: Having had worked at an AI start-up, I had a bit of a head start in utilizing LLMs effectively. Before ChatGPT became household name, I used GPT models to help me categorize and qualify communities en masse, analyze reviews to understand the community values, and of course to assist with the development of the platform.</li>
</ol>

<p>This worked well (besides the lawsuit scare 😅) at getting things started. Although hosts were initially skeptical, most were willing to give colive values a shot especially because I’d only reach out after we’ve already secured an interested guest looking to give them their money.</p>

<p>Community classification in action:
<img src="/assets/img/article_imgs/gpt4-in-action.webp" alt="Community classification in action" /></p>

<h3 id="engaging-with-users">Engaging with Users</h3>

<p>You’ve heard the advice to talk to users often and early, and I won’t go into the obvious details on the importance of user testing, the MOM test, and all that other good stuff. I do have two main points related to this:</p>

<h4 id="1-get-an-mvp-out-fast">1. Get an MVP out FAST</h4>

<p>Getting something out quickly was crucial. Instead of perfecting features, I focused on launching a basic platform that demonstrated the core value proposition. This allowed me to start gathering feedback immediately and allowed me to gain momentum to keep building. It wouldn’t have been possible to continue building on the platform without this early feedback.</p>

<p>colive values MVP:
<img src="/assets/img/article_imgs/shutting-down-colive/colive-values-view.webp" alt="colive values live" /></p>

<h4 id="2-use-social-channels">2. Use social channels</h4>

<p>Our best insights came from engaging directly with our target audience. Reddit posts, Slack channels, and other social platforms provided invaluable feedback and early user interest. The enthusiasm from these communities kept me motivated during tough times.</p>

<p>Users validating the idea keep you going:
<img src="/assets/img/article_imgs//shutting-down-colive/reddit-validation-2.webp" alt="Users validating the idea" />
<img src="/assets/img/article_imgs//shutting-down-colive/reddit-validation.webp" alt="Users validating the idea" /></p>

<h1 id="where-things-went-wrong">Where Things Went Wrong</h1>

<h3 id="organizational-chaos">Organizational Chaos</h3>

<p>As the project grew, so did the complexity of managing it. I was juggling multiple communication channels:</p>

<ul>
  <li>User booking support</li>
  <li>Host onboarding and booking support</li>
  <li>User acquisition</li>
  <li>Community management</li>
  <li>Industry networking</li>
</ul>

<p>Without proper systems in place, this became overwhelming for a solo developer. At this point I did bring on a partner to help offload some of this work, but it was still too much for a part-time founder to handle effectively.</p>

<h3 id="underestimating-scope">Underestimating Scope</h3>

<p>While the “don’t look too far ahead or you’ll never start anything” start-up advice has merit, I perhaps took it too literally. I went into building colive values a bit too blindly, choosing to ignore the sheer magnitude of work required to successfully pull this project off.</p>

<p>Beyond the communication parts we covered above, the platform also needed:</p>

<ul>
  <li>Constant new features</li>
  <li>Technical maintenance</li>
  <li>Billing management and oversight</li>
  <li>Community building</li>
</ul>

<p>This was simply too much for a part-time founder to handle effectively.</p>

<h2 id="the-decision-to-shut-down">The Decision to Shut Down</h2>

<p>The final decision came down to simple math and personal priorities. The economics of colive values weren’t strong enough to justify going all-in. Without external funding (which I wasn’t keen on pursuing), the bootstrap path wasn’t viable. I was also finding fulfillment in my full-time role and this project wasn’t one that could stay on the side-burner and needed active maintenance to be useful.</p>

<h2 id="lessons-for-future-founders">Lessons for Future Founders</h2>

<ol>
  <li><strong>Be realistic about resource requirements</strong>: In any business, make sure you have the resources (time, money, people) to tackle the market effectively.</li>
  <li><strong>Consider funding strategy upfront</strong>: Some ideas are better suited for bootstrapping than others. Be honest about whether your concept needs venture backing to succeed.</li>
  <li><strong>Technical innovation isn’t enough</strong>: Having a technical edge is great, but it needs to be paired with sustainable operations and growth strategies.</li>
</ol>

<h2 id="looking-forward">Looking Forward</h2>

<p>While colive values is shutting down, I still believe the idea has potential, it just requires a slightly different execution.</p>

<p>Nonetheless, the experience has been invaluable for me. Writing almost 20k lines of code, in a project where shipping every feature was a new learning experience, came with huge set of technical learning.</p>

<p>Growing the brand from zero provided me with experience in branding, design, and growth marketing that I couldn’t have learned in any other way.</p>

<p>Most importantly, I’ve learned crucial lessons about what it takes to build a sustainable business. I’ll be taking these learnings for my next adventure.</p>

<p>I’m now working on my next venture, this time with a more focused scope and clearer path to sustainability. Sometimes the best way forward is to know when to let go and apply your learnings to the next opportunity. That’s exactly what I plan to do.</p>

<p>Stay tuned for an official announcement soon!</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="coliving" /><category term="remote work" /><category term="personal growth" /><summary type="html"><![CDATA[learnings from building colive values as a solo developer]]></summary></entry><entry><title type="html">the complexity of lying</title><link href="https://alsado.ca/posts/the-complexity-of-lying/" rel="alternate" type="text/html" title="the complexity of lying" /><published>2024-07-28T00:00:00+00:00</published><updated>2024-07-28T00:00:00+00:00</updated><id>https://alsado.ca/posts/the-complexity-of-lying</id><content type="html" xml:base="https://alsado.ca/posts/the-complexity-of-lying/"><![CDATA[<!-- 
- I was recently in a tricky social situation which challenged a principle I carry: "always speak the truth"
- It got me wondering about the principle and whether I should stand for it at all costs
- Yes I should, here's why
- It's very hard to do things well, whether it's a physical skill, a mental aptitude, or a social ability
- Like a math equation, in every decision you make there are constraints that are layered on top of it, making it more complex to solve and ultimately make a decision.
- These constraints add layers of complexity, on top of your pre-existing considerations and constraints of your environment and self. 
- Socially, when you observe something, you can almost imagine there's a level of processing which takes things like (social norms, etiquete, logic, context, relevance, etc.) into account, before you decide what to do
- This processing layer takes a lot of mental power, even though some people have higher capacity to juggle lots of constraints around, we're all ultimately limited by how much we can do.
- Often, you see people prioritize a certain area of processing over another (higher standards of etiquette than others)
- Everyone consciously and subconciously derives their own philosophy to prioritize the various constraints in order to focus on what matters for them. There's simply too many parameters and constraints to try to solve for everything.
- I believe one area which can take up significant processing power is when you try to maintain a lie due to certain context, social norms, etiquete, or something personal
- While it's easy to remember and maintain a story for one lie in one situation with one person.
- Social situations are too complex, and there are always multiple people involved, with their own version of the truth. 
- The complexity of maintaining a lie gets exponentially larger when it's coupled with other lies told to other people.
- You begin to have to form complex stories and ultimately realities that are inherently fragile and easy to breakdown
- This can consume a large part of your available processing power, and take away from other valuable functions
- This can all be avoided by simply not succumbing to telling a lie
- This is why I choose to avoid not telling the truth
- This decision comes with sacrifice. Certain situations need a little stretching of the truth. Whether it's out of social norms, it's not empathetic to another person, there could be many reasons why
- You need to decide where to draw the line
- For me I have very little tolerance for it, it's a personal decision I've made, I'd rather be blamed for telling the truth than be caught in a harmful lie
- Holding this as a core value leaves my processing power to focus on the things that truly matter and are worth its effort.
 -->

<p>Recently, I was in a tricky social situation that challenged one of my core principles: “Avoid lying at all costs.” It was a situation that made me reconsider the harshness of this principle.</p>

<p>However after giving it more thought, I’m again confident:</p>

<p><strong>You should always avoid lying and default to honesty at all costs, and here’s why.</strong></p>

<h2 id="making-decisions">Making Decisions</h2>
<p>Doing things well—whether it’s a physical skill or a mental or social ability—requires making good decisions.</p>

<p>Each decision you make can be thought of as a math equation, and each situation adds its own constraints and boundary conditions to the equation which makes finding a solution more difficult.</p>

<p>These constraints on top of our pre-existing mental biases, environment and considerations add complexity to our decision-making processes.</p>

<p>Take for example a social situation. When you observe something, there’s a sort of processing layer in which that event goes through to come up with a decision on how you’d like to act next.</p>

<p><img src="/assets/img/article_imgs/decision-cycle.png" alt="decision cycle" /></p>

<p>This layer considers the context of the situation, logic, strategy, social norms, etiquette, relevance, and much more.</p>

<p>It’s a mental exercise that demands significant power, while some people have a large capacity to juggle many different constraints, we’re all ultimately limited to some level of cognitive capacity.</p>

<h2 id="the-burden-of-lies">The Burden of Lies</h2>
<p>Everyone develops their own philosophy to prioritize these constraints, focusing on what matters most to them.</p>

<p>I believe maintaining a lie consumes an unworthy portion of mental energy. While it might be easy to keep track of a single lie in one situation, social interactions are rarely so simple. Multiple people are involved, each with their own perspectives and truths, and the complexity of maintaining a web of lies grows exponentially the more lies you carry.</p>

<p>As these lies accumulate, you find yourself constructing stories, detached from reality, that are inherently fragile. This not only consumes your cognitive resources but also distracts you from more valuable functions. The mental effort required to sustain a lie is far greater than that needed to uphold the truth.</p>

<p><img src="/assets/img/article_imgs/truth.png" alt="truth vs lie" />
This is why I choose to avoid lying at all costs.</p>

<h2 id="the-simplicity-of-truth">The Simplicity of Truth</h2>

<p>By committing to truth, I free up mental energy for things that truly matter.</p>

<p>This choice comes with sacrifices, and sometimes stretching the truth seems necessary for social norms or empathy.</p>

<p>However, I’ve decided to have little tolerance for dishonesty. I’d rather be blamed for honesty than caught in a harmful lie.</p>

<p>This value helps me focus on what deserves my attention.</p>

<p>In a complex world, the simplicity of truth provides me clarity and peace of mind.</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><summary type="html"><![CDATA[why i choose the truth above all else]]></summary></entry><entry><title type="html">i built an Airbnb as a solo developer, here are 3 lessons I learned</title><link href="https://alsado.ca/posts/building-colive-values/" rel="alternate" type="text/html" title="i built an Airbnb as a solo developer, here are 3 lessons I learned" /><published>2024-07-20T00:00:00+00:00</published><updated>2024-07-20T00:00:00+00:00</updated><id>https://alsado.ca/posts/building-colive-values</id><content type="html" xml:base="https://alsado.ca/posts/building-colive-values/"><![CDATA[<p><img src="/assets/img/article_imgs/colive-values.png" alt="colive values" /></p>
<h3 id="preface-where-the-idea-came-from">preface: where the idea came from</h3>

<p>When I first started thinking about <a href="https://colivevalues.com">colive values</a>, I wasn’t looking for a simple side project to tinker with. This was my first project with quite an ambitious goal:</p>
<blockquote>
  <p>To create a new way for remote workers to find like-minded coliving communities</p>
</blockquote>

<p>—a platform that highlights community values, shared intentions, and authentic culture.</p>

<p>The idea <em>seemed</em> fairly simple at the time: build a platform to search and book coliving communities…</p>

<p>As it turns out, this was more complex than I could have imagined. The realization of how big of an undertaking this was became clear as I started drawing up the first data models and their relationships.</p>

<blockquote>
  <p>I remember slowly realizing  I was essentially rebuilding an Airbnb, as a solo developer.</p>
</blockquote>

<p>What followed was an intense journey of learning and building everything from the ground up.</p>

<p>Since then I’ve come fairly far and learned quite a lot along the way.</p>

<p>Here are the three biggest lessons I’ve learned so far:</p>

<h3 id="1-narrow-the-scope-then-narrow-it-some-more">1. Narrow the Scope, Then Narrow It Some More</h3>

<p>I set out with the goal of competing with companies that had been in the game for over a decade. Looking back, that was probably my first mistake. The sheer amount of work required to build anything competitive, let alone a marketplace which came with its own challenges, was likely too ambitious for a self-funded solopreneur.</p>

<p>At first it was straightforward: design a system with community listings and self-serve functionality for both Users and Hosts. Fair.</p>

<p>Of course, search functionality is also critical—map views, complex filters, sorting algorithms, and a sleek UI were table stakes. Difficult, but still doable.</p>

<p>Then came payments. A robust payment system is essential if I want to make any money. But as great as Stripe is, it still comes with its own set of complexities: webhooks, payment intents, invoices, and checkout flows. And when you’re handling people’s money there is no room for mistakes.</p>

<p>Building a user-friendly app isn’t just about getting the core functionality right. Every small detail in the UI/UX matters. One misstep—a button that doesn’t work as expected, a confusing flow—and it ruins the entire experience. Users have very little patience these days, they expect things to come easy.</p>

<p>The list of “essential” features kept growing. Every time I crossed off a new feature, three more would pop up that would “really complete the experience”.</p>

<p>This is why making every effort to narrow your scope, especially in the beginning the scope isn’t just important—it’s essential.</p>

<blockquote>
  <p>Looking back I should have stopped to <strong>re-evaluate what’s needed to accomplish my mission</strong>, not my ever expanding idea of the solution.</p>
</blockquote>

<p>i.e. What’s needed to (help remote workers find like-minded communities)&lt;- Mission, not (to build a full platform to find and book coliving communities) &lt;- Ever-expanding idea.</p>

<p>My takeaway? Minimize the number of features, but maximize the depth of each one. It’s better to do fewer things well than to attempt everything and deliver a half-baked product.</p>

<h3 id="2-building-trust-is-harder-than-coding">2. Building Trust Is Harder Than Coding</h3>

<p>Here’s the truth: building something that works is relatively easy. Getting people to trust and use it? Tough.</p>

<p>As a new product, you have a lot to prove.</p>

<blockquote>
  <p>Your users need to find you so much better than the competition that they’re willing to leave the familiarity of established platforms just to work with you.</p>
</blockquote>

<p>What may have been the most frustrating part of colive values was something that happened fairly often. After a user has submitted a booking request to stay at a community, the host would not respond! It felt like a punch to the gut to have a user make it through all the hoops of registration, discovery, meddling around, and finally go through with a booking, only for the Host to go completely silent…</p>

<p>The main reason for this was because I didn’t develop a strong enough connection with each host when they joined. I hoped they’d be just as excited about a booking request as I was. But they hardly knew if they could even trust this lead.</p>

<p>The solution I found was keeping things very personal and over-explaining everything. Sending a video to a host explaining the process became a normal occurrence.</p>

<p>Lesson learned: Introduce yourself well, and stay connected to your users. Also be very clear. If users have to ask, “How does this work?” then you’ve already lost them.</p>

<h3 id="3-market-really-really-hard">3. Market Really, Really Hard</h3>

<p>If I could sum up self-funded marketing in one word: <em>grind</em>. Once you’ve built the app, you need people to care about it. That’s the real challenge. Without a pile of venture capital to throw at ads or partnerships, you have to rely on old-school, guerilla tactics.</p>

<p>Reddit threads, Twitter posts, niche forums— these become your lifeline for spreading the word.</p>

<p>here’s the catch: manual marketing like that never stops. It’s relentless. You can’t just post once and expect people to flood in. You have to keep going until you reach critical mass, and only then might it start to spread organically - if you’re lucky.</p>

<p>The reality is, as a self-funded solo developer, marketing becomes a full-time job on top of building your product.</p>

<hr />

<h3 id="final-thoughts">Final Thoughts</h3>

<p>Building colive values taught me a lot, but the most important lesson was probably this: as a solo developer, you’re not just writing code. You’re wearing every hat—developer, designer, marketer, and customer support. It’s overwhelming, but it’s also incredibly rewarding when you see people start to use and appreciate what you’ve built.</p>

<p>So, what’s next for colive values?</p>

<p>I can’t keep running/building colive values as it stands.</p>

<p>Going forward, I’ll be focused on narrowing the scope while staying true to its mission.</p>

<p>One thing is clear: it’s not about doing it all. It’s about doing what matters—and doing it right.</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="coliving" /><category term="remote work" /><category term="personal growth" /><summary type="html"><![CDATA[What I Learned Building colive values from Scratch as a Solo Developer]]></summary></entry><entry><title type="html">immigration is not normal</title><link href="https://alsado.ca/posts/immigration-is-not-normal/" rel="alternate" type="text/html" title="immigration is not normal" /><published>2024-02-25T00:00:00+00:00</published><updated>2024-02-25T00:00:00+00:00</updated><id>https://alsado.ca/posts/immigration-is-not-normal</id><content type="html" xml:base="https://alsado.ca/posts/immigration-is-not-normal/"><![CDATA[<p><img src="/assets/img/article_imgs/immigration/migration.webp" alt="Immigration" /></p>

<p>Modern-day immigration is not normal and carries with it a series of understated complexities and consequences.</p>

<p>In this article, I’d like to explore this topic and examine some of the impacts it can have on an individual’s well-being and cultural identity.</p>

<h2 id="humans-and-migration">Humans and Migration</h2>

<p>To begin exploring this idea, we start at the very beginning of our relationship with migration. Humans and migration date back to when sapiens first left Africa around 100,000 years ago. Of course, these early migratory journeys differed significantly from what we observe today.</p>

<p><img src="/assets/img/article_imgs/immigration/africa.webp" alt="Sapiens migrate from Africa" /></p>

<p>Initially, people moved within their broader groups or tribes, travelling by foot over familiar terrain and never venturing far in a single generation.</p>

<p>Throughout most of history, we see similar migratory patterns through ancient, classical, or medieval times. We migrated together, and slowly.</p>

<p>This allowed for the culture and body of knowledge of the collective to remain intact, and adapt sustainably over time.</p>

<p><img src="/assets/img/article_imgs/immigration/ship.webp" alt="Age of Discovery" /></p>

<p>This all changed, however, by the Age of Discovery. The steamship revolutionized migration for humans and allowed us to leave entire continents behind, by ourselves, through one relatively short journey.</p>

<p>Furthermore, this period also saw new motivations for migration. It was no longer about sheer survival or escaping natural disasters. People now immigrated for better opportunities and prosperity and left behind their tribes and culture.</p>

<p>This is a critical shift with implications unforeseen by the migrant, which will challenge their well-being, health, and potential for evolutionary success. Let’s explore this through an example.</p>

<h2 id="the-case-of-the-bedouin-immigrant">The Case of the Bedouin Immigrant</h2>

<p><img src="/assets/img/article_imgs/immigration/bedouin.webp" alt="Syrian Bedouin" /></p>

<p>Let’s consider the case of a Bedouin nomad from the Syrian Desert who at the turn of the 19th century, frustrated by the lack of opportunity, decided to detach from his tribe and familiar land to take a chance on the newly founded land of opportunity, America.</p>

<p>Remember that every surviving member of his tribe up to this point is a direct descendent and product of thousands of years of inherited, time-tested knowledge and wisdom which has allowed his bloodline to survive and thrive within the specific characteristics of their environment.</p>

<p>Never before has this direct line of knowledge been so quickly disrupted and made obsolete, then after they decided to immigrate and leave everything behind.</p>

<p>By moving away from the areas in which a person, their parents, and ancestors have evolved and thrived in, to new unknown areas vastly different from their own, much of the ancestral knowledge (which is highly dependent on location and environment) is made obsolete and lost without their awareness.</p>

<h2 id="so-what-of-this-ancestral-knowledge">So what of this “ancestral knowledge”?</h2>

<p><img src="/assets/img/article_imgs/immigration/learning.webp" alt="Passing down knowledge" /></p>

<p>It is easy to dismiss passed-down knowledge and wisdom when the Internet gives us instant access to human knowledge at our fingertips.</p>

<p>However, this knowledge passed down from your grandparents is vastly more valuable for you as an individual, than anything you can find on Google.</p>

<p><strong>Why?</strong></p>

<p>Ancestral knowledge has undergone the most stringent scrutiny possible, the test of time.</p>

<p>As Nassim Nicholas Taleb puts it in <a href="https://en.wikipedia.org/wiki/Antifragile_(book)">Antifragile</a>,</p>
<blockquote>
  <p>“If you hear advice from a grandmother or elders, odds are that it works 90 percent of the time. On the other hand, in part because of scientism and academic prostitution, in part because the world is hard if you read anything by psychologists and behavioural scientists, odds are that it works at less than 10 percent.”</p>
</blockquote>

<p>Beyond the fact that this knowledge has withstood the test of time, this knowledge is also uniquely important because it includes the context of your genetics, tendencies, and environment. Losing this wealth of knowledge is a significant loss that the internet cannot replace.</p>

<h2 id="generalization-of-knowledge">Generalization of Knowledge</h2>

<p><img src="/assets/img/article_imgs/immigration/traditional_healer.webp" alt="Traditional Healer" /></p>

<p>We must also recognize that the information readily available online or imparted in Western education largely stems from Eurocentric sources. These can be different or not aligned with the experiences of people from a non-European ethnicity.</p>

<p>This discrepancy is becoming more apparent in fields like medicine, where an expanding body of research suggests <a href="https://www.nejm.org/doi/full/10.1056/nejmsb025007">ethnic backgrounds can have a significant impact on the application of medicine</a>.</p>

<h2 id="back-to-the-bedouin">Back to the Bedouin</h2>

<p>So when our Bedouin Immigrant decided to disrupt his existing life, he detached himself from the trusted body of knowledge that had allowed his bloodline to live and thrive up until this point and made his potential success dependent on this compatibility with the American way of life.</p>

<p><img src="/assets/img/article_imgs/immigration/medicine.webp" alt="Accessing medicine" /></p>

<p>Now, when the immigrant is faced with a health problem or a stressful event, there is no tribe elder to turn to who can explain what they’re feeling and why. There is no one with the repository of knowledge for the best way that his people have typically dealt with that problem.</p>

<p>At best, they can try to find local experts in his new environment to consult on this issue, however, it’s easy to imagine the many ways that this could go wrong. Due to biological and hereditary differences, the advice received may not work, or worse yet, it might even harm them (consider a severe allergy to traditional medicine, for example).</p>

<p>Not being able to find the right help tailored to their needs can lead to alienation from the people around them and poorer health outcomes.</p>

<h2 id="the-shared-experience-of-immigrants">The Shared Experience of Immigrants</h2>

<p><img src="/assets/img/article_imgs/immigration/crossroads.webp" alt="Crossroads" /></p>

<p>Growing up, I felt lucky to have full plasticity to dictate how I’d like to lead my life. I was setting a new example for our generation in a new society. But there is more to it than meets the eye. Growing up with this idea adds a stressor that you constantly feel.</p>

<p>You are constantly bombarded by noise on how to “best lead your life”, and which values to hold. While this is the case for most growing adults, as an immigrant you often don’t have the same “filter” to help distill the signal and what best aligns with your frame of mind, to the noise of information.</p>

<p>On one hand, it is liberating to have so many different ways to lead and place value in your life. On the other hand, paralysis by analysis is very real when the options are endless, and the choice is unclear. This dilemma often leads you to experience higher levels of anxiety while going about your life and making decisions.</p>

<p>Immigrants also often face a silent struggle of having to adapt to a Western system that prioritizes a certain set of values and devalues others.</p>

<p>This shift forces them to depend on a body of knowledge and a value system that may not align with their innate understanding of the world, ultimately resulting in a loss of confidence.</p>

<p>As they grapple with finding their place and establishing their identity within a new society, the incompatibility between their cultural identity, the societal values of their host country, or even their biological predispositions can create profound existential dilemmas.</p>

<p>Personally, I often wonder what it would have been like if I had lived in a village with people who share my cultural beliefs and values.</p>

<p>What would it be like to be around those who understood my thinking and personal beliefs, and how much simpler would it make navigating the jungle of life?</p>

<h2 id="immigration-in-the-modern-world">Immigration in the Modern World</h2>

<p><img src="/assets/img/article_imgs/immigration/world_migration.webp" alt="World-wide Immigration" /></p>

<p>Immigration has become normalized and increasingly popular in the past couple of centuries, possibly due to globalization and the rise of the internet. In 2022 alone, an estimated <a href="https://www.oecd-ilibrary.org/sites/b0f40584-en/1/3/1/index.html?itemId=/content/publication/b0f40584-en&amp;_csp_=f32aa69b63450530407ffa5853cb88a4&amp;itemIGO=oecd&amp;itemContentType=book">6.1 million people</a> took that journey, and it seems we now believe it is normal to move across vast distances and start life in a new environment, with little to no consideration of how it may affect our body and mind.</p>

<p>Globalization makes us feel that the world is smaller than it is and that we have somehow evolved past our mental and biological limitations to be able to move and thrive anywhere.</p>

<p>In the short term, this can be difficult for the individual. In the long term, it can be catastrophic for their evolutionary success.</p>

<p>As much as we don’t like to admit it, our needs are specific to our evolution and biological context.</p>

<p>There is no general medical treatment that heals everyone. There is no one diet which works for all.</p>

<p>It all depends on your environment and background.</p>

<p>When this information is lost or made obsolete by drastic migration, it has unforeseen downstream effects which pose a dangerous threat to the evolutionary success, and the potential of the immigrant humans who are now starting on a new, dramatically different path to survival, without their ancestral wisdom to help them steer the boat.</p>

<h2 id="so-what">So what?</h2>

<p>Does this mean we all need to stop immigrating? I don’t think so. But we do need to recognize the various downstream effects that come as a result of immigration.</p>

<p>We need to find ways to work through them acknowledging that modern-day immigration is a new and unnatural phenomenon.</p>

<p>As immigrants, we need to make sure we understand the consequences of leaving for a new world beyond the initial “grass is greener” effect.</p>

<p>When we do decide to immigrate, we also need to ensure we have a framework on how we will preserve the wisdom and knowledge we each bring. Participating in activities such as community storytelling and engaging with cultural hubs could help here.</p>

<p>At the same time, host countries should also re-examine their immigration policies to ensure they are sustainable in the long term. States, such as Canada, often leverage immigration for short-term economic gain with little consideration for the individual and culture coming in.</p>

<p>This creates instability over the long term if ignored. Perhaps exploring more sustainable integration models such as establishing cultural hubs or backing community initiatives could help here. These efforts would not only aid the immigrants but also serve to enhance the host societies’ cultural richness.</p>

<p><img src="/assets/img/article_imgs/immigration/knowledge.webp" alt="Tree of Learning" /></p>

<p>I hope this leads us one step closer to understanding what we’re feeling, how we got here, and where we’re going.</p>

<p>I started exploring this topic after a discussion with some friends. The more I dug into this idea, the more I realized the absolute breadth of the topic.</p>

<p>There are many more avenues to explore. Here are some interesting avenues to dig into for the reader’s enjoyment.</p>

<h3 id="further-reading">Further reading:</h3>
<ul>
  <li><a href="https://en.wikipedia.org/wiki/Acculturation">Acculturation</a></li>
  <li><a href="https://en.wikipedia.org/wiki/Immigrant_paradox_in_the_United_States">Healthy Immigrant Paradox</a></li>
  <li><a href="https://en.wikipedia.org/wiki/Minority_stress#Health_outcomes">Minority stress</a></li>
</ul>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><summary type="html"><![CDATA[the hidden impact of immigration on identity, knowledge, and survival in a new world.]]></summary></entry><entry><title type="html">principles are products of practice, not the reverse</title><link href="https://alsado.ca/posts/principles-are-products-of-practice/" rel="alternate" type="text/html" title="principles are products of practice, not the reverse" /><published>2023-11-13T00:00:00+00:00</published><updated>2023-11-13T00:00:00+00:00</updated><id>https://alsado.ca/posts/principles-are-products-of-practice</id><content type="html" xml:base="https://alsado.ca/posts/principles-are-products-of-practice/"><![CDATA[<!-- In one sentence:
- Principles are based on practice, not the other way around.

In a few bullet points:
- the tweet highlights a fundamental issue with learning through theory and principles
- good principles are founded on best practices in the real world
- best practices evolve
- principles should as well
- life is founded on this model
- so is capitalism, entrepreneurship
- we need to make sure we dont waste resources sticking to outdated principles
- evolution crafts the best version of everything -->
<p><img src="/assets/img/article_imgs/wright-brothers.webp" alt="Wright Brothers catch flight, 1903" />
I was recently browsing around on <del>Twitter</del> X where I came across <a href="https://x.com/pepicrft/status/1723640911022653804">this <del>tweet</del> post:</a></p>

<blockquote>
  <p>I’m reading about HTML semantics and how they are often disregarded by developers and tools when producing markup and styling, and I wonder if we are leaning too much on the side of developer ergonomics and profits over embracing the platform principles.</p>
</blockquote>

<p>My immediate reaction was in defence of practical ergonomics. As a self-taught developer who learned through practice, often violating principles, I’m prone to prefer practice over principle.</p>

<p>I believe principles should not stifle progress in the name of upholding theory and principle.</p>

<p>But this is more than just a defensive gut reaction, this tweet highlights a fundamental issue with theory-based learning, and a common misunderstanding of what breeds innovation and how principles work in practice.</p>

<h3 id="success-breeds-principles">Success Breeds Principles</h3>

<p>When you learn a topic from its theory, principles are often the starting point – the sacred frameworks by which best practices emerge, and innovation is founded upon.</p>

<p>Unfortunately this is misleading, and often incorrect.</p>

<p><strong>Principles are usually the byproduct of success</strong>, not the cause of it.</p>

<p>And we see this in most innovations:</p>

<ul>
  <li>The Wright brothers achieved flight before fully understanding the physics behind the airfoil,</li>
  <li>James Dyson learned what makes a great double cyclone vacuum only after building them,</li>
  <li>The bicycle was invented without an understanding of the mechanisms which maintain its balance.</li>
</ul>

<p>So real-world successes create the best practices that later become the standards.</p>

<p>This is not clear for a student, and often causes misguidance. The student who learns theory as the foundation often confines their work to strictly follow principle in an ever-changing world which requires adaptation.</p>

<h3 id="practice-over-theory-evolution-and-life">Practice over Theory, Evolution, and Life</h3>

<p>There’s a lot to learn from principles and theory. But we should always re-evaluate and push its limits by adapting it to the world around us, constantly challenging if it truly makes things easier/faster/cheaper/better.</p>

<p>If there’s a way to make things more ergonomic, we should try that no matter if it violates principles. It’s from the success or failure of that experiment, that the magic of evolution is unlocked, a principle is founded, and our progress is pushed one step forward.</p>

<p>This is experimental evolution and it’s the foundation of principles, capitalism, and life. We must write today’s rules with an eye on what will work tomorrow, not yesterday.</p>

<p>This is also why it’s important for the makers of policies and standards to be connected with the real-time experimentation in a market, and not in silo, to constantly adapt, iterate, and refine standards and principles according to real-world outcomes.</p>

<p><em>In short:</em> Remember success defines principles, not the other way around. So developers, go ahead and take the ergonomical profitable path, in violation of the HTML semantics, and pioneer a better way for the future.</p>

<p><a href="https://twitter.com/themajd_">Follow me on twitter</a></p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="thoughts" /><summary type="html"><![CDATA[principles are based on practice, and should only be upheld when they clearly cause improved outcome.]]></summary></entry><entry><title type="html">road trip in anatolia</title><link href="https://alsado.ca/posts/road-trip-in-anatolia/" rel="alternate" type="text/html" title="road trip in anatolia" /><published>2023-08-14T00:00:00+00:00</published><updated>2023-08-14T00:00:00+00:00</updated><id>https://alsado.ca/posts/road-trip-in-anatolia</id><content type="html" xml:base="https://alsado.ca/posts/road-trip-in-anatolia/"><![CDATA[<p>Join me for a roadtrip in the heart of Turkish Anatolia, where I explore Kapadokya and the underground city of Derinkuyu.</p>

<p>This trip was in January 2023, before the disastrous earthquake which shook this region. To support the communities affected by this disaster, consider donating to a relief fund <a href="https://www.islamicreliefcanada.org/emergencies/turkey-syria-earthquake">such as this one</a>.</p>

<h1 id="day-1---kapadokya">Day 1 - Kapadokya</h1>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/0-mersin.jpg" alt="Mersin" /></p>

<p>we start the journey in the mediterranean city of Mersin and hit the road going North to the heart of Anatolia.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/1-road.jpeg" alt="Adana-Erdemli Highway" /></p>

<p>The plan is to explore the Kapadokya region, stop by Kayseri, then come back to Adana and eventually Mersin.</p>

<p>I’m most looking forward to exploring the ruins in Göreme, Nevşehir, Derinkuyu Underground City and everything in between.</p>

<p>Our planned journey looks something like this:</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/2-map.jpg" alt="Planned route" /></p>

<p>As we leave Mersin behind and cross into the Taurus Mountains, the landscape dramatically transforms from the vibrant blues of the Mediterranean to the earthy tones of Anatolia.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/3-terrain.jpeg" alt="Heading into the heart of Anatolia" />
<img src="/assets/img/article_imgs/turkey-roadtrip/4-terrain.jpeg" alt="Demirkazik mountain, 3756m" /></p>

<p>Our journey takes us through many small villages. We decide to stop by one, the town of Yeşilgölcük, as we noticed a town market was happening today.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/5-town-market.jpg" alt="Town market in Yeşilgölcük" /></p>

<p>After exploring this little market, we got pretty hungry so we found a local meat shop and had a delicious lunch.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/6-lunch.jpg" alt="Kebab and Chicken" /></p>

<p>Ottoman Sultans were known to <a href="https://medium.com/exploring-history/food-that-conquered-the-world-the-ottoman-empire-3d58013e4ff2">safeguard culinary methods and recipes</a>, and I can see why… Turkish food is outstanding and might be my favourite part of this country.</p>

<p>This lunch ran about 200 TRY (~$10 CAD). The exchange rate was definitely in our favour on this trip.</p>

<p>As we approach the our destination, we begin to notice hundreds of little caves along the road. These caves are believed to date back to the 7-8th centuries.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/7-mountain-caves.jpg" alt="Kebab and Chicken" /></p>

<p>We finally arrive in the town of Uçhisar.</p>

<p>While many people assume Kapadokya is a city, it’s actually more of a region comprised of valleys and small towns you can drive through.</p>

<p>Uçhisar Castle.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/8-kapadokya.jpg" alt="Uçhisar Castle" /></p>

<p>A distinctive feature of the region are these “fairy chimney” rock clusters, shaped by centuries of volcanic activity and erosion in the region. It’s quite an otherworldly landscape.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/9-caves-from-castle.jpg" alt="Fairy chimneys as seen from Uçhisar Castle" /></p>

<p>Many people like to take the hot air balloons up and see the valley from the skies. Today, it was too windy to do so.</p>

<p>It’s also the down seasons so not many tourists to be seen.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/10-balloon.jpg" alt="Hot air balloon" /></p>

<p>We instead opt to go hike down to the valley of <a href="https://en.wikipedia.org/wiki/G%C3%B6reme_National_Park">Göreme National Park</a> and explore its many scattered caves.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/11-climbing-cave.jpg" alt="Getting in some of these was a bit difficult" /></p>

<p>This one was an old (defaced) Christian church. Notice the face of Jesus scratched off and the faded red cross.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/33-defaced-church.jpg" alt="Defaced cave church walls" /></p>

<p>Here’s a cave church in much better condition, at the time of our visit it was being renovated.</p>

<p>These caves were used to hide from invaders by the ancient christian communities in the area.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/12-church-cave-2.jpg" alt="Cave church in much better condition" /></p>

<p>We continue exploring the valley.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/13-landscape-valley.jpg" alt="Other worldly scene" /></p>

<p>From the ancient Hittite civilization to the early Christians seeking refuge in its caves, Kapadokya has been a crossroads of cultures and a canvas for human resilience. The layers of history are woven into every stone, making it a place where the past feels alive.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/14-landscape.jpg" alt="In the valley near Uçhisar" /></p>

<p>After some technical mishaps, we finally meet up with some friends and had dinner in Göreme.</p>

<p>Turns out there’s a lot more of them than can fit in our little Fiat,</p>

<p>we make it work.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/15-boys.jpeg" alt="Way too many guys in the back" /></p>

<p>We drive up to Kayseri and drop off our friends at the Kayseri airport.</p>

<p>Afterwards, we decide to spend the night in Kayseri and check in at the Radisson Blu Hotel.</p>

<p>We mostly chose this hotel because it features a Turkish hammam, a public bath.</p>

<p>Much needed after a long day of exploring.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/16-spa.jpg" alt="The turkish bath at the hotel" /></p>

<h1 id="day-2---kayseri-derinkuyu--adana">Day 2 - Kayseri, Derinkuyu &amp; Adana</h1>

<p>We wake up to a beautiful winter morning in the city of Kayseri. It looks like a typical large Turkish city with tons of similar large apartment buildings in grids.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/17-morning-kayseri.jpeg" alt="Your typical Turkish city" /></p>

<p>As we hit the town square, retired men are drinking Cay (Tea) and playing backgammon.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/18-backgammon-tea.jpg" alt="Backgammon and tea" />
<img src="/assets/img/article_imgs/turkey-roadtrip/27-pigeons.jpg" alt="Pigeons around the city center" /></p>

<p>We go for a simple turkish breakfast. Some Sucuklu Tost (Grilled cheese and turkish sausage) and Cay.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/19-breakfast.jpg" alt="Simple and delicious" /></p>

<p>Turkish people drink lots of tea.</p>

<p>In Kayseri, a special variety we noticed many drinking is Oralet. A fruit flavoured tea.</p>

<p>This one is Watermelon and Strawberry.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/20-oralet.jpeg" alt="Oralet" /></p>

<p>Looking to see what Kayseri has to offer in our limited time here, we go explore the Kayseri castle, dating back to 238 AD.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/21-kayseri-castle.jpg" alt="Kayseri Castle walls" /></p>

<p>An Ottoman map of Kayseri on display in Kayseri Castle, showcasing the castle (bottom) and surrounding landscape</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/22-kayseri-map.jpeg" alt="Ottoman map of Kayseri showing the castle (bottom) and surrounding landscape" /></p>

<p>Kayseri Castle has had many ups and downs throughout its history. It underwent several phases of abandonment, transformations into slum settlements, and even internal demolitions to clear the slum encampments.</p>

<p>However, in 2016, with the availability of funding, a restoration project was initiated. This initiative led to the restoration of the castle’s structural integrity and transformed it into a touristic attraction featuring a museum and artisanal shops.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/23-kayseri-inside.jpg" alt="Inside of Kayseri castle" /></p>

<p>An Ottoman Ney maker inside the castle. Thr Ney is a type of flute.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/24-ney.jpg" alt="Traditional Ney maker inside Kayseri Castle" /></p>

<p>Before leaving Kayseri, we stop by a cured meat shop to pickup the local specialty, Pastırma.</p>

<p>A spiced cured meat.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/25-basturma.jpg" alt="Pastırma" /></p>

<p>On the itinerary for today is the underground city of Derinkuyu.</p>

<p>We hit the road yet again, taking a scenic mountainous route.</p>

<p>We catch a breathtaking glimpse of <a href="https://en.wikipedia.org/wiki/Mount_Erciyes">Mount Erciyes</a>, elevation 3,917m.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/26-mount-erciyes.jpg" alt="Mount Erciyes in the background" /></p>

<p>The weather was perfect with clear skies, high visibility, and beautiful views.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/29-road.jpg" alt="Valley road" /></p>

<p>View of the valley from up top.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/28-valley.jpg" alt="View of the valley from up top" /></p>

<p>As we get closer to Derinkuyu we start to notice thousands of caves nestled alongside the hills.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/30-caves.jpg" alt="Little caves and homes along the hill" /></p>

<p>This region felt a bit eery as we hardly saw anyone in sight.</p>

<p>These homes built into the hill we suspect were abandoned not too long ago.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/31-caves.jpg" alt="More homes built into the hill" /></p>

<p>Arrived.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/32-derinkuyu.jpg" alt="Derinkuyu Underground City" /></p>

<p>Carved beneath the Kapadokya landscapes we’ve seen so far is a series of underground cities.</p>

<p>Derinkuyu Underground City is the largest one discovered yet.</p>

<p>A marvel of ancient engineering and dating back to the 7-8th centuries AD, this subterranean city was created to shelter thousands from invasions and persecution.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/34-derinkuyu.jpg" alt="Stairs" /></p>

<p>It extends over eight levels and ~85 metres deep.</p>

<p>This shaft is part of the system which ensures air circulation throughout the city.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/35-air-hole.jpeg" alt="air shaft" /></p>

<p>Historians believe the city was inhabited by up to 20,000 residents, which means it had full infrastructure to support living such as churches, stables, kitchens, and even this school.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/36-school.jpg" alt="School" /></p>

<p>Seriously interesting.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/37-underground.jpg" alt="shot of the boys" /></p>

<p>We make it up back to civilization and head to our next destination, hoping to make it there at a reasonable hour.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/38-road.jpg" alt="road" /></p>

<p>Along the highway we encounter a major road accident. A semi flipped over and its cargo was dumped all over the road. The entire highway was backed up.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/39-highway.jpg" alt="road accident" /></p>

<p>We assumed we’d be stuck waiting for hours considering we’re in the middle of nowhere.</p>

<p>To our surprise, road crews came in, cleaned up the roads, towed away the semi, and opened the highway again within only 20-30mins of waiting.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/40-highway.jpg" alt="highway crews" /></p>

<p>It’s clear this country puts a lot of emphasis on clean, operational highway roads.</p>

<p>We’re welcomed to Adana by the Sabancı Central Mosque at 7:30pm.</p>

<p>It’s one of the largest mosques in Turkey with 6 towering minarets.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/41-mosque.jpg" alt="mosque" /></p>

<p>Our arrival in Adana marks the beginning to the end of our trip. We rest up after an eventful day.</p>

<h1 id="day-3">Day 3</h1>

<p>Friday morning in Adana means it’s time to go for Friday prayers. We know exactly which mosque to go to.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/42-mosque.jpg" alt="mosque" /></p>

<p>The grand size of the mosque makes it humbling to be inside.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/43-mosque.jpg" alt="mosque" /></p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/44-mosque.jpg" alt="mosque" /></p>

<p>After prayer, we go for a traditional turkish breakfast. Delicious.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/45-breakfast.jpg" alt="breakfast" /></p>

<p>After breakfast we head out to see the Seyhan Dam Lake. A recreational area in Adana with plenty of restaurants and activities to do around.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/46-seyhan.jpg" alt="Seyhan Dam" /></p>

<p>We enjoy some sahlep by the lake. A hot, floral, milky dessert topped with cinnamon and nuts. Perfect in the winter.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/47-sahlep.jpg" alt="Sahlep" /></p>

<p>We head out back towards Mersin and the Mediterranean in the afternoon, wrapping up our coastal trip.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/48-road.jpg" alt="Road back to Mersin" /></p>

<p>and Mersin the next morning.</p>

<p><img src="/assets/img/article_imgs/turkey-roadtrip/49-mersin.jpg" alt="Mersin" /></p>

<p>And that wraps up our Anatolian adventure.</p>

<p>From fairy chimneys to underground cities, we’ve uncovered a unique piece of Turkey’s soul.</p>

<p>Thank you for joining me on this adventure, keep wandering and making memories! 🚗🌄</p>]]></content><author><name>Majd Alsado</name><email>majd@alsado.ca</email></author><category term="travel" /><summary type="html"><![CDATA[join me for a road trip in the heart of Anatolia, Türkiye where I explore Mersin, Adana, the underground cities of Derinkuyu, Kapadokya and Kayseri]]></summary></entry></feed>