<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<rss version="2.0" 
  xmlns:content="http://purl.org/rss/1.0/modules/content/" 
  xmlns:dc="http://purl.org/dc/elements/1.1/" 
  xmlns:atom="http://www.w3.org/2005/Atom" 
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" 
  xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
    <title>Tool on XLTong&#39;s blog</title>
    <link>/en/series/tool/</link>
    <description>Recent content in Tool on XLTong&#39;s blog</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <managingEditor>me@wongpumbaa.qzz.io (Pumbaa Wong)</managingEditor>
    <webMaster>me@wongpumbaa.qzz.io (Pumbaa Wong)</webMaster>
    <copyright>©{year}, All Rights Reserved</copyright>
    <lastBuildDate>Thu, 01 Oct 2026 00:00:00 +0000</lastBuildDate>
    
        <atom:link href="/en/series/tool/index.xml" rel="self" type="application/rss+xml" />
    
    
    
      <item>
        <title>Light Control</title>
        <link>/en/posts/light_control/</link>
        <pubDate>Thu, 01 Oct 2026 00:00:00 +0000</pubDate>
        <author>me@wongpumbaa.qzz.io (Pumbaa Wong)</author>
        <atom:modified>Thu, 01 Oct 2026 00:00:00 +0000</atom:modified>
        <guid>/en/posts/light_control/</guid>
        <description>&lt;!DOCTYPE html&gt;
&lt;html class=&#34;staticrypt-html&#34;&gt;
    &lt;head&gt;
        &lt;meta charset=&#34;utf-8&#34; /&gt;
        &lt;title&gt;Protected Page&lt;/title&gt;
        &lt;meta name=&#34;viewport&#34; content=&#34;width=device-width, initial-scale=1&#34; /&gt;

        &lt;!-- do not cache this page --&gt;
        &lt;meta http-equiv=&#34;cache-control&#34; content=&#34;max-age=0&#34; /&gt;
        &lt;meta http-equiv=&#34;cache-control&#34; content=&#34;no-cache&#34; /&gt;
        &lt;meta http-equiv=&#34;expires&#34; content=&#34;0&#34; /&gt;
        &lt;meta http-equiv=&#34;expires&#34; content=&#34;Tue, 01 Jan 1980 1:00:00 GMT&#34; /&gt;
        &lt;meta http-equiv=&#34;pragma&#34; content=&#34;no-cache&#34; /&gt;

        &lt;style&gt;
            .staticrypt-hr {
                margin-top: 20px;
                margin-bottom: 20px;
                border: 0;
                border-top: 1px solid #eee;
            }

            .staticrypt-page {
                width: 360px;
                padding: 8% 0 0;
                margin: auto;
                box-sizing: border-box;
            }

            .staticrypt-form {
                position: relative;
                z-index: 1;
                background: #ffffff;
                max-width: 360px;
                margin: 0 auto 100px;
                padding: 45px;
                text-align: center;
                box-shadow: 0 0 20px 0 rgba(0, 0, 0, 0.2), 0 5px 5px 0 rgba(0, 0, 0, 0.24);
            }

            .staticrypt-form input[type=&#34;password&#34;],
            input[type=&#34;text&#34;] {
                background: inherit;
                border: 0;
                box-sizing: border-box; /* This ensures padding is included in the total width */
                font-size: 14px;
                outline: 0;
                padding: 15px 30px 15px 15px; /* Adjust the padding to ensure there is space for the icon */
                width: 100%;
            }

            .staticrypt-password-container {
                position: relative;
                outline: 0;
                background: #f2f2f2;
                width: 100%;
                border: 0;
                margin: 0 0 15px;
                box-sizing: border-box;
            }

            .staticrypt-toggle-password-visibility {
                cursor: pointer;
                height: 20px;
                opacity: 60%;
                padding: 13px;
                position: absolute;
                right: 0;
                top: 50%;
                transform: translateY(-50%);
                width: 20px;
            }

            .staticrypt-form .staticrypt-decrypt-button {
                text-transform: uppercase;
                outline: 0;
                background: #4CAF50;
                width: 100%;
                border: 0;
                padding: 15px;
                color: #ffffff;
                font-size: 14px;
                cursor: pointer;
            }

            .staticrypt-form .staticrypt-decrypt-button:hover,
            .staticrypt-form .staticrypt-decrypt-button:active,
            .staticrypt-form .staticrypt-decrypt-button:focus {
                background: #4CAF50;
                filter: brightness(92%);
            }

            .staticrypt-html {
                height: 100%;
            }

            .staticrypt-body {
                height: 100%;
                margin: 0;
            }

            .staticrypt-content {
                height: 100%;
                margin-bottom: 1em;
                background: #76B852;
                font-family: &#34;Arial&#34;, sans-serif;
                -webkit-font-smoothing: antialiased;
                -moz-osx-font-smoothing: grayscale;
            }

            .staticrypt-instructions {
                margin-top: -1em;
                margin-bottom: 1em;
            }

            .staticrypt-title {
                font-size: 1.5em;
            }

            label.staticrypt-remember {
                display: flex;
                align-items: center;
                margin-bottom: 1em;
            }

            .staticrypt-remember input[type=&#34;checkbox&#34;] {
                transform: scale(1.5);
                margin-right: 1em;
            }

            .hidden {
                display: none !important;
            }

            .staticrypt-spinner-container {
                height: 100%;
                display: flex;
                align-items: center;
                justify-content: center;
            }

            .staticrypt-spinner {
                display: inline-block;
                width: 2rem;
                height: 2rem;
                vertical-align: text-bottom;
                border: 0.25em solid gray;
                border-right-color: transparent;
                border-radius: 50%;
                -webkit-animation: spinner-border 0.75s linear infinite;
                animation: spinner-border 0.75s linear infinite;
                animation-duration: 0.75s;
                animation-timing-function: linear;
                animation-delay: 0s;
                animation-iteration-count: infinite;
                animation-direction: normal;
                animation-fill-mode: none;
                animation-play-state: running;
                animation-name: spinner-border;
            }

            @keyframes spinner-border {
                100% {
                    transform: rotate(360deg);
                }
            }

            @media screen and (-webkit-min-device-pixel-ratio: 0) {
                .staticrypt-form input[type=&#34;password&#34;],
                input[type=&#34;text&#34;] {
                    font-size: 16px;
                }
            }
        &lt;/style&gt;
    &lt;/head&gt;

    &lt;body class=&#34;staticrypt-body&#34;&gt;
        &lt;div id=&#34;staticrypt_loading&#34; class=&#34;staticrypt-spinner-container&#34;&gt;
            &lt;div class=&#34;staticrypt-spinner&#34;&gt;&lt;/div&gt;
        &lt;/div&gt;

        &lt;div id=&#34;staticrypt_content&#34; class=&#34;staticrypt-content hidden&#34;&gt;
            &lt;div class=&#34;staticrypt-page&#34;&gt;
                &lt;div class=&#34;staticrypt-form&#34;&gt;
                    &lt;div class=&#34;staticrypt-instructions&#34;&gt;
                        &lt;p class=&#34;staticrypt-title&#34;&gt;Protected Page&lt;/p&gt;</description>
        
        <dc:creator>Pumbaa Wong</dc:creator>
        
        
        
        
        
        
          
            
              <category>Tool</category>
            
          
        
      </item>
    
  </channel>
</rss>