<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>I build, revamp and maintain websites for Malaysian clinics and small businesses. on Mark Koh</title>
    <link>https://markkoh.com/</link>
    <description>Recent content in I build, revamp and maintain websites for Malaysian clinics and small businesses. on Mark Koh</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Sat, 08 Aug 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://markkoh.com/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Chua Skin Specialist</title>
      <link>https://markkoh.com/portfolio/chua/</link>
      <pubDate>Fri, 07 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/chua/</guid>
      <description>&lt;p&gt;Full-service web project for Chua Skin Specialist including webdesign, KKLIU government licensing application, logo design, Malay/English translation, SEO, Google Places, and search advertising.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Website Design &amp; Revamp</title>
      <link>https://markkoh.com/services/web-design/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/services/web-design/</guid>
      <description>&lt;div class=&#34;service-hero&#34;&gt;&#xA;&lt;p&gt;A website that looks dated costs you customers before they ever speak to you. I rebuild yours so it works properly on a phone, loads fast, and shows up when people search.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;service-illustration&#34;&gt;&#xA;&lt;svg viewBox=&#34;0 0 400 140&#34; width=&#34;100%&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; aria-label=&#34;An outdated website rebuilt into a responsive one&#34;&gt;&#xA;  &lt;text x=&#34;62&#34; y=&#34;20&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;Today&lt;/text&gt;&#xA;  &lt;rect x=&#34;20&#34; y=&#34;34&#34; width=&#34;84&#34; height=&#34;66&#34; rx=&#34;4&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34; opacity=&#34;0.55&#34;/&gt;&#xA;  &lt;line x1=&#34;20&#34; y1=&#34;46&#34; x2=&#34;104&#34; y2=&#34;46&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.35&#34;/&gt;&#xA;  &lt;line x1=&#34;30&#34; y1=&#34;60&#34; x2=&#34;80&#34; y2=&#34;60&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;4&#34; opacity=&#34;0.28&#34;/&gt;&#xA;  &lt;line x1=&#34;30&#34; y1=&#34;72&#34; x2=&#34;94&#34; y2=&#34;72&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;3&#34; opacity=&#34;0.22&#34;/&gt;&#xA;  &lt;line x1=&#34;30&#34; y1=&#34;82&#34; x2=&#34;70&#34; y2=&#34;82&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;3&#34; opacity=&#34;0.22&#34;/&gt;&#xA;  &lt;text x=&#34;62&#34; y=&#34;118&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;9&#34; fill=&#34;#999&#34;&gt;not mobile friendly&lt;/text&gt;&#xA;  &lt;line x1=&#34;126&#34; y1=&#34;67&#34; x2=&#34;176&#34; y2=&#34;67&#34; stroke=&#34;#0055cc&#34; stroke-width=&#34;2&#34; stroke-dasharray=&#34;7,5&#34;/&gt;&#xA;  &lt;polygon points=&#34;176,61 190,67 176,73&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;circle cx=&#34;130&#34; cy=&#34;67&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34;&gt;&#xA;    &lt;animate attributeName=&#34;cx&#34; from=&#34;130&#34; to=&#34;176&#34; dur=&#34;2.4s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.8;0.8;0&#34; dur=&#34;2.4s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/circle&gt;&#xA;  &lt;text x=&#34;268&#34; y=&#34;20&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;After&lt;/text&gt;&#xA;  &lt;rect x=&#34;206&#34; y=&#34;34&#34; width=&#34;124&#34; height=&#34;80&#34; rx=&#34;6&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;206&#34; y1=&#34;48&#34; x2=&#34;330&#34; y2=&#34;48&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;circle cx=&#34;216&#34; cy=&#34;41&#34; r=&#34;2.2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.5&#34;/&gt;&#xA;  &lt;circle cx=&#34;224&#34; cy=&#34;41&#34; r=&#34;2.2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.5&#34;/&gt;&#xA;  &lt;rect x=&#34;216&#34; y=&#34;58&#34; width=&#34;52&#34; height=&#34;8&#34; rx=&#34;4&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.75&#34;/&gt;&#xA;  &lt;rect x=&#34;216&#34; y=&#34;72&#34; width=&#34;78&#34; height=&#34;5&#34; rx=&#34;2.5&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.3&#34;/&gt;&#xA;  &lt;rect x=&#34;216&#34; y=&#34;82&#34; width=&#34;64&#34; height=&#34;5&#34; rx=&#34;2.5&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.3&#34;/&gt;&#xA;  &lt;rect x=&#34;216&#34; y=&#34;94&#34; width=&#34;38&#34; height=&#34;12&#34; rx=&#34;6&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;rect x=&#34;300&#34; y=&#34;58&#34; width=&#34;22&#34; height=&#34;48&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.15&#34;/&gt;&#xA;  &lt;rect x=&#34;344&#34; y=&#34;52&#34; width=&#34;34&#34; height=&#34;62&#34; rx=&#34;6&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;rect x=&#34;350&#34; y=&#34;64&#34; width=&#34;22&#34; height=&#34;6&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.75&#34;/&gt;&#xA;  &lt;rect x=&#34;350&#34; y=&#34;76&#34; width=&#34;22&#34; height=&#34;4&#34; rx=&#34;2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.3&#34;/&gt;&#xA;  &lt;rect x=&#34;350&#34; y=&#34;85&#34; width=&#34;16&#34; height=&#34;4&#34; rx=&#34;2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.3&#34;/&gt;&#xA;  &lt;rect x=&#34;350&#34; y=&#34;96&#34; width=&#34;20&#34; height=&#34;8&#34; rx=&#34;4&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;&lt;/svg&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;&#xA;&lt;p&gt;Most small business websites were built once and never touched again. Yours might still be working — but if it was built more than a few years ago, your customers are running into this:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Villamaria</title>
      <link>https://markkoh.com/portfolio/villamaria/</link>
      <pubDate>Sun, 02 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/villamaria/</guid>
      <description>&lt;p&gt;Website revamp with basic SEO and responsive website design for Villamaria — maintained since 2018.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI WhatsApp Chatbot</title>
      <link>https://markkoh.com/services/whatsapp-chatbot/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/services/whatsapp-chatbot/</guid>
      <description>&lt;div class=&#34;service-hero&#34;&gt;&#xA;&lt;p&gt;Your customers are already on WhatsApp. Answer every enquiry in seconds — 24/7, in their language — without hiring more staff.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;service-illustration&#34;&gt;&#xA;&lt;svg viewBox=&#34;0 0 400 140&#34; width=&#34;100%&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; aria-label=&#34;AI WhatsApp chatbot illustration&#34;&gt;&#xA;  &lt;!-- Customer phone --&gt;&#xA;  &lt;text x=&#34;55&#34; y=&#34;22&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;Customer&lt;/text&gt;&#xA;  &lt;rect x=&#34;30&#34; y=&#34;30&#34; width=&#34;50&#34; height=&#34;88&#34; rx=&#34;8&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;48&#34; y1=&#34;38&#34; x2=&#34;62&#34; y2=&#34;38&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;rect x=&#34;37&#34; y=&#34;46&#34; width=&#34;26&#34; height=&#34;10&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.25&#34;/&gt;&#xA;  &lt;rect x=&#34;47&#34; y=&#34;61&#34; width=&#34;26&#34; height=&#34;10&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.5&#34;/&gt;&#xA;  &lt;rect x=&#34;37&#34; y=&#34;76&#34; width=&#34;22&#34; height=&#34;10&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.25&#34;/&gt;&#xA;  &lt;circle cx=&#34;55&#34; cy=&#34;108&#34; r=&#34;3&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;!-- WhatsApp conversation: question to bot --&gt;&#xA;  &lt;text x=&#34;127&#34; y=&#34;50&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;10&#34; fill=&#34;#666&#34;&gt;WhatsApp&lt;/text&gt;&#xA;  &lt;line x1=&#34;90&#34; y1=&#34;62&#34; x2=&#34;163&#34; y2=&#34;62&#34; stroke=&#34;#0055cc&#34; stroke-width=&#34;1.5&#34; stroke-dasharray=&#34;6,5&#34;/&gt;&#xA;  &lt;polygon points=&#34;163,58 171,62 163,66&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;rect x=&#34;90&#34; y=&#34;57&#34; width=&#34;12&#34; height=&#34;9&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.5&#34;&gt;&#xA;    &lt;animate attributeName=&#34;x&#34; from=&#34;90&#34; to=&#34;158&#34; dur=&#34;2.2s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.6;0.6;0&#34; dur=&#34;2.2s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/rect&gt;&#xA;  &lt;!-- Answer back to customer --&gt;&#xA;  &lt;line x1=&#34;171&#34; y1=&#34;88&#34; x2=&#34;98&#34; y2=&#34;88&#34; stroke=&#34;#0055cc&#34; stroke-width=&#34;1.5&#34; stroke-dasharray=&#34;6,5&#34;/&gt;&#xA;  &lt;polygon points=&#34;98,84 90,88 98,92&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;rect x=&#34;155&#34; y=&#34;83&#34; width=&#34;12&#34; height=&#34;9&#34; rx=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.5&#34;&gt;&#xA;    &lt;animate attributeName=&#34;x&#34; from=&#34;158&#34; to=&#34;90&#34; dur=&#34;2.2s&#34; begin=&#34;1.1s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.6;0.6;0&#34; dur=&#34;2.2s&#34; begin=&#34;1.1s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/rect&gt;&#xA;  &lt;!-- AI bot --&gt;&#xA;  &lt;text x=&#34;203&#34; y=&#34;22&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;AI Bot&lt;/text&gt;&#xA;  &lt;line x1=&#34;203&#34; y1=&#34;48&#34; x2=&#34;203&#34; y2=&#34;38&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34;/&gt;&#xA;  &lt;circle cx=&#34;203&#34; cy=&#34;35&#34; r=&#34;3.5&#34; fill=&#34;#0055cc&#34;&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;1;0.3;1&#34; dur=&#34;1.6s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/circle&gt;&#xA;  &lt;rect x=&#34;175&#34; y=&#34;48&#34; width=&#34;56&#34; height=&#34;44&#34; rx=&#34;10&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;circle cx=&#34;192&#34; cy=&#34;66&#34; r=&#34;4&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;circle cx=&#34;214&#34; cy=&#34;66&#34; r=&#34;4&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;line x1=&#34;192&#34; y1=&#34;80&#34; x2=&#34;214&#34; y2=&#34;80&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.5&#34;/&gt;&#xA;  &lt;rect x=&#34;185&#34; y=&#34;100&#34; width=&#34;36&#34; height=&#34;16&#34; rx=&#34;8&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;text x=&#34;203&#34; y=&#34;112&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;9.5&#34; fill=&#34;#fff&#34;&gt;24/7&lt;/text&gt;&#xA;  &lt;!-- Link to business knowledge --&gt;&#xA;  &lt;line x1=&#34;240&#34; y1=&#34;70&#34; x2=&#34;316&#34; y2=&#34;70&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; stroke-dasharray=&#34;4,4&#34; opacity=&#34;0.5&#34;/&gt;&#xA;  &lt;circle cx=&#34;240&#34; cy=&#34;70&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34;&gt;&#xA;    &lt;animate attributeName=&#34;cx&#34; from=&#34;240&#34; to=&#34;316&#34; dur=&#34;3s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.7;0.7;0&#34; dur=&#34;3s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/circle&gt;&#xA;  &lt;!-- Business knowledge base --&gt;&#xA;  &lt;text x=&#34;347&#34; y=&#34;22&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;Your Business Info&lt;/text&gt;&#xA;  &lt;ellipse cx=&#34;347&#34; cy=&#34;50&#34; rx=&#34;22&#34; ry=&#34;7&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;325&#34; y1=&#34;50&#34; x2=&#34;325&#34; y2=&#34;98&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;369&#34; y1=&#34;50&#34; x2=&#34;369&#34; y2=&#34;98&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;path d=&#34;M325,98 A22,7 0 0 0 369,98&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;path d=&#34;M325,66 A22,7 0 0 0 369,66&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;path d=&#34;M325,82 A22,7 0 0 0 369,82&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;&lt;/svg&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;&#xA;&lt;p&gt;Every unanswered WhatsApp message is a customer walking away. If you run a small business in Malaysia, you know how it goes:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dentalpro</title>
      <link>https://markkoh.com/portfolio/dentalpro/</link>
      <pubDate>Mon, 03 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/dentalpro/</guid>
      <description>&lt;p&gt;Website revamp with SEO, Google Places listing, and responsive design for Dentalpro.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Email Migration Service</title>
      <link>https://markkoh.com/services/email-migration/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/services/email-migration/</guid>
      <description>&lt;div class=&#34;service-hero&#34;&gt;&#xA;&lt;p&gt;Switching email providers shouldn&#39;t mean losing years of important emails. I handle the entire migration so you don&#39;t have to worry about a thing.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;service-illustration&#34;&gt;&#xA;&lt;svg viewBox=&#34;0 0 400 140&#34; width=&#34;400&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34; aria-label=&#34;Email migration illustration&#34;&gt;&#xA;  &lt;!-- Source server --&gt;&#xA;  &lt;rect x=&#34;20&#34; y=&#34;35&#34; width=&#34;80&#34; height=&#34;70&#34; rx=&#34;6&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;35&#34; y1=&#34;55&#34; x2=&#34;85&#34; y2=&#34;55&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;35&#34; y1=&#34;65&#34; x2=&#34;85&#34; y2=&#34;65&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;35&#34; y1=&#34;75&#34; x2=&#34;85&#34; y2=&#34;75&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;35&#34; y1=&#34;85&#34; x2=&#34;85&#34; y2=&#34;85&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;circle cx=&#34;45&#34; cy=&#34;55&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;circle cx=&#34;45&#34; cy=&#34;65&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;circle cx=&#34;45&#34; cy=&#34;75&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;!-- Envelope icon on source --&gt;&#xA;  &lt;path d=&#34;M40,42 L60,42 L60,52 L50,48 L40,52 Z&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34;/&gt;&#xA;  &lt;text x=&#34;60&#34; y=&#34;28&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;Old Provider&lt;/text&gt;&#xA;  &lt;!-- Arrow with data packets --&gt;&#xA;  &lt;line x1=&#34;120&#34; y1=&#34;70&#34; x2=&#34;270&#34; y2=&#34;70&#34; stroke=&#34;#0055cc&#34; stroke-width=&#34;2&#34; stroke-dasharray=&#34;8,6&#34;/&gt;&#xA;  &lt;polygon points=&#34;270,63 285,70 270,77&#34; fill=&#34;#0055cc&#34;/&gt;&#xA;  &lt;!-- Flowing packets --&gt;&#xA;  &lt;rect x=&#34;145&#34; y=&#34;64&#34; width=&#34;14&#34; height=&#34;12&#34; rx=&#34;2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.25&#34;&gt;&#xA;    &lt;animate attributeName=&#34;x&#34; from=&#34;120&#34; to=&#34;270&#34; dur=&#34;2.5s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.5;0.5;0&#34; dur=&#34;2.5s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/rect&gt;&#xA;  &lt;rect x=&#34;175&#34; y=&#34;64&#34; width=&#34;14&#34; height=&#34;12&#34; rx=&#34;2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.45&#34;&gt;&#xA;    &lt;animate attributeName=&#34;x&#34; from=&#34;120&#34; to=&#34;270&#34; dur=&#34;2.5s&#34; begin=&#34;0.8s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.5;0.5;0&#34; dur=&#34;2.5s&#34; begin=&#34;0.8s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/rect&gt;&#xA;  &lt;rect x=&#34;205&#34; y=&#34;64&#34; width=&#34;14&#34; height=&#34;12&#34; rx=&#34;2&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.35&#34;&gt;&#xA;    &lt;animate attributeName=&#34;x&#34; from=&#34;120&#34; to=&#34;270&#34; dur=&#34;2.5s&#34; begin=&#34;1.6s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;    &lt;animate attributeName=&#34;opacity&#34; values=&#34;0;0.5;0.5;0&#34; dur=&#34;2.5s&#34; begin=&#34;1.6s&#34; repeatCount=&#34;indefinite&#34;/&gt;&#xA;  &lt;/rect&gt;&#xA;  &lt;!-- Destination server --&gt;&#xA;  &lt;rect x=&#34;300&#34; y=&#34;35&#34; width=&#34;80&#34; height=&#34;70&#34; rx=&#34;6&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;2&#34;/&gt;&#xA;  &lt;line x1=&#34;315&#34; y1=&#34;55&#34; x2=&#34;365&#34; y2=&#34;55&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;315&#34; y1=&#34;65&#34; x2=&#34;365&#34; y2=&#34;65&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;315&#34; y1=&#34;75&#34; x2=&#34;365&#34; y2=&#34;75&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;line x1=&#34;315&#34; y1=&#34;85&#34; x2=&#34;365&#34; y2=&#34;85&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34; opacity=&#34;0.4&#34;/&gt;&#xA;  &lt;circle cx=&#34;325&#34; cy=&#34;55&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;circle cx=&#34;325&#34; cy=&#34;65&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;circle cx=&#34;325&#34; cy=&#34;75&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;circle cx=&#34;325&#34; cy=&#34;85&#34; r=&#34;3&#34; fill=&#34;#0055cc&#34; opacity=&#34;0.6&#34;/&gt;&#xA;  &lt;!-- Envelope icon on destination --&gt;&#xA;  &lt;path d=&#34;M320,42 L340,42 L340,52 L330,48 L320,52 Z&#34; fill=&#34;none&#34; stroke=&#34;currentColor&#34; stroke-width=&#34;1.5&#34;/&gt;&#xA;  &lt;text x=&#34;340&#34; y=&#34;28&#34; text-anchor=&#34;middle&#34; font-family=&#34;system-ui,sans-serif&#34; font-size=&#34;11&#34; fill=&#34;#666&#34;&gt;New Provider&lt;/text&gt;&#xA;&lt;/svg&gt;&#xA;&lt;/div&gt;&#xA;&lt;h2 id=&#34;the-problem&#34;&gt;The Problem&lt;/h2&gt;&#xA;&lt;p&gt;Migrating email between providers is stressful. One wrong move and you could lose years of correspondence, client records, and important attachments. Most people put it off because:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Kimporo</title>
      <link>https://markkoh.com/portfolio/kimporo/</link>
      <pubDate>Tue, 04 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/kimporo/</guid>
      <description>&lt;p&gt;Website revamp with e-commerce, SEO, Google Places, and PayPal integration for Kimporo (2020–2023).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Global Shepherd Malaysia</title>
      <link>https://markkoh.com/portfolio/globalshepherd/</link>
      <pubDate>Wed, 05 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/globalshepherd/</guid>
      <description>&lt;p&gt;Website revamp with SEO, Google Places listing, and PayPal setup for Global Shepherd Malaysia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Foreign Correspondents Club of Malaysia</title>
      <link>https://markkoh.com/portfolio/fccm/</link>
      <pubDate>Thu, 06 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/fccm/</guid>
      <description>&lt;p&gt;Full website development from scratch for the Foreign Correspondents Club of Malaysia.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rainmaker</title>
      <link>https://markkoh.com/portfolio/rainmaker/</link>
      <pubDate>Sat, 08 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/rainmaker/</guid>
      <description>&lt;p&gt;Web design, SEO, and search advertising for Rainmaker.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Sealion Hotel</title>
      <link>https://markkoh.com/portfolio/sealion/</link>
      <pubDate>Sun, 09 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/sealion/</guid>
      <description>&lt;p&gt;Bilingual webdesign with Facebook API integration, SEO, and search advertising for Sealion Hotel.&lt;/p&gt;</description>
    </item>
    <item>
      <title>IAOSS Swiss</title>
      <link>https://markkoh.com/portfolio/iaoss/</link>
      <pubDate>Mon, 10 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/iaoss/</guid>
      <description>&lt;p&gt;Web design and development for IAOSS Swiss.&lt;/p&gt;</description>
    </item>
    <item>
      <title>TNI</title>
      <link>https://markkoh.com/portfolio/tni/</link>
      <pubDate>Tue, 11 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/tni/</guid>
      <description>&lt;p&gt;Web design and development for TNI.&lt;/p&gt;</description>
    </item>
    <item>
      <title>All About Waterproof</title>
      <link>https://markkoh.com/portfolio/allaboutwaterproof/</link>
      <pubDate>Sat, 01 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/allaboutwaterproof/</guid>
      <description>&lt;p&gt;Website revamp with e-commerce functionality, basic SEO, and responsive design for All About Waterproof.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Tai Kam Jeh</title>
      <link>https://markkoh.com/portfolio/taikamjeh/</link>
      <pubDate>Wed, 12 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/taikamjeh/</guid>
      <description>&lt;p&gt;Web design and development for Tai Kam Jeh.&lt;/p&gt;</description>
    </item>
    <item>
      <title>C4 Center</title>
      <link>https://markkoh.com/portfolio/c4center/</link>
      <pubDate>Thu, 13 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/c4center/</guid>
      <description>&lt;p&gt;Web design and development for C4 Center.&lt;/p&gt;</description>
    </item>
    <item>
      <title>17point65</title>
      <link>https://markkoh.com/portfolio/17point65/</link>
      <pubDate>Fri, 14 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/17point65/</guid>
      <description>&lt;p&gt;Web design and development for 17point65.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Aliens Events</title>
      <link>https://markkoh.com/portfolio/aliensevents/</link>
      <pubDate>Sat, 15 Jan 2022 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/aliensevents/</guid>
      <description>&lt;p&gt;Web design and development for Aliens Events.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Dental K</title>
      <link>https://markkoh.com/portfolio/dentalk/</link>
      <pubDate>Fri, 07 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/portfolio/dentalk/</guid>
      <description>&lt;p&gt;Design and build of a multilingual, responsive website with SEO for Dental K, a specialist-led dental clinic in Desa Sri Hartamas, Kuala Lumpur (2026).&lt;/p&gt;</description>
    </item>
    <item>
      <title>Are Sliders And Carousels Good Or Bad In Web Design?</title>
      <link>https://markkoh.com/blog/sliders-carousels-good-or-bad-web-design/</link>
      <pubDate>Sat, 08 Aug 2026 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/sliders-carousels-good-or-bad-web-design/</guid>
      <description>&lt;p&gt;Sliders — or, as one web designer calls them, &amp;ldquo;interactable ghost towns&amp;rdquo; — are&#xA;everywhere, especially on WordPress sites where they are one plugin click away.&#xA;They look pretty and seem to save space. But the data says they are bad for&#xA;your website, and you should not be using them.&lt;/p&gt;&#xA;&lt;h2 id=&#34;nobody-sees-your-slides&#34;&gt;Nobody sees your slides&lt;/h2&gt;&#xA;&lt;p&gt;Visitors bounce fast, skim text, and decide within the first 10 seconds whether&#xA;to stay. Hiding content inside a slider is a barrier to entry — and people&#xA;simply do not click through:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up Thunderbird for Your @yourdomain Email</title>
      <link>https://markkoh.com/blog/thunderbird-email-setup/</link>
      <pubDate>Fri, 03 Jul 2026 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/thunderbird-email-setup/</guid>
      <description>&lt;p&gt;If you have an email address at your own domain (like &lt;a href=&#34;mailto:you@yourcompany.com&#34;&gt;you@yourcompany.com&lt;/a&gt;&#xA;), the best way to use it is with a proper mail app — not through Gmail&amp;rsquo;s &amp;ldquo;Send mail as&amp;rdquo; feature. Gmail&amp;rsquo;s approach looks convenient, but it quietly causes delivery problems:&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Replies carry the entire quoted conversation and images, making messages heavy — spam filters are more likely to reject them.&lt;/li&gt;&#xA;&lt;li&gt;Some recipients get your email while others silently don&amp;rsquo;t.&lt;/li&gt;&#xA;&lt;li&gt;Bounce messages blame a &amp;ldquo;misconfigured account&amp;rdquo; when that isn&amp;rsquo;t the real problem.&lt;/li&gt;&#xA;&lt;li&gt;Your sent items and read status don&amp;rsquo;t sync between your phone and computer.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Setting up a real mail app takes about ten minutes. This guide walks you through it with Thunderbird — free, and it works the same on Windows and Mac.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How to Reduce Gmail Storage by Deleting the Right Emails</title>
      <link>https://markkoh.com/blog/reduce-gmail-storage/</link>
      <pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/reduce-gmail-storage/</guid>
      <description>&lt;p&gt;You&amp;rsquo;re running out of Gmail storage. You spend an afternoon deleting hundreds of old emails, and the storage bar barely moves. Frustrating — but the problem isn&amp;rsquo;t the number of emails. It&amp;rsquo;s &lt;em&gt;which&lt;/em&gt; emails you&amp;rsquo;re deleting.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-math&#34;&gt;The Math&lt;/h2&gt;&#xA;&lt;p&gt;A regular email is tiny — about 50KB of text. An email with a typical attachment (a PDF, a photo, a slide deck) is around 2.5MB. That&amp;rsquo;s &lt;strong&gt;50 times bigger&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;p&gt;One email with a 25MB attachment takes up the same space as 500 regular emails. Put the other way:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Deploying a Contact Form on Hugo with PHPMailer via SSH</title>
      <link>https://markkoh.com/blog/deploying-contact-form-hugo-phpmailer/</link>
      <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/deploying-contact-form-hugo-phpmailer/</guid>
      <description>&lt;p&gt;Static sites don&amp;rsquo;t run server-side code, but a contact form still needs it. Here&amp;rsquo;s how I wired up a PHP/PHPMailer contact form on a Hugo site deployed to shared hosting via SSH — and what went wrong along the way.&lt;/p&gt;&#xA;&lt;h2 id=&#34;the-setup&#34;&gt;The Setup&lt;/h2&gt;&#xA;&lt;p&gt;The site is built with Hugo and the output is rsync&amp;rsquo;d to a cPanel shared host. PHP is available server-side, so the contact form posts to a &lt;code&gt;contact.php&lt;/code&gt; file that sits alongside the Hugo output in &lt;code&gt;public_html/&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Building Digital Products for Southeast Asia</title>
      <link>https://markkoh.com/blog/building-for-sea-markets/</link>
      <pubDate>Sat, 15 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/building-for-sea-markets/</guid>
      <description>&lt;p&gt;Southeast Asia is not a monolith. What works in Singapore may not work in&#xA;Kuala Lumpur, and what works there may miss the mark in Jakarta.&#xA;Here are some lessons from building products in this region.&lt;/p&gt;&#xA;&lt;h2 id=&#34;mobile-first-is-non-negotiable&#34;&gt;Mobile-First is Non-Negotiable&lt;/h2&gt;&#xA;&lt;p&gt;A large portion of users in Malaysia, Indonesia, and the Philippines access the&#xA;web primarily via smartphone — often on mid-range Android devices with slower&#xA;connections. If your product isn&amp;rsquo;t fast and functional on a 3G network with a&#xA;4-year-old phone, you&amp;rsquo;re losing users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running Drush in zsh shell</title>
      <link>https://markkoh.com/blog/running-drush-zsh-shell/</link>
      <pubDate>Thu, 01 Jun 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/running-drush-zsh-shell/</guid>
      <description>&lt;p&gt;After upgrading to macOS Catalina from Mojave, the default shell is zsh.&lt;/p&gt;&#xA;&lt;p&gt;To run drush in zsh:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Open up your .bash_profile&lt;/li&gt;&#xA;&lt;li&gt;Copy the content to .zprofile&lt;/li&gt;&#xA;&lt;li&gt;Restart your terminal&lt;/li&gt;&#xA;&lt;/ol&gt;</description>
    </item>
    <item>
      <title>Setting Up your Email on your Android</title>
      <link>https://markkoh.com/blog/setting-your-email-your-android/</link>
      <pubDate>Sun, 05 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/setting-your-email-your-android/</guid>
      <description>&lt;p&gt;You can always change your password &lt;a href=&#34;https://markkoh.com/blog/change-your-password/&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Requirements:&lt;/p&gt;&#xA;&lt;p&gt;Your email address: &lt;a href=&#34;mailto:mark@example.com&#34;&gt;mark@example.com&lt;/a&gt;&#xA; (You&amp;rsquo;ll need to get this created before accessing)&lt;br&gt;&#xA;Your email password&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-settings&#34;&gt;Quick settings&lt;/h2&gt;&#xA;&lt;div class=&#34;domain-helper&#34;&gt;&#xA;  &lt;label for=&#34;domain-input&#34;&gt;Your domain&lt;/label&gt;&#xA;  &lt;input type=&#34;text&#34; id=&#34;domain-input&#34; placeholder=&#34;example.com&#34; autocomplete=&#34;off&#34; autocapitalize=&#34;off&#34; spellcheck=&#34;false&#34;&gt;&#xA;  &lt;p class=&#34;domain-hint&#34;&gt;Enter your website address and the settings below will update to match.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;table-scroll&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Server&lt;/th&gt;&lt;th&gt;Port&lt;/th&gt;&lt;th&gt;Security&lt;/th&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Incoming (IMAP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;993&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Outgoing (SMTP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;465&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;Username:&lt;/strong&gt; your full email address (for both incoming and outgoing)&lt;br&gt;&#xA;&lt;strong&gt;Password:&lt;/strong&gt; your email password&lt;br&gt;&#xA;&lt;span class=&#34;domain-note&#34;&gt;(replace example.com with your own website address)&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-by-step&#34;&gt;Step by step&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/android-01.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Go to &lt;strong&gt;Add Account&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/android-02.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Go to &lt;strong&gt;Email&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/android-03.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up your Email Application (Apple Mail)</title>
      <link>https://markkoh.com/blog/setting-your-email-application-apple-mail/</link>
      <pubDate>Sat, 04 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/setting-your-email-application-apple-mail/</guid>
      <description>&lt;p&gt;You can always change your password &lt;a href=&#34;https://markkoh.com/blog/change-your-password/&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;This is for Mac OS X users. Windows users can use Thunderbird.&lt;/p&gt;&#xA;&lt;p&gt;Requirements:&lt;/p&gt;&#xA;&lt;p&gt;Your email address: &lt;a href=&#34;mailto:mark@example.com&#34;&gt;mark@example.com&lt;/a&gt;&#xA; (You&amp;rsquo;ll need to get this created before accessing)&lt;br&gt;&#xA;Your email password&lt;br&gt;&#xA;Your &amp;ldquo;email access domain&amp;rdquo;. This is provided in the email.&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Start Apple Mail. &lt;strong&gt;Mail&lt;/strong&gt; &amp;gt; &lt;strong&gt;Accounts&amp;hellip;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/apple-mail-1.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Select &lt;strong&gt;Add Other Mail Account&amp;hellip;&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/apple-mail-2.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;3&#34;&gt;&#xA;&lt;li&gt;Fill in the blanks. Click &lt;strong&gt;Create&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/apple-mail-3.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;4&#34;&gt;&#xA;&lt;li&gt;Your account needs manual configuration. Click &lt;strong&gt;Next&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/apple-mail-4.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting up your Email Application (Outlook)</title>
      <link>https://markkoh.com/blog/setting-your-email-application-outlook/</link>
      <pubDate>Fri, 03 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/setting-your-email-application-outlook/</guid>
      <description>&lt;p&gt;You can always change your password &lt;a href=&#34;https://markkoh.com/blog/change-your-password/&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Your mail server supports autodiscover&lt;/strong&gt;, so in most cases Outlook sets everything up for you — you only need your &lt;strong&gt;email address&lt;/strong&gt; and &lt;strong&gt;password&lt;/strong&gt;. Enter those and Outlook detects the rest. The manual server settings (steps 5–8) are optional, and only needed if automatic setup can&amp;rsquo;t find your account.&lt;/p&gt;&#xA;&lt;p&gt;Requirements:&lt;/p&gt;&#xA;&lt;p&gt;Your email address: &lt;a href=&#34;mailto:mark@example.com&#34;&gt;mark@example.com&lt;/a&gt;&#xA; (You&amp;rsquo;ll need to get this created before accessing)&lt;br&gt;&#xA;Your email password&lt;br&gt;&#xA;&lt;em&gt;(Optional — for manual setup only)&lt;/em&gt; Your &amp;ldquo;email access domain&amp;rdquo;, provided in your welcome email.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Setting Up your Email on your iPhone (or iPad)</title>
      <link>https://markkoh.com/blog/setting-your-email-your-iphone-or-ipad/</link>
      <pubDate>Thu, 02 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/setting-your-email-your-iphone-or-ipad/</guid>
      <description>&lt;p&gt;You can always change your password &lt;a href=&#34;https://markkoh.com/blog/change-your-password/&#34;&gt;here&lt;/a&gt;&#xA;.&lt;/p&gt;&#xA;&lt;p&gt;Requirements:&lt;/p&gt;&#xA;&lt;p&gt;Your email address: &lt;a href=&#34;mailto:mark@example.com&#34;&gt;mark@example.com&lt;/a&gt;&#xA; (You&amp;rsquo;ll need to get this created before accessing)&lt;br&gt;&#xA;Your email password&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-settings&#34;&gt;Quick settings&lt;/h2&gt;&#xA;&lt;div class=&#34;domain-helper&#34;&gt;&#xA;  &lt;label for=&#34;domain-input&#34;&gt;Your domain&lt;/label&gt;&#xA;  &lt;input type=&#34;text&#34; id=&#34;domain-input&#34; placeholder=&#34;example.com&#34; autocomplete=&#34;off&#34; autocapitalize=&#34;off&#34; spellcheck=&#34;false&#34;&gt;&#xA;  &lt;p class=&#34;domain-hint&#34;&gt;Enter your website address and the settings below will update to match.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;table-scroll&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Server&lt;/th&gt;&lt;th&gt;Port&lt;/th&gt;&lt;th&gt;Security&lt;/th&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Incoming (IMAP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;993&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Outgoing (SMTP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;465&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;Username:&lt;/strong&gt; your full email address (for both incoming and outgoing)&lt;br&gt;&#xA;&lt;strong&gt;Password:&lt;/strong&gt; your email password&lt;br&gt;&#xA;&lt;span class=&#34;domain-note&#34;&gt;(replace example.com with your own website address)&lt;/span&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;step-by-step&#34;&gt;Step by step&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/IMG_3727_0.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;Mail, Contacts, Calendars&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/IMG_3728_0.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;ol start=&#34;2&#34;&gt;&#xA;&lt;li&gt;Add Account&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/IMG_3729_0.jpg&#34; alt=&#34;&#34;&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Change your password</title>
      <link>https://markkoh.com/blog/change-your-password/</link>
      <pubDate>Wed, 01 Feb 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/change-your-password/</guid>
      <description>&lt;h2 id=&#34;email-cpanel&#34;&gt;Email (cPanel)&lt;/h2&gt;&#xA;&lt;div class=&#34;domain-helper&#34;&gt;&#xA;  &lt;label for=&#34;domain-input&#34;&gt;Your domain&lt;/label&gt;&#xA;  &lt;input type=&#34;text&#34; id=&#34;domain-input&#34; placeholder=&#34;example.com&#34; autocomplete=&#34;off&#34; autocapitalize=&#34;off&#34; spellcheck=&#34;false&#34;&gt;&#xA;  &lt;p class=&#34;domain-hint&#34;&gt;Enter your website address to get your exact login link below.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;ol&gt;&#xA;  &lt;li&gt;Go to &lt;a id=&#34;webmail-link&#34; href=&#34;https://example.com/webmail&#34; target=&#34;_blank&#34; rel=&#34;noopener&#34;&gt;https://example.com/webmail&lt;/a&gt; &lt;span class=&#34;domain-note&#34;&gt;(replace example.com with your website)&lt;/span&gt;&lt;/li&gt;&#xA;  &lt;li&gt;Log into your email.&lt;/li&gt;&#xA;  &lt;li&gt;Don&#39;t click on RoundCube or Squirrel or Hordes.&lt;/li&gt;&#xA;  &lt;li&gt;Go to top right hand corner. Look for your email.&lt;/li&gt;&#xA;  &lt;li&gt;Click on &#34;Password &amp;amp; Security&#34;.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;img src=&#34;https://markkoh.com/images/blog/cpanel-change-password.png&#34; alt=&#34;&#34;&gt;&lt;/p&gt;&#xA;&lt;script&gt;&#xA;(function () {&#xA;  var input = document.getElementById(&#39;domain-input&#39;);&#xA;  var link = document.getElementById(&#39;webmail-link&#39;);&#xA;  var note = document.querySelector(&#39;.domain-note&#39;);&#xA;  if (!input || !link) return;&#xA;&#xA;  function clean(value) {&#xA;    return (value || &#39;&#39;)&#xA;      .trim()&#xA;      .replace(/^https?:\/\//i, &#39;&#39;) // strip protocol&#xA;      .replace(/\/.*$/, &#39;&#39;)         // strip any path&#xA;      .replace(/\s+/g, &#39;&#39;)          // strip whitespace&#xA;      .toLowerCase();&#xA;  }&#xA;&#xA;  function update() {&#xA;    var domain = clean(input.value);&#xA;    var url = &#39;https://&#39; + (domain || &#39;example.com&#39;) + &#39;/webmail&#39;;&#xA;    link.href = url;&#xA;    link.textContent = url;&#xA;    // The &#34;replace example.com&#34; hint only makes sense before a domain is entered.&#xA;    if (note) note.style.display = domain ? &#39;none&#39; : &#39;&#39;;&#xA;  }&#xA;&#xA;  // Pre-fill from a ?domain= query parameter, e.g. ?domain=clientsite.com&#xA;  var preset = new URLSearchParams(window.location.search).get(&#39;domain&#39;);&#xA;  if (preset) input.value = clean(preset);&#xA;&#xA;  input.addEventListener(&#39;input&#39;, update);&#xA;  update();&#xA;})();&#xA;&lt;/script&gt;</description>
    </item>
    <item>
      <title>Common Settings for Mail Clients</title>
      <link>https://markkoh.com/blog/common-settings-mail-clients/</link>
      <pubDate>Sun, 01 Jan 2017 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/common-settings-mail-clients/</guid>
      <description>&lt;p&gt;You can use the following settings to configure your domain email in any IMAP-capable mail client (Thunderbird, Apple Mail, Outlook, iPhone, Android, etc.).&lt;/p&gt;&#xA;&lt;p&gt;Recommendation —&lt;br&gt;&#xA;Windows: &lt;a href=&#34;https://markkoh.com/blog/thunderbird-email-setup/&#34;&gt;Thunderbird&lt;/a&gt;&#xA;&lt;br&gt;&#xA;Mac: &lt;a href=&#34;https://markkoh.com/blog/setting-your-email-application-apple-mail/&#34;&gt;Apple Mail&lt;/a&gt;&#xA; or &lt;a href=&#34;https://markkoh.com/blog/thunderbird-email-setup/&#34;&gt;Thunderbird&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Before you set up your mail client, you can &lt;a href=&#34;https://markkoh.com/blog/change-your-password/&#34;&gt;change your password here&lt;/a&gt;&#xA;.&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;quick-settings&#34;&gt;Quick settings&lt;/h2&gt;&#xA;&lt;div class=&#34;domain-helper&#34;&gt;&#xA;  &lt;label for=&#34;domain-input&#34;&gt;Your domain&lt;/label&gt;&#xA;  &lt;input type=&#34;text&#34; id=&#34;domain-input&#34; placeholder=&#34;example.com&#34; autocomplete=&#34;off&#34; autocapitalize=&#34;off&#34; spellcheck=&#34;false&#34;&gt;&#xA;  &lt;p class=&#34;domain-hint&#34;&gt;Enter your website address and the settings below will update to match.&lt;/p&gt;&#xA;&lt;/div&gt;&#xA;&lt;div class=&#34;table-scroll&#34;&gt;&#xA;&lt;table&gt;&#xA;  &lt;tr&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;Server&lt;/th&gt;&lt;th&gt;Port&lt;/th&gt;&lt;th&gt;Security&lt;/th&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Incoming (IMAP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;993&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;  &lt;tr&gt;&lt;td&gt;&lt;strong&gt;Outgoing (SMTP)&lt;/strong&gt;&lt;/td&gt;&lt;td&gt;&lt;span class=&#34;mail-host&#34;&gt;mail.example.com&lt;/span&gt;&lt;/td&gt;&lt;td&gt;465&lt;/td&gt;&lt;td&gt;SSL/TLS&lt;/td&gt;&lt;/tr&gt;&#xA;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;p&gt;&lt;strong&gt;Username:&lt;/strong&gt; your full email address (for both incoming and outgoing)&lt;br&gt;&#xA;&lt;strong&gt;Password:&lt;/strong&gt; your email password&lt;br&gt;&#xA;&lt;strong&gt;Authentication for outgoing (SMTP):&lt;/strong&gt; yes — same username and password&lt;br&gt;&#xA;&lt;span class=&#34;domain-note&#34;&gt;(replace example.com with your own website address)&lt;/span&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taxonomy Term Translation</title>
      <link>https://markkoh.com/blog/taxonomy-term-translation/</link>
      <pubDate>Thu, 01 Jan 2015 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/taxonomy-term-translation/</guid>
      <description>&lt;p&gt;Having a problem with taxonomy term translations in Views?&lt;/p&gt;&#xA;&lt;p&gt;Try this&lt;br&gt;&#xA;1. Download this module &lt;a href=&#34;http://drupal.org/project/i18nviews&#34; target=&#34;_blank&#34; rel=&#34;noopener noreferrer&#34;&gt;http://drupal.org/project/i18nviews&lt;/a&gt;&#xA;&lt;br&gt;&#xA;2. You can now add &amp;ldquo;Taxonomy term: Name (translated)&amp;rdquo; to your fields.&lt;/p&gt;&#xA;&lt;p&gt;Your taxonomy should now display the right language.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Pathetic sad maggot</title>
      <link>https://markkoh.com/blog/pathetic-sad-maggot/</link>
      <pubDate>Wed, 01 Jan 2014 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/pathetic-sad-maggot/</guid>
      <description>&lt;p&gt;(Letter to Head of Brand Business or CEO, thanks)&lt;/p&gt;&#xA;&lt;p&gt;Dear Sir or Madam,&lt;/p&gt;&#xA;&lt;p&gt;This is a formal email. We are the department of Asian Domain Registration Service in China. Here I have something to confirm with you. We formally received an application on January 22, 2013 that a company claimed Zoso Int&amp;rsquo;l Ltd were applying to register &amp;ldquo;markkoh&amp;rdquo; as their brand name and some markkoh Asian countries top-level domain names through our firm.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Revamp</title>
      <link>https://markkoh.com/blog/revamp/</link>
      <pubDate>Tue, 01 Jan 2013 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/blog/revamp/</guid>
      <description>&lt;p&gt;I&amp;rsquo;ve just revamped my website. Phew! The last revamp was about 3 years ago. I upgraded to Drupal 7 from Drupal 6, cleaned up the CSS, and added the portfolio and images. They say a mechanic fixes his own car last. From now on, I&amp;rsquo;ll always update my own website first. One has to take care of oneself before he can care for others.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Style Guide</title>
      <link>https://markkoh.com/style-guide/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://markkoh.com/style-guide/</guid>
      <description></description>
    </item>
  </channel>
</rss>
