1<!doctype html> 2<html lang=en-US> 3<head> 4<meta charset=UTF-8 /> 5<meta name=viewport content="width=device-width, initial-scale=1.0"/> 6<title>Ali Khallad – Certified WordPress developer</title> 7<meta name=robots content=max-image-preview:large /> 8<link rel=dns-prefetch href='//fonts.googleapis.com'/> 9<link rel=alternate type="application/rss+xml" title="Ali Khallad » Feed" href="https://alikhallad.com/feed/"/> 10<link rel=alternate type="application/rss+xml" title="Ali Khallad » Comments Feed" href="https://alikhallad.com/comments/feed/"/> 11<style id=wp-img-auto-sizes-contain-inline-css>img:is([sizes=auto i],[sizes^="auto," i]){contain-intrinsic-size:3000px 1500px}</style> 12<link rel=stylesheet id=givewp-campaign-blocks-fonts-css href='https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap&ver=7.1.2' media=all /> 13<style id=wp-emoji-styles-inline-css>img.wp-smiley,img.emoji{display:inline!important;border:none!important;box-shadow:none!important;height:1em!important;width:1em!important;margin:0 .07em!important;vertical-align:-.1em!important;background:none!important;padding:0!important}</style> 14<style id=wp-block-library-inline-css>:root{--wp-block-synced-color:#7a00df;--wp-block-synced-color--rgb:122 , 0 , 223;--wp-bound-block-color:var(--wp-block-synced-color);--wp-editor-canvas-background:#ddd;--wp-admin-theme-color:#007cba;--wp-admin-theme-color--rgb:0 , 124 , 186;--wp-admin-theme-color-darker-10:#006ba1;--wp-admin-theme-color-darker-10--rgb:0 , 107 , 160.5;--wp-admin-theme-color-darker-20:#005a87;--wp-admin-theme-color-darker-20--rgb:0 , 90 , 135;--wp-admin-border-width-focus:2px}@media (min-resolution:192dpi){:root{--wp-admin-border-width-focus:1.5px}}.wp-element-button{cursor:pointer}:root .has-very-light-gray-background-color{background-color:#eee}:root .has-very-dark-gray-background-color{background-color:#313131}:root .has-very-light-gray-color{color:#eee}:root .has-very-dark-gray-color{color:#313131}:root .has-vivid-green-cyan-to-vivid-cyan-blue-gradient-background{background:linear-gradient(135deg,#00d084,#0693e3)}:root .has-purple-crush-gradient-background{background:linear-gradient(135deg,#34e2e4,#4721fb 50%,#ab1dfe)}:root .has-hazy-dawn-gradient-background{background:linear-gradient(135deg,#faaca8,#dad0ec)}:root .has-subdued-olive-gradient-background{background:linear-gradient(135deg,#fafae1,#67a671)}:root .has-atomic-cream-gradient-background{background:linear-gradient(135deg,#fdd79a,#004a59)}:root .has-nightshade-gradient-background{background:linear-gradient(135deg,#330968,#31cdcf)}:root .has-midnight-gradient-background{background:linear-gradient(135deg,#020381,#2874fc)}:root{--wp--preset--font-size--normal:16px;
14--wp--preset--font-size--huge:42px}.has-regular-font-size{font-size:1em}.has-larger-font-size{font-size:2.625em}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)}:root .has-text-align-center{text-align:center}:root .has-text-align-left{text-align:left}:root .has-text-align-right{text-align:right}.has-fit-text{white-space:nowrap!important}#end-resizable-editor-section{display:none}.aligncenter{clear:both}.items-justified-left{justify-content:flex-start}.items-justified-center{justify-content:center}.items-justified-right{justify-content:flex-end}.items-justified-space-between{justify-content:space-between}.screen-reader-text{word-wrap:normal!important;border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-break:normal!important}.screen-reader-text:focus{background-color:#ddd;clip-path:none;color:#444;display:block;font-size:1em;height:auto;left:5px;line-height:normal;padding:15px 23px 14px;text-decoration:none;top:5px;width:auto;z-index:100000}html :where(.has-border-color){border-style:solid}html :where([style^=border-color],[style*=";border-color"],[style*="; border-color"]){border-style:solid}html :where([style^=border-top-color],[style*=";border-top-color"],[style*="; border-top-color"]){border-top-style:solid}html :where([style^=border-right-color],[style*=";border-right-color"],[style*="; border-right-color"]){border-right-style:solid}html :where([style^=border-bottom-color],[style*=";border-bottom-color"],[style*="; border-bottom-color"]){border-bottom-style:solid}html :where([style^=border-left-color],[style*=";border-left-color"],[style*="; border-left-color"]){border-left-style:solid}html :where([style^=border-width],[style*=";border-width"],[style*="; border-width"]){border-style:solid}html :where([style^=border-top-width],[style*=";border-top-width"],[style*="; border-top-width"]){border-top-style:solid}html :where([style^=border-right-width],[style*=";border-right-width"],[style*="; border-right-width"]){border-right-style:solid}html :where([style^=border-bottom-width],[style*=";border-bottom-width"],[style*="; border-bottom-width"]){border-bottom-style:solid}html :where([style^=border-left-width],[style*=";border-left-width"],[style*="; border-left-width"]){border-left-style:solid}html :where(img[class*=wp-image-]){height:auto;max-width:100%}:where(figure){margin:0 0 1em}html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:var(--wp-admin--admin-bar--height,0)}@media screen and (max-width:600px){html :where(.is-position-sticky){--wp-admin--admin-bar--position-offset:0}}</style> 15<style id=wp-block-heading-inline-css>h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}</style> 16<style id=wp-block-list-inline-css>ol,ul{box-sizing:border-box}:root :where(.wp-block-list.has-background){padding:1.25em 2.375em}</style> 17<style id=wp-block-paragraph-inline-css>.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}</style> 18<style id=wp-block-table-inline-css>.wp-block-table{overflow-x:auto}.wp-block-table table{border-collapse:collapse;width:100%}.wp-block-table thead{border-bottom:3px solid}.wp-block-table tfoot{border-top:3px solid}.wp-block-table td,.wp-block-table th{border:1px solid;padding:.5em}.wp-block-table .has-fixed-layout{table-layout:fixed;width:100%}.wp-block-table .has-fixed-layout td,.wp-block-table .has-fixed-layout th{word-break:break-word}.wp-block-table.aligncenter,.wp-block-table.alignleft,.wp-block-table.alignright{display:table;width:auto}.wp-block-table.aligncenter td,.wp-block-table.aligncenter th,.wp-block-table.alignleft td,.wp-block-table.alignleft th,.wp-block-table.alignright td,.wp-block-table.alignright th{word-break:break-word}.wp-block-table .has-subtle-light-gray-background-color{background-color:#f3f4f5}.wp-block-table .has-subtle-pale-green-background-color{background-color:#e9fbe5}.wp-block-table .has-subtle-pale-blue-background-color{background-color:#e7f5fe}.wp-block-table .has-subtle-pale-pink-background-color{background-color:#fcf0ef}.wp-block-table.is-style-stripes{background-color:transparent;border-collapse:inherit;border-spacing:0}.wp-block-table.is-style-stripes tbody tr:nth-child(odd){background-color:#f0f0f0}.wp-block-table.is-style-stripes.has-subtle-light-gray-background-color tbody tr:nth-child(odd){background-color:#f3f4f5}.wp-block-table.is-style-stripes.has-subtle-pale-green-background-color tbody tr:nth-child(odd){background-color:#e9fbe5}.wp-block-table.is-style-stripes.has-subtle-pale-blue-background-color tbody tr:nth-child(odd){background-color:#e7f5fe}.wp-block-table.is-style-stripes.has-subtle-pale-pink-background-color tbody tr:nth-child(odd){background-color:#fcf0ef}.wp-block-table.is-style-stripes td,.wp-block-table.is-style-stripes th{border-color:transparent}
18.wp-block-table.is-style-stripes{border-bottom:1px solid #f0f0f0}.wp-block-table .has-border-color td,.wp-block-table .has-border-color th,.wp-block-table .has-border-color tr,.wp-block-table .has-border-color>*{border-color:inherit}.wp-block-table table[style*="border-top-color"] tr:first-child,.wp-block-table table[style*="border-top-color"] tr:first-child td,.wp-block-table table[style*="border-top-color"] tr:first-child th,.wp-block-table table[style*="border-top-color"]>*,.wp-block-table table[style*="border-top-color"]>* td,.wp-block-table table[style*="border-top-color"]>* th{border-top-color:inherit}.wp-block-table table[style*=border-top-color] tr:not(:first-child){border-top-color:currentColor}.wp-block-table table[style*="border-right-color"] td:last-child,.wp-block-table table[style*="border-right-color"] th,.wp-block-table table[style*="border-right-color"] tr,.wp-block-table table[style*="border-right-color"]>*{border-right-color:inherit}.wp-block-table table[style*="border-bottom-color"] tr:last-child,.wp-block-table table[style*="border-bottom-color"] tr:last-child td,.wp-block-table table[style*="border-bottom-color"] tr:last-child th,.wp-block-table table[style*="border-bottom-color"]>*,.wp-block-table table[style*="border-bottom-color"]>* td,.wp-block-table table[style*="border-bottom-color"]>* th{border-bottom-color:inherit}.wp-block-table table[style*=border-bottom-color] tr:not(:last-child){border-bottom-color:currentColor}.wp-block-table table[style*="border-left-color"] td:first-child,.wp-block-table table[style*="border-left-color"] th,.wp-block-table table[style*="border-left-color"] tr,.wp-block-table table[style*="border-left-color"]>*{border-left-color:inherit}.wp-block-table table[style*="border-style"] td,.wp-block-table table[style*="border-style"] th,.wp-block-table table[style*="border-style"] tr,.wp-block-table table[style*="border-style"]>*{border-style:inherit}.wp-block-table table[style*="border-width"] td,.wp-block-table table[style*="border-width"] th,.wp-block-table table[style*="border-width"] tr,.wp-block-table table[style*="border-width"]>*{border-style:inherit;border-width:inherit}</style> 19<style id=classic-theme-styles-inline-css>.wp-block-button__link{color:#fff;background-color:#32373c;border-radius:9999px;box-shadow:none;text-decoration:none;padding:calc(.667em + 2px) calc(1.333em + 2px);font-size:1.125em}.wp-block-file__button{background:#32373c;color:#fff;text-decoration:none}</style> 20<style id=global-styles-inline-css>:root{--wp--preset--aspect-ratio--square:1;--wp--preset--aspect-ratio--4-3: 4/3;--wp--preset--aspect-ratio--3-4: 3/4;--wp--preset--aspect-ratio--3-2: 3/2;--wp--preset--aspect-ratio--2-3: 2/3;--wp--preset--aspect-ratio--16-9: 16/9;--wp--preset--aspect-ratio--9-16: 9/16;--wp--preset--color--black:#000;--wp--preset--color--cyan-bluish-gray:#abb8c3;--wp--preset--color--white:#fff;--wp--preset--color--pale-pink:#f78da7;--wp--preset--color--vivid-red:#cf2e2e;--wp--preset--color--luminous-vivid-orange:#ff6900;--wp--preset--color--luminous-vivid-amber:#fcb900;--wp--preset--color--light-green-cyan:#7bdcb5;--wp--preset--color--vivid-green-cyan:#00d084;--wp--preset--color--pale-cyan-blue:#8ed1fc;
20--wp--preset--color--vivid-cyan-blue:#0693e3;--wp--preset--color--vivid-purple:#9b51e0;--wp--preset--color--dark-gray:#28303d;--wp--preset--color--gray:#39414d;--wp--preset--color--green:#d1e4dd;--wp--preset--color--blue:#d1dfe4;--wp--preset--color--purple:#d1d1e4;--wp--preset--color--red:#e4d1d1;--wp--preset--color--orange:#e4dad1;--wp--preset--color--yellow:#eeeadd;--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple:linear-gradient(135deg,#0693e3 0%,#9b51e0 100%);--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan:linear-gradient(135deg,#7adcb4 0%,#00d082 100%);--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange:linear-gradient(135deg,#fcb900 0%,#ff6900 100%);--wp--preset--gradient--luminous-vivid-orange-to-vivid-red:linear-gradient(135deg,#ff6900 0%,#cf2e2e 100%);--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray:linear-gradient(135deg,#eee 0%,#a9b8c3 100%);--wp--preset--gradient--cool-to-warm-spectrum:linear-gradient(135deg,#4aeadc 0%,#9778d1 20%,#cf2aba 40%,#ee2c82 60%,#fb6962 80%,#fef84c 100%);--wp--preset--gradient--blush-light-purple:linear-gradient(135deg,#ffceec 0%,#9896f0 100%);--wp--preset--gradient--blush-bordeaux:linear-gradient(135deg,#fecda5 0%,#fe2d2d 50%,#6b003e 100%);--wp--preset--gradient--luminous-dusk:linear-gradient(135deg,#ffcb70 0%,#c751c0 50%,#4158d0 100%);--wp--preset--gradient--pale-ocean:linear-gradient(135deg,#fff5cb 0%,#b6e3d4 50%,#33a7b5 100%);--wp--preset--gradient--electric-grass:linear-gradient(135deg,#caf880 0%,#71ce7e 100%);--wp--preset--gradient--midnight:linear-gradient(135deg,#020381 0%,#2874fc 100%);--wp--preset--gradient--purple-to-yellow:linear-gradient(160deg,#d1d1e4 0%,#eeeadd 100%);--wp--preset--gradient--yellow-to-purple:linear-gradient(160deg,#eeeadd 0%,#d1d1e4 100%);--wp--preset--gradient--green-to-yellow:linear-gradient(160deg,#d1e4dd 0%,#eeeadd 100%);--wp--preset--gradient--yellow-to-green:linear-gradient(160deg,#eeeadd 0%,#d1e4dd 100%);--wp--preset--gradient--red-to-yellow:linear-gradient(160deg,#e4d1d1 0%,#eeeadd 100%);--wp--preset--gradient--yellow-to-red:linear-gradient(160deg,#eeeadd 0%,#e4d1d1 100%);--wp--preset--gradient--purple-to-red:linear-gradient(160deg,#d1d1e4 0%,#e4d1d1 100%);--wp--preset--gradient--red-to-purple:linear-gradient(160deg,#e4d1d1 0%,#d1d1e4 100%);--wp--preset--font-size--small:18px;--wp--preset--font-size--medium:20px;--wp--preset--font-size--large:24px;--wp--preset--font-size--x-large:42px;--wp--preset--font-size--extra-small:16px;--wp--preset--font-size--normal:20px;--wp--preset--font-size--extra-large:40px;--wp--preset--font-size--huge:96px;--wp--preset--font-size--gigantic:144px;--wp--preset--spacing--20:.44rem;--wp--preset--spacing--30:.67rem;--wp--preset--spacing--40:1rem;--wp--preset--spacing--50:1.5rem;--wp--preset--spacing--60:2.25rem;--wp--preset--spacing--70:3.38rem;--wp--preset--spacing--80:5.06rem;--wp--preset--shadow--natural:6px 6px 9px rgba(0,0,0,.2);--wp--preset--shadow--deep:12px 12px 50px rgba(0,0,0,.4);--wp--preset--shadow--sharp:6px 6px 0 rgba(0,0,0,.2);--wp--preset--shadow--outlined:6px 6px 0 -3px #fff , 6px 6px #000;--wp--preset--shadow--crisp:6px 6px 0 #000}.wp-block-button{--wp--preset--dimension--25:25%;--wp--preset--dimension--50:50%;--wp--preset--dimension--75:75%;--wp--preset--dimension--100:100%}:where(body) {margin:0}:where(.is-layout-flex){gap:.5em}:where(.is-layout-grid){gap:.5em}body .is-layout-flex{display:flex}.is-layout-flex{flex-wrap:wrap;align-items:center}.is-layout-flex > :is(*, div){margin:0}body .is-layout-grid{display:grid}.is-layout-grid > :is(*, div){margin:0}body{padding-top:0;padding-right:0;padding-bottom:0;padding-left:0}:root :where(.wp-element-button, .wp-block-button__link){background-color:#32373c;border-width:0;color:#fff;font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;padding-top: calc(0.667em + 2px);padding-right: calc(1.333em + 2px);padding-bottom: calc(0.667em + 2px);padding-left: calc(1.333em + 2px);text-decoration:none;text-transform:inherit}.has-black-color{color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-color{color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-color{color:var(--wp--preset--color--white)!important}.has-pale-pink-color{color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-color{color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-color{color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-color{color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-color{color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-color{color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-color{color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-color{color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-color{color:var(--wp--preset--color--vivid-purple)!important}.has-dark-gray-color{color:var(--wp--preset--color--dark-gray)!important}.has-gray-color{color:var(--wp--preset--color--gray)!important}.has-green-color{color:var(--wp--preset--color--green)!important}.has-blue-color{color:var(--wp--preset--color--blue)!important}.has-purple-color{color:var(--wp--preset--color--purple)!important}.has-red-color{color:var(--wp--preset--color--red)!important}.has-orange-color{color:var(--wp--preset--color--orange)!important}.has-yellow-color{color:var(--wp--preset--color--yellow)!important}.has-black-background-color{background-color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-background-color{background-color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-background-color{background-color:var(--wp--preset--color--white)!important}.has-pale-pink-background-color{background-color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-background-color{background-color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-background-color{background-color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-background-color{background-color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-background-color{background-color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-background-color{background-color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-background-color{background-color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-background-color{background-color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-background-color{background-color:var(--wp--preset--color--vivid-purple)!important}.has-dark-gray-background-color{background-color:var(--wp--preset--color--dark-gray)!important}.has-gray-background-color{background-color:var(--wp--preset--color--gray)!important}.has-green-background-color{background-color:var(--wp--preset--color--green)!important}.has-blue-background-color{background-color:var(--wp--preset--color--blue)!important}.has-purple-background-color{background-color:var(--wp--preset--color--purple)!important}.has-red-background-color{background-color:var(--wp--preset--color--red)!important}.has-orange-background-color{background-color:var(--wp--preset--color--orange)!important}.has-yellow-background-color{background-color:var(--wp--preset--color--yellow)!important}.has-black-border-color{border-color:var(--wp--preset--color--black)!important}.has-cyan-bluish-gray-border-color{border-color:var(--wp--preset--color--cyan-bluish-gray)!important}.has-white-border-color{border-color:var(--wp--preset--color--white)!important}.has-pale-pink-border-color{border-color:var(--wp--preset--color--pale-pink)!important}.has-vivid-red-border-color{border-color:var(--wp--preset--color--vivid-red)!important}.has-luminous-vivid-orange-border-color{border-color:var(--wp--preset--color--luminous-vivid-orange)!important}.has-luminous-vivid-amber-border-color{border-color:var(--wp--preset--color--luminous-vivid-amber)!important}.has-light-green-cyan-border-color{border-color:var(--wp--preset--color--light-green-cyan)!important}.has-vivid-green-cyan-border-color{border-color:var(--wp--preset--color--vivid-green-cyan)!important}.has-pale-cyan-blue-border-color{border-color:var(--wp--preset--color--pale-cyan-blue)!important}.has-vivid-cyan-blue-border-color{border-color:var(--wp--preset--color--vivid-cyan-blue)!important}.has-vivid-purple-border-color{border-color:var(--wp--preset--color--vivid-purple)!important}.has-dark-gray-border-color{border-color:var(--wp--preset--color--dark-gray)!important}.has-gray-border-color{border-color:var(--wp--preset--color--gray)!important}.has-green-border-color{border-color:var(--wp--preset--color--green)!important}.has-blue-border-color{border-color:var(--wp--preset--color--blue)!important}.has-purple-border-color{border-color:var(--wp--preset--color--purple)!important}.has-red-border-color{border-color:var(--wp--preset--color--red)!important}.has-orange-border-color{border-color:var(--wp--preset--color--orange)!important}.has-yellow-border-color{border-color:var(--wp--preset--color--yellow)!important}.has-vivid-cyan-blue-to-vivid-purple-gradient-background{background:var(--wp--preset--gradient--vivid-cyan-blue-to-vivid-purple)!important}.has-light-green-cyan-to-vivid-green-cyan-gradient-background{background:var(--wp--preset--gradient--light-green-cyan-to-vivid-green-cyan)!important}.has-luminous-vivid-amber-to-luminous-vivid-orange-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-amber-to-luminous-vivid-orange)!important}.has-luminous-vivid-orange-to-vivid-red-gradient-background{background:var(--wp--preset--gradient--luminous-vivid-orange-to-vivid-red)!important}
20.has-very-light-gray-to-cyan-bluish-gray-gradient-background{background:var(--wp--preset--gradient--very-light-gray-to-cyan-bluish-gray)!important}.has-cool-to-warm-spectrum-gradient-background{background:var(--wp--preset--gradient--cool-to-warm-spectrum)!important}.has-blush-light-purple-gradient-background{background:var(--wp--preset--gradient--blush-light-purple)!important}.has-blush-bordeaux-gradient-background{background:var(--wp--preset--gradient--blush-bordeaux)!important}.has-luminous-dusk-gradient-background{background:var(--wp--preset--gradient--luminous-dusk)!important}.has-pale-ocean-gradient-background{background:var(--wp--preset--gradient--pale-ocean)!important}.has-electric-grass-gradient-background{background:var(--wp--preset--gradient--electric-grass)!important}.has-midnight-gradient-background{background:var(--wp--preset--gradient--midnight)!important}.has-purple-to-yellow-gradient-background{background:var(--wp--preset--gradient--purple-to-yellow)!important}.has-yellow-to-purple-gradient-background{background:var(--wp--preset--gradient--yellow-to-purple)!important}.has-green-to-yellow-gradient-background{background:var(--wp--preset--gradient--green-to-yellow)!important}.has-yellow-to-green-gradient-background{background:var(--wp--preset--gradient--yellow-to-green)!important}.has-red-to-yellow-gradient-background{background:var(--wp--preset--gradient--red-to-yellow)!important}.has-yellow-to-red-gradient-background{background:var(--wp--preset--gradient--yellow-to-red)!important}.has-purple-to-red-gradient-background{background:var(--wp--preset--gradient--purple-to-red)!important}.has-red-to-purple-gradient-background{background:var(--wp--preset--gradient--red-to-purple)!important}.has-small-font-size{font-size:var(--wp--preset--font-size--small)!important}.has-medium-font-size{font-size:var(--wp--preset--font-size--medium)!important}.has-large-font-size{font-size:var(--wp--preset--font-size--large)!important}.has-x-large-font-size{font-size:var(--wp--preset--font-size--x-large)!important}.has-extra-small-font-size{font-size:var(--wp--preset--font-size--extra-small)!important}.has-normal-font-size{font-size:var(--wp--preset--font-size--normal)!important}.has-extra-large-font-size{font-size:var(--wp--preset--font-size--extra-large)!important}.has-huge-font-size{font-size:var(--wp--preset--font-size--huge)!important}.has-gigantic-font-size{font-size:var(--wp--preset--font-size--gigantic)!important}</style> 21<link rel=stylesheet id=choices-css-css href='https://alikhallad.com/wp-content/plugins/mega-forms/pro/common/assets/css/deps/choices.min.css?ver=11.0.2' media=all /> 22<link rel=stylesheet id=mf-public-css href='https://alikhallad.com/wp-content/plugins/mega-forms/assets/frontend/css/combined/styles.min.css?ver=1.7.8' media=all /> 23<link rel=stylesheet id=give-styles-css href='https://alikhallad.com/wp-content/plugins/give/build/assets/dist/css/A.give.css,qver=4.16.7.2.pagespeed.cf.R2fH6fAU-7.css' media=all /> 24<link rel=stylesheet id=givewp-design-system-foundation-css href='https://alikhallad.com/wp-content/plugins/give/build/assets/dist/css/design-system/A.foundation.css,qver=1.2.0.pagespeed.cf.WBf5o1FXl8.css' media=all /> 25<link rel=stylesheet id=twenty-twenty-one-style-css href='https://alikhallad.com/wp-content/themes/twentytwentyone/A.style.css,qver=1.0.0.pagespeed.cf.vYqwqc5_XS.css' media=all /> 26<style id=twenty-twenty-one-style-inline-css>:root{--global--color-background:#fff;--global--color-primary:#000;--global--color-secondary:#000;--button--color-background:#000;--button--color-text-hover:#000}</style> 27<link rel=stylesheet id=twenty-twenty-one-print-style-css href='https://alikhallad.com/wp-content/themes/twentytwentyone/assets/css/A.print.css,qver=1.0.0.pagespeed.cf.qVAzrlg_OG.css' media=print /> 28<link rel=stylesheet id=twentytwentyone-jetpack-css href='https://alikhallad.com/wp-content/plugins/jetpack/modules/theme-tools/compat/A.twentytwentyone.css,qver=16.1.3.pagespeed.cf.oovcAjctfv.css' media=all /> 29<style id=ali-theme-css media=all>:root{--global--font-size-page-title:2rem;--global--font-size-xl:2rem;--global--font-size-xxl:4rem;--global--font-size-xxxl:6rem;--heading--font-size-h3:3.5rem;--heading--font-size-h2:2rem}.site-branding{width:100%;text-align:center}.site-title{text-transform:none}.singular .entry-title{text-align:center}nav#site-navigation{margin:0 auto;border-bottom:1px solid #e5e5e5;border-top:1px solid #e5e5e5;padding:0 10px}nav#site-navigation a{font-size:16px}</style>
30<script id=jquery-core-js src="https://alikhallad.com/wp-includes/js/jquery/jquery.min.js,qver=3.7.1.pagespeed.jm.PoWN7KAtLT.js"></script>
vendor: 1 bytes, line 30
30
31<script src="https://alikhallad.com/wp-includes/js/jquery,_jquery-migrate.min.js,qver==3.4.1+dist,_hooks.min.js,qver==f0f188028580e8dc1255+dist,_i18n.min.js,qver==1dfe7db3940c23ea9216.pagespeed.jc.9ON5kBB-7Q.js"></script>
31<script>eval(mod_pagespeed_VBSQFfAYzw);</script>
vendor: 1 bytes, line 31
31
32<script>eval(mod_pagespeed_8AdL6aynXd);</script>
vendor: 1 bytes, line 32
32
33<script>eval(mod_pagespeed_jKyzo1flah);</script>
vendor: 1 bytes, line 33
33
34<script id=wp-i18n-js-after>wp.i18n.setLocaleData({'text direction\u0004ltr':['ltr']});</script>
vendor: 1 bytes, line 34
34
35<script id=give-js-extra>var give_global_vars={"ajaxurl":"https://alikhallad.com/wp-admin/admin-ajax.php","checkout_nonce":"c1a2402219","currency":"USD","currency_sign":"$","currency_pos":"before","thousands_separator":",","decimal_separator":".","no_gateway":"Please select a payment method.","bad_minimum":"The minimum custom donation amount for this form is","bad_maximum":"The maximum custom donation amount for this form is","general_loading":"Loading...","purchase_loading":"Please Wait...","textForOverlayScreen":"\u003Ch3\u003EProcessing...\u003C/h3\u003E\u003Cp\u003EThis will only take a second!\u003C/p\u003E","number_decimals":"2","is_test_mode":"","give_version":"4.16.7.2","magnific_options":{"main_class":"give-modal","close_on_bg_click":false},"form_translation":{"payment-mode":"Please select payment mode.","give_first":"Please enter your first name.","give_last":"Please enter your last name.","give_email":"Please enter a valid email address.","give_user_login":"Invalid email address or username.","give_user_pass":"Enter a password.","give_user_pass_confirm":"Enter the password confirmation.","give_agree_to_terms":"You must agree to the terms and conditions."},"confirm_email_sent_message":"Please check your email and click on the link to access your complete donation history.","ajax_vars":{"ajaxurl":"https://alikhallad.com/wp-admin/admin-ajax.php","ajaxNonce":"70bcbb2aa5","loading":"Loading","select_option":"Please select an option","default_gateway":"paypal","permalinks":"1","number_decimals":2},"cookie_hash":"eb9a014241401f74c9c3da574733f5d4","session_nonce_cookie_name":"wp-give_session_reset_nonce_eb9a014241401f74c9c3da574733f5d4","session_cookie_name":"wp-give_session_eb9a014241401f74c9c3da574733f5d4","delete_session_nonce_cookie":"0"};var giveApiSettings={"root":"https://alikhallad.com/wp-json/give-api/v2/","rest_base":"give-api/v2"};</script>
vendor: 1 bytes, line 35
35
36<script id=give-js src="https://alikhallad.com/wp-content/plugins/give/build/assets/dist/js/give.js?ver=3d36eec5383ae95a9121"></script>
vendor: 1 bytes, line 36
36
37<script data-wp-strategy=defer defer id=twenty-twenty-one-primary-navigation-script-js src="https://alikhallad.com/wp-content/themes/twentytwentyone/assets/js/primary-navigation.js,qver=1.0.0.pagespeed.jm.My4iWNf6Yo.js"></script>
37 38<link rel="https://api.w.org/" href="https://alikhallad.com/wp-json/"/><link rel=EditURI type="application/rsd+xml" title=RSD href="https://alikhallad.com/xmlrpc.php?rsd"/> 39<meta name=generator content="WordPress 7.1.2"/> 40<meta name=generator content="performance-lab 4.2.0; plugins: "> 41<meta name=generator content="Give v4.16.7.2"/> 42<style>img#wpstats{display:none}</style> 43<!-- Google tag (gtag.js) -->
vendor: 64 bytes, lines 43-44
43 44<script async src="https://www.googletagmanager.com/gtag/js?id=
44G-XYGK7RV5Q9
vendor: 12 bytes, line 44
44"></script>
45<script>
vendor: 118 bytes, line 45
45window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments);}gtag('js',new Date());gtag('config','
45G-XYGK7RV5Q9
vendor: 3 bytes, line 45
45');
45</script>
45 46<style id=custom-background-css>body.custom-background{background-color:#fff}</style> 47</head> 48<body class="home blog custom-background wp-embed-responsive wp-theme-twentytwentyone wp-child-theme-alikhallad is-light-theme has-background-white no-js hfeed has-main-navigation no-widgets"><noscript><meta HTTP-EQUIV="refresh" content="0;url='https://alikhallad.com/?PageSpeed=noscript'" /><style><!--table,div,span,font,p{display:none} --></style><div style="display:block">Please click <a href="https://alikhallad.com/?PageSpeed=noscript">here</a> if you are not redirected within a few seconds.</div></noscript> 49<div id=page class=site> 50<a class="skip-link screen-reader-text" href="#content"> 51Skip to content </a> 52<header id=masthead class="site-header has-title-and-tagline has-menu" role=banner> 53<div class=site-branding> 54<h1 class=site-title>Ali Khallad</h1> 55<p class=site-description> 56Certified WordPress developer </p> 57</div><!-- .site-branding --> 58<nav id=site-navigation class=primary-navigation role=navigation aria-label="Primary menu"> 59<div class=menu-button-container> 60<button id=primary-mobile-menu class=button aria-controls=primary-menu-list aria-expanded=false> 61<span class="dropdown-icon open">Menu <svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" fill=none xmlns="http://www.w3.org/2000/svg"><path fill-rule=evenodd clip-rule=evenodd d="M4.5 6H19.5V7.5H4.5V6ZM4.5 12H19.5V13.5H4.5V12ZM19.5 18H4.5V19.5H19.5V18Z" fill=currentColor /></svg> </span> 62<span class="dropdown-icon close">Close <svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" fill=none xmlns="http://www.w3.org/2000/svg"><path fill-rule=evenodd clip-rule=evenodd d="M12 10.9394L5.53033 4.46973L4.46967 5.53039L10.9393 12.0001L4.46967 18.4697L5.53033 19.5304L12 13.0607L18.4697 19.5304L19.5303 18.4697L13.0607 12.0001L19.5303 5.53039L18.4697 4.46973L12 10.9394Z" fill=currentColor /></svg> </span> 63</button><!-- #primary-mobile-menu --> 64</div><!-- .menu-button-container --> 65<div class=primary-menu-container><ul id=primary-menu-list class=menu-wrapper><li id=menu-item-143 class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-143"><a href="https://alikhallad.com/" aria-current=page>Home</a></li> 66<li id=menu-item-190 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-has-children menu-item-190"><a href="https://alikhallad.com/services/">Services</a><button class=sub-menu-toggle aria-expanded=false onClick="twentytwentyoneExpandSubMenu(this)"><span class=icon-plus><svg class=svg-icon width=18 height=18 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" fill=none xmlns="http://www.w3.org/2000/svg"><path fill-rule=evenodd clip-rule=evenodd d="M18 11.2h-5.2V6h-1.6v5.2H6v1.6h5.2V18h1.6v-5.2H18z" fill=currentColor /></svg></span><span class=icon-minus><svg class=svg-icon width=18 height=18 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" fill=none xmlns="http://www.w3.org/2000/svg"><path fill-rule=evenodd clip-rule=evenodd d="M6 11h12v2H6z" fill=currentColor /></svg></span><span class=screen-reader-text>Open menu</span></button> 67<ul class=sub-menu> 68<li id=menu-item-193 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-193"><a href="https://alikhallad.com/services/custom-wordpress-plugin-development-service/">Plugin development</a></li> 69<li id=menu-item-194 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-194"><a href="https://alikhallad.com/services/woocommerce-development-service/">WooCommerce development</a></li> 70<li id=menu-item-191 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-191"><a href="https://alikhallad.com/services/wordpress-woocommerce-api-integration/">API integration</a></li> 71<li id=menu-item-192 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-192"><a href="https://alikhallad.com/services/wordpress-woocommerce-migration/">Website migration</a></li> 72</ul> 73</li> 74<li id=menu-item-1151 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1151"><a href="https://carticy.com/">WooCommerce Plugins</a></li> 75<li id=menu-item-1183 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-1183"><a href="https://surfacedby.com">GEO</a></li> 76<li id=menu-item-141 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-141"><a href="https://alikhallad.com/hire-me/">Hire Me</a></li> 77<li id=menu-item-142 class="menu-item menu-item-type-post_type menu-item-object-page menu-item-142"><a href="https://alikhallad.com/contact-me/">Contact Me</a></li> 78</ul></div> </nav><!-- #site-navigation --> 79</header><!-- #masthead --> 80<div id=content class=site-content> 81<div id=primary class=content-area> 82<main id=main class=site-main> 83<article id=post-1192 class="post-1192 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 84<header class=entry-header> 85<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-train-a-flux-2-klein-lora-on-8gb-vram-windows-three-failures-and-the-working-config/">How to Train a FLUX.2 Klein LoRA on 8GB VRAM (Windows): Three Failures and the Working Config</a></h2>
86<figure class=post-thumbnail> 87<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-train-a-flux-2-klein-lora-on-8gb-vram-windows-three-failures-and-the-working-config/" aria-hidden=true tabindex=-1>
88<script data-pagespeed-no-defer>window['pagespeed'] = window['pagespeed'] || {};var pagespeed = window['pagespeed'];pagespeed.switchToHighResAndMaybeBeacon = function(elem) {setTimeout(function(){elem.onload = null;var srcset = elem.getAttribute('data-pagespeed-high-res-srcset');if (srcset) {elem.srcset = srcset;}elem.src = elem.getAttribute('data-pagespeed-high-res-src');if (pagespeed.CriticalImages) {elem.onload = pagespeed.CriticalImages.checkImageForCriticality(elem);}}, 0);};</script>
88<img width=1568 height=929 data-pagespeed-high-res-src="https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-1568x929.png.pagespeed.ic.yZdTlJAaxt.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async fetchpriority=high data-pagespeed-high-res-srcset="https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-1568x929.png.pagespeed.ic.yZdTlJAaxt.webp 1568w, https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-300x178.png.pagespeed.ic.2V0Hdg88_P.webp 300w, https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-1024x606.png.pagespeed.ic.OvBTDHzARf.webp 1024w, https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-768x455.png.pagespeed.ic.RNC86dtl-j.webp 768w, https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-1536x910.png.pagespeed.ic.BdYhNNXrfD.webp 1536w, https://alikhallad.com/wp-content/uploads/2026/07/xtask-manage-8GB-GPU-2048x1213.png.pagespeed.ic.a-vF7uc2HT.webp 2048w" sizes="(max-width: 1568px) 100vw, 1568px" style="width:100%;height:59.22%;max-width:2560px;" src="data:image/webp;base64,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" onload="pagespeed.switchToHighResAndMaybeBeacon(this);" onerror="this.onerror=null;pagespeed.switchToHighResAndMaybeBeacon(this);"/> </a> 89</figure><!-- .post-thumbnail --> 90</header><!-- .entry-header --> 91<div class=entry-content> 92<p>Recently, I started building an automated video pipeline for my projects, and one piece of it needs an AI model that knows my face, so it can generate consistent pictures of me in any scene without a photographer. The usual way to do that is training a LoRA, a small add-on file that teaches an… <a class=more-link href="https://alikhallad.com/how-to-train-a-flux-2-klein-lora-on-8gb-vram-windows-three-failures-and-the-working-config/">Continue reading <span class=screen-reader-text>How to Train a FLUX.2 Klein LoRA on 8GB VRAM (Windows): Three Failures and the Working Config</span></a></p> 93</div><!-- .entry-content --> 94<footer class="entry-footer default-max-width"> 95<span class=posted-on>Published <time class="entry-date published updated" datetime="2026-07-19T11:04:28+00:00">July 19, 2026</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 96</article><!-- #post-${ID} --> 97<article id=post-1195 class="post-1195 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 98<header class=entry-header> 99<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/wordpress-cloudflare-522-sql-injection-php-fpm/">WordPress Down with Cloudflare 522? How I Traced It to SQL Injection</a></h2>
100<figure class=post-thumbnail> 101<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/wordpress-cloudflare-522-sql-injection-php-fpm/" aria-hidden=true tabindex=-1> 102<img width=1568 height=823 src="https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-1568x823.png.pagespeed.ic.gXOma2IUDs.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async srcset="https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-1568x823.png.pagespeed.ic.gXOma2IUDs.webp 1568w, https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-300x158.png.pagespeed.ic.1OEFRvpD5g.webp 300w, https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-1024x538.png.pagespeed.ic.WuxtCdKnHs.webp 1024w, https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-768x403.png.pagespeed.ic.HfNBpD77KS.webp 768w, https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection-1536x807.png.pagespeed.ic.r3Tvj42mU4.webp 1536w, https://alikhallad.com/wp-content/uploads/2026/07/x522-error-SQL-injection.png.pagespeed.ic.KEt7yGNI3x.webp 1731w" sizes="(max-width: 1568px) 100vw, 1568px" style="width:100%;height:52.51%;max-width:1731px;"/> </a> 103</figure><!-- .post-thumbnail --> 104</header><!-- .entry-header --> 105<div class=entry-content> 106<p>Recently, a WordPress and WooCommerce site I manage stopped responding and started returning a Cloudflare 522 error. The server looked healthy. CPU was low, memory was free, disk space was fine, and Apache, PHP-FPM, and MariaDB were all running. Nothing in the usual first places pointed at a cause. The clue came from one comparison.… <a class=more-link href="https://alikhallad.com/wordpress-cloudflare-522-sql-injection-php-fpm/">Continue reading <span class=screen-reader-text>WordPress Down with Cloudflare 522? How I Traced It to SQL Injection</span></a></p> 107</div><!-- .entry-content --> 108<footer class="entry-footer default-max-width"> 109<span class=posted-on>Published <time class="entry-date published updated" datetime="2026-07-19T10:50:03+00:00">July 19, 2026</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 110</article><!-- #post-${ID} --> 111<article id=post-1185 class="post-1185 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 112<header class=entry-header> 113<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/i-tested-claude-fable-5-against-private-benchmarks-it-has-never-seen-here-is-where-it-failed/">I Tested Claude Fable 5 Against Private Benchmarks It Has Never Seen, Here Is Where It Failed</a></h2> 114<figure class=post-thumbnail> 115<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/i-tested-claude-fable-5-against-private-benchmarks-it-has-never-seen-here-is-where-it-failed/" aria-hidden=true tabindex=-1> 116<img width=1568 height=820 src="https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-1568x820.png.pagespeed.ic.SEwxXI086C.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async srcset="https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-1568x820.png.pagespeed.ic.SEwxXI086C.webp 1568w, https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-300x157.png.pagespeed.ic.S05CMo8-zX.webp 300w, https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-1024x536.png.pagespeed.ic.Nb6ul9kh3S.webp 1024w, https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-768x402.png.pagespeed.ic.L5tOTUFdbr.webp 768w, https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark-1536x803.png.pagespeed.ic.rtcmaH_i2J.webp 1536w, https://alikhallad.com/wp-content/uploads/2026/06/xclaude-fable-5-benchmark.png.pagespeed.ic.4k6rpLQY9k.webp 1734w" sizes="(max-width: 1568px) 100vw, 1568px" style="width:100%;height:52.31%;max-width:1734px;"/> </a> 117</figure><!-- .post-thumbnail --> 118</header><!-- .entry-header --> 119<div class=entry-content> 120<p>When Anthropic released Claude Fable 5 this week, my feed filled up with the same benchmark charts within hours. SWE-bench scores, agentic coding numbers, the Stripe migration story. All impressive, and all numbers published by the vendor itself. I wanted to know something those charts cannot tell me: how does this model behave on bugs… <a class=more-link href="https://alikhallad.com/i-tested-claude-fable-5-against-private-benchmarks-it-has-never-seen-here-is-where-it-failed/">Continue reading <span class=screen-reader-text>I Tested Claude Fable 5 Against Private Benchmarks It Has Never Seen, Here Is Where It Failed</span></a></p> 121</div><!-- .entry-content --> 122<footer class="entry-footer default-max-width"> 123<span class=posted-on>Published <time class="entry-date published updated" datetime="2026-06-10T17:50:46+00:00">June 10, 2026</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 124</article><!-- #post-${ID} --> 125<article id=post-1178 class="post-1178 post type-post status-publish format-standard has-post-thumbnail hentry category-hosting category-wordpress tag-500-server-error tag-plesk tag-wordpress entry"> 126<header class=entry-header> 127<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-debug-wordpress-server-errors-on-plesk-without-guessing/">How to Debug WordPress Server Errors on Plesk Without Guessing</a></h2>
128<figure class=post-thumbnail> 129<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-debug-wordpress-server-errors-on-plesk-without-guessing/" aria-hidden=true tabindex=-1> 130<img width=1568 height=882 src="https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-1568x882.png.pagespeed.ic.tMTA_7W0la.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-1568x882.png.pagespeed.ic.tMTA_7W0la.webp 1568w, https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-300x169.png.pagespeed.ic.RTWV2JBqls.webp 300w, https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-1024x576.png.pagespeed.ic.A2VdW_vR68.webp 1024w, https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-768x432.png.pagespeed.ic.bGHOZneTcz.webp 768w, https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk-1536x864.png.pagespeed.ic.QtKsrrpIfI.webp 1536w, https://alikhallad.com/wp-content/uploads/2026/05/xdebugging-issues-on-plesk.png.pagespeed.ic.gJr4QGaCyX.webp 1672w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:56.28%;max-width:1672px;"/> </a> 131</figure><!-- .post-thumbnail --> 132</header><!-- .entry-header --> 133<div class=entry-content> 134<p>Recently, I had to debug a WordPress issue on a Plesk server where the only visible symptom was a server error on a specific editor page. At first, the report was vague. The site was working in normal browsing, but editing in visual mode was failing. That kind of report can easily send you in… <a class=more-link href="https://alikhallad.com/how-to-debug-wordpress-server-errors-on-plesk-without-guessing/">Continue reading <span class=screen-reader-text>How to Debug WordPress Server Errors on Plesk Without Guessing</span></a></p> 135</div><!-- .entry-content --> 136<footer class="entry-footer default-max-width"> 137<span class=posted-on>Published <time class="entry-date published updated" datetime="2026-05-20T09:21:34+00:00">May 20, 2026</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/hosting/" rel="category tag">Hosting</a>, <a href="https://alikhallad.com/category/wordpress/" rel="category tag">WordPress</a> </span><span class=tags-links>Tagged <a href="https://alikhallad.com/tag/500-server-error/" rel=tag>500 Server Error</a>, <a href="https://alikhallad.com/tag/plesk/" rel=tag>Plesk</a>, <a href="https://alikhallad.com/tag/wordpress/" rel=tag>WordPress</a></span></div> </footer><!-- .entry-footer --> 138</article><!-- #post-${ID} --> 139<article id=post-1172 class="post-1172 post type-post status-publish format-standard has-post-thumbnail hentry category-wordpress entry"> 140<header class=entry-header> 141<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/the-website-looked-fine-but-google-was-showing-spam-a-wordpress-malware-cleanup/">The Website Looked Fine, but Google Was Showing Spam: A WordPress Malware Cleanup</a></h2> 142<figure class=post-thumbnail> 143<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/the-website-looked-fine-but-google-was-showing-spam-a-wordpress-malware-cleanup/" aria-hidden=true tabindex=-1> 144<img width=1568 height=882 src="https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-1568x882.png.pagespeed.ic.pFQ4DfVeVc.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-1568x882.png.pagespeed.ic.pFQ4DfVeVc.webp 1568w, https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-300x169.png.pagespeed.ic.i6nABTZHZe.webp 300w, https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-1024x576.png.pagespeed.ic.c93vaZu7cn.webp 1024w, https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-768x432.png.pagespeed.ic.cAI3VuKdgh.webp 768w, https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress-1536x864.png.pagespeed.ic.776asrncGc.webp 1536w, https://alikhallad.com/wp-content/uploads/2026/05/xmalware-removal-from-wordpress.png.pagespeed.ic.4aAUg7xK_W.webp 1672w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:56.28%;max-width:1672px;"/> </a> 145</figure><!-- .post-thumbnail --> 146</header><!-- .entry-header --> 147<div class=entry-content> 148<p>Recently, I worked on a WordPress website that looked completely normal when opened in the browser, but Google was showing spam content in the search results. This is one of those issues that can easily confuse website owners. You open the homepage, everything looks fine. You check a few pages, still fine. No redirects, no… <a class=more-link href="https://alikhallad.com/the-website-looked-fine-but-google-was-showing-spam-a-wordpress-malware-cleanup/">Continue reading <span class=screen-reader-text>The Website Looked Fine, but Google Was Showing Spam: A WordPress Malware Cleanup</span></a></p> 149</div><!-- .entry-content --> 150<footer class="entry-footer default-max-width"> 151<span class=posted-on>Published <time class="entry-date published updated" datetime="2026-05-12T13:37:24+00:00">May 12, 2026</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/wordpress/" rel="category tag">WordPress</a> </span></div> </footer><!-- .entry-footer --> 152</article><!-- #post-${ID} --> 153<article id=post-1146 class="post-1146 post type-post status-publish format-standard has-post-thumbnail hentry category-hosting entry"> 154<header class=entry-header> 155<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-configure-webmin-behind-cloudflare-proxy/">How to Configure Webmin Behind Cloudflare Proxy</a></h2>
156<figure class=post-thumbnail> 157<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-configure-webmin-behind-cloudflare-proxy/" aria-hidden=true tabindex=-1> 158<img width=1536 height=672 src="https://alikhallad.com/wp-content/uploads/2025/09/xConfigure_Webmin_Behind_Cloudflare_Proxy.png.pagespeed.ic.Sj3pdPC44r.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2025/09/xConfigure_Webmin_Behind_Cloudflare_Proxy.png.pagespeed.ic.Sj3pdPC44r.webp 1536w, https://alikhallad.com/wp-content/uploads/2025/09/xConfigure_Webmin_Behind_Cloudflare_Proxy-300x131.png.pagespeed.ic.vsd0w6LUDD.webp 300w" sizes="auto, (max-width: 1536px) 100vw, 1536px" style="width:100%;height:43.75%;max-width:1536px;"/> </a> 159</figure><!-- .post-thumbnail --> 160</header><!-- .entry-header --> 161<div class=entry-content> 162<p>Recently, I needed to integrate Cloudflare with a client’s Webmin/Virtualmin server. While the DNS migration seemed straightforward, the integration revealed several challenges with SSL certificates, port access, and subdomain redirects. After working through each issue, here’s the complete solution. Prerequisites Before starting, you’ll need: Exporting DNS from Webmin First, export your DNS configuration in BIND… <a class=more-link href="https://alikhallad.com/how-to-configure-webmin-behind-cloudflare-proxy/">Continue reading <span class=screen-reader-text>How to Configure Webmin Behind Cloudflare Proxy</span></a></p> 163</div><!-- .entry-content --> 164<footer class="entry-footer default-max-width"> 165<span class=posted-on>Published <time class="entry-date published updated" datetime="2025-09-29T13:04:07+00:00">September 29, 2025</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/hosting/" rel="category tag">Hosting</a> </span></div> </footer><!-- .entry-footer --> 166</article><!-- #post-${ID} --> 167<article id=post-361 class="post-361 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 168<header class=entry-header> 169<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/your-missing-guide-to-claude-code-on-windows-vs-code/">Your Missing Guide to Claude Code on Windows & VS Code</a></h2> 170<figure class=post-thumbnail> 171<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/your-missing-guide-to-claude-code-on-windows-vs-code/" aria-hidden=true tabindex=-1> 172<img width=1568 height=889 src="https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-1568x889.jpg.pagespeed.ic.Gqtufep_xq.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-1568x889.jpg.pagespeed.ic.Gqtufep_xq.webp 1568w, https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-300x170.jpg.pagespeed.ic.laSb0DsWO8.webp 300w, https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-1024x580.jpg.pagespeed.ic.KjaqaY_xZP.webp 1024w, https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-768x435.jpg.pagespeed.ic.xBdZJUqqdx.webp 768w, https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-1536x871.jpg.pagespeed.ic.jJAhteOeFW.webp 1536w, https://alikhallad.com/wp-content/uploads/2025/07/xclaude-code-in-vs-code-2048x1161.jpg.pagespeed.ic.CnyxWXGrZl.webp 2048w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:56.68%;max-width:2112px;"/> </a> 173</figure><!-- .post-thumbnail --> 174</header><!-- .entry-header --> 175<div class=entry-content> 176<p>Last week, I decided to switch from Cursor to Claude Code after hitting some frustrating rate limits. I’ve been using Claude Code on WSL for a while, but with the recent native Windows support that just dropped, I figured it was time to try setting it up directly on Windows with the VS Code extension.… <a class=more-link href="https://alikhallad.com/your-missing-guide-to-claude-code-on-windows-vs-code/">Continue reading <span class=screen-reader-text>Your Missing Guide to Claude Code on Windows &
176 VS Code</span></a></p> 177</div><!-- .entry-content --> 178<footer class="entry-footer default-max-width"> 179<span class=posted-on>Published <time class="entry-date published updated" datetime="2025-07-14T11:16:39+00:00">July 14, 2025</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 180</article><!-- #post-${ID} --> 181<article id=post-340 class="post-340 post type-post status-publish format-standard has-post-thumbnail hentry category-aws category-linux category-wordpress tag-aws tag-ebs tag-ec2 tag-efs entry"> 182<header class=entry-header> 183<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-migrate-from-amazon-efs-to-ebs-on-ec2/">How to Migrate from Amazon EFS to EBS on EC2</a></h2> 184<figure class=post-thumbnail> 185<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-migrate-from-amazon-efs-to-ebs-on-ec2/" aria-hidden=true tabindex=-1> 186<img width=1568 height=429 src="https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-1568x429.png.pagespeed.ic.Ryp0Dl3-YX.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-1568x429.png.pagespeed.ic.Ryp0Dl3-YX.webp 1568w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-300x82.png.pagespeed.ic.K-S7FjF5pT.webp 300w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-1024x280.png.pagespeed.ic.MHWvVMjLVo.webp 1024w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-768x210.png.pagespeed.ic.hooonEEUhq.webp 768w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-1536x420.png.pagespeed.ic.buHo6gzIE5.webp 1536w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-from-efs-to-ebs-2048x560.png.pagespeed.ic.on9484g-uR.webp 2048w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:27.35%;max-width:2417px;"/> </a> 187</figure><!-- .post-thumbnail --> 188</header><!-- .entry-header --> 189<div class=entry-content> 190<p>Recently, I was working with a client who was experiencing unusually high AWS bills, particularly from EFS metadata IO operations. After investigating, I found that their WordPress site’s files were mounted on EFS, which turned out to be the root cause of their cost issues. If you’re wondering why EFS and WordPress don’t play well… <a class=more-link href="https://alikhallad.com/how-to-migrate-from-amazon-efs-to-ebs-on-ec2/">Continue reading <span class=screen-reader-text>How to Migrate from Amazon EFS to EBS on EC2</span></a></p> 191</div><!-- .entry-content --> 192<footer class="entry-footer default-max-width"> 193<span class=posted-on>Published <time class="entry-date published updated" datetime="2024-12-31T17:19:39+00:00">December 31, 2024</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/aws/" rel="category tag">AWS</a>, <a href="https://alikhallad.com/category/linux/" rel="category tag">Linux</a>, <a href="https://alikhallad.com/category/wordpress/" rel="category tag">WordPress</a> </span><span class=tags-links>Tagged <a href="https://alikhallad.com/tag/aws/" rel=tag>AWS</a>, <a href="https://alikhallad.com/tag/ebs/" rel=tag>EBS</a>, <a href="https://alikhallad.com/tag/ec2/" rel=tag>EC2</a>, <a href="https://alikhallad.com/tag/efs/" rel=tag>EFS</a></span></div> </footer><!-- .entry-footer --> 194</article><!-- #post-${ID} --> 195<article id=post-333 class="post-333 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 196<header class=entry-header> 197<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-migrate-data-from-mongodb-to-supabase/">How to Migrate Data from MongoDB to Supabase</a></h2> 198<figure class=post-thumbnail> 199<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-migrate-data-from-mongodb-to-supabase/" aria-hidden=true tabindex=-1> 200<img width=1568 height=745 src="https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-1568x745.jpg.pagespeed.ic.ONXt9_zGUd.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-1568x745.jpg.pagespeed.ic.ONXt9_zGUd.webp 1568w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-300x143.jpg.pagespeed.ic.cSjiW4sfIu.webp 300w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-1024x487.jpg.pagespeed.ic.Qb0l3bemJH.webp 1024w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-768x365.jpg.pagespeed.ic.u-No-z_QhI.webp 768w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase-1536x730.jpg.pagespeed.ic.cKcVN8HzjV.webp 1536w, https://alikhallad.com/wp-content/uploads/2024/12/xmigrate-database-from-mongodb-to-supabase.jpg.pagespeed.ic.nvChQjZxVs.webp 2045w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:47.53%;max-width:2045px;"/> </a> 201</figure><!-- .post-thumbnail --> 202</header><!-- .entry-header --> 203<div class=entry-content> 204<p>Recently, I found myself in a situation where I needed to migrate data from MongoDB to Supabase (PostgreSQL). Initially, MongoDB was the quickest way to get up and running on a single VPS, it was simple, flexible, and did the job. However, as our project grew and we moved more processes to AWS, it became… <a class=more-link href="https://alikhallad.com/how-to-migrate-data-from-mongodb-to-supabase/">Continue reading <span class=screen-reader-text>How to Migrate Data from MongoDB to Supabase</span></a></p> 205</div><!-- .entry-content --> 206<footer class="entry-footer default-max-width"> 207<span class=posted-on>Published <time class="entry-date published updated" datetime="2024-12-23T17:11:44+00:00">December 23, 2024</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 208</article><!-- #post-${ID} --> 209<article id=post-330 class="post-330 post type-post status-publish format-standard has-post-thumbnail hentry category-general entry"> 210<header class=entry-header> 211<h2 class="entry-title default-max-width"><a href="https://alikhallad.com/how-to-create-external-backup-of-your-self-hosted-mongodb-database/">How to Create External Backup of Your Self-Hosted MongoDB Database</a></h2>
212<figure class=post-thumbnail> 213<a class="post-thumbnail-inner alignwide" href="https://alikhallad.com/how-to-create-external-backup-of-your-self-hosted-mongodb-database/" aria-hidden=true tabindex=-1> 214<img width=1568 height=614 src="https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-1568x614.jpg.pagespeed.ic.TnJrLanIbS.webp" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding=async loading=lazy srcset="https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-1568x614.jpg.pagespeed.ic.TnJrLanIbS.webp 1568w, https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-300x118.jpg.pagespeed.ic.HpPX1fTkmE.webp 300w, https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-1024x401.jpg.pagespeed.ic.hE-AY0kjzO.webp 1024w, https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-768x301.jpg.pagespeed.ic.pGlFOPOiQV.webp 768w, https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-1536x602.jpg.pagespeed.ic.Z8Vgr7CpdE.webp 1536w, https://alikhallad.com/wp-content/uploads/2024/12/xback-up-self-hosted-mongodb-externally-2048x802.jpg.pagespeed.ic.QfHwGzKl2S.webp 2048w" sizes="auto, (max-width: 1568px) 100vw, 1568px" style="width:100%;height:39.17%;max-width:2405px;"/> </a> 215</figure><!-- .post-thumbnail --> 216</header><!-- .entry-header --> 217<div class=entry-content> 218<p>Creating external backups of your MongoDB database is essential for data safety. This tutorial demonstrates the process of backing up a self-hosted MongoDB database. The same backup commands will work with any MongoDB instance (including MongoDB Atlas) once you have the connection URL. The only difference is in how you get the connection URL, for… <a class=more-link href="https://alikhallad.com/how-to-create-external-backup-of-your-self-hosted-mongodb-database/">Continue reading <span class=screen-reader-text>How to Create External Backup of Your Self-Hosted MongoDB Database</span></a></p> 219</div><!-- .entry-content --> 220<footer class="entry-footer default-max-width"> 221<span class=posted-on>Published <time class="entry-date published updated" datetime="2024-12-23T14:31:47+00:00">December 23, 2024</time></span><div class=post-taxonomies><span class=cat-links>Categorized as <a href="https://alikhallad.com/category/general/" rel="category tag">General</a> </span></div> </footer><!-- .entry-footer --> 222</article><!-- #post-${ID} --> 223<nav class="navigation pagination" aria-label="Posts pagination"> 224<h2 class=screen-reader-text>Posts pagination</h2> 225<div class=nav-links><span aria-current=page class="page-numbers current">Page 1</span> 226<span class="page-numbers dots">…</span> 227<a class=page-numbers href="https://alikhallad.com/page/4/">Page 4</a> 228<a class="next page-numbers" href="https://alikhallad.com/page/2/"><span class=nav-next-text>Older <span class=nav-short>posts</span></span> <svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" fill=none xmlns="http://www.w3.org/2000/svg"><path fill-rule=evenodd clip-rule=evenodd d="m4 13v-2h12l-4-4 1-2 7 7-7 7-1-2 4-4z" fill=currentColor /></svg></a></div> 229</nav> </main><!-- #main --> 230</div><!-- #primary --> 231</div><!-- #content --> 232<footer id=colophon class=site-footer role=contentinfo> 233<nav aria-label="Secondary menu" class=footer-navigation> 234<ul class=footer-navigation-wrapper> 235<li id=menu-item-21 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-21"><a href="https://www.facebook.com/aliikhallad/"><svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" version=1.1 xmlns="http://www.w3.org/2000/svg"><path d="M12 2C6.5 2 2 6.5 2 12c0 5 3.7 9.1 8.4 9.9v-7H7.9V12h2.5V9.8c0-2.5 1.5-3.9 3.8-3.9 1.1 0 2.2.2 2.2.2v2.5h-1.3c-1.2 0-1.6.8-1.6 1.6V12h2.8l-.4 2.9h-2.3v7C18.3 21.1 22 17 22 12c0-5.5-4.5-10-10-10z"></path></svg><span class=screen-reader-text>Facebook</span></a></li> 236<li id=menu-item-22 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-22"><a href="https://twitter.com/alikhallad"><svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" version=1.1 xmlns="http://www.w3.org/2000/svg"><path d="M22.23,5.924c-0.736,0.326-1.527,0.547-2.357,0.646c0.847-0.508,1.498-1.312,1.804-2.27 c-0.793,0.47-1.671,0.812-2.606,0.996C18.324,4.498,17.257,4,16.077,4c-2.266,0-4.103,1.837-4.103,4.103 c0,0.322,0.036,0.635,0.106,0.935C8.67,8.867,5.647,7.234,3.623,4.751C3.27,5.357,3.067,6.062,3.067,6.814 c0,1.424,0.724,2.679,1.825,3.415c-0.673-0.021-1.305-0.206-1.859-0.513c0,0.017,0,0.034,0,0.052c0,1.988,1.414,3.647,3.292,4.023 c-0.344,0.094-0.707,0.144-1.081,0.144c-0.264,0-0.521-0.026-0.772-0.074c0.522,1.63,2.038,2.816,3.833,2.85 c-1.404,1.1-3.174,1.756-5.096,1.756c-0.331,0-0.658-0.019-0.979-0.057c1.816,1.164,3.973,1.843,6.29,1.843 c7.547,0,11.675-6.252,11.675-11.675c0-0.178-0.004-0.355-0.012-0.531C20.985,7.47,21.68,6.747,22.23,5.924z"></path></svg><span class=screen-reader-text>Twitter</span></a></li> 237<li id=menu-item-23 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-23"><a href="https://www.linkedin.com/in/alikhallad/"><svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" version=1.1 xmlns="http://www.w3.org/2000/svg"><path d="M19.7,3H4.3C3.582,3,3,3.582,3,4.3v15.4C3,20.418,3.582,21,4.3,21h15.4c0.718,0,1.3-0.582,1.3-1.3V4.3 C21,3.582,20.418,3,19.7,3z M8.339,18.338H5.667v-8.59h2.672V18.338z M7.004,8.574c-0.857,0-1.549-0.694-1.549-1.548 c0-0.855,0.691-1.548,1.549-1.548c0.854,0,1.547,0.694,1.547,1.548C8.551,7.881,7.858,8.574,7.004,8.574z M18.339,18.338h-2.669 v-4.177c0-0.996-0.017-2.278-1.387-2.278c-1.389,0-1.601,
2371.086-1.601,2.206v4.249h-2.667v-8.59h2.559v1.174h0.037 c0.356-0.675,1.227-1.387,2.526-1.387c2.703,0,3.203,1.779,3.203,4.092V18.338z"></path></svg><span class=screen-reader-text>Linkedin</span></a></li> 238<li id=menu-item-24 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-24"><a href="https://github.com/bomsn"><svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" version=1.1 xmlns="http://www.w3.org/2000/svg"><path d="M12,2C6.477,2,2,6.477,2,12c0,4.419,2.865,8.166,6.839,9.489c0.5,0.09,0.682-0.218,0.682-0.484 c0-0.236-0.009-0.866-0.014-1.699c-2.782,0.602-3.369-1.34-3.369-1.34c-0.455-1.157-1.11-1.465-1.11-1.465 c-0.909-0.62,0.069-0.608,0.069-0.608c1.004,0.071,1.532,1.03,1.532,1.03c0.891,1.529,2.341,1.089,2.91,0.833 c0.091-0.647,0.349-1.086,0.635-1.337c-2.22-0.251-4.555-1.111-4.555-4.943c0-1.091,0.39-1.984,1.03-2.682 C6.546,8.54,6.202,7.524,6.746,6.148c0,0,0.84-0.269,2.75,1.025C10.295,6.95,11.15,6.84,12,6.836 c0.85,0.004,1.705,0.114,2.504,0.336c1.909-1.294,2.748-1.025,2.748-1.025c0.546,1.376,0.202,2.394,0.1,2.646 c0.64,0.699,1.026,1.591,1.026,2.682c0,3.841-2.337,4.687-4.565,4.935c0.359,0.307,0.679,0.917,0.679,1.852 c0,1.335-0.012,2.415-0.012,2.741c0,0.269,0.18,0.579,0.688,0.481C19.138,20.161,22,16.416,22,12C22,6.477,17.523,2,12,2z"></path></svg><span class=screen-reader-text>Github</span></a></li> 239<li id=menu-item-25 class="menu-item menu-item-type-custom menu-item-object-custom menu-item-25"><a href="mailto:[email protected]"><svg class=svg-icon width=24 height=24 aria-hidden=true role=img focusable=false viewBox="0 0 24 24" version=1.1 xmlns="http://www.w3.org/2000/svg"><path d="M20,4H4C2.895,4,2,4.895,2,6v12c0,1.105,0.895,2,2,2h16c1.105,0,2-0.895,2-2V6C22,4.895,21.105,4,20,4z M20,8.236l-8,4.882 L4,8.236V6h16V8.236z"></path></svg><span class=screen-reader-text>Email</span></a></li> 240</ul><!-- .footer-navigation-wrapper --> 241</nav><!-- .footer-navigation --> 242</footer><!-- #colophon --> 243</div><!-- #page -->
244<script type=speculationrules> 245{"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/alikhallad/*","/wp-content/themes/twentytwentyone/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} 246</script>
vendor: 1 bytes, line 246
246
247<script>document.body.classList.remove('no-js');</script>
vendor: 1 bytes, line 247
247
248<script id=wp-importmap type=importmap> 249{"imports":{"@wordpress/video-conversion/worker":"https://alikhallad.com/wp-includes/js/dist/script-modules/video-conversion/worker.min.js?ver=4d3627c45251ceb4f9a2","@wordpress/vips/worker":"https://alikhallad.com/wp-includes/js/dist/script-modules/vips/worker.min.js?ver=7e33cd8c4128731126e8"}} 250</script>
vendor: 1 bytes, line 250
250
251<script id=react-js src="https://alikhallad.com/wp-includes/js/dist/vendor/react.min.js?ver=18.3.1.1"></script>
vendor: 1 bytes, line 251
251
252<script id=react-jsx-runtime-js>"use strict";var ReactJSXRuntime=(()=>{var l=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var u=l((R,p)=>{p.exports=globalThis.React});var c=l(s=>{"use strict";var d=u(),m=Symbol.for("react.element"),O=Symbol.for("react.fragment"),v=Object.prototype.hasOwnProperty,E=d.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,a={key:!0,ref:!0,__self:!0,__source:!0};function _(t,e,f){var r,o={},n=null,i=null;f!==void 0&&(n=""+f),e.key!==void 0&&(n=""+e.key),e.ref!==void 0&&(i=e.ref);for(r in e)v.call(e,r)&&!a.hasOwnProperty(r)&&(o[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)o[r]===void 0&&(o[r]=e[r]);return{$$typeof:m,type:t,key:n,ref:i,props:o,_owner:E.current}}s.Fragment=O;s.jsx=_;s.jsxs=_});var j=l((k,y)=>{y.exports=c()});return j();})(); 253/*! Bundled license information: 254 255react/cjs/react-jsx-runtime.production.min.js: 256 (** 257 * @license React 258 * react-jsx-runtime.production.min.js 259 * 260 * Copyright (c) Facebook, Inc. and its affiliates. 261 * 262 * This source code is licensed under the MIT license found in the 263 * LICENSE file in the root directory of this source tree. 264 *) 265*/ 266</script>
vendor: 1 bytes, line 266
266
267<script src="https://alikhallad.com/wp-includes/js/dist/private-apis.min.js,qver==eb85f28c4c729bb4f002+url.min.js,qver==7b0de086d4ae11d55704+api-fetch.min.js,qver==6f2a4faeee3c722b1e57.pagespeed.jc.kQvSfv6s1_.js"></script>
267<script>eval(mod_pagespeed_SJA1Y3imAU);</script>
vendor: 1 bytes, line 267
267
268<script>eval(mod_pagespeed_zWko90Ztff);</script>
vendor: 1 bytes, line 268
268
269<script>eval(mod_pagespeed_kCIjYci_w0);</script>
vendor: 1 bytes, line 269
269
270<script id=wp-api-fetch-js-after>wp.apiFetch.use(wp.apiFetch.createRootURLMiddleware("https://alikhallad.com/wp-json/"));wp.apiFetch.nonceMiddleware=wp.apiFetch.createNonceMiddleware("897323c2d9");wp.apiFetch.use(wp.apiFetch.nonceMiddleware);wp.apiFetch.use(wp.apiFetch.mediaUploadMiddleware);wp.apiFetch.nonceEndpoint="https://alikhallad.com/wp-admin/admin-ajax.php?action=rest-nonce";(function(){if(!window.wp||!wp.apiFetch||!wp.apiFetch.use){return;}wp.apiFetch.use(function(options,next){var p=String((options&&(options.path||options.url))||"");try{var u=new URL(p,window.location.origin);p=(u.pathname||"")+(u.search||"");}catch(e){}if(p.indexOf("/wp/v2/users/me")!==-1){return Promise.resolve(null);}return next(options);});})();</script>
vendor: 1 bytes, line 270
270
271<script id=react-dom-js src="https://alikhallad.com/wp-includes/js/dist/vendor/react-dom.min.js,qver=18.3.1.1.pagespeed.jm.L2KSWrw9b0.js"></script>
vendor: 1 bytes, line 271
271
272<script src="https://alikhallad.com/wp-includes/js/dist/dom-ready.min.js,qver==3fe927cab37bf38d6a23+a11y.min.js,qver==31c6cec5a4ff7aff483d+blob.min.js,qver==c7582a735ddd2edc9731+block-serialization-default-parser.min.js,qver==4c6f3dd40077f7c17604+autop.min.js,qver==4e10a18cb6f21a043fc0+deprecated.min.js,qver==fe587bac92b7d0ef760e+dom.min.js,qver==c95f94cbbc1ac3fde84f+escape-html.min.js,qver==87ebe53e97bba59805a5+element.min.js,qver==4a4370b2b349066fd440+is-shallow-equal.min.js,qver==7ad271045c1fe60f5496+keycodes.min.js,qver==d0b4204e4bbeb412df6e+priority-queue.min.js,qver==6c0aa59b65d55dfd509b+undo-manager.min.js,qver==4554fce6276d8910a4ae+compose.min.js,qver==0e8bde2a499ea6073b42+redux-routine.min.js,qver==acca2b4857d83ad1790e.pagespeed.jc.8euzZ-hAkI.js"></script>
272<script>eval(mod_pagespeed_CC1XhrDCsU);</script>
vendor: 1 bytes, line 272
272
273<script>eval(mod_pagespeed_Ie$ektXa7T);</script>
vendor: 1 bytes, line 273
273
274<script>eval(mod_pagespeed_6slZ$N3P3$);</script>
vendor: 1 bytes, line 274
274
275<script>eval(mod_pagespeed_NMKZRZgnZZ);</script>
vendor: 1 bytes, line 275
275
276<script>eval(mod_pagespeed_R0W5CF8hE2);</script>
vendor: 1 bytes, line 276
276
277<script>eval(mod_pagespeed_jWiRgqE7zV);</script>
vendor: 1 bytes, line 277
277
278<script>eval(mod_pagespeed_3DTqi_44Fq);</script>
vendor: 1 bytes, line 278
278
279<script>eval(mod_pagespeed_8evSqU4TuZ);</script>
vendor: 1 bytes, line 279
279
280<script>eval(mod_pagespeed_UjWKBMFCaL);</script>
vendor: 1 bytes, line 280
280
281<script>eval(mod_pagespeed_GqsE9X8Ylw);</script>
vendor: 1 bytes, line 281
281
282<script>eval(mod_pagespeed_MCaNho70dD);</script>
vendor: 1 bytes, line 282
282
283<script>eval(mod_pagespeed_$Xe68WyhnV);</script>
vendor: 1 bytes, line 283
283
284<script>eval(mod_pagespeed_IhVhwK5P7c);</script>
vendor: 1 bytes, line 284
284
285<script>eval(mod_pagespeed_0J3PjpeD3i);</script>
vendor: 1 bytes, line 285
285
286<script>eval(mod_pagespeed_Xt88Giw5xI);</script>
vendor: 1 bytes, line 286
286
287<script id=wp-data-js src="https://alikhallad.com/wp-includes/js/dist/data.min.js?ver=14a216e0932d72c22976"></script>
vendor: 1 bytes, line 287
287
288<script id=wp-data-js-after>(function(){var userId=0;var storageKey="WP_DATA_USER_"+userId;wp.data.use(wp.data.plugins.persistence,{storageKey:storageKey});})();</script>
vendor: 1 bytes, line 288
288
289<script src="https://alikhallad.com/wp-includes/js/dist/html-entities.min.js,qver==a976ff3a0f00bc2999a3+rich-text.min.js,qver==3e5852e42cee1c239bae+shortcode.min.js,qver==f6273476300cc5fad4cd+warning.min.js,qver==a0978839debc564a6608.pagespeed.jc.ISKytqCIsK.js"></script>
289<script>eval(mod_pagespeed_Bhxdj0dQ$B);</script>
vendor: 1 bytes, line 289
289
290<script>eval(mod_pagespeed_VWSe5GzHbs);</script>
vendor: 1 bytes, line 290
290
291<script>eval(mod_pagespeed_f8WYCDPusY);</script>
vendor: 1 bytes, line 291
291
292<script>eval(mod_pagespeed_34LihBBL8D);</script>
vendor: 1 bytes, line 292
292
293<script id=wp-blocks-js src="https://alikhallad.com/wp-includes/js/dist/blocks.min.js?ver=c0e57a630a0b6f6c3bb5"></script>
vendor: 1 bytes, line 293
293
294<script id=moment-js src="https://alikhallad.com/wp-includes/js/dist/vendor/moment.min.js?ver=2.30.1"></script>
vendor: 1 bytes, line 294
294
295<script id=moment-js-after>moment.updateLocale('en_US',{"months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"week":{"dow":1},"longDateFormat":{"LT":"g:i a","LTS":null,"L":null,"LL":"F j, Y","LLL":"F j, Y g:i a","LLLL":null}});</script>
vendor: 1 bytes, line 295
295
296<script id=wp-date-js src="https://alikhallad.com/wp-includes/js/dist/date.min.js?ver=8173fc0fc12b7bb7eaf0"></script>
vendor: 1 bytes, line 296
296
297<script id=wp-date-js-after>wp.date.setSettings({"l10n":{"locale":"en_US","months":["January","February","March","April","May","June","July","August","September","October","November","December"],"monthsShort":["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],"weekdays":["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"weekdaysShort":["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],"meridiem":{"am":"am","pm":"pm","AM":"AM","PM":"PM"},"relative":{"future":"%s from now","past":"%s ago","s":"a second","ss":"%d seconds","m":"a minute","mm":"%d minutes","h":"an hour","hh":"%d hours","d":"a day","dd":"%d days","M":"a month","MM":"%d months","y":"a year","yy":"%d years"},"startOfWeek":1},"formats":{"time":"g:i a","date":"F j, Y","datetime":"F j, Y g:i a","datetimeAbbreviated":"M j, Y g:i a"},"timezone":{"offset":0,"offsetFormatted":"0","string":"","abbr":""}});</script>
vendor: 1 bytes, line 297
297
298<script src="https://alikhallad.com/wp-includes/js/dist/primitives.min.js,qver==44cc5a35c7b9fe07a838+theme.min.js,qver==56a75cc08ae66c1fcb7a.pagespeed.jc.bBWj1LIsis.js"></script>
298<script>eval(mod_pagespeed_2PszsFJWua);</script>
vendor: 1 bytes, line 298
298
299<script>eval(mod_pagespeed_lbVSDSeopJ);</script>
vendor: 1 bytes, line 299
299
300<script id=wp-components-js src="https://alikhallad.com/wp-includes/js/dist/components.min.js?ver=9b751f17060211272a5c"></script>
vendor: 1 bytes, line 300
300
301<script src="https://alikhallad.com/wp-includes/js/dist/keyboard-shortcuts.min.js,qver==37da95806f2339bc80d0+preferences-persistence.min.js,qver==a34abbdacd8f50f9acb1+preferences.min.js,qver==5a169e3fc0e657f74172.pagespeed.jc.8r-uvp1cTv.js"></script>
301<script>eval(mod_pagespeed_dHSI3SsZba);</script>
vendor: 1 bytes, line 301
301
302<script>eval(mod_pagespeed_fQ8w8bxS$a);</script>
vendor: 1 bytes, line 302
302
303<script>eval(mod_pagespeed_TxJlcBPjiy);</script>
vendor: 1 bytes, line 303
303
304<script id=wp-preferences-js-after>(function(){var serverData=false;var userId="0";var persistenceLayer=wp.preferencesPersistence.__unstableCreatePersistenceLayer(serverData,userId);var preferencesStore=wp.preferences.store;wp.data.dispatch(preferencesStore).setPersistenceLayer(persistenceLayer);})();</script>
vendor: 1 bytes, line 304
304
305<script src="https://alikhallad.com/wp-includes/js/dist/commands.min.js,qver==1a4910212c7ed2355300+notices.min.js,qver==c09a068fdab0eb465e14+style-engine.min.js,qver==914befb08774033e6265+token-list.min.js,qver==e86ab419d8302d57822c.pagespeed.jc.75fX1QShiO.js"></script>
305<script>eval(mod_pagespeed_UpXmz11fYs);</script>
vendor: 1 bytes, line 305
305
306<script>eval(mod_pagespeed_F2f1LOC5KL);</script>
vendor: 1 bytes, line 306
306
307<script>eval(mod_pagespeed_HV42c2NAT1);</script>
vendor: 1 bytes, line 307
307
308<script>eval(mod_pagespeed_VthQeVDS9R);</script>
vendor: 1 bytes, line 308
308
309<script id=wp-upload-media-js src="https://alikhallad.com/wp-includes/js/dist/upload-media.min.js?ver=a2c026d433c295fd5145"></script>
vendor: 1 bytes, line 309
309
310<script id=wp-block-editor-js src="https://alikhallad.com/wp-includes/js/dist/block-editor.min.js?ver=37e58da384b2558bd479"></script>
vendor: 1 bytes, line 310
310
311<script id=wp-core-data-js src="https://alikhallad.com/wp-includes/js/dist/core-data.min.js?ver=573f98dbff9f49ffeb0b"></script>
vendor: 1 bytes, line 311
311
312<script src="https://alikhallad.com/wp-content/plugins,_give,_build,_entitiesPublic.js,qver==b759f2adda1f29c50713+themes,_twentytwentyone,_assets,_js,_responsive-embeds.js,qver==1.0.0.pagespeed.jc.oUKLPDCW8M.js"></script>
312<script>eval(mod_pagespeed_NNbjGCpnKI);</script>
vendor: 1 bytes, line 312
312
313<script>eval(mod_pagespeed_D8wavkUTB9);</script>
vendor: 1 bytes, line 313
313
314<script id=jetpack-stats-js-before>_stq=window._stq||[];_stq.push(["view",{"v":"ext","blog":"188024721","post":"0","tz":"0","srv":"alikhallad.com","arch_home":"1","j":"1:16.1.3"}]);_stq.push(["clickTrackerInit","188024721","0"]);</script>
vendor: 1 bytes, line 314
314
315<script data-wp-strategy=defer defer fetchpriority=low id=jetpack-stats-js src="https://stats.wp.com/e-202639.js"></script>
vendor: 1 bytes, line 315
315
316<script id=wp-emoji-settings type="application/json"> 317{"baseUrl":"https://s.w.org/images/core/emoji/17.0.2/72x72/","ext":".png","svgUrl":"https://s.w.org/images/core/emoji/17.0.2/svg/","svgExt":".svg","source":{"concatemoji":"https://alikhallad.com/wp-includes/js/wp-emoji-release.min.js?ver=7.1.2"}} 318</script>
vendor: 1 bytes, line 318
318
319<script type=module> 320/*! This file is auto-generated */ 321var e="script#wp-emoji-settings",t=document.querySelector(e);if(!(t instanceof HTMLScriptElement))throw new Error("Element missing: "+e);const r=JSON.parse(t.text),s=(window._wpemojiSettings=r,"wpEmojiSettingsSupports"),o=["flag","emoji"];function i(e){try{var t={supportTests:e,timestamp:(new Date).valueOf()};sessionStorage.setItem(s,JSON.stringify(t))}catch(e){}}function c(e,t,n){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);t=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(n,0,0);const r=new Uint32Array(e.getImageData(0,0,e.canvas.width,e.canvas.height).data);return t.every((e,t)=>e===r[t])}function p(e,t){e.clearRect(0,0,e.canvas.width,e.canvas.height),e.fillText(t,0,0);var n=e.getImageData(16,16,1,1);for(let e=0;e<n.data.length;e++)if(0!==n.data[e])return!1;return!0}function u(e,t,n,r){switch(t){case"flag":return n(e,"\ud83c\udff3\ufe0f\u200d\u26a7\ufe0f","\ud83c\udff3\ufe0f\u200b\u26a7\ufe0f")?!1:!n(e,"\ud83c\udde8\ud83c\uddf6","\ud83c\udde8\u200b\ud83c\uddf6")&&!n(e,"\ud83c\udff4\udb40\udc67\udb40\udc62\udb40\udc65\udb40\udc6e\udb40\udc67\udb40\udc7f","\ud83c\udff4\u200b\udb40\udc67\u200b\udb40\udc62\u200b\udb40\udc65\u200b\udb40\udc6e\u200b\udb40\udc67\u200b\udb40\udc7f");case"emoji":return!r(e,"\ud83e\u1fac8")}return!1}function f(e,t,n,r){let a;const s=(a="undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?new OffscreenCanvas(300,150):document.createElement("canvas")).getContext("2d",{willReadFrequently:!0}),o=(s.textBaseline="top",s.font="600 32px Arial",{});return e.forEach(e=>{o[e]=t(s,e,n,r)}),o}function a(e){var t=document.createElement("script");t.src=e,t.defer=!0,document.head.appendChild(t)}r.supports={everything:!0,everythingExceptFlag:!0},new Promise(t=>{let n=function(){try{var e=JSON.parse(sessionStorage.getItem(s));if("object"==typeof e&&"number"==typeof e.timestamp&&(new Date).valueOf()<e.timestamp+604800&&"object"==typeof e.supportTests)return e.supportTests}catch(e){}return null}();if(!n){if("undefined"!=typeof Worker&&"undefined"!=typeof OffscreenCanvas&&"undefined"!=typeof URL&&URL.createObjectURL&&"undefined"!=typeof Blob)try{var e="postMessage("+f.toString()+"("+[JSON.stringify(o),u.toString(),c.toString(),p.toString()].join(",")+"));",r=new Blob([e],{type:"text/javascript"});const a=new Worker(URL.createObjectURL(r),{name:"wpTestEmojiSupports"});return void(a.onmessage=e=>{i(n=e.data),a.terminate(),t(n)})}catch(e){}i(n=f(o,u,c,p))}t(n)}).then(e=>{for(const n in e)r.supports[n]=e[n],r.supports.everything=r.supports.everything&&r.supports[n],"flag"!==n&&(r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&r.supports[n]);var t;r.supports.everythingExceptFlag=r.supports.everythingExceptFlag&&!r.supports.flag,r.supports.everything||((t=r.source||{}).concatemoji?a(t.concatemoji):t.wpemoji&&t.twemoji&&(a(t.twemoji),a(t.wpemoji)))}); 322//# sourceURL=https://alikhallad.com/wp-includes/js/wp-emoji-loader.min.js 323</script>
323 324</body> 325</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.