mysite/public-clearnet/about/index.html

72 lines
No EOL
22 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!doctype html><html lang=en dir=auto><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name=robots content="noindex, nofollow"><title>About | AlipourIm journeys</title>
<meta name=keywords content><meta name=description content="Iman Alipour — PhD candidate at MPI-INF. Human-centered security & privacy, usable security, and security measurement. Loves CTFs, hiking, coffee experiments, and making everyday gadgets smart."><meta name=author content="Iman Alipour"><link rel=canonical href=https://blog.alipour.eu/about/><link crossorigin=anonymous href=/assets/css/stylesheet.31b150d909186c48d6dbbf653acc2489945fa9ac2c8f8cd3fe8448e89e40fccf.css integrity="sha256-MbFQ2QkYbEjW279lOswkiZRfqawsj4zT/oRI6J5A/M8=" rel="preload stylesheet" as=style><link rel=icon href=https://blog.alipour.eu/favicon.ico><link rel=icon type=image/png sizes=16x16 href=https://blog.alipour.eu/favicon-16x16.png><link rel=icon type=image/png sizes=32x32 href=https://blog.alipour.eu/favicon-32x32.png><link rel=apple-touch-icon href=https://blog.alipour.eu/apple-touch-icon.png><link rel=mask-icon href=https://blog.alipour.eu/safari-pinned-tab.svg><meta name=theme-color content="#2e2e33"><meta name=msapplication-TileColor content="#2e2e33"><link rel=alternate type=application/rss+xml href=https://blog.alipour.eu/about/index.xml><link rel=alternate hreflang=en href=https://blog.alipour.eu/about/><noscript><style>#theme-toggle,.top-link{display:none}</style><style>@media(prefers-color-scheme:dark){:root{--theme:rgb(29, 30, 32);--entry:rgb(46, 46, 51);--primary:rgb(218, 218, 219);--secondary:rgb(155, 156, 157);--tertiary:rgb(65, 66, 68);--content:rgb(196, 196, 197);--code-block-bg:rgb(46, 46, 51);--code-bg:rgb(55, 56, 62);--border:rgb(51, 51, 51)}.list{background:var(--theme)}.list:not(.dark)::-webkit-scrollbar-track{background:0 0}.list:not(.dark)::-webkit-scrollbar-thumb{border-color:var(--theme)}}</style></noscript><script>(function(){window.goatcounter={endpoint:"/count"};const e=document.createElement("script");e.async=!0,e.src="/js/count.js",document.head.appendChild(e)})()</script><script>(function(){const s="",t=new Intl.NumberFormat,o="visit",i="visits";function a(e){document.readyState==="complete"||document.readyState==="interactive"?setTimeout(e,0):document.addEventListener("DOMContentLoaded",e)}function r(){try{return window.goatcounter&&window.goatcounter.get_data?window.goatcounter.get_data().p:location.pathname}catch{return location.pathname}}async function e(e,t){try{const o=new URLSearchParams({t:String(Date.now())});t&&o.set("start",t);const a=`${s}/counter/${encodeURIComponent(e)}.json?${o}`,n=await fetch(a,{credentials:"omit"});if(n.status===404)return 0;if(!n.ok)throw 0;const r=await n.json(),i=Number(String(r.count).replace(/,/g,""));return Number.isFinite(i)?i:0}catch{return null}}const n=e=>e===null?"—":`${t.format(e)} ${e===1?o:i}`;a(async function(){const s=document.querySelector(".post-single");if(s){const t=s.querySelector(".post-header .post-meta, .post-header .entry-meta, .post-meta"),o=await e(r());if(t){let e=t.querySelector(".post-views");e||(e=document.createElement("span"),e.className="post-views",t.appendChild(e)),e.textContent=n(o??0)}}const i=document.querySelectorAll("article.post-entry");await Promise.all(Array.from(i).map(async t=>{const s=t.querySelector(".entry-footer, .post-meta"),o=t.querySelector("a.entry-link, h2 a, .entry-title a");if(!s||!o)return;try{const i=new URL(o.getAttribute("href"),location.origin);if(i.origin!==location.origin)return;let t=s.querySelector(".post-views");t||(t=document.createElement("span"),t.className="post-views",s.appendChild(t)),t.textContent=n(await e(i.pathname)??0)}catch{}}));const o=document.getElementById("gc_site_visitors_week");if(o){const n=await e("TOTAL","week");o.textContent=n===null?"—":t.format(n)}})})()</script></head><body class=list id=top><script>localStorage.getItem("pref-theme")==="dark"?document.body.classList.add("dark"):localStorage.getItem("pref-theme")==="light"?document.body.classList.remove("dark"):window.matchMedia("(prefers-color-scheme: dark)").matches&&document.body.classList.add("dark")</script><header class=header><nav class=nav><div class=logo><a href=https://blog.alipour.eu/ accesskey=h title="AlipourIm journeys (Alt + H)">AlipourIm journeys</a><div class=logo-switches><button id=theme-toggle accesskey=t title="(Alt + T)" aria-label="Toggle theme"><svg id="moon" width="24" height="18" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"/></svg><svg id="sun" width="24" height="18" viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><circle cx="12" cy="12" r="5"/><line x1="12" y1="1" x2="12" y2="3"/><line x1="12" y1="21" x2="12" y2="23"/><line x1="4.22" y1="4.22" x2="5.64" y2="5.64"/><line x1="18.36" y1="18.36" x2="19.78" y2="19.78"/><line x1="1" y1="12" x2="3" y2="12"/><line x1="21" y1="12" x2="23" y2="12"/><line x1="4.22" y1="19.78" x2="5.64" y2="18.36"/><line x1="18.36" y1="5.64" x2="19.78" y2="4.22"/></svg></button></div></div><ul id=menu><li><a href=https://blog.alipour.eu/posts/ title=Posts><span>Posts</span></a></li><li><a href=https://blog.alipour.eu/phd_journey/ title=PhD_journey><span>PhD_journey</span></a></li><li><a href=https://blog.alipour.eu/about/ title=About><span class=active>About</span></a></li></ul></nav></header><main class=main><article class=post-single><header class=post-header><h1 class="post-title entry-hint-parent">About</h1><div class=post-description>Iman Alipour — PhD candidate at MPI-INF. Human-centered security & privacy, usable security, and security measurement. Loves CTFs, hiking, coffee experiments, and making everyday gadgets smart.</div></header><figure class=entry-cover><img loading=eager src=https://blog.alipour.eu/about/pfp.jpeg alt="Iman Alipour"></figure><div class=post-content><h1 id=hey-im-iman->Hey, Im Iman 👋<a hidden class=anchor aria-hidden=true href=#hey-im-iman->#</a></h1><p>Im a PhD candidate at the <strong>Max Planck Institute for Informatics (MPI-INF)</strong> in the <strong>Internet Architecture</strong> group. Im broadly fascinated by how people actually experience security and privacy online—and how we can design systems that protect them without asking for expert knowledge. My current work explores how emerging and existing technologies shape everyday users privacy and threaten their security, and how usable defenses can make a real difference.</p><p>I finished my <strong>B.Sc. in Computer Engineering</strong> at <strong>Sharif University of Technology</strong> in 2024, where I explored a mix of <strong>Machine Learning, Systems, Security, HCI, CPS, and IoT</strong>. For my bachelor thesis, I studied <strong>client selection in federated learning</strong> and proposed a reinforcement-learningbased method that balances <strong>accuracy, efficiency, and fairness</strong> while considering data quality and <strong>energy consumption</strong>.</p><h2 id=what-im-into-research>What Im into (research)<a hidden class=anchor aria-hidden=true href=#what-im-into-research>#</a></h2><ul><li><em><strong>Censorship Circumvention</strong></em></li><li><strong>Human-centered Security & Privacy</strong></li><li><strong>Usable Security</strong></li><li><strong>Security Measurement</strong></li><li><strong>Emerging technologies and their effects on user privacy</strong></li></ul><h2 id=a-few-things-ive-worked-on>A few things Ive worked on<a hidden class=anchor aria-hidden=true href=#a-few-things-ive-worked-on>#</a></h2><ul><li><strong>Federated learning client selection (B.Sc. thesis):</strong> A reinforcement-learning approach to optimize accuracy, efficiency, and fairness; accounts for end-user data quality and aims to reduce energy use.</li><li><strong>Security & privacy perceptions of messaging platforms in Iran:</strong> Investigated trust and distrust in local platforms, identified root causes, and contrasted Iranian vs. non-Iranian platforms.</li></ul><h2 id=hobbies--off-screen-life>Hobbies & off-screen life<a hidden class=anchor aria-hidden=true href=#hobbies--off-screen-life>#</a></h2><p>When Im not chasing down research questions, youll likely find me:</p><ul><li>🎧 <strong>Listening to music</strong> and 🧩 <strong>playing CTFs</strong></li><li>📰 <strong>Reading the news</strong> and keeping active—<strong>any sport is fair game</strong></li><li>🥾 <strong>Hiking</strong> and 🌄 <strong>sight-seeing</strong></li><li><strong>Experimenting with coffee</strong> and 🍳 <strong>cooking</strong></li><li>🎲 <strong>Playing board games</strong></li><li>🔧 <strong>Fiddling with electronics</strong>: making everyday tools <strong>smart</strong> and remotely controllable with <strong>micro-controllers</strong>, sensors, and actuators</li><li>📚 <strong>Reading books</strong> and happily getting lost in <strong>math & physics</strong> problems</li></ul><h2 id=quick-timeline>Quick timeline<a hidden class=anchor aria-hidden=true href=#quick-timeline>#</a></h2><ul><li><strong>Aug 2024 present:</strong> PhD candidate, MPI-INF, Internet Architecture group (Saarbrücken, Germany)</li><li><strong>Jun 2023 Jul 2024:</strong> Volunteer remote Research Assistant, InSPIRe Lab, Duke University</li><li><strong>Sep 2023 Feb 2024:</strong> Volunteer Research Assistant, CPS Lab, Sharif University of Technology</li><li><strong>Feb 2023 Sep 2023:</strong> Volunteer Research Assistant, RADIAN Lab, Sharif University of Technology</li><li><strong>Jul 2022 Sep 2022:</strong> Summer Intern, Rasta Scientific Group</li></ul><h2 id=teaching-ive-helped-with>Teaching Ive helped with<a hidden class=anchor aria-hidden=true href=#teaching-ive-helped-with>#</a></h2><p>Advanced Programming (2021) · Probabilities & Statistics (2022) · Operating Systems (2023) · Embedded Systems (2023) · Computer Simulation (two offerings, 2023)</p><h2 id=honors>Honors<a hidden class=anchor aria-hidden=true href=#honors>#</a></h2><ul><li>Silver medal, <strong>Paya Math & Physics League</strong> — Tehran, Iran (Sep 2017)</li><li><strong>2nd place</strong>, Water Rocket Design Competition — Isfahans Math House (Sep 2015)</li></ul><h2 id=contact>Contact<a hidden class=anchor aria-hidden=true href=#contact>#</a></h2><p>Max-Planck-Institut für Informatik<br>Saarland Informatics Campus — <strong>Campus E1 4</strong>, 66123 Saarbrücken<br><strong>Office:</strong> E1 4 514 · <strong>Phone:</strong> +49 681 9325 3548</p><hr><h2 id=links>Links<a hidden class=anchor aria-hidden=true href=#links>#</a></h2><ul><li>🔗 <strong>LinkedIn:</strong> <a href=https://de.linkedin.com/in/iman-alipour-b9234723a>https://de.linkedin.com/in/iman-alipour-b9234723a</a></li><li>🐙 <strong>GitHub:</strong> <a href=https://github.com/AlipourIm>https://github.com/AlipourIm</a></li><li>🧩 <strong>TryHackMe:</strong> <a href=https://tryhackme.com/p/curiousNF>https://tryhackme.com/p/curiousNF</a></li><li>💼 <strong>Work page:</strong> <a href=https://www.mpi-inf.mpg.de/departments/inet/people/iman-alipour>https://www.mpi-inf.mpg.de/departments/inet/people/iman-alipour</a></li><li>🔑 <strong>OpenPGP public key (download):</strong> <a href=/keys/iman-alipour-pgp.asc>pgp_public_key</a></li></ul><h2 id=openpgp>OpenPGP<a hidden class=anchor aria-hidden=true href=#openpgp>#</a></h2><p><strong>Fingerprint:</strong> <code>55A2 A5DE 8479 2BAC C6CA EE3F B588 2850 E04C 8D2A</code></p><details><summary>Show ASCII-armored key</summary><pre style=font-size:.85em;overflow-x:auto;padding:.75rem>-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGc9jFUBEADCXf0isAbrJSKp8tH0qF2OuCRSWuYcPyAuOUg1NCbzNhce6QML
EFxafaD6THeJZ0XUEh5o5BaCnDaWRUHq495Z84Y/7cU5HGsrYDARs&#43;zUVXiJap1E
5xMeFCPDIa0/ItaoMLpLJWeor11UG/Fs&#43;fDoeQhWIYIKfab84fXjMvdq9v6MWs4L
rv0/xLZocU/rHjhc2409UMtpPlnI3C1ZbuBEAYJo/rMVKks&#43;Kp&#43;N2VnoyiaNW7O0
O5TwObRz/Q7r0AP5WCvL/NrDwO1C7An8u827bIMh1gZKTZ4&#43;XGVJApW7j20abm&#43;r
zk7k4CSUoB3rut020I3&#43;GJtJmk2Wf&#43;vb0y8Jimmzf6jfEP7knRwVTF6IdwW23ZGr
RizS5xuxqQqHPAF7Js2lTEONhM6Zi&#43;pvuqbGI2J9VGJg/Q8PhA26dKbY1HDprIId
qBzQnsHZ8YTEACloRNwCysM&#43;x1snqZPMZdjXMUpEVXIlBbwXOFpkpZnz/uaPReOI
tg2fOb9pui1wCy4PDBmog3FshD&#43;fzF1E3FK/0tCVGXujbGqw7aFUQMxF4O0Ikt9E
NC1aOlUZIlo9hcDL3tN/QZHzOHEWGE6SnNTtnNMfbU6zxYcjG0EaGxkAGGkH2kQQ
qKCjDexannAjUmSdsql0uB0qeSGsTOPvx&#43;LlLLjWiukXEZRNlr3/6BEfGQARAQAB
tCZJbWFuIEFsaXBvdXIgPGltYW4uYWxpcDIwMDFAZ21haWwuY29tPokCRwQTAQgA
MRYhBFWipd6EeSusxsruP7WIKFDgTI0qBQJnPYxWAhsDBAsJCAcFFQgJCgsFFgID
AQAACgkQtYgoUOBMjSoOaw//dco0eCc1FAChHlMpPC9R06Y2ihfCYD7F6VfqoosU
WBM0b/wxPrbUVSu5quW038nnr1Q&#43;yOK&#43;fWSHxDicIVEgmEgX3NhXFRSt6tRH5FSC
7kaW0KxAx7JsZs4uZ0dCVXf8txAaLs5W3L0VmkiLNintWWCNV7QWDvrn7mg&#43;lzuv
4A8dy0BeARoYq9462J4SCyqnWLr80UHAgQ1StzhReBK8oEdLQ5VyXBXDZzL7i/W6
XXQqekle1npMGpUF9ICwU7Tgt0vWGMmfnAaJIq3qkHhyj7PkXASpe8dAWphUV3Aw
t01Hi6/B25P1&#43;Yx7s8zU6qSjRqeNSih7cY1MfSintF/YK/WJo1PjNRUzPL0QwS2B
2dA&#43;QHLKq2pzRTf29cvKE8frgHl5xnfWGrVmHs4JyS4x5Y7JkOMNU1bWTMehkVCJ
HtWJEnTy&#43;4ya392qfzWSdKm&#43;GJMkxPjyQeK/PhTwV&#43;jmIfZ&#43;8BUMyDN&#43;WvSb8/B&#43;
BbV88HAtxPvloswPk/YhAcuutBq6SeZSePQuCGUqtuEJkw22rXjxy5edskrJAGNh
cGhH5cfXa7AQhe4BKwCs4nNSiZryfUFtJ0q2FuWFg0b6gBzFMvWiDOAF&#43;z7p0Uav
jT4TeT1I0bclhWJIYb4tCqCd0USWXNbSt5P8DnbkVA5kZvxxSDXCeFUZNl9mvgc&#43;
PU65Ag0EZz2MVgEQAOGsXC1MrVeKCKFd3RVZHGy8WmcuMiN&#43;iT3&#43;/T1VcXUO7vGk
GQIkpYmJnxJkgmJp2VsRTL&#43;Ie/sScPg75UIyc/VsmUCsbEiiYNy/9/g9/8OAhqMV
BYBEook6t2jnK1&#43;2Qf71VlZNYVFHTbCDAhwkDTgd0xSPjB7Yp6OvywQhqv62ja2y
FTQk0pGukuyGCCzwZx&#43;uGykv3LluLbKwBqpfbvDHdptb2/etsTAra4kGV3qYbePI
EreTHN8OcboDzsIs2cnphU0tdeZEUqmc5QHIGlCve/pieGnOp7ccWwfwQQAxaJh&#43;
2gcEwoyCWY8uRwDPrgIc/oqEkK5rGU1hfin7UPkl7Ow0EdEVxhQBSYLh3UhupZxS
/4Dob0aTpR8rjlC0Wz8IPR5XJl9rdon4Cgi6W7XwVcuE1/1NVCraoRT2BQGTiwIm
3ICHmQZmN1NiO211IyDDEI/eKHBAjm0Fn6D&#43;LOvePUaKxmY6kAlpjnpHIOX98hPN
0uvZUreefviiyheBOEUh9lln3uRaNlCqVrPoJV2vyx/hGyk9tjGA3vZpfSmDnOXy
ukLpVX9SukT6W6jEjL5Wc2DH9BfY63vVvDWxODueWExJ6CIerZvkmWV/k/rQqsqY
DAhRR0dixoRLy&#43;7i5oaP8duOOnbubBDD9bO8b8GsrgtkNc8oAFdhrpTUlAG9ABEB
AAGJAjYEGAEIACAWIQRVoqXehHkrrMbK7j&#43;1iChQ4EyNKgUCZz2MVwIbDAAKCRC1
iChQ4EyNKonED/4uixRWRcL&#43;Uh9gj4s5bJ8WKYoQFZmaI/kc6DqT/9&#43;d3nalYCzp
l8H9TFyuNsOi0DEOwQXp/maBVsELZInbVrxiNb6F7jPNNjYSXAJViLarmxc0u0Th
yujCN6cgZFqhxynkEV6&#43;VqBIy7beeIDCIfinups6G94mSqG5CqwRDBCytF/P3XIG
U6yOoPJUOgVsmc4wGT5k0EKSOlJ/lU4nQM5oCY5y6AbkampAPQpth07ucS7ld2aC
N5xyaL/P8R4FOurGthF1zL9dDUl9xRcOuxobn&#43;wJgy8/8wZ/X786/unHeH5Q/Vni
hpxHrRUCI&#43;4R2nJtA9LMcDH1MkPJW0gT2RBDnLJuQaVQhu374snFXv0mI52gYVEI
4bipi0Mzc4YixSElgX0ZJWVB0Xsv4e18B/jfGYtjEF1v/fEOzy&#43;qiBNke1LFfRrP
akRHlREXU&#43;d8LV2oWS52XPkHSruG7l30uocejjiIa1kLm6neeQ&#43;uz9JmAiHw4pEV
WWwlf4AVvy2kpk/TomFl83Nen/NOi7FzPw6N4VJe1fimfRRPetOx3jnZrLScYUWp
G81NTYbFbQPXQb823dC2UJRxLiZxMhqAKj3J7nXJg2Krk8ahUmre7xFTY/wvepOQ
uOF&#43;1xz2LXDeGUiH9IXqrbfx&#43;nWlznKYr86EHF&#43;&#43;hTxlV6dr6iELr8XFEg==
=mAs8
-----END PGP PUBLIC KEY BLOCK-----
</pre></details><h3 id=verify-a-post>Verify a post<a hidden class=anchor aria-hidden=true href=#verify-a-post>#</a></h3><ol><li>Import my key once:<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl -O https://blog.alipourimjourneys.ir/keys/iman-alipour-pgp.asc
</span></span><span style=display:flex><span>gpg --import iman-alipour-pgp.asc
</span></span></code></pre></div></li><li>Download the post and its signature (each post links them):<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>curl -O https://blog.alipourimjourneys.ir/sources/posts/hello-world.md
</span></span><span style=display:flex><span>curl -O https://blog.alipourimjourneys.ir/sources/posts/hello-world.md.asc
</span></span></code></pre></div></li><li>Verify:<div class=highlight><pre tabindex=0 style=color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4><code class=language-bash data-lang=bash><span style=display:flex><span>gpg --verify hello-world.md.asc hello-world.md
</span></span></code></pre></div></li></ol><hr><div class=signature-block style=margin-top:1rem><p><strong>Downloads:</strong>
<a href=/sources/about.md>Markdown</a> ·
<a href=/sources/about.md.asc>Signature (.asc)</a></p><p><em>Verify locally:</em></p><pre style=font-size:.85em;overflow-x:auto;padding:.75rem>curl -fSLO https://blog.alipour.eu/sources/about.md
curl -fSLO https://blog.alipour.eu/sources/about.md.asc
gpg --verify about.md.asc about.md
</pre></div></div><footer class=post-footer><ul class=post-tags></ul></footer><div class=comments-switch style="display:flex;gap:.5rem;margin:.5rem 0 1rem"><button id=btn-isso type=button aria-pressed=true>Anonymous (Isso)</button>
<button id=btn-giscus type=button aria-pressed=false>GitHub (Giscus)</button>
<a href=https://github.com/AlipourIm/blog-comments/discussions/categories/comments target=_blank rel=noopener>Open on GitHub ↗</a></div><div id=panel-giscus style=display:none><section id=giscus-thread></section></div><div id=panel-isso><section id=isso-thread data-isso-id=/about/ data-title=About><noscript>Javascript needs to be activated to view comments.</noscript></section><script src=/isso/js/embed.min.js data-isso=/isso/ data-isso-css=false data-isso-lang=en data-isso-max-comments-nested=5 data-isso-sorting=newest async></script><small class=isso-powered style="display:block;margin:.5rem 0;color:var(--secondary,#888)">Comments powered by <a href=https://isso-comments.de target=_blank rel=noopener>Isso</a></small></div><script>(function(){var i=document.getElementById("panel-isso"),a=document.getElementById("panel-giscus"),e=document.getElementById("btn-isso"),t=document.getElementById("btn-giscus"),s=!1;function r(){if(n=localStorage.getItem("pref-theme"),n==="dark")return!0;if(n==="light")return!1;var n,e=document.documentElement,t=document.body;return!!(e.classList&&e.classList.contains("dark")||t.classList&&t.classList.contains("dark")||e.getAttribute("data-theme")==="dark"||t.getAttribute("data-theme")==="dark"||e.classList&&e.classList.contains("theme-dark")||t.classList&&t.classList.contains("theme-dark"))||window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches}function o(){return r()?"dark_dimmed":"noborder_light"}function c(){if(s)return;var t,n,e=document.createElement("script");e.src="https://giscus.app/client.js",e.async=!0,e.crossOrigin="anonymous",e.setAttribute("data-repo","AlipourIm/blog-comments"),e.setAttribute("data-repo-id","R_kgDOQGARyA"),e.setAttribute("data-category","Comments"),e.setAttribute("data-category-id","DIC_kwDOQGARyM4Cw3x-"),e.setAttribute("data-mapping","pathname"),e.setAttribute("data-strict","0"),e.setAttribute("data-reactions-enabled","1"),e.setAttribute("data-emit-metadata","0"),e.setAttribute("data-input-position","bottom"),e.setAttribute("data-lang","en"),e.setAttribute("data-theme",o()),document.getElementById("giscus-thread").appendChild(e);function i(){var e=document.querySelector("iframe.giscus-frame");e&&e.contentWindow&&e.contentWindow.postMessage({giscus:{setConfig:{theme:o()}}},"https://giscus.app")}t=document.getElementById("theme-toggle"),t&&t.addEventListener("click",function(){setTimeout(i,0)}),n=new MutationObserver(function(){i()}),n.observe(document.documentElement,{attributes:!0,attributeFilter:["class","data-theme"]}),n.observe(document.body,{attributes:!0,attributeFilter:["class","data-theme"]}),s=!0}function n(n){var s=n==="isso";i.style.display=s?"block":"none",a.style.display=s?"none":"block",e&&e.setAttribute("aria-pressed",s?"true":"false"),t&&t.setAttribute("aria-pressed",s?"false":"true"),s||c()}e&&e.addEventListener("click",function(e){e.preventDefault(),n("isso")}),t&&t.addEventListener("click",function(e){e.preventDefault(),n("giscus")}),n("isso")})()</script></article></main><footer class=footer><span>&copy; 2026 <a href=https://blog.alipour.eu/>AlipourIm journeys</a></span> ·
<span>Powered by
<a href=https://gohugo.io/ rel="noopener noreferrer" target=_blank>Hugo</a> &
<a href=https://github.com/adityatelange/hugo-PaperMod/ rel=noopener target=_blank>PaperMod</a></span></footer><a href=#top aria-label="go to top" title="Go to Top (Alt + G)" class=top-link id=top-link accesskey=g><svg viewBox="0 0 12 6" fill="currentcolor"><path d="M12 6H0l6-6z"/></svg>
</a><script src=/isso/js/count.min.js data-isso=/isso async></script><div class=site-meta-row style=display:flex;align-items:center;gap:.75rem;flex-wrap:wrap><a href=/index.xml rel=alternate type=application/rss+xml title=RSS class=rss-link style=display:inline-flex;align-items:center;gap:.35rem><svg viewBox="0 0 24 24" fill="none" stroke="currentcolor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M4 11a9 9 0 019 9"/><path d="M4 4a16 16 0 0116 16"/><circle cx="5" cy="19" r="1"/></svg>
<span>RSS</span>
</a><span aria-hidden=true>·</span>
<span>Visitors this week: <span id=gc_site_visitors_week></span></span></div><script>let menu=document.getElementById("menu");menu&&(menu.scrollLeft=localStorage.getItem("menu-scroll-position"),menu.onscroll=function(){localStorage.setItem("menu-scroll-position",menu.scrollLeft)}),document.querySelectorAll('a[href^="#"]').forEach(e=>{e.addEventListener("click",function(e){e.preventDefault();var t=this.getAttribute("href").substr(1);window.matchMedia("(prefers-reduced-motion: reduce)").matches?document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView():document.querySelector(`[id='${decodeURIComponent(t)}']`).scrollIntoView({behavior:"smooth"}),t==="top"?history.replaceState(null,null," "):history.pushState(null,null,`#${t}`)})})</script><script>var mybutton=document.getElementById("top-link");window.onscroll=function(){document.body.scrollTop>800||document.documentElement.scrollTop>800?(mybutton.style.visibility="visible",mybutton.style.opacity="1"):(mybutton.style.visibility="hidden",mybutton.style.opacity="0")}</script><script>document.getElementById("theme-toggle").addEventListener("click",()=>{document.body.className.includes("dark")?(document.body.classList.remove("dark"),localStorage.setItem("pref-theme","light")):(document.body.classList.add("dark"),localStorage.setItem("pref-theme","dark"))})</script></body></html>