<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: A Muh Mufqi Zuhudi</title>
    <description>The latest articles on DEV Community by A Muh Mufqi Zuhudi (@moefqy).</description>
    <link>https://dev.to/moefqy</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F2476681%2Ffd955c35-6d34-4ec8-8169-0191c8cc0a7b.png</url>
      <title>DEV Community: A Muh Mufqi Zuhudi</title>
      <link>https://dev.to/moefqy</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/moefqy"/>
    <language>en</language>
    <item>
      <title>Minimalist LaTeX + VSCode Setup (macOS)</title>
      <dc:creator>A Muh Mufqi Zuhudi</dc:creator>
      <pubDate>Wed, 05 Aug 2026 12:41:29 +0000</pubDate>
      <link>https://dev.to/moefqy/minimalist-latex-vscode-setup-macos-4c4p</link>
      <guid>https://dev.to/moefqy/minimalist-latex-vscode-setup-macos-4c4p</guid>
      <description>&lt;p&gt;LaTeX is a document preparation system for high-quality typesetting, perfect for academic papers and technical docs. Many people turn to Overleaf as their go-to online editor for LaTeX, but it comes with its own frustrations. If you are tired of &lt;a href="https://www.overleaf.com" rel="noopener noreferrer"&gt;Overleaf&lt;/a&gt; being costly and always hitting the &lt;code&gt;compile timed out&lt;/code&gt; error, this guide is for you!&lt;/p&gt;

&lt;p&gt;The full MacTeX install weighs in at a massive ~6.4GB, most of which you'll never actually use. Setting up a minimalist LaTeX environment on macOS using BasicTeX and VSCode is a much better alternative that makes your setup ~8 times smaller. It saves storage and makes it much easier to collaborate with your teammates using GitHub as a combo.&lt;/p&gt;

&lt;h2&gt;
  
  
  Install LaTeX via Homebrew
&lt;/h2&gt;

&lt;p&gt;We'll use Homebrew to keep things manageable. If you don't have it, grab it at &lt;a href="https://brew.sh" rel="noopener noreferrer"&gt;brew.sh&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Install LaTeX
&lt;/h3&gt;

&lt;p&gt;BasicTeX is the "lean" version of MacTeX. It's only ~140MB initially.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;--cask&lt;/span&gt; basictex
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Refresh your path and verify
&lt;/h3&gt;

&lt;p&gt;Make the TeX binaries available in your current terminal session:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;eval&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="si"&gt;$(&lt;/span&gt;/usr/libexec/path_helper&lt;span class="si"&gt;)&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The default LaTeX compiler &lt;code&gt;pdflatex&lt;/code&gt; should be available now. Verify it's working:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;which pdflatex
pdflatex &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  3. Update &lt;code&gt;tlmgr&lt;/code&gt; and packages
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;tlmgr&lt;/code&gt; is the TeX Live Manager. To update &lt;code&gt;tlmgr&lt;/code&gt; and all packages, run the following commands:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr update &lt;span class="nt"&gt;--self&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr update &lt;span class="nt"&gt;--all&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  4. Install &lt;code&gt;latexmk&lt;/code&gt; (build manager)
&lt;/h3&gt;

&lt;p&gt;&lt;code&gt;latexmk&lt;/code&gt; is the "build manager" that handles multiple runs of the compiler (necessary for bibliographies and tables of contents).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr &lt;span class="nb"&gt;install &lt;/span&gt;latexmk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Verify &lt;code&gt;latexmk&lt;/code&gt; version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;which latexmk
latexmk &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  5. Install essential package collections
&lt;/h3&gt;

