<?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: Sithuni Nudara</title>
    <description>The latest articles on DEV Community by Sithuni Nudara (@sithuni_nudara_3889a66050).</description>
    <link>https://dev.to/sithuni_nudara_3889a66050</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3646020%2F5bb0108c-f0e8-4015-80ab-d0b70b039fff.png</url>
      <title>DEV Community: Sithuni Nudara</title>
      <link>https://dev.to/sithuni_nudara_3889a66050</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sithuni_nudara_3889a66050"/>
    <language>en</language>
    <item>
      <title>Coding the Balance: Visualizing Gender Equity Through Frontend Art</title>
      <dc:creator>Sithuni Nudara</dc:creator>
      <pubDate>Mon, 09 Mar 2026 09:20:52 +0000</pubDate>
      <link>https://dev.to/sithuni_nudara_3889a66050/coding-the-balance-visualizing-gender-equity-through-frontend-art-24c8</link>
      <guid>https://dev.to/sithuni_nudara_3889a66050/coding-the-balance-visualizing-gender-equity-through-frontend-art-24c8</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Frontend Art&lt;/em&gt;&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%2F5hfnjbssblxfuxrk9tem.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%2F5hfnjbssblxfuxrk9tem.png" alt=" " width="800" height="446"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Inspiration&lt;br&gt;
For this challenge, I wanted to move beyond static images and use code to represent the weightless, yet powerful nature of equity. The concept is "Anti-Gravity Equity." In the tech industry, we often talk about the "glass ceiling." In this piece, I visualized the ceiling not just as a barrier to be broken, but as something that, once shattered, allows everyone to rise. I used floating elements and CSS animations to create a sense of weightlessness—representing a world where your gender doesn't "weight down" your career path.&lt;/p&gt;

&lt;p&gt;The central focus is a balanced scale, built entirely with frontend logic (Flexbox and Grid), symbolizing that true balance is a deliberate architectural choice we make when building our communities.&lt;/p&gt;

&lt;p&gt;My Code&lt;br&gt;
The logic for the animations and the layout can be found in my repository here:&lt;/p&gt;

&lt;p&gt;GitHub Repository: sithunitestings-source/Frontend-Art&lt;/p&gt;

&lt;p&gt;I used a combination of:&lt;/p&gt;

&lt;p&gt;CSS Keyframes: To create the drifting, anti-gravity effect for the UI components.&lt;/p&gt;

&lt;p&gt;SVG &amp;amp; Clip-path: To design the "shattered glass" fragments that react to user interaction.&lt;/p&gt;

&lt;p&gt;Flexbox: To ensure the "Balance" remains perfect across all screen sizes.&lt;/p&gt;

</description>
      <category>wecoded</category>
      <category>devchallenge</category>
      <category>frontend</category>
      <category>css</category>
    </item>
    <item>
      <title>From Yellow Blocks to Backend Logic: My Journey of Staying "Updated"</title>
      <dc:creator>Sithuni Nudara</dc:creator>
      <pubDate>Mon, 09 Mar 2026 08:36:03 +0000</pubDate>
      <link>https://dev.to/sithuni_nudara_3889a66050/from-yellow-blocks-to-backend-logic-my-journey-of-staying-updated-4aeb</link>
      <guid>https://dev.to/sithuni_nudara_3889a66050/from-yellow-blocks-to-backend-logic-my-journey-of-staying-updated-4aeb</guid>
      <description>&lt;p&gt;&lt;em&gt;This is a submission for the &lt;a href="https://dev.to/challenges/wecoded-2026"&gt;2026 WeCoded Challenge&lt;/a&gt;: Echoes of Experience&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The Spark: It All Started with a Block&lt;br&gt;
If you told my younger self that I’d be building backend systems today, I probably would have laughed. My journey didn’t start with complex algorithms or black-and-white terminal screens. It started with a bright yellow block on Scratch.&lt;/p&gt;

&lt;p&gt;I remember the pure joy of snapping those logic blocks together to make a character move or a game come to life. What started as "just for fun" quickly turned into an addiction. By the time I chose ICT for high school in Sri Lanka, coding wasn't just a subject—it was my favorite hobby. Today, as a Software Engineering student, that hobby has become my career. The most important thing I’ve learned is simple: Do what you love, and it will make you shine. When you’re passionate, the late nights feel less like work and more like an adventure.&lt;/p&gt;

&lt;p&gt;The Challenge: The Mental "Context Switch"&lt;br&gt;
As an underrepresented developer, I often felt I had to be a walking encyclopedia of code to prove I belonged. One of the hardest challenges I faced wasn't logic—it was syntax fatigue.&lt;/p&gt;

