1<!DOCTYPE html> 2<html lang="en"> 3<head> 4<meta charset="utf-8"> 5<meta name="viewport" content="width=device-width, initial-scale=1"> 6<title>Ahmad Sofi-Mahmudi · choxos</title> 7<meta name="description" content="Ahmad Sofi-Mahmudi: dentist turned research methodologist and R developer. Evidence synthesis, indirect treatment comparisons, meta-research, open science, and GNU/Linux."> 8<meta name="author" content="Ahmad Sofi-Mahmudi"> 9<meta name="color-scheme" content="dark light"> 10<meta name="theme-color" content="#0b0d0c"> 11<meta property="og:type" content="profile"> 12<meta property="og:title" content="Ahmad Sofi-Mahmudi · choxos"> 13<meta property="og:description" content="R packages, evidence synthesis, meta-research, and open science tooling."> 14<meta property="og:url" content="https://choxos.github.io/"> 15<meta name="twitter:card" content="summary"> 16<meta name="twitter:site" content="@asofimahmudi"> 17<link rel="canonical" href="https://choxos.github.io/"> 18<link rel="icon" href="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Crect width='32' height='32' rx='6' fill='%230b0d0c'/%3E%3Ctext x='5' y='22' font-family='monospace' font-size='17' font-weight='700' fill='%23ffb454'%3E%3E_%3C/text%3E%3C/svg%3E"> 19<link rel="preconnect" href="https://fonts.googleapis.com"> 20<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> 21<link rel="stylesheet" href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:ital,wght@0,400;0,500;0,700;0,800;1,400&display=swap"> 22<link rel="stylesheet" href="css/style.css">
23<script> 24 // Apply the saved theme before first paint. 25 try { var t = localStorage.getItem('theme'); if (t) document.documentElement.dataset.theme = t; } catch (e) {} 26</script>
vendor: 1 bytes, line 26
26
27<script type="application/ld+json"> 28{ 29 "@context": "https://schema.org", 30 "@type": "Person", 31 "name": "Ahmad Sofi-Mahmudi", 32 "url": "https://choxos.github.io/", 33 "email": "mailto:[email protected]", 34 "jobTitle": "Research Associate, Comparative Effectiveness", 35 "worksFor": {"@type": "Organization", "name": "Cytel"}, 36 "alumniOf": [ 37 {"@type": "CollegeOrUniversity", "name": "McMaster University"}, 38 {"@type": "CollegeOrUniversity", "name": "Shahid Beheshti University of Medical Sciences"} 39 ], 40 "address": {"@type": "PostalAddress", "addressLocality": "Toronto", "addressRegion": "ON", "addressCountry": "CA"}, 41 "sameAs": [ 42 "https://github.com/choxos", 43 "https://orcid.org/0000-0001-6829-0823", 44 "https://scholar.google.com/citations?user=gTWPaFYAAAAJ", 45 "https://www.linkedin.com/in/asofimahmudi/", 46 "https://twitter.com/asofimahmudi", 47 "https://choxos.medium.com" 48 ] 49} 50</script>
50 51</head> 52<body> 53<a class="skip" href="#about">Skip to content</a> 54 55<!-- ============================== HERO ============================== --> 56<header class="hero" id="top"> 57 <div class="wrap"> 58 <p class="prompt" aria-hidden="true"><span class="ps1">ahmad@choxos</span><span class="ps-sep">:</span><span class="ps-path">~</span><span class="ps-dollar">$</span> <span id="typed">whoami</span><span class="cursor"></span></p> 59 <h1 class="name">Ahmad <br>Sofi‑Mahmudi<span class="blink">_</span></h1> 60 <p class="tagline">Dentist turned research methodologist. I write <b class="hl-r">R packages</b> for evidence synthesis, build <b class="hl-c">meta-research</b> pipelines that audit how open science really is, and ship interactive tools on <b class="hl-g">GNU/Linux</b>.</p> 61 62 <div class="hero-grid"> 63 <section class="win" aria-label="System summary"> 64 <div class="win-bar"><span class="dots"><i></i><i></i><i></i></span><span class="win-title">~ : neofetch</span></div> 65 <div class="neofetch"> 66<pre class="tooth" aria-hidden="true"> .-'''-. .-'''-. 67 / '-' \ 68 | | 69 | | 70 \ / 71 | | 72 | .---. | 73 | / \ | 74 \ | | / 75 '-' '-'</pre> 76 <dl class="nf"> 77 <div class="nf-head"><span class="k">ahmad</span>@<span class="k">choxos</span></div> 78 <div class="nf-rule" aria-hidden="true">-------------</div> 79 <div><dt>OS</dt><dd>GNU/Linux, since 2010</dd></div> 80 <div><dt>Host</dt><dd>Cytel · Comparative Effectiveness</dd></div> 81 <div><dt>Kernel</dt><dd>DDS 2019 · MSc HRM 2024</dd></div> 82 <div><dt>Uptime</dt><dd><span data-uptime>17</span> years of open source</dd></div> 83 <div><dt>Packages</dt><dd><span data-stat="cran">7</span> (cran), <span data-stat="dev">2</span> (dev), <span data-stat="repos">62</span> (git)</dd></div> 84 <div><dt>Shell</dt><dd>R · Stan · Python · Julia</dd></div> 85 <div><dt>Methods</dt><dd>NMA · MAIC · STC · ML-NMR</dd></div> 86 <div><dt>Citations</dt><dd><span data-stat="citations">5,225</span> · h <span data-stat="h">18</span> · i10 <span data-stat="i10">23</span></dd></div> 87 <div><dt>Locale</dt><dd>ku · fa · en_CA · fr</dd></div> 88 <div><dt>Location</dt><dd>Toronto, Canada</dd></div> 89 <div class="swatches" aria-hidden="true"><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i></div> 90 </dl> 91 </div> 92 </section> 93 94 <figure class="win net-win"> 95 <div class="win-bar"><span class="dots"><i></i><i></i><i></i></span><span class="win-title">evidence_network.R</span><button class="win-btn" id="net-shake" type="button" title="Perturb the network">jitter()</button></div> 96 <canvas id="net" aria-label="Interactive network of research topics. Node size shows how many papers and repositories mention a topic; edges show topics that appear together." role="img"></canvas> 97 <figcaption><b>Fig. 1.</b> My work as a network meta-analysis. Node area â papers + repos on a topic; edge width â co-occurrence. Fitted live from this site's data. Drag a node.</figcaption> 98 </figure> 99 </div> 100 101 <p class="hint">Press <kbd>`</kbd> for a real shell, <kbd>?</kbd> for keys, <kbd>1</kbd>â¦<kbd>8</kbd> to jump.</p> 102 </div> 103</header> 104 105<main> 106<!-- ============================== ABOUT ============================== --> 107<section id="about" class="sec"> 108 <div class="wrap"> 109 <div class="sec-head"> 110 <p class="cmd"><span class="ps-path">~</span><span class="ps-dollar">$</span> cat README.md</p> 111 <h2>About</h2> 112 </div> 113 <div class="about-grid"> 114 <article class="readme"> 115 <p class="md-h"># whoami</p> 116 <p>I trained as a dentist in Tehran, practiced as a community dentist in Kurdistan, and then followed the questions upstream: how do we know a treatment works, and can we trust the papers that say so? That took me to an MSc in Health Research Methodology at McMaster and into evidence synthesis for good.</p> 117 <p>Today I run pairwise and network meta-analyses and population-adjusted
117indirect treatment comparisons (MAIC, STC, ML-NMR) as a Research Associate in Comparative Effectiveness at <b>Cytel</b>. Outside the day job I turn methods into software: CRAN packages, open textbooks, and browser tools that anyone can rerun and audit.</p> 118 <p>I have used GNU/Linux since 2010, translated <i>A Byte of Python</i> into Persian in 2009, and have served Cochrane for most of a decade, from Cochrane Iran to the Cochrane Council.</p> 119 <p class="md-h">## current focus</p> 120 <ul class="md-list"> 121 <li>Population-adjusted indirect treatment comparisons and disconnected evidence networks</li> 122 <li>Target trial emulation and causal inference for real-world evidence</li> 123 <li>Research integrity tooling: retractions, citations, DOIs, and transparency indicators</li> 124 <li>Interactive teaching tools for anatomy, mathematics, and statistics</li> 125 </ul> 126 </article> 127 <aside class="principles"> 128 <p class="md-h">## research software should be</p> 129 <ol> 130 <li><b>Reproducible</b> enough for another analyst to rerun it.</li> 131 <li><b>Transparent</b> enough for a reviewer to audit it.</li> 132 <li><b>Documented</b> enough for a tired user to understand it.</li> 133 <li><b>Small and boring</b> where possible; cleverness is not a substitute for reliability.</li> 134 </ol> 135 <p class="motto">Open science over closed claims.<br>Reproducible code over screenshots.<br>Useful tools over vanity metrics.</p> 136 </aside> 137 </div> 138 </div> 139</section> 140 141<!-- ============================== PACKAGES ============================== --> 142<section id="packages" class="sec"> 143 <div class="wrap"> 144 <div class="sec-head"> 145 <p class="cmd"><span class="ps-path">~/r-pkgs</span><span class="ps-dollar">$</span> Rscript -e 'library(help = "choxos")'</p> 146 <h2>R packages</h2> 147 <p class="lede">On CRAN, documented with pkgdown, and tested. Indirect comparisons, responder analysis, and the plumbing of research integrity.</p> 148 </div> 149 <div class="console" id="install"> 150 <div class="console-bar"><span>R console</span><button class="copy" type="button" data-copy-from="install-code">copy</button></div> 151 <pre><code id="install-code"><span class="c-prompt">></span> install.packages(c(<span class="c-str">"mlumr"</span>, <span class="c-str">"respondeR"</span>, <span class="c-str">"retraction"</span>, <span class="c-str">"rfair"</span>, <span class="c-str">"rtransparency"</span>, <span class="c-str">"krt"</span>, <span class="c-str">"sysreqr"</span>))</code></pre> 152 </div> 153 <div class="pkg-grid" id="pkg-grid" aria-live="polite"></div> 154 155 <h3 class="sub">Shiny apps <span class="muted">· shinyapps.io</span></h3> 156 <ul class="apps"> 157 <li><a href="https://choxos.shinyapps.io/metanalysis/" target="_blank" rel="noopener"><b>metanalysis</b><span>A point and click app for all kinds of pairwise meta-analysis.</span></a></li> 158 <li><a href="https://choxos.shinyapps.io/RoB2/" target="_blank" rel="noopener"><b>RoB2</b><span>Risk of Bias 2 (RoB 2) assessment for randomized trials.</span></a></li> 159 <li><a href="https://choxos.shinyapps.io/responder_analysis/" target="_blank" rel="noopener"><b>responder_analysis</b><span>Impute responder proportions and risk differences from continuous data, four methods.</span></a></li> 160 <li><a href="https://choxos.shinyapps.io/meastimate/" target="_blank" rel="noopener"><b>meastimate</b><span>Impute means and SDs when extracting data for meta-analyses.</span></a></li> 161 </ul> 162 </div> 163</section> 164 165<!-- ============================== PLAYGROUND ============================== --> 166<section id="playground" class="sec"> 167 <div class="wrap"> 168 <div class="sec-head"> 169 <p class="cmd"><span class="ps-path">~/www</span><span class="ps-dollar">$</span> ls --live</p> 170 <h2>Playground</h2> 171 <p class="lede">Things you can open right now. No accounts, no backends; most of them fit the model in your browser.</p> 172 </div> 173 <div class="play-grid"> 174 <a class="play big" href="https://omfatlas.xera.ac" target="_blank" rel="noopener" style="--c:var(--amber)">
175 <span class="play-kind">3D atlas · WebGL</span> 176 <span class="play-name">OMF Atlas</span> 177 <span class="play-desc">Interactive 3D atlas of oral and maxillofacial anatomy for dental education: 643 BodyParts3D meshes plus 77 schematic nerves, vessels, glands, and sinuses fitted to the skull's own landmarks.</span> 178 <span class="play-foot"><span data-stars="OMFAtlas"></span>omfatlas.xera.ac â</span> 179 </a> 180 <a class="play big" href="https://choxos.github.io/Mathematics-of-ITC/" target="_blank" rel="noopener" style="--c:var(--purple)"> 181 <span class="play-kind">Textbook · Coq</span> 182 <span class="play-name">Mathematics of ITC</span> 183 <span class="play-desc">A graduate pure-mathematics textbook on indirect treatment comparisons, from linear algebra to MAIC, STC, and ML-NMR. Every result proved, with a machine-checked Coq companion.</span> 184 <span class="play-foot"><span data-stars="Mathematics-of-ITC"></span>read online â</span> 185 </a> 186 <a class="play" href="https://nmaviz.xera.ac" target="_blank" rel="noopener" style="--c:var(--cyan)"> 187 <span class="play-kind">Network meta-analysis</span> 188 <span class="play-name">NMAViz</span> 189 <span class="play-desc">Fits the graph-theoretical NMA model in your browser and draws the evidence eight ways: flow, contributions, a Hodge split of inconsistency, diffusion, and springs.</span> 190 <span class="play-foot">nmaviz.xera.ac â</span> 191 </a> 192 <a class="play" href="https://choxos.github.io/autometaresearch/" target="_blank" rel="noopener" style="--c:var(--green)"> 193 <span class="play-kind">Meta-research · LLM</span> 194 <span class="play-name">autometaresearch</span> 195 <span class="play-desc">Meta-research studies designed, run, and reviewed by language models, published in full: the search, the code, and the independent reviews.</span> 196 <span class="play-foot">read the studies â</span> 197 </a> 198 <a class="play" href="https://metacan.xera.ac" target="_blank" rel="noopener" style="--c:var(--red)"> 199 <span class="play-kind">Bibliometrics · bilingual</span> 200 <span class="play-name">MétaCan</span> 201 <span class="play-desc">A provenance-tracked map of Canadian metaresearch, with a reproducible pipeline and a bilingual web app.</span> 202 <span class="play-foot">metacan.xera.ac â</span> 203 </a> 204 <a class="play" href="https://catigraphy.xera.ac" target="_blank" rel="noopener" style="--c:var(--orange)"> 205 <span class="play-kind">CT atlas</span> 206 <span class="play-name">Catigraphy</span> 207 <span class="play-desc">An interactive CT atlas of the domestic cat, rebuilt from twelve published scans of one specimen. Rotate it, section it.</span> 208 <span class="play-foot">catigraphy.xera.ac â</span> 209 </a> 210 <a class="play" href="https://howthingswork.xera.ac" target="_blank" rel="noopener" style="--c:var(--cyan)"> 211 <span class="play-kind">3D lessons</span> 212 <span class="play-name">How Things Work</span> 213 <span class="play-desc">Walk a neighborhood of everyday machines, open them up, turn the controls, and follow the motion.</span> 214 <span class="play-foot">howthingswork.xera.ac â</span> 215 </a> 216 <a class="play" href="https://milleviz.xera.ac" target="_blank" rel="noopener" style="--c:var(--purple)"> 217 <span class="play-kind">Mathematics</span> 218 <span class="play-name">MilleViz</span> 219 <span class="play-desc">The seven Millennium Prize Problems, explained from the picture up, with figures that compute what they show.</span> 220 <span class="play-foot">milleviz.xera.ac â</span> 221 </a> 222 <a class="play" href="https://fracgen.xera.ac" target="_blank" rel="noopener" style="--c:var(--green)"> 223 <span class="play-kind">Generative art</span> 224 <span class="play-name">FracGen</span> 225 <span class="play-desc">Draw a line, move its points, and watch it become a fractal. Export an image or an animation.</span>
226 <span class="play-foot">fracgen.xera.ac â</span> 227 </a> 228 <a class="play" href="https://geowords.xera.ac" target="_blank" rel="noopener" style="--c:var(--amber)"> 229 <span class="play-kind">Etymology · globe</span> 230 <span class="play-name">Geography Words</span> 231 <span class="play-desc">English words with a place hidden inside. Search <i>denim</i> and the globe flies to Nîmes.</span> 232 <span class="play-foot">geowords.xera.ac â</span> 233 </a> 234 <a class="play" href="https://choxos.github.io/game-of-life/" target="_blank" rel="noopener" style="--c:var(--red)"> 235 <span class="play-kind">Life tables</span> 236 <span class="play-name">Game of Life</span> 237 <span class="play-desc">How much of your life is actually yours? Your remaining weeks from UN life tables, minus sleep, work, and commuting.</span> 238 <span class="play-foot">open â</span> 239 </a> 240 <a class="play" href="https://choxos.github.io/OralHealthBook/" target="_blank" rel="noopener" style="--c:var(--orange)"> 241 <span class="play-kind">Open book</span> 242 <span class="play-name">The Evidence Behind</span> 243 <span class="play-desc">An audit of the UK's <i>Delivering Better Oral Health</i>: does the evidence each recommendation cites answer the question it asks?</span> 244 <span class="play-foot">read â</span> 245 </a> 246 <a class="play" href="https://choxos.github.io/ITC-open-problems/" target="_blank" rel="noopener" style="--c:var(--cyan)"> 247 <span class="play-kind">Catalog</span> 248 <span class="play-name">Open problems in ITC</span> 249 <span class="play-desc">An audited catalog of unsolved methods problems in indirect comparisons, each with a verification verdict. It has a sibling for target trial emulation.</span> 250 <span class="play-foot">browse â</span> 251 </a> 252 </div> 253 </div> 254</section> 255 256<!-- ============================== PROJECTS ============================== --> 257<section id="projects" class="sec"> 258 <div class="wrap"> 259 <div class="sec-head"> 260 <p class="cmd"><span class="ps-path">~</span><span class="ps-dollar">$</span> gh repo list choxos --source</p> 261 <h2>Repositories</h2> 262 <p class="lede">Public repositories I authored (stubs without a README are skipped), freshest first. Filter by language or grep the descriptions and topics.</p> 263 </div> 264 <div class="toolbar"> 265 <label class="grep"><span class="ps-dollar">$</span> grep -i "<input id="repo-q" type="search" placeholder="stan, retraction, 3dâ¦" autocomplete="off" spellcheck="false" aria-label="Filter repositories">"</label> 266 <div class="chips" id="repo-langs" role="group" aria-label="Language filter"></div> 267 <div class="chips" role="group" aria-label="Sort"> 268 <button class="chip" type="button" data-sort="updated" aria-pressed="true">--sort=updated</button> 269 <button class="chip" type="button" data-sort="stars" aria-pressed="false">--sort=stars</button> 270 </div> 271 </div> 272 <div class="ls" id="repo-list" aria-live="polite"></div> 273 <button class="more" id="repo-more" type="button" hidden></button> 274 </div> 275</section> 276 277<!-- ============================== PAPERS ============================== --> 278<section id="papers" class="sec"> 279 <div class="wrap"> 280 <div class="sec-head"> 281 <p class="cmd"><span class="ps-path">~/papers</span><span class="ps-dollar">$</span> SELECT * FROM openalex WHERE author = 'A5075399321';</p> 282 <h2>Publications</h2> 283 <p class="lede">Refreshed from <a href="https://openalex.org/A5075399321" target="_blank" rel="noopener">OpenAlex</a>. Consortium papers (the Global Burden of Disease collaborations) are counted too, which is why the citations run high. Also on <a href="https://scholar.google.com/citations?user=gTWPaFYAAAAJ" target="_blank" rel="noopener">Google Scholar</a> and <a href="https://orcid.org/0000-0001-6829-0823" target="_blank" rel="noopener">ORCID</a>.</p> 284 </div> 285 286 <div class="stats" id="pub-stats"> 287 <div><b data-stat="citations">5,225</b><span>citations</span></div> 288 <div><b data-stat="h">18</b><span>h-index</span></div> 289 <div><b data-stat="i10">23</b><span>i10-index</span></div> 290 <div><b data-stat="works">69</b><span>papers & preprints</span></div> 291 <div><b data-stat="first">27</b><span>first-authored</span></div> 292 </div> 293 294 <figure class="spark"> 295 <div class="spark-bars" id="spark" role="img" aria-label="Papers per year"></div>
296 <figcaption>papers per year <span class="muted">· click a bar to filter</span></figcaption> 297 </figure> 298 299 <div class="tabs" role="tablist" aria-label="Output type"> 300 <button role="tab" class="tab" aria-selected="true" aria-controls="tab-papers" id="t-papers">papers</button> 301 <button role="tab" class="tab" aria-selected="false" aria-controls="tab-talks" id="t-talks" tabindex="-1">talks</button> 302 <button role="tab" class="tab" aria-selected="false" aria-controls="tab-books" id="t-books" tabindex="-1">books</button> 303 </div> 304 305 <div role="tabpanel" id="tab-papers" aria-labelledby="t-papers"> 306 <div class="toolbar"> 307 <label class="grep"><span class="ps-dollar">$</span> grep -i "<input id="pub-q" type="search" placeholder="meta-research, caries, migraineâ¦" autocomplete="off" spellcheck="false" aria-label="Filter publications">"</label> 308 <div class="chips" role="group" aria-label="Publication filter"> 309 <button class="chip" type="button" data-pf="all" aria-pressed="true">--all</button> 310 <button class="chip" type="button" data-pf="first" aria-pressed="false">--first-author</button> 311 <button class="chip" type="button" data-pf="cited" aria-pressed="false">--cited>=20</button> 312 <button class="chip" type="button" data-pf="preprint" aria-pressed="false">--preprints</button> 313 </div> 314 </div> 315 <p class="count" id="pub-count" aria-live="polite"></p> 316 <ol class="pubs" id="pub-list"></ol> 317 <button class="more" id="pub-more" type="button" hidden></button> 318 </div> 319 320 <div role="tabpanel" id="tab-talks" aria-labelledby="t-talks" hidden> 321 <ol class="pubs static"> 322 <li><span class="y">2026</span><div><p class="pt">Assessing the impact of missingness in treatment effect modifiers on bias in anchored and unanchored MAIC</p><p class="pm">ISPOR 2026 · <i>Value in Health</i> abstract MSR249</p></div></li> 323 <li><span class="y">2025</span><div><p class="pt">Retractions and Democracy Index scores across 167 countries</p><p class="pm">10th International Congress on Peer Review and Scientific Publication</p></div></li> 324 <li><span class="y">2024</span><div><p class="pt">Research transparency in 59 fields of medical and health sciences</p><p class="pm">2nd Global Evidence Summit, Prague</p></div></li> 325 <li><span class="y">2024</span><div><p class="pt">COVID-19-related research data availability and quality according to the FAIR principles</p><p class="pm">2nd Global Evidence Summit, Prague</p></div></li> 326 <li><span class="y">2024</span><div><p class="pt">Diversity in Cochrane Reviews authorship</p><p class="pm">2nd Global Evidence Summit, Prague</p></div></li> 327 <li><span class="y">2023</span><div><p class="pt">Transparency of COVID-19-related research</p><p class="pm">27th Cochrane Colloquium, London · HEI Research Day, McMaster</p></div></li> 328 <li><span class="y">2022</span><div><p class="pt">Open science practices in oral health research: implications and importance</p><p class="pm">5th Congress of the Iranian Association of Community Oral Health</p></div></li> 329 <li><span class="y">2019</span><div><p class="pt">Frequency and risk of bias of randomized controlled trials included in Cochrane Oral Health systematic reviews</p><p class="pm">26th Cochrane Colloquium, Santiago</p></div></li> 330 </ol> 331 </div> 332 333 <div role="tabpanel" id="tab-books" aria-labelledby="t-books" hidden> 334 <ol class="pubs static"> 335 <li><span class="y">2026</span><div><p class="pt"><a href="https://choxos.github.io/Mathematics-of-ITC/" target="_blank" rel="noopener">Mathematics of Indirect Treatment Comparisons</a></p><p class="pm">Open textbook, with a Coq companion</p></div></li> 336 <li><span class="y">2026</span><div><p class="pt"><a href="https://choxos.github.io/OralHealthBook/" target="_blank" rel="noopener">The Evidence Behind: what we actually know about looking after your teeth</a></p><p class="pm">Open book</p></div></li> 337 <li><span class="y">2021</span><div><p class="pt">Sugars and Dental Caries</p><p class="pm">Persian translation · Dandane, Tehran</p></div></li> 338 <li><span class="y">
3382021</span><div><p class="pt">Caries Prevention Partnership: Making Prevention a Priority</p><p class="pm">Persian translation · Dandane, Tehran</p></div></li> 339 <li><span class="y">2021</span><div><p class="pt">Oral Cancer: Prevention and Patient Management</p><p class="pm">Persian translation · Dandane, Tehran</p></div></li> 340 <li><span class="y">2020</span><div><p class="pt"><a href="https://fa.testingtreatments.org/book/" target="_blank" rel="noopener">Testing Treatments</a></p><p class="pm">Persian translation, with Bita Mesgarpour · Farhameh, Tehran</p></div></li> 341 <li><span class="y">2017</span><div><p class="pt"><a href="http://dahaan.ir/book" target="_blank" rel="noopener">Delivering Better Oral Health: an evidence-based toolkit for prevention</a></p><p class="pm">Persian translation · Dandane, Tehran</p></div></li> 342 <li><span class="y">2015</span><div><p class="pt"><a href="https://github.com/choxos/ubuntubook" target="_blank" rel="noopener">Ubuntu for Newbies</a></p><p class="pm">Persian, with Sasan Namirian and Nava Ajdari · Narmafzar, Tehran</p></div></li> 343 <li><span class="y">2009</span><div><p class="pt">A Byte of Python</p><p class="pm">Persian translation · Narmafzar, Tehran</p></div></li> 344 </ol> 345 </div> 346 </div> 347</section> 348 349<!-- ============================== RESUME ============================== --> 350<section id="resume" class="sec"> 351 <div class="wrap"> 352 <div class="sec-head"> 353 <p class="cmd"><span class="ps-path">~/cv</span><span class="ps-dollar">$</span> git log --graph --all --date=short</p> 354 <h2>Resume</h2> 355 <p class="lede">Three branches that keep merging: <span class="lane-key work">work</span> <span class="lane-key svc">service</span> <span class="lane-key edu">education</span>. <span class="no-print"><button class="linkish" type="button" id="print-cv">lp resume.pdf</button> prints a clean copy.</span></p> 356 </div> 357 358 <ol class="gitlog"> 359 <li class="c work head"> 360 <span class="hash">a7c3f10</span><span class="refs">(HEAD -> work)</span><span class="range">2024-04..HEAD</span> 361 <h3>Research Associate, Comparative Effectiveness</h3> 362 <p class="org">Cytel Inc. · remote</p> 363 <p>Pairwise and network meta-analyses and indirect treatment comparisons, including anchored and unanchored MAIC and STC and multilevel network meta-regression. Methods consulting for clients.</p> 364 </li> 365 <li class="c edu"> 366 <span class="hash">5e19b2d</span><span class="refs">(tag: v2.0-msc)</span><span class="range">2022-09..2024-08</span> 367 <h3>MSc, Health Research Methodology</h3> 368 <p class="org">McMaster University · Hamilton</p> 369 <p>Thesis: <a href="https://hdl.handle.net/11375/30210" target="_blank" rel="noopener">Identifying an optimal strategy for converting pain as a continuous outcome to a responder analysis</a>. It became the <code>respondeR</code> package.</p> 370 </li> 371 <li class="c work"> 372 <span class="hash">c40d8e1</span><span class="range">2022-10..2024-04</span> 373 <h3>Research Assistant</h3> 374 <p class="org">McMaster University · Hamilton</p> 375 <p>Led systematic reviews and network meta-analyses in pain and migraine, and methodological research on meta-analytic estimation.</p> 376 </li> 377 <li class="c work"> 378 <span class="hash">91fa2c7</span><span class="range">2022-09..2024-04</span> 379 <h3>Teaching Assistant</h3> 380 <p class="org">McMaster University · Hamilton</p> 381 <p>Population and Public Health Epidemiology (PUBHLTH 701), Strategic Writing for Health Professionals (HM 732), Epidemiology (LIFESCI 3G03), Introduction to Data Science (LIFESCI 3LA3).</p> 382 </li> 383 <li class="c work"> 384 <span class="hash">3b7e0a4</span><span class="range">2021-10..2022-08</span> 385 <h3>General Dental Practitioner</h3> 386 <p class="org">Kurdistan University of Medical Sciences · Seqiz</p> 387 <p>Named top community dentist in the network after coverage rose 22% and patient satisfaction rose 34%.</p> 388 </li> 389 <li class="c svc">
390 <span class="hash">d2e6c93</span><span class="refs">(svc)</span><span class="range">2021-09..HEAD</span> 391 <h3>Associate Editor</h3> 392 <p class="org">BioMed Central · BMC Oral Health, BMC Research Notes</p> 393 <p>Handled more than 15 manuscripts through to publication.</p> 394 </li> 395 <li class="c svc"> 396 <span class="hash">7f0b5aa</span><span class="range">2021-05..2023-12</span> 397 <h3>Representative for the Early Career Professionals Network</h3> 398 <p class="org">Cochrane Council · global</p> 399 <p>Brought the priorities of early career researchers, especially from low and middle income countries, into Cochrane's governance.</p> 400 </li> 401 <li class="c work"> 402 <span class="hash">e8a41d6</span><span class="range">2020-07..2021-09</span> 403 <h3>Research Assistant</h3> 404 <p class="org">Deputy of Research and Technology, Ministry of Health and Medical Education · Tehran</p> 405 <p>Designed and ran the oral health analysis of the PERSIAN cohort, the country's largest longitudinal dataset, to inform national policy.</p> 406 </li> 407 <li class="c svc"> 408 <span class="hash">60c2f19</span><span class="range">2019-07..HEAD</span> 409 <h3>Steering Group Member and Vice-chair</h3> 410 <p class="org">Cochrane Early Career Professionals Network · global</p> 411 <p>Started Cochrane's first fully automated diversity research, mapping country, region, language, and gender across review authorship.</p> 412 </li> 413 <li class="c work"> 414 <span class="hash">2ad9e70</span><span class="range">2019-06..2021-09</span> 415 <h3>Research Assistant</h3> 416 <p class="org">Non-Communicable Diseases Research Center, Tehran University of Medical Sciences</p> 417 <p>Quality of Care Index studies from the Global Burden of Disease, a national special care dentistry guideline, and the 2021 STEPS country report for Iran.</p> 418 </li> 419 <li class="c edu"> 420 <span class="hash">b61e4c2</span><span class="refs">(tag: v1.0-dds)</span><span class="range">2012-09..2019-06</span> 421 <h3>Doctor of Dental Surgery</h3> 422 <p class="org">Shahid Beheshti University of Medical Sciences · Tehran</p> 423 <p>Selected Student of the University (2018). Organized TEDxSBMU and TEDMEDLive SBMU. Founded Dahaan, a knowledge translation project for dental evidence.</p> 424 </li> 425 <li class="c svc"> 426 <span class="hash">f3d07b8</span><span class="range">2018-09..2021-08</span> 427 <h3>Steering Group Member and Translation Manager</h3> 428 <p class="org">Cochrane Iran · Tehran</p> 429 <p>Translated review summaries, books, news, and podcasts into Persian; ran the website and social channels.</p> 430 </li> 431 <li class="c svc root"> 432 <span class="hash">0c1a9d5</span><span class="range">2018-02..2022-08</span> 433 <h3>Translator</h3> 434 <p class="org">Informed Health Choices Network · Oslo</p> 435 <p>Translated <i>The Health Choices</i> book and the That's a Claim pamphlets into Persian and Kurdish; planned a trial of critical thinking about health claims in Iranian schools.</p> 436 </li> 437 </ol> 438 439 <div class="cv-grid"> 440 <div class="file"> 441 <div class="file-bar">DESCRIPTION</div> 442<pre><code><span class="k">Package:</span> ahmad 443<span class="k">Title:</span> Dentist Turned Research Methodologist 444 and R Developer 445<span class="k">Version:</span> 2026.9.0 446<span class="k">Authors@R:</span> person("Ahmad", "Sofi-Mahmudi", 447 role = c("aut", "cre"), 448 comment = c(ORCID = "0000-0001-6829-0823")) 449<span class="k">Depends:</span> R (advanced), Stan 450<span class="k">Imports:</span> Python, Julia, Stata, SPSS, SAS 451<span class="k">Suggests:</span> GNU/Linux, Bash, Zsh, LaTeX, 452 Quarto, R Markdown, Git, Tableau 453<span class="k">Methods:</span> pairwise MA, NMA, cNMA, MAIC, 454 STC, ML-NMR, ML-UMR, TTE, GRADE 455<span class="k">Language:</span> ku, fa (native); en (C1); 456 fr (A2) 457<span class="k">License:</span> CC BY 4.0</code></pre> 458 </div> 459 <div class="file"> 460 <div class="file-bar">NEWS.md</div> 461 <div class="news"> 462 <p class="md-h"># awards</p> 463 <ul> 464 <li><b>2021</b> Lifetime Member, International Society for Evolution, Medicine & Public Health</li> 465 <li><b>2019</b> Cochrane 30 Under 30</li> 466 <li><b>2017</b> First-ranked gold medalist, National Health System Management Olympiad, Iran</li> 467 <li><b>2012</b> Ranked 206th of 449,955 (top 0.05%) in Iran's national university entrance exam</li> 468 <li><b>2012</b> Ranked 57th of 10,908 (top 0.5%) in the foreign languages entrance exam</li> 469 <li><b>2010</b> Lifetime Member, Ubuntu GNU/Linux Iranian LoCo Team</li> 470 </ul> 471 <p class="md-h"># grants</p> 472 <ul> 473 <li><b>2022</b> NIMAD, Iran: Evidence Gaps in Dentistry, Phase 1 (co-investigator, USD 11,500)</li> 474 <li><b>2022</b> McMaster University Research Scholarship (CAD 19,400 per year, two years)</li> 475 <li><b>2023</b> McMaster HRM Visa Tuition Scholarship (CAD 6,000)</li> 476 <li><b>2023</b> McMaster Global Experience Award, Cochrane Colloquium London</li> 477 </ul> 478 </div> 479 </div> 480 </div> 481 </div> 482</section> 483 484<!-- ============================== WRITING ============================== --> 485<section id="writing" class="sec"> 486 <div class="wrap"> 487 <div class="sec-head"> 488 <p class="cmd"><span class="ps-path">~</span><span class="ps-dollar">$</span> curl -s choxos.medium.com/feed | xq</p> 489 <h2>Writing</h2> 490 <p class="lede">Essays on statistics, dentistry, and how research gets made, on <a href="https://choxos.medium.com" target="_blank" rel="noopener">Medium</a>.</p> 491 </div> 492 <ol class="posts" id="post-list" aria-live="polite"></ol> 493 </div> 494</section> 495 496<!-- ============================== CONTACT ============================== --> 497<section id="contact" class="sec"> 498 <div class="wrap"> 499 <div class="sec-head"> 500 <p class="cmd"><span class="ps-path">~</span><span class="ps-dollar">$</span> finger ahmad</p> 501 <h2>Contact</h2> 502 <p class="lede">Collaborations on evidence synthesis methods, R packages, or meta-research are always welcome.</p> 503 </div> 504 <div class="contact"> 505 <div class="mail"> 506 <code><span class="c-prompt">$</span> mail -s "hello" <a href="mailto:[email protected]">[email protected]</a></code> 507 <button class="copy" type="button" data-copy="[email protected]">copy</button> 508 </div> 509 <ul class="links"> 510 <li><a href="https://github.com/choxos" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true">
510<path fill="currentColor" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0016 8c0-4.42-3.58-8-8-8z"/></svg><span>github</span><em>choxos</em></a></li> 511 <li><a href="https://orcid.org/0000-0001-6829-0823" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="8" cy="8" r="7.5" fill="none" stroke="currentColor"/><path fill="currentColor" d="M5 6.2h1.1v5H5zM5.55 4.2a.65.65 0 110 1.3.65.65 0 010-1.3zM7.2 6.2h2c1.6 0 2.6 1 2.6 2.5s-1 2.5-2.6 2.5h-2zm1.1 1v3h.9c1 0 1.5-.6 1.5-1.5s-.5-1.5-1.5-1.5z"/></svg><span>orcid</span><em>0000-0001-6829-0823</em></a></li> 512 <li><a href="https://scholar.google.com/citations?user=gTWPaFYAAAAJ" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M8 1L0 6.5l3 2V12c0 1.7 2.2 3 5 3s5-1.3 5-3V8.5l1.5-1V12h1V6.5zm0 1.2l6.2 4.3L8 10.8 1.8 6.5zM4 9.2l4 2.8 4-2.8V12c0 1-1.7 2-4 2s-4-1-4-2z"/></svg><span>scholar</span><em>gTWPaFYAAAAJ</em></a></li> 513 <li><a href="https://www.linkedin.com/in/asofimahmudi/" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M0 1.15C0 .52.52 0 1.17 0h13.66C15.48 0 16 .52 16 1.15v13.7c0 .63-.52 1.15-1.17 1.15H1.17C.52 16 0 15.48 0 14.85zm4.95 12.24V6.17H2.55v7.22zM3.75 5.18c.84 0 1.36-.55 1.36-1.25-.02-.71-.52-1.25-1.35-1.25-.82 0-1.36.54-1.36 1.25 0 .7.52 1.25 1.33 1.25zm4.9 8.21V9.36c0-.22.02-.43.08-.58.17-.43.57-.88 1.23-.88.87 0 1.21.66 1.21 1.63v3.86h2.4V9.25c0-2.22-1.18-3.25-2.76-3.25-1.27 0-1.84.7-2.16 1.19v.02h-.01l.01-.02V6.17h-2.4c.03.68 0 7.22 0 7.22z"/></svg><span>linkedin</span><em>asofimahmudi</em></a></li> 514 <li><a href="https://twitter.com/asofimahmudi" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M12.6.75h2.45L9.7 6.87 16 15.25h-4.93l-3.86-5.05-4.42 5.05H.34l5.73-6.55L0 .75h5.06l3.49 4.62zm-.86 13.03h1.36L4.32 2.15H2.86z"/></svg><span>x</span><em>@asofimahmudi</em></a></li> 515 <li><a href="https://choxos.medium.com" target="_blank" rel="me noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><ellipse cx="4.5" cy="8" rx="4.5" ry="4.5" fill="currentColor"/><ellipse cx="11.6" cy="8" rx="2.2" ry="4.3" fill="currentColor"/><ellipse cx="15.1" cy="8" rx=".8" ry="3.9" fill="currentColor"/></svg><span>medium</span><em>choxos</em></a></li> 516 <li><a href="https://cran.r-project.org/web/checks/check_results_a.sofimahmudi_at_gmail.com.html" target="_blank" rel="noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><path fill="currentColor" d="M8 2C3.6 2 0 4.2 0 7c0 2.4 2.6 4.4 6.2 4.9V14h2.4v-2h1.8l1.4 2H15l-1.8-2.6C15 10.5 16 9 16 7c0-2.8-3.6-5-8-5zm0 1.6c3.3 0 6 1.5 6 3.4 0 1.2-1 2.2-2.6 2.8-.3-.6-.9-1-1.6-1H6.2v1.6C3.8 10 2 8.6 2 7c0-1.9 2.7-3.4 6-3.4zm.6 5.9h1.1c.4 0 .6.2.6.5s-.2.5-.6.5H8.6z"/></svg><span>cran</span><em>7 packages</em></a></li> 517 <li><a href="https://openalex.org/A5075399321" target="_blank" rel="noopener"><svg viewBox="0 0 16 16" aria-hidden="true"><circle cx="4" cy="4" r="2" fill="currentColor"/><circle cx="12" cy="5" r="2" fill="currentColor"/><circle cx="7" cy="12" r="2" fill="currentColor"/><path d="M4 4l8 1-5 7z" stroke="currentColor" fill="none"/></svg><span>openalex</span><em>A5075399321</em></a></li> 518 </ul> 519 </div> 520 </div> 521</section> 522</main> 523 524<footer class="foot"> 525 <div class="wrap"> 526 <p><span class="muted">#</span> Hand-written HTML, CSS, and vanilla JS. No frameworks, no analytics, no cookies.</p> 527 <p><span class="muted">#</span> Data refreshed <span data-stat="updated">2026-09-18</span> by <a href="https://github.com/choxos/choxos.github.io/blob/main/update_data.py" target="_blank" rel="noopener">update_data.py</a> from OpenAlex, GitHub, CRAN, and Medium.</p> 528 <p><span class="muted">#</span> © 2026 Ahmad Sofi-Mahmudi · <a href="https://github.com/choxos/choxos.github.io" target="_blank" rel="noopener">view source</a></p> 529 </div> 530</footer> 531 532<!-- tmux-style status bar navigation --> 533<nav class="tmux" aria-label="Sections"> 534 <span class="tmux-session">[choxos]</span>
535 <ol class="tmux-wins" id="tmux-wins"> 536 <li><a href="#top" data-win="top">0:~</a></li> 537 <li><a href="#about" data-win="about">1:about</a></li> 538 <li><a href="#packages" data-win="packages">2:packages</a></li> 539 <li><a href="#playground" data-win="playground">3:playground</a></li> 540 <li><a href="#projects" data-win="projects">4:repos</a></li> 541 <li><a href="#papers" data-win="papers">5:papers</a></li> 542 <li><a href="#resume" data-win="resume">6:resume</a></li> 543 <li><a href="#writing" data-win="writing">7:writing</a></li> 544 <li><a href="#contact" data-win="contact">8:contact</a></li> 545 </ol> 546 <span class="tmux-right"> 547 <button type="button" id="open-term" title="Open terminal (`)">>_</button> 548 <button type="button" id="theme-toggle" title="Toggle light and dark">theme</button> 549 <span class="clock" id="clock" title="Toronto time">--:--</span> 550 </span> 551</nav> 552 553<!-- Drop-down terminal --> 554<div class="term" id="term" role="dialog" aria-modal="true" aria-label="Terminal" hidden> 555 <div class="term-inner"> 556 <div class="term-bar"><span>[email protected]: ~ (bash)</span><button type="button" id="term-close" aria-label="Close terminal">Ã</button></div> 557 <div class="term-out" id="term-out" aria-live="polite"></div> 558 <form class="term-line" id="term-form" autocomplete="off"> 559 <label for="term-in"><span class="ps1">ahmad@choxos</span>:<span class="ps-path" id="term-cwd">~</span>$</label> 560 <input id="term-in" type="text" spellcheck="false" autocapitalize="off" autocomplete="off"> 561 </form> 562 </div> 563</div> 564 565<!-- Keyboard help --> 566<div class="keys" id="keys" role="dialog" aria-modal="true" aria-label="Keyboard shortcuts" hidden> 567 <div class="keys-inner"> 568 <p class="md-h"># keybindings</p> 569 <dl> 570 <div><dt><kbd>`</kbd></dt><dd>open the terminal</dd></div> 571 <div><dt><kbd>1</kbd>â¦<kbd>8</kbd></dt><dd>jump to a section</dd></div> 572 <div><dt><kbd>0</kbd></dt><dd>back to top</dd></div> 573 <div><dt><kbd>/</kbd></dt><dd>grep the publications</dd></div> 574 <div><dt><kbd>t</kbd></dt><dd>toggle theme</dd></div> 575 <div><dt><kbd>Esc</kbd></dt><dd>close this</dd></div> 576 </dl> 577 </div> 578</div> 579
580<script src="js/main.js" defer></script>
580 581</body> 582</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.