&lt;p&gt;BasicTeX is too bare-bones for real projects. Since we went minimalist, we need to grab only the packages we actually use. These three collections will cover 90% of your needs while keeping storage down.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr &lt;span class="nb"&gt;install &lt;/span&gt;collection-latexrecommended
&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr &lt;span class="nb"&gt;install &lt;/span&gt;collection-fontsrecommended
&lt;span class="nb"&gt;sudo &lt;/span&gt;tlmgr &lt;span class="nb"&gt;install &lt;/span&gt;collection-latexextra
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; If a build fails due to a missing .sty file, just run &lt;code&gt;sudo tlmgr install &amp;lt;pkgname&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This setup keeps the total size around ~770MB, allowing you to stay lean and only add specific packages as you go.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up VSCode
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Install &lt;code&gt;LaTeX Workshop&lt;/code&gt; extension
&lt;/h3&gt;

&lt;p&gt;Search and install the &lt;code&gt;LaTeX Workshop&lt;/code&gt; extension from the Visual Studio Code Marketplace.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Create main.tex
&lt;/h3&gt;

&lt;p&gt;To start and test your setup, create a new &lt;code&gt;main.tex&lt;/code&gt; file.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight tex"&gt;&lt;code&gt;&lt;span class="k"&gt;\documentclass&lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;article&lt;span class="p"&gt;}&lt;/span&gt;

&lt;span class="nt"&gt;\begin{document}&lt;/span&gt;
Hello, LaTeX world!

This is a simple test document.
&lt;span class="nt"&gt;\end{document}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;To compile, use the &lt;strong&gt;Build LaTeX project&lt;/strong&gt; button or run &lt;code&gt;pdflatex main.tex&lt;/code&gt; from the terminal.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Change LaTeX compiler (Optional)
&lt;/h3&gt;

&lt;p&gt;To use a different engine like XeLaTeX, create a file named &lt;code&gt;latexmkrc&lt;/code&gt; in the same folder as your project.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight perl"&gt;&lt;code&gt;&lt;span class="c1"&gt;# latexmkrc - Custom LaTeX Build Settings&lt;/span&gt;
&lt;span class="c1"&gt;# Put this file in the same folder as your main.tex&lt;/span&gt;

&lt;span class="c1"&gt;# Override default PDF engine (e.g., xelatex)&lt;/span&gt;
&lt;span class="nv"&gt;$pdflatex&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="p"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;xelatex -synctex=1 -interaction=nonstopmode -file-line-error %O %S&lt;/span&gt;&lt;span class="p"&gt;';&lt;/span&gt;

&lt;span class="c1"&gt;# Force PDF output mode (not DVI/PostScript)&lt;/span&gt;
&lt;span class="nv"&gt;$pdf_mode&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Make sure to install the specific engine beforehand (e.g., run &lt;code&gt;sudo tlmgr install xetex&lt;/code&gt;).&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  LaTeX compilers
&lt;/h2&gt;