&lt;p&gt;When you are learning and working across multiple languages, switching from the structure of Java to the web-logic of PHP or C#, your brain starts to feel like a browser with too many tabs open. It’s hard to remember every semicolon and bracket perfectly. The pressure to stay "constantly updated" is exhausting. Sometimes, when you focus so hard on mastering one language, the others start to feel like a foreign tongue again. Being in "always-on" mode is the silent hurdle many of us face.&lt;/p&gt;

&lt;p&gt;The Lesson: Adaptability is the New Superpower&lt;br&gt;
Through this journey, I’ve realized that being a developer isn't about memorizing a textbook. Whether I’m learning from a YouTube tutorial or a structured curriculum, the most vital lesson is this: Technology doesn't stand still, and neither can we.&lt;/p&gt;

&lt;p&gt;In 2026, the game has changed. It’s no longer just about writing lines of code; it’s about adaptability. We have to learn how to dance with AI, how to use AI-integrated IDEs to bridge the gap in our memory, and how to stay updated without burning out.&lt;/p&gt;

&lt;p&gt;To anyone out there who wants to be a full-stack developer, don't worry if you can't remember every bit of syntax. Focus on the logic, stay curious, and pick courses that look toward the future, not the past. If you can adapt, you can survive and thrive in this industry.&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%2Fseiklf9o5l5atlfu9min.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%2Fseiklf9o5l5atlfu9min.png" alt=" " width="800" height="455"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devchallenge</category>
      <category>wecoded</category>
      <category>dei</category>
      <category>career</category>
    </item>
    <item>
      <title>3D Cyber Clock</title>
      <dc:creator>Sithuni Nudara</dc:creator>
      <pubDate>Wed, 18 Feb 2026 19:46:18 +0000</pubDate>
      <link>https://dev.to/sithuni_nudara_3889a66050/3d-cyber-clock-4pk3</link>
      <guid>https://dev.to/sithuni_nudara_3889a66050/3d-cyber-clock-4pk3</guid>
      <description>&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%2Faftr64mf01y4yvdb9sze.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%2Faftr64mf01y4yvdb9sze.png" alt=" " width="800" height="673"&gt;&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang="en"&amp;gt;
