PageSourceSearch

https://aymaneltarabishy.com/

html aymaneltarabishy.com collected 2026-10-06 07:57:03 UTC 13,520 bytes, 288 lines download raw bytes

1<!DOCTYPE html>
2<html lang="en">
3 <head>
4  
4<script>
5   (function () {
6  var proto = XMLHttpRequest.prototype;
7  var open = proto.open, setRequestHeader = proto.setRequestHeader, send = proto.send;
8  var TOKEN_KEY = 'base44_access_token';
9  var storedTokenHeader = function () {
10    try { return 'Bearer ' + localStorage.getItem(TOKEN_KEY); } catch (e) { return null; }
11  };
12  var forgetStoredToken = function () {
13    try { localStorage.removeItem(TOKEN_KEY); localStorage.removeItem('token'); } catch (e) {}
14  };
15
16  proto.open = function (method, url) {
17    this.__b44IsAuthCheck = /\/entities\/User\/me(\?|$)/.test(url);
18    return open.apply(this, arguments);
19  };
20
21  proto.setRequestHeader = function (name, value) {
22    if (this.__b44IsAuthCheck && name.toLowerCase() === 'authorization' && value === storedTokenHeader()) {
23      this.__b44SentToken = value;
24    }
25    return setRequestHeader.call(this, name, value);
26  };
27
28  proto.send = function () {
29    this.addEventListener('loadend', function () {
30      var rejectedTokenStillStored = this.status === 401 && this.__b44SentToken === storedTokenHeader();
31      if (rejectedTokenStillStored) forgetStoredToken();
32    });
33    return send.apply(this, arguments);
34  };
35})();
36  </script>
36
37  <meta charset="utf-8"/>
38  <link href="https://media.base44.com/images/public/6a526da1ac0d0bdad8c4ba75/4b37a62f0_generated_image.png" rel="icon" type="image/png"/>
39  <link href="https://media.base44.com/images/public/6a526da1ac0d0bdad8c4ba75/4b37a62f0_generated_image.png" rel="apple-touch-icon"/>
40  <meta content="width=device-width, initial-scale=1.0" name="viewport"/>
41  <link href="/manifest.json" rel="manifest"/>
42  <meta content="index, follow" name="robots"/>
43  <title>
44   Ayman ElTarabishy
45  </title>
46  <meta content="Explore the global leadership, research, and impact of Dr. Ayman ElTarabishy in entrepreneurship, MSMEs, Human-Centered Entrepreneurship, education, and public policy." name="description"/>
47  <!-- Open Graph / Facebook / WhatsApp -->
48  <meta content="website" property="og:type"/>
49  <meta content="Ayman ElTarabishy" property="og:site_name"/>
50  <meta content="Ayman ElTarabishy" property="og:title"/>
51  <meta content="Explore the global leadership, research, and impact of Dr. Ayman ElTarabishy in entrepreneurship, MSMEs, Human-Centered Entrepreneurship, education, and public policy." property="og:description"/>
52  <meta content="https://media.base44.com/images/public/6a526da1ac0d0bdad8c4ba75/a72733593_ChatGPTImageJul11202609_16_19PM.png/v1/fill/w_1200,h_630/a72733593_ChatGPTImageJul11202609_16_19PM.png" property="og:image"/>
53  <meta content="https://aymaneltarabishy.com" property="og:url"/>
54  <!-- Twitter Card -->
55  <meta content="summary_large_image" name="twitter:card"/>
56  <meta content="Ayman ElTarabishy" name="twitter:title"/>
57  <meta content="Explore the global leadership, research, and impact of Dr. Ayman ElTarabishy in entrepreneurship, MSMEs, Human-Centered Entrepreneurship, education, and public policy." name="twitter:description"/>
58  <meta content="https://media.base44.com/images/public/6a526da1ac0d0bdad8c4ba75/a72733593_ChatGPTImageJul11202609_16_19PM.png/v1/fill/w_1200,h_630/a72733593_ChatGPTImageJul11202609_16_19PM.png" name="twitter:image"/>
59  <!-- Google Analytics 4 (gtag.js) -->
vendor: 69 bytes, lines 59-60
59
60  <script async="" src="https://www.googletagmanager.com/gtag/js?id=
60G-MLLFRB2Y0F
vendor: 17 bytes, lines 60-62
60">
61  </script>
62  
62<script>
63   window.dataLayer = window.dataLayer || [];
64      function gtag() { dataLayer.push(arguments); }
65      gtag('js', new Date());
66      // Disable automatic page_view so the SPA tracker below owns all page_view events
67      // (prevents duplicate page_view on initial load).
68      gtag('config', 'G-MLLFRB2Y0F', { send_page_view: false });
69  </script>
69
70  
70<script crossorigin="" src="/assets/index-ze_7kRxD.js" type="module">
71  </script>
71
72  <link crossorigin="" href="/assets/index-CzwLMghi.css" rel="stylesheet"/>
73  
73<script type="module">
74   if (window.self === window.top) {
75  let lastPath = "";
76  function getPageNameFromPath(path) {
77    const segments = path.split("/").filter(Boolean);
78    return segments[0] || null;
79  }
80  function trackPageView() {
81    const path = window.location.pathname;
82    if (path === lastPath) return;
83    lastPath = path;
84    const pageName = getPageNameFromPath(path) || "home";
85    const appId = "6a526da1ac0d0bdad8c4ba75";
86    if (!appId) return;
87    fetch(`/api/app-logs/${appId}/log-user-in-app/${pageName}`, {
88      method: "POST",
89    }).catch(() => {});
90  }
91  const originalPushState = history.pushState.bind(history);
92  history.pushState = function (...args) {
93    originalPushState(...args);
94    trackPageView();
95  };
96  const originalReplaceState = history.replaceState.bind(history);
97  history.replaceState = function (...args) {
98    originalReplaceState(...args);
99    trackPageView();
100  };
101  window.addEventListener("popstate", trackPageView);
102  trackPageView();
103}
104  </script>
104
105  <meta content="https://aymaneltarabishy.com" name="twitter:url"/>
106  
106<script>
107   (function () {
108  var titles = {"/login": "Login | Ayman ElTarabishy", "/register": "Register | Ayman ElTarabishy", "/forgot-password": "Forgot Password | Ayman ElTarabishy", "/reset-password": "Reset Password | Ayman ElTarabishy", "/": "Ayman ElTarabishy", "/global-trends": "Global Trends | Ayman ElTarabishy", "/biography": "Biography | Ayman ElTarabishy", "/news": "News Articles | Ayman ElTarabishy", "/commentary": "Commentary | Ayman ElTarabishy", "/journal": "Journal | Ayman ElTarabishy", "/research": "Research | Ayman ElTarabishy", "/books": "Books | Ayman ElTarabishy", "/presentations": "Presentations | Ayman ElTarabishy", "/about": "About | Ayman ElTarabishy", "/contact": "Contact | Ayman ElTarabishy", "/admin": "Admin | Ayman ElTarabishy", "/home": "Ayman ElTarabishy"};
109  // PascalCase boundaries -> "-", mirroring _PASCAL_BOUNDARY_RE without lookbehind
110  // (old Safari fails to PARSE a lookbehind, taking the whole script down).
111  var dashed = function (s) {
112    return s.replace(/([a-z0-9])([A-Z])/g, "$1-$2").replace(/([A-Z])([A-Z][a-z])/g, "$1-$2");
113  };
114  var decode = function (s) {
115    // A %2F inside ONE segment must not become a structural separator: /blog/foo%2Fbar is a
116    // dynamic slug, and letting it split would match a static /blog/foo/bar and write ITS title.
117    try { var d = decodeURIComponent(s); return d.indexOf("/") < 0 ? d : s; } catch (e) { return s; }
118  };
119  var segments = function (path) { return path.split("/").filter(Boolean).map(decode); };
120  var norm = function (path) {
121    var parts = segments(path).map(function (s) { return dashed(s).toLowerCase(); });
122    return parts.length ? "/" + parts.join("/") : "/";
123  };
124  var lastPath = location.pathname, written = document.title, on = true;
125  var sync = function () {
126    // Path only: a hash/query change is the same page, and the SDK strips its own auth
127    // params with replaceState -- neither must clobber a server-rendered title in place.
128    if (!on || location.pathname === lastPath) return;
129    lastPath = location.pathname;
130    if (document.title !== written) { on = false; return; }
131    // Write ONLY a title the map proves. An unmapped path is a dynamic route (/blog/:slug) the
132    // map cannot carry, and writing a placeholder there is destructive, not merely vague: the
133    // prerender worker runs no setUserAgent, so its capture browser reads as human and executes
134    // this script, and coordinator.js's settle wait explicitly tolerates a full navigation --
135    // a redirect landing on an unmapped path would bake the placeholder into the stored
136    // snapshot. Leaving the title alone degrades to today's behavior instead.
137    // Exact lookup only. A dash-stripped retry here would let a genuinely different /set-up
138    // claim /setup: the map carries a dash-free key only where a PascalCase boundary put the
139    // dashes there, and the client cannot tell the two apart. The map emits every reachable
140    // shape per segment instead (_client_url_variants).
141    var title = titles[norm(location.pathname)];
142    if (title === undefined) return;
143    document.title = title;
144    // Re-read: the setter stores verbatim but the getter strips and collapses whitespace, so
145    // keeping the assigned string would make the next sync() read our own write as the app's.
146    written = document.title;
147  };
148  var wrap = function (fn) {
149    // The history entry is already pushed by the time sync() runs, so a throw here would
150    // surface inside the host app's router and break navigation. This is injected into apps
151    // we cannot test, so it swallows rather than trusting the trace.
152    return function () {
153      var r = fn.apply(this, arguments);
154      try { sync(); } catch (e) {}
155      return r;
156    };
157  };
158  history.pushState = wrap(history.pushState);
159  history.replaceState = wrap(history.replaceState);
160  window.addEventListener("popstate", sync);
161})();
162  </script>
162
163  <meta content="yes" name="mobile-web-app-capable"/>
164  <meta content="black" name="apple-mobile-web-app-status-bar-style"/>
165  <meta content="Ayman ElTarabishy" name="apple-mobile-web-app-title"/>
166  <link href="https://aymaneltarabishy.com" rel="canonical"/>
167  
167<script data-seo-source="builder" type="application/ld+json">
168   {"name": "Ayman ElTarabishy", "@context": "https://schema.org", "@type": "WebSite", "url": "https://aymaneltarabishy.com"}
169  </script>
169
170  
170<script data-seo-source="builder" type="application/ld+json">
171   {"name": "Ayman ElTarabishy", "logo": "https://media.base44.com/images/public/6a526da1ac0d0bdad8c4ba75/7c7909e6a_logo.png", "@context": "https://schema.org", "@type": "Organization", "url": "https://aymaneltarabishy.com"}
172  </script>
172
173 </head>
174 <body>
175  <div id="root">
176   <div data-seo-source="builder" id="seo-snapshot" style="position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;">
177    <main>
178     <header>
179      <h1>
180       Ayman ElTarabishy
181      </h1>
182      <p>
183       Explore the global leadership, research, and impact of Dr. Ayman ElTarabishy in entrepreneurship, MSMEs, Human-Centered Entrepreneurship, education, and public policy.
184      </p>
185     </header>
186     <nav aria-label="Pages">
187      <h2>
188       Pages
189      </h2>
190      <ul>
191       <li>
192        <a href="/login">
193         Login
194        </a>
195        — Login on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
196       </li>
197       <li>
198        <a href="/register">
199         Register
200        </a>
201        — Register on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
202       </li>
203       <li>
204        <a href="/forgot-password">
205         Forgot Password
206        </a>
207        — Forgot Password on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
208       </li>
209       <li>
210        <a href="/reset-password">
211         Reset Password
212        </a>
213        — Reset Password on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
214       </li>
215       <li>
216        <a href="/global-trends">
217         Global Trends
218        </a>
219        — Global Trends on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
220       </li>
221       <li>
222        <a href="/biography">
223         Biography
224        </a>
225        — Biography on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
226       </li>
227       <li>
228        <a href="/news">
229         News Articles
230        </a>
231        — News Articles on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
232       </li>
233       <li>
234        <a href="/commentary">
235         Commentary
236        </a>
237        — Commentary on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
238       </li>
239       <li>
240        <a href="/journal">
241         Journal
242        </a>
243        — Journal on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
244       </li>
245       <li>
246        <a href="/research">
247         Research
248        </a>
249        — Research on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
250       </li>
251       <li>
252        <a href="/books">
253         Books
254        </a>
255        — Books on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
256       </li>
257       <li>
258        <a href="/presentations">
259         Presentations
260        </a>
261        — Presentations on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
262       </li>
263       <li>
264        <a href="/about">
265         About
266        </a>
267        — About on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
268       </li>
269       <li>
270        <a href="/contact">
271         Contact
272        </a>
273        — Contact on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
274       </li>
275       <li>
276        <a href="/admin">
277         Admin
278        </a>
279        — Admin on Ayman ElTarabishy. Explore the global leadership, research, and impact of Dr.
280       </li>
281      </ul>
282     </nav>
283    </main>
284   </div>
285  </div>
286 
286<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"93f38e98de984f47b0e5d163a5bea173","r":1,"spa":2}' crossorigin="anonymous"></script>
286
287</body>
288</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.