&lt;p&gt;Here are some of the most popular LaTeX compilers. You can choose the one that best fits your needs:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Compiler&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Font Support&lt;/th&gt;
&lt;th&gt;Unicode&lt;/th&gt;
&lt;th&gt;Best Use Case&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;pdfLaTeX&lt;/td&gt;
&lt;td&gt;Original PDF output engine&lt;/td&gt;
&lt;td&gt;Limited (Type1)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Standard documents, broad compatibility&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LaTeX&lt;/td&gt;
&lt;td&gt;DVI output (legacy)&lt;/td&gt;
&lt;td&gt;Limited&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;td&gt;Old workflows, DVI output&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;XeLaTeX&lt;/td&gt;
&lt;td&gt;Modern Unicode engine&lt;/td&gt;
&lt;td&gt;System fonts&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Modern docs, OpenType&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;LuaLaTeX&lt;/td&gt;
&lt;td&gt;Lua scripting + Unicode&lt;/td&gt;
&lt;td&gt;System fonts&lt;/td&gt;
&lt;td&gt;Yes&lt;/td&gt;
&lt;td&gt;Advanced scripting, modern&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;[1] TeX Users Group, "TeX Live," [Online]. Available: &lt;a href="https://tug.org/texlive" rel="noopener noreferrer"&gt;https://tug.org/texlive&lt;/a&gt;.&lt;br&gt;
[2] "MacTeX-no-gui," Homebrew Formulae, [Online]. Available: &lt;a href="https://formulae.brew.sh/cask/mactex-no-gui" rel="noopener noreferrer"&gt;https://formulae.brew.sh/cask/mactex-no-gui&lt;/a&gt;.&lt;br&gt;
[3] J. Yu, "LaTeX-Workshop," GitHub, [Online]. Available: &lt;a href="https://github.com/James-Yu/LaTeX-Workshop" rel="noopener noreferrer"&gt;https://github.com/James-Yu/LaTeX-Workshop&lt;/a&gt;.&lt;br&gt;
[4] "How to use the command 'tlmgr update' (with examples)," CommandMasters, [Online]. Available: &lt;a href="https://commandmasters.com/commands/tlmgr-update-common" rel="noopener noreferrer"&gt;https://commandmasters.com/commands/tlmgr-update-common&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>latex</category>
      <category>vscode</category>
      <category>macos</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Set Up Free Custom Domain Email Using CloudFlare</title>
      <dc:creator>A Muh Mufqi Zuhudi</dc:creator>
      <pubDate>Tue, 02 Sep 2025 02:38:44 +0000</pubDate>
      <link>https://dev.to/moefqy/set-up-free-custom-domain-email-using-cloudflare-38ea</link>
      <guid>https://dev.to/moefqy/set-up-free-custom-domain-email-using-cloudflare-38ea</guid>
      <description>&lt;p&gt;Setting up a free custom email for your own domain is easier than you think. You don’t need to pay for expensive email hosting to get a professional-looking email address. Using Cloudflare’s email forwarding feature, you can have a custom domain email that forwards to your personal inbox without extra costs or complications.&lt;/p&gt;

&lt;p&gt;In this post, I’ll show you how to forward emails from your custom domain to your personal inbox, like Gmail, Yahoo Mail, etc. I’ll also cover how to send emails using your custom domain through popular email providers.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up a Custom Email for Forwarding on Cloudflare
&lt;/h2&gt;

&lt;p&gt;Cloudflare allows you to forward incoming emails from your custom domain email address to your personal email account from an email service provider (ESP) such as Gmail, Yahoo Mail, etc. If your domain is not currently managed by Cloudflare, you can migrate your nameservers (NS) to Cloudflare to enable these features.&lt;/p&gt;

&lt;p&gt;Follow these steps to activate email forwarding from your custom domain email address to your personal email account in Cloudflare:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://dash.cloudflare.com" rel="noopener noreferrer"&gt;https://dash.cloudflare.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;At &lt;strong&gt;Account home&lt;/strong&gt;, click your domain (for example: &lt;code&gt;yourdomain.com&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Email &amp;gt; Email Routing&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At &lt;strong&gt;Email Routing&lt;/strong&gt;, click &lt;strong&gt;Get started&lt;/strong&gt; and add your forwarding details in the table below:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Custom address&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Destination&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;me@yourdomain.com&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Send to an email&lt;/td&gt;
&lt;td&gt;&lt;code&gt;me@email.com&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;note:&lt;/strong&gt; &lt;code&gt;me@yourdomain.com&lt;/code&gt; is your desired custom domain email address, and &lt;code&gt;me@email.com&lt;/code&gt; is your personal email account from ESP.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Create and continue&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Confirm by clicking &lt;strong&gt;Continue&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;At &lt;strong&gt;Configure your DNS&lt;/strong&gt;, add the missing DNS records by clicking &lt;strong&gt;Add records and enable&lt;/strong&gt;:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Record type&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Hostname&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Priority&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Status&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;yourdomain.com&lt;/td&gt;
&lt;td&gt;43&lt;/td&gt;
&lt;td&gt;route1.mx.cloudflare.net.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;yourdomain.com&lt;/td&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;route2.mx.cloudflare.net.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MX&lt;/td&gt;
&lt;td&gt;yourdomain.com&lt;/td&gt;
&lt;td&gt;89&lt;/td&gt;
&lt;td&gt;route3.mx.cloudflare.net.&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TXT&lt;/td&gt;
&lt;td&gt;cf2024-1._domainkey.yourdomain.com&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;"v=DKIM1; h=sha256; k=rsa; p=XXX/xxx"&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;TXT&lt;/td&gt;
&lt;td&gt;yourdomain.com&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;"v=spf1 include:_spf.mx.cloudflare.net ~all"&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; This table is an example of the DNS records you’ll see. Some values will be unique to your setup.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Finally, wait until the &lt;strong&gt;Routing status&lt;/strong&gt; shows as &lt;strong&gt;Enabled&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once completed, emails sent to your custom domain address will be forwarded automatically to your personal email account.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up a Custom Email for Sending on Yahoo Mail
&lt;/h2&gt;