&amp;lt;head&amp;gt;
    &amp;lt;meta charset="UTF-8"&amp;gt;
    &amp;lt;meta name="viewport" content="width=device-width, initial-scale=1.0"&amp;gt;
    &amp;lt;title&amp;gt;CRYSTAL CYBER · 3D ROUND CLOCK&amp;lt;/title&amp;gt;
    &amp;lt;style&amp;gt;
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
            user-select: none;
        }

        body {
            min-height: 100vh;
            background: radial-gradient(circle at 30% 30%, #0b0f1c, #03050a);
            display: flex;
            align-items: center;
            justify-content: center;
            font-family: 'Segoe UI', 'Avenir', 'Inter', system-ui, sans-serif;
            overflow: hidden;
            position: relative;
        }

        /* animated cyber background (time animation) */
        .cyber-bg {
            position: absolute;
            inset: 0;
            z-index: 0;
            opacity: 0.5;
            background: repeating-linear-gradient(0deg, 
                rgba0,255,255,0.02 0px, 
                rgba0,255,255,0.05 2px, 
                transparent 2px, 
                transparent 8px),
                repeating-linear-gradient(90deg, 
                rgba170, 0, 255, 0.02 0px, 
                rgba0, 255, 255, 0.03 3px, 
                transparent 3px, 
                transparent 12px);
            animation: bg-scroll 20s linear infinite;
            pointer-events: none;
        }

        @keyframes bg-scroll {
            0% { background-position: 0 0, 0 0; }
            100% { background-position: 40px 60px, -60px 40px; }
        }

        /* floating particles (extra magic) */
        .bg-particles {
            position: absolute;
            width: 100%;
            height: 100%;
            z-index: 0;
        }

        .bg-particles span {
            position: absolute;
            width: 4px;
            height: 4px;
            background: rgba0, 255, 255, 0.25;
            box-shadow: 0 0 12px #0ff, 0 0 20px #2ca0ff;
            border-radius: 50%;
            animation: float-particle 18s infinite alternate ease-in-out;
        }

        @keyframes float-particle {
            0% { transform: translate(0, 0) scale(1); opacity: 0.3; }
            100% { transform: translate(40px, -60px) scale(1.8); opacity: 0; }
        }

        /* main container – movable 3d effect */
        .clock-container {
            position: relative;
            z-index: 30;
            transform-style: preserve-3d;
            transform: perspective(1200px) rotateX(4deg) rotateY(6deg) translateZ(20px);
            transition: transform 0.3s cubic-bezier(0.2, 0.9, 0.3, 1.2);
            cursor: default;
            filter: drop-shadow(0 20px 30px #00000070);
        }

        .clock-container:hover {
            transform: perspective(1000px) rotateX(2deg) rotateY(12deg) translateZ(30px);
        }

        /* 3D glass ring + numbers */
        .round-clock {
            --glow: 0 0 30px #00ffff88, 0 0 70px #00a3ff66;
            --dark-cyan: #0e4b5e;
            --crystal-light: #b5f0ff;
            width: 360px;
            height: 360px;
            border-radius: 50%;
            background: radial-gradient(circle at 28% 30%, 
                rgba(20, 80, 100, 0.7) 5%, 
                #131f2b 60%,
                #0b141c 95%);
            box-shadow: 
                inset -6px -10px 20px rgba0,0,0,0.9,
                inset 15px 15px 30px rgba(170, 240, 255, 0.4),
                0 0 0 2px rgba(0, 255, 255, 0.3) inset,
                0 0 0 4px rgba(20, 40, 50, 0.8),
                0 20px 35px #000000cc,
                var(--glow);
            position: relative;
            backdrop-filter: blur(2px);
            display: flex;
            align-items: center;
            justify-content: center;
            transition: box-shadow 0.4s, background 0.3s;
        }

        /* hover = light mode / cyan explosion */
        .round-clock:hover {
            --glow: 0 0 40px cyan, 0 0 100px #7ff0ff, 0 0 150px #2ad4ff;
            background: radial-gradient(circle at 30% 30%, 
                rgba(150, 250, 255, 0.4) 5%, 
                #1e3b48 50%,
                #0b1a24 95%);
            box-shadow: 
                inset -6px -10px 20px #000000aa,
                inset 20px 20px 40px #d0f4ff,
                0 0 0 3px #4ff5ff inset,
                0 0 0 5px #0099aa33,
                0 25px 45px #000,
                var(--glow);
        }

        /* crystal 3D facets (glass layers) */
        .clock-facet {
            position: absolute;
            inset: 8px;
            border-radius: 50%;
            background: repeating-conic-gradient(
                from 45deg,
                rgba(170, 240, 255, 0.05) 0deg 10deg,
                rgba(10, 30, 40, 0.3) 10deg 20deg,
                transparent 20deg 30deg
            );
            pointer-events: none;
            border: 1px solid rgba(0, 255, 255, 0.2);
            box-shadow: 0 0 20px rgba(0, 200, 210, 0.3) inset;
        }

        .clock-facet::after {
            content: '';
            position: absolute;
            inset: 20px;
            border-radius: 50%;
            background: radial-gradient(circle at 40% 40%, rgba(255,255,255,0.2) 2px, transparent 30%);
            opacity: 0.6;
        }

        /* digital numbers (cyan, mixed with gray/black crystal) */
        .digital-display {
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            width: 220px;
            height: 220px;
            background: rgba(8, 18, 28, 0.5);
            backdrop-filter: blur(4px);
            border-radius: 50%;
            border: 2px solid rgba(0, 255, 255, 0.25);
            box-shadow: 0 0 40px #0ff3, 0 0 20px #2e5f6b inset;
            transform: translateZ(12px);
            transition: all 0.2s;
        }

        .round-clock:hover .digital-display {
            background: rgba(20, 40, 50, 0.4);
            border: 2px solid #aaffff;
            box-shadow: 0 0 70px cyan, 0 0 30px #3ff inset;
        }

        .time {
            font-size: 3.6rem;
            font-weight: 400;
            letter-spacing: 6px;
            color: #00ffff;
            text-shadow: 0 0 12px cyan, 0 0 30px #0077ff, 0 0 45px #004466;
            font-family: 'Orbitron', 'Courier New', monospace;
            background: linear-gradient(135deg, #a0f0ff 20%, #38858f 70%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            transition: text-shadow 0.3s;
            line-height: 1.2;
        }

        .round-clock:hover .time {
            text-shadow: 0 0 20px #f0fdff, 0 0 50px #3cc, 0 0 80px #0ff;
            background: linear-gradient(135deg, #efff ff 10%, #6ff0ff 90%);
            -webkit-background-clip: text;
            background-clip: text;
        }

        .date {
            font-size: 1.1rem;
            letter-spacing: 3px;
            color: #6baeb6;
            text-shadow: 0 0 10px #0ff;
            background: #121e24b3;
            padding: 4px 16px;
            border-radius: 40px;
            margin-top: 8px;
            backdrop-filter: blur(2px);
            border: 1px solid #2a8a9a;
            font-weight: 300;
            transition: 0.3s;
        }

        .round-clock:hover .date {
            background: #16363f;
            color: #e0ffff;
            border-color: cyan;
            box-shadow: 0 0 20px cyan;
        }

        /* seconds弧形指示 (extra cyber) */
        .second-ring {
            position: absolute;
            width: 100%;
            height: 100%;
            border-radius: 50%;
            transform: rotate(-90deg);
        }

        .second-ring circle {
            fill: none;
            stroke-width: 5;
            stroke: #0ff;
            filter: drop-shadow(0 0 15px cyan);
            stroke-linecap: round;
            stroke-dasharray: 879.2; /* circumference for r=140 ~ 879.2 */
            stroke-dashoffset: 879.2;
            transition: stroke-dashoffset 0.1s linear;
        }

        .second-ring-bg {
            stroke: rgba0, 180, 200, 0.25;
            stroke-width: 5;
            fill: none;
        }

        /* 3D movable base reflection */
        .glass-reflection {
            position: absolute;
            top: 10%;
            left: 15%;
            width: 40%;
            height: 20%;
            background: radial-gradient(ellipse at 30% 30%, rgba(255,255,255,0.3) 0%, transparent 70%);
            border-radius: 50%;
            filter: blur(8px);
            mix-blend-mode: overlay;
            pointer-events: none;
        }

        .glass-reflection2 {
            bottom: 15%;
            right: 10%;
            width: 30%;
            height: 15%;
            background: radial-gradient(ellipse, #6fffff40, transparent 80%);
            position: absolute;
            filter: blur(12px);
            border-radius: 50%;
        }

        /* movable control: subtle rotate on mousemove */
        .clock-container.movable {
            transition: transform 0.08s;
        }

        footer {
            position: absolute;
            bottom: 16px;
            color: #1d7c84;
            font-size: 0.8rem;
            text-shadow: 0 0 4px cyan;
            z-index: 40;
            letter-spacing: 2px;
        }
    &amp;lt;/style&amp;gt;
&amp;lt;/head&amp;gt;
&amp;lt;body&amp;gt;
    &amp;lt;div class="cyber-bg"&amp;gt;&amp;lt;/div&amp;gt;
    &amp;lt;div class="bg-particles" id="particles"&amp;gt;&amp;lt;/div&amp;gt;

    &amp;lt;div class="clock-container" id="clockContainer"&amp;gt;
        &amp;lt;div class="round-clock" id="roundClock"&amp;gt;
            &amp;lt;!-- 3d crystal facets --&amp;gt;
            &amp;lt;div class="clock-facet"&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;!-- seconds progress ring (svg) --&amp;gt;
            &amp;lt;svg class="second-ring" viewBox="0 0 360 360" width="360" height="360"&amp;gt;
                &amp;lt;circle class="second-ring-bg" cx="180" cy="180" r="160" stroke="#097a8f55" stroke-width="6" fill="none"/&amp;gt;
                &amp;lt;circle id="secCircle" cx="180" cy="180" r="160" stroke="#0ff" stroke-width="8" fill="none" 
                    stroke-dasharray="1005.3" stroke-dashoffset="1005.3" style="filter: drop-shadow(0 0 25px cyan);" /&amp;gt;
            &amp;lt;/svg&amp;gt;
            &amp;lt;!-- digital core --&amp;gt;
            &amp;lt;div class="digital-display"&amp;gt;
                &amp;lt;div class="time" id="timeDisplay"&amp;gt;23:15&amp;lt;/div&amp;gt;
                &amp;lt;div class="date" id="dateDisplay"&amp;gt;2025-04-07&amp;lt;/div&amp;gt;
            &amp;lt;/div&amp;gt;
            &amp;lt;!-- extra glass glitter --&amp;gt;
            &amp;lt;div class="glass-reflection"&amp;gt;&amp;lt;/div&amp;gt;
            &amp;lt;div class="glass-reflection2"&amp;gt;&amp;lt;/div&amp;gt;
        &amp;lt;/div&amp;gt;
    &amp;lt;/div&amp;gt;

    &amp;lt;footer&amp;gt;❖ C R Y S T A L   C Y B E R   3 D ❖&amp;lt;/footer&amp;gt;

    &amp;lt;script&amp;gt;
        (function() {
            // particles background magic
            const particleContainer = document.getElementById('particles');
            for (let i = 0; i &amp;lt; 36; i++) {
                let span = document.createElement('span');
                let size = Math.random() * 6 + 2;
                span.style.width = size + 'px';
                span.style.height = size + 'px';
                span.style.left = Math.random() * 100 + '%';
                span.style.top = Math.random() * 100 + '%';
                span.style.animationDelay = Math.random() * 15 + 's';
                span.style.animationDuration = 10 + Math.random() * 20 + 's';
                span.style.background = i % 3 === 0 ? '#7ff5ff' : '#3ea0cc';
                span.style.boxShadow = `0 0 30px #0ff, 0 0 50px #1fa0ff`;
                particleContainer.appendChild(span);
            }

            // time update + animation
            const timeEl = document.getElementById('timeDisplay');
            const dateEl = document.getElementById('dateDisplay');
            const secCircle = document.getElementById('secCircle');

            function updateClock() {
                const now = new Date();
                const hours = now.getHours().toString().padStart(2, '0');
                const minutes = now.getMinutes().toString().padStart(2, '0');
                const seconds = now.getSeconds();
                timeEl.textContent = `${hours}:${minutes}`;

                const year = now.getFullYear();
                const month = (now.getMonth() + 1).toString().padStart(2, '0');
                const day = now.getDate().toString().padStart(2, '0');
                dateEl.textContent = `${year}-${month}-${day}`;

                // update second ring (circumference for r=160 = 2*pi*160 ≈ 1005.3)
                const radius = 160;
                const circumference = 2 * Math.PI * radius; // ~1005.3
                const offset = circumference - (seconds / 60) * circumference;
                secCircle.style.strokeDasharray = `${circumference}`;
                secCircle.style.strokeDashoffset = offset;
            }
            updateClock();
            setInterval(updateClock, 500);

            // 3D movable effect: follow cursor
            const container = document.getElementById('clockContainer');
            const roundClock = document.getElementById('roundClock');
            let bounds = container.getBoundingClientRect();
            let mouseX = 0, mouseY = 0;
            let currentRotateX = 4, currentRotateY = 6; // initial values
            const factor = 0.04; // sensitivity

            window.addEventListener('resize', () =&amp;gt; {
                bounds = container.getBoundingClientRect();
            });

            document.addEventListener('mousemove', (e) =&amp;gt; {
                // relative position to window
                const centerX = window.innerWidth / 2;
                const centerY = window.innerHeight / 2;

                // offset from center (-1..1)
                const normX = (e.clientX - centerX) / centerX;
                const normY = (e.clientY - centerY) / centerY;

                // target rotation angles (max ±12°)
                const targetRotateY = 6 + normX * 8;   // horizontal tilt
                const targetRotateX = 4 - normY * 6;   // vertical tilt

                // smooth-ish update
                currentRotateX += (targetRotateX - currentRotateX) * 0.1;
                currentRotateY += (targetRotateY - currentRotateY) * 0.1;

                container.style.transform = `perspective(1200px) rotateX(${currentRotateX}deg) rotateY(${currentRotateY}deg) translateZ(20px)`;
            });

            // extra hover light effect: but we keep hover in css, fine.
            // also add dynamic shadow enhancement on hover
            roundClock.addEventListener('mouseenter', () =&amp;gt; {
                // optional: we could add class, but css handles it.
            });

            // add magic floating animation on digits randomly (extra spark)
            setInterval(() =&amp;gt; {
                if (Math.random() &amp;gt; 0.7) {
                    timeEl.style.transform = `scale(${1 + Math.random() * 0.1})`;
                    timeEl.style.transition = 'transform 0.15s cubic-bezier(0.2,1,0.5,1)';
                    setTimeout(() =&amp;gt; {
                        timeEl.style.transform = 'scale(1)';
                    }, 150);
                }
            }, 800);

            // also change the color of date for micro interaction
            setInterval(() =&amp;gt; {
                if (Math.random() &amp;gt; 0.85) {
                    dateEl.style.textShadow = '0 0 18px #f0f, 0 0 30px #0ff';
                    dateEl.style.transition = '0.1s';
                    setTimeout(() =&amp;gt; {
                        dateEl.style.textShadow = '0 0 10px #0ff';
                    }, 120);
                }
            }, 1300);
        })();
    &amp;lt;/script&amp;gt;
    &amp;lt;!-- optional font for better digits --&amp;gt;
    &amp;lt;link href="https://fonts.googleapis.com/css2?family=Orbitron:wght@400;500&amp;amp;display=swap" rel="stylesheet"&amp;gt;
&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



</description>
      <category>webdev</category>
      <category>ai</category>
      <category>mlh</category>
    </item>
  </channel>
</rss>