&lt;p&gt;Follow these steps to send emails using your custom domain email address in Yahoo Mail:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://mail.yahoo.com" rel="noopener noreferrer"&gt;https://mail.yahoo.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Navigate to &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;More Settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;At &lt;strong&gt;Settings&lt;/strong&gt; menu, click on &lt;strong&gt;Mailboxes&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add&lt;/strong&gt; button at the bottom of the &lt;strong&gt;Mailbox Management&lt;/strong&gt; options.&lt;/li&gt;
&lt;li&gt;Enter your custom email address (for example: &lt;code&gt;me@yourdomain.com&lt;/code&gt;) and click &lt;strong&gt;Next&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Verify to setup&lt;/strong&gt; your email.&lt;/li&gt;
&lt;li&gt;Check your inbox for a new email with the subject: &lt;code&gt;Please verify your email address&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open the email and click the verification link labeled &lt;code&gt;click here&lt;/code&gt; to confirm.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;After completing these steps, you will be able to send emails using your custom email address through Yahoo Mail.&lt;/p&gt;

&lt;h2&gt;
  
  
  Set Up a Custom Email for Sending on Gmail
&lt;/h2&gt;

&lt;p&gt;Before you begin, make sure that &lt;strong&gt;2-Step Verification&lt;/strong&gt; is enabled on your Google Account, as it is required to generate an App Password for SMTP authentication.&lt;/p&gt;

&lt;p&gt;Follow these steps to send emails using your custom domain email address in Gmail:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Visit &lt;a href="https://myaccount.google.com/security" rel="noopener noreferrer"&gt;https://myaccount.google.com/security&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Under &lt;strong&gt;How you sign in to Google&lt;/strong&gt;, click &lt;strong&gt;2-Step Verification&lt;/strong&gt; and enable it if it's not already active.&lt;/li&gt;
&lt;li&gt;Search for &lt;strong&gt;App passwords&lt;/strong&gt; in the search bar of your Google Account settings.&lt;/li&gt;
&lt;li&gt;Create a new App Password with any name (for example: &lt;code&gt;Custom Domain SMTP&lt;/code&gt;) and copy the generated 16-character password.&lt;/li&gt;
&lt;li&gt;Visit &lt;a href="https://mail.google.com" rel="noopener noreferrer"&gt;https://mail.google.com&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Click the &lt;strong&gt;Settings&lt;/strong&gt; (gear icon) in the top right, then click &lt;strong&gt;See all settings&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Navigate to the &lt;strong&gt;Accounts and Import&lt;/strong&gt; tab.&lt;/li&gt;
&lt;li&gt;In the &lt;strong&gt;Send mail as&lt;/strong&gt; section, click &lt;strong&gt;Add another email address&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Enter your name and your custom email address (for example: &lt;code&gt;me@yourdomain.com&lt;/code&gt;), then click &lt;strong&gt;Next Step&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Fill in the SMTP settings as follows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;strong&gt;Field&lt;/strong&gt;&lt;/th&gt;
&lt;th&gt;&lt;strong&gt;Value&lt;/strong&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;SMTP Server&lt;/td&gt;
&lt;td&gt;&lt;code&gt;smtp.gmail.com&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Port&lt;/td&gt;
&lt;td&gt;&lt;code&gt;587&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Username&lt;/td&gt;
&lt;td&gt;&lt;code&gt;me@gmail.com&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Password&lt;/td&gt;
&lt;td&gt;Your 16-character App Password&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security&lt;/td&gt;
&lt;td&gt;TLS&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;code&gt;me@gmail.com&lt;/code&gt; is your personal Gmail address, and the App Password is the one generated in step 4, not your regular Gmail password.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Add Account&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check your inbox for a verification email from Gmail and click the confirmation link to complete the setup.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Once verified, your custom email address will appear as a selectable sender when composing new emails in Gmail.&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;[1] "Easily creating and routing email addresses with Cloudflare Email Routing," Cloudflare Blog, Sep. 26, 2021. [Online]. Available: &lt;a href="https://blog.cloudflare.com/introducing-email-routing" rel="noopener noreferrer"&gt;https://blog.cloudflare.com/introducing-email-routing&lt;/a&gt;.&lt;br&gt;
[2] "Add, delete, or edit a Send-only address in Yahoo Mail," Yahoo Help. [Online]. Available: &lt;a href="https://help.yahoo.com/kb/add-delete-edit-send-only-address-yahoo-mail-sln28342.html" rel="noopener noreferrer"&gt;https://help.yahoo.com/kb/add-delete-edit-send-only-address-yahoo-mail-sln28342.html&lt;/a&gt;.&lt;br&gt;
[3] "Send emails from a different address or alias," Google Help. [Online]. Available: &lt;a href="https://support.google.com/mail/answer/22370" rel="noopener noreferrer"&gt;https://support.google.com/mail/answer/22370&lt;/a&gt;.&lt;br&gt;
[4] "Sign in with App Passwords," Google Account Help. [Online]. Available: &lt;a href="https://support.google.com/accounts/answer/185833" rel="noopener noreferrer"&gt;https://support.google.com/accounts/answer/185833&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>email</category>
      <category>cloudflare</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Set Up a Local MCP Server for Perplexity (macOS Guide)</title>
      <dc:creator>A Muh Mufqi Zuhudi</dc:creator>
      <pubDate>Thu, 24 Jul 2025 08:59:31 +0000</pubDate>
      <link>https://dev.to/moefqy/set-up-a-local-mcp-server-for-perplexity-macos-guide-548m</link>
      <guid>https://dev.to/moefqy/set-up-a-local-mcp-server-for-perplexity-macos-guide-548m</guid>
      <description>&lt;p&gt;This guide helps you set up Perplexity’s Model Context Protocol (MCP) system to automate your macOS securely and efficiently. With the latest Perplexity app update, MCP capability is now built in, enabling seamless integration with local automation tools on your Mac. In this tutorial, you’ll install all required tools and configure your local machine, focusing on connecting Perplexity with &lt;code&gt;@peakmojo/applescript-mcp&lt;/code&gt; server for seamless automation.&lt;/p&gt;

&lt;p&gt;The diagram below gives you a clear picture of how Perplexity’s automation works on macOS. Commands start in the Perplexity app, pass through the Helper App for secure local communication, and then reach the AppleScript MCP server, which handles all the automation. This setup lets you control Finder, Notes, Calendar, and more, seamlessly and privately, right from within Perplexity.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqv9tvejh3sr2ahglmel.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhqv9tvejh3sr2ahglmel.png" alt="Architecture diagram of Perplexity MCP - AppleScript MCP server" width="800" height="444"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Architecture diagram of Perplexity MCP, illustrating the role of the Helper App and AppleScript MCP server in enabling secure automation of macOS applications from Perplexity.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Requirements
&lt;/h2&gt;

&lt;p&gt;You’ll need Node.js v20 or higher to run the AppleScript MCP server and use automation features.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;node&amp;gt;=20.0.0
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Installation Steps
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Check Your Node.js Installation
&lt;/h3&gt;

&lt;p&gt;First, ensure you have Node.js (version 20 or above):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;node &lt;span class="nt"&gt;--version&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If Node.js is below version 20, uninstall the old version first to prevent conflicts before installing the latest.&lt;/p&gt;

&lt;p&gt;To uninstall older Node.js versions installed via Homebrew:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;brew uninstall node
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then, install the latest version:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;brew &lt;span class="nb"&gt;install &lt;/span&gt;node
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  2. Run the AppleScript MCP Server
&lt;/h3&gt;

&lt;p&gt;Install and start the AppleScript MCP server using &lt;code&gt;npx&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx &lt;span class="nt"&gt;-y&lt;/span&gt; @peakmojo/applescript-mcp
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If the installation runs successfully, you should see logs similar to:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;2025-07-24T06:23:39.024Z - applescript-mcp - INFO - Starting AppleScript MCP server
2025-07-24T06:23:39.026Z - applescript-mcp - INFO - Using remote host: localhost
2025-07-24T06:23:39.027Z - applescript-mcp - INFO - Remote user: not &lt;span class="nb"&gt;set
&lt;/span&gt;2025-07-24T06:23:39.027Z - applescript-mcp - INFO - Remote password is not &lt;span class="nb"&gt;set
&lt;/span&gt;2025-07-24T06:23:39.028Z - applescript-mcp - INFO - MCP server started and ready to receive requests
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If you see the &lt;code&gt;MCP server started and ready to receive requests&lt;/code&gt; log, your setup is successful!&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Connect Perplexity to Your MCP Server
&lt;/h3&gt;

&lt;p&gt;Open the Perplexity app and follow these steps:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Go to &lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;strong&gt;Connectors&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Add Connector&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Download and install &lt;code&gt;Helper App&lt;/code&gt; (if prompted). This enables local communication with your MCP servers.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  4. Example Connector Configuration
&lt;/h3&gt;

&lt;p&gt;When adding a new connector, use the following configuration for the Local MCP &lt;code&gt;AppleScript&lt;/code&gt; connector:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Server Name:&lt;/strong&gt; &lt;code&gt;AppleScript&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;JSON:&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"args"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"-y"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="s2"&gt;"@peakmojo/applescript-mcp"&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"command"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"npx"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"env"&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;

  &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; In the connector setup, select the &lt;strong&gt;Advanced&lt;/strong&gt; option (not &lt;strong&gt;Simple&lt;/strong&gt;), then paste the following in &lt;strong&gt;JSON&lt;/strong&gt; format.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Wrapping Up
&lt;/h2&gt;

&lt;p&gt;Now, Perplexity is set up to control your Mac efficiently through the MCP server and AppleScript automation. This setup gives Perplexity the ability to automate Finder, Spotlight, Notes, Calendar, Contacts, Messages, and other apps, securely and privately, running on your own machine. Happy automating!&lt;/p&gt;

&lt;h2&gt;
  
  
  References
&lt;/h2&gt;

&lt;p&gt;[1] Perplexity Help Center, "Local and Remote MCPs for Perplexity," &lt;a href="https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity" rel="noopener noreferrer"&gt;https://www.perplexity.ai/help-center/en/articles/11502712-local-and-remote-mcps-for-perplexity&lt;/a&gt;, accessed July 24, 2025.&lt;br&gt;
[2] peakmojo, “applescript-mcp,” GitHub repository, &lt;a href="https://github.com/peakmojo/applescript-mcp" rel="noopener noreferrer"&gt;https://github.com/peakmojo/applescript-mcp&lt;/a&gt;, accessed July 24, 2025.&lt;/p&gt;

</description>
      <category>mcp</category>
      <category>perplexity</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
