<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Few Steps | Learn Programming, AI, and Tech Skills on iFewSteps</title>
    <link>https://ifewsteps.web.app/</link>
    <description>Recent content in Few Steps | Learn Programming, AI, and Tech Skills on iFewSteps</description>
    <generator>Hugo -- 0.152.2</generator>
    <language>en</language>
    <lastBuildDate>Mon, 17 Nov 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://ifewsteps.web.app/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>End-to-End QA Automation Framework Using Java, Selenium, TestNG, Cucumber, Allure &amp; Jenkins</title>
      <link>https://ifewsteps.web.app/exercises/01_qa_fulllogingautomation/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/exercises/01_qa_fulllogingautomation/</guid>
      <description>A complete real-world QA automation framework using Java, Selenium WebDriver, TestNG, Cucumber BDD, Allure reporting, Jenkins CI/CD, JSON data-driven testing, and Page Object Model architecture. Includes positive &amp;amp; negative scenarios, smoke testing, regression testing, and parallel execution.</description>
    </item>
    <item>
      <title>End-to-End QA Automation Framework Using Java, Selenium, TestNG, Cucumber, Allure &amp; Jenkins</title>
      <link>https://ifewsteps.web.app/exercises/02_qa_fulllogingautomation/</link>
      <pubDate>Mon, 17 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/exercises/02_qa_fulllogingautomation/</guid>
      <description>A complete real-world QA automation framework using Java, Selenium WebDriver, TestNG, Cucumber BDD, Allure reporting, Jenkins CI/CD, JSON data-driven testing, and Page Object Model architecture. Includes positive &amp;amp; negative scenarios, smoke testing, regression testing, and parallel execution.</description>
    </item>
    <item>
      <title>Few Steps Courses | Learn Practical Tech, Programming &amp; Career Skills</title>
      <link>https://ifewsteps.web.app/paid-courses/</link>
      <pubDate>Mon, 10 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/paid-courses/</guid>
      <description>Explore Few Steps’ hands-on Udemy courses in macOS, SQL, QA Automation, and Excel. Learn essential tools, master real-world skills, and prepare for your next career opportunity with structured, beginner-friendly lessons.</description>
    </item>
    <item>
      <title>About Few Steps | Learn Programming, AI, and Tech Skills</title>
      <link>https://ifewsteps.web.app/about/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/about/</guid>
      <description>Few Steps is your go-to hub for learning programming, AI, and tech skills. Explore free YouTube tutorials and in-depth Udemy courses to level up your skills — one step at a time.</description>
    </item>
    <item>
      <title>Connect With Few Steps | Contact Me</title>
      <link>https://ifewsteps.web.app/contact/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/contact/</guid>
      <description>Get in touch with Few Steps! Reach out for questions, collaboration, feedback, or support regarding programming, AI, tech tutorials, and courses.</description>
    </item>
    <item>
      <title>Git-Notes</title>
      <link>https://ifewsteps.web.app/study/git/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/git/</guid>
      <description>Fll my Git and GitHub notes</description>
    </item>
    <item>
      <title>Hugo: All Hugo Tips And Tricks</title>
      <link>https://ifewsteps.web.app/study/hugo/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/hugo/</guid>
      <description>Explore Hugo Tips and Tricks</description>
    </item>
    <item>
      <title>Java</title>
      <link>https://ifewsteps.web.app/study/java/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/java/</guid>
      <description>Explore Java Tips and Tricks</description>
    </item>
    <item>
      <title>Selenium</title>
      <link>https://ifewsteps.web.app/study/qa_selenium/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/qa_selenium/</guid>
      <description>Explore Selenium Tips and Tricks</description>
    </item>
    <item>
      <title>Useful Prompts</title>
      <link>https://ifewsteps.web.app/study/prompt/</link>
      <pubDate>Thu, 06 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/prompt/</guid>
      <description>Explore Prompt Tips and Tricks</description>
    </item>
    <item>
      <title></title>
      <link>https://ifewsteps.web.app/py/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/py/</guid>
      <description>&lt;p&gt;def bonus_calculator():
print(&amp;quot;=== Bonus Calculator ===&amp;quot;)&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;# Default values
default_exchange_rate = 120.50
default_total_tk = 9000
default_bonus_percent = 2.5

# Get user inputs (or use defaults)
exchange_rate_input = input(f&amp;quot;Enter exchange rate (1 USD = ? TK) [{default_exchange_rate}]: &amp;quot;).strip()
total_tk_input = input(f&amp;quot;Enter total amount receiver should get (in TK) [{default_total_tk}]: &amp;quot;).strip()
bonus_percent_input = input(f&amp;quot;Enter bonus percentage [{default_bonus_percent}%]: &amp;quot;).strip()

# Use defaults if user input is empty
exchange_rate = float(exchange_rate_input) if exchange_rate_input else default_exchange_rate
total_tk = float(total_tk_input) if total_tk_input else default_total_tk
bonus_percent = float(bonus_percent_input) if bonus_percent_input else default_bonus_percent

# Calculate required amount
to_send_tk = total_tk / (1 + bonus_percent / 100)
to_send_usd = to_send_tk / exchange_rate

# Display results
print(&amp;quot;\n=== Calculation Result ===&amp;quot;)
print(f&amp;quot;Exchange Rate: 1 USD = {exchange_rate:.2f} TK&amp;quot;)
print(f&amp;quot;Bonus Percentage: {bonus_percent:.2f}%&amp;quot;)
print(f&amp;quot;You need to send: {to_send_tk:.2f} TK&amp;quot;)
print(f&amp;quot;Equivalent in USD: {to_send_usd:.2f} USD&amp;quot;)
print(f&amp;quot;Receiver will get: {total_tk:.2f} TK (after {bonus_percent:.2f}% bonus)&amp;quot;)
&lt;/code&gt;&lt;/pre&gt;
&lt;h1 id=&#34;run-the-program&#34;&gt;Run the program&lt;/h1&gt;
&lt;p&gt;if &lt;strong&gt;name&lt;/strong&gt; == &amp;ldquo;&lt;strong&gt;main&lt;/strong&gt;&amp;rdquo;:
bonus_calculator()&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Image Mastery: A Beginner’s Guide to Creating Stunning Athletic Visuals with Google Whisk</title>
      <link>https://ifewsteps.web.app/course/whisk/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/course/whisk/</guid>
      <description>&lt;h3 id=&#34;chapter-1-awakening-to-ai-image-generation&#34;&gt;Chapter 1: Awakening to AI Image Generation&lt;/h3&gt;
&lt;p&gt;Hello, beginners! Welcome to the first chapter. Today, we learn about AI image tools like Google Whisk. This tool makes pictures from words you type. It is fun and easy.&lt;/p&gt;
&lt;p&gt;Step 1: Understand what Whisk is. Whisk is an AI that creates images. You tell it what you want, like &amp;ldquo;a strong athlete.&amp;rdquo; It draws it for you.&lt;/p&gt;
&lt;p&gt;Step 2: Know why prompts matter. A prompt is the words you give Whisk. Good prompts make perfect pictures. Bad ones make messy ones.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Bookmarks</title>
      <link>https://ifewsteps.web.app/study/bookmark/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/bookmark/</guid>
      <description>&lt;h1 id=&#34;revealdeck&#34;&gt;RevealDeck:  &lt;a href=&#34;https://ifewsteps-revealdeck.web.app&#34;&gt;https://ifewsteps-revealdeck.web.app&lt;/a&gt;&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://filecr.com/windows/windows-11/&#34;&gt;Windows Activation&lt;/a&gt;, &lt;a href=&#34;https://gist.github.com/rvrsh3ll/0810c6ed60e44cf7932e4fbae25880df&#34;&gt;windows-keys&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <title>Create the Login page for hugo website testing</title>
      <link>https://ifewsteps.web.app/study/hugo_extra/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/hugo_extra/</guid>
      <description>&lt;p&gt;You want a &lt;strong&gt;fake login page&lt;/strong&gt; inside your Hugo site (Papermod theme) so that you can teach QA automation with Java + Selenium using selectors like ID, name, CSS, XPath, etc.&lt;/p&gt;
&lt;p&gt;The login page should work like this:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Page name: &lt;strong&gt;test.md&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Contains a form: &lt;strong&gt;username&lt;/strong&gt;, &lt;strong&gt;password&lt;/strong&gt;, &lt;strong&gt;Login button&lt;/strong&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Valid credentials:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;username: &lt;strong&gt;fewsteps&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;password: &lt;strong&gt;password&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If correct → redirect to &lt;strong&gt;login-success&lt;/strong&gt; page&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;If wrong → show an error message on the same page&lt;/p&gt;</description>
    </item>
    <item>
      <title>Login Success</title>
      <link>https://ifewsteps.web.app/login-success/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/login-success/</guid>
      <description>&lt;h2&gt;Login Successful!&lt;/h2&gt;
&lt;p&gt;Welcome! This page is only visible after correct login.&lt;/p&gt;</description>
    </item>
    <item>
      <title>QA Automation Login Page</title>
      <link>https://ifewsteps.web.app/login-qa/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/login-qa/</guid>
      <description>&lt;div id=&#34;qa-login-page&#34;&gt;
    &lt;div class=&#34;login-card&#34;&gt;
        &lt;h2&gt;QA Automation Login Page&lt;/h2&gt;

        &lt;form id=&#34;loginForm&#34;&gt;
            &lt;label for=&#34;username&#34;&gt;Username:&lt;/label&gt;
            &lt;input type=&#34;text&#34; id=&#34;username&#34; name=&#34;username&#34; placeholder=&#34;Enter username&#34;&gt;

            &lt;label for=&#34;password&#34;&gt;Password:&lt;/label&gt;
            &lt;input type=&#34;password&#34; id=&#34;password&#34; name=&#34;password&#34; placeholder=&#34;Enter password&#34;&gt;

            &lt;button type=&#34;submit&#34; id=&#34;loginBtn&#34;&gt;Login&lt;/button&gt;

            &lt;p id=&#34;errorMessage&#34; style=&#34;display:none;&#34;&gt;&lt;/p&gt;
        &lt;/form&gt;
    &lt;/div&gt;
&lt;/div&gt;

&lt;style&gt;
    /* Page wrapper scope */
    #qa-login-page {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        min-height: 80vh !important;
        padding: 20px !important;
        background-color: #e6f0fa !important;
        /* very light blue page background */
    }

    /* Card styling */
    #qa-login-page .login-card {
        background-color: #f0f8ff !important;
        /* very light blue card */
        padding: 30px 25px !important;
        border-radius: 12px !important;
        box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15) !important;
        max-width: 380px !important;
        width: 100% !important;
        text-align: center !important;
        color: #000000 !important;
        /* all text black */
    }

    /* Heading */
    #qa-login-page h2 {
        margin-bottom: 25px !important;
        font-family: &#34;Arial&#34;, sans-serif !important;
        color: #000000 !important;
    }

    /* Labels */
    #qa-login-page label {
        font-weight: bold !important;
        display: block !important;
        margin-top: 15px !important;
        text-align: left !important;
        color: #000000 !important;
        /* black labels */
    }

    /* Inputs */
    #qa-login-page input {
        width: 100% !important;
        padding: 10px !important;
        margin-top: 5px !important;
        margin-bottom: 15px !important;
        border: 1px solid #ccc !important;
        border-radius: 6px !important;
        font-size: 16px !important;
        outline: none !important;
        color: #000000 !important;
        /* input text black */
        background-color: #ffffff !important;
        /* white input background */
        transition: border 0.2s, background 0.2s, color 0.2s !important;
    }

    /* Input focus */
    #qa-login-page input:focus {
        border-color: #1a73e8 !important;
    }

    /* Placeholder color */
    #qa-login-page input::placeholder {
        color: #555555 !important;
    }

    /* Button */
    #qa-login-page button {
        width: 100% !important;
        padding: 12px !important;
        background-color: #1a73e8 !important;
        color: #fff !important;
        font-size: 16px !important;
        font-weight: bold !important;
        border: none !important;
        border-radius: 6px !important;
        cursor: pointer !important;
        transition: background 0.3s !important;
    }

    #qa-login-page button:hover {
        background-color: #155bb5 !important;
    }

    /* Error message */
    #qa-login-page #errorMessage {
        color: red !important;
        font-weight: bold !important;
        margin-top: 10px !important;
    }
&lt;/style&gt;

&lt;script&gt;
    const page = document.getElementById(&#34;qa-login-page&#34;);
    if (page) {
        const form = page.querySelector(&#34;#loginForm&#34;);
        form.addEventListener(&#34;submit&#34;, function (e) {
            e.preventDefault();

            const user = page.querySelector(&#34;#username&#34;).value.trim();
            const pass = page.querySelector(&#34;#password&#34;).value.trim();
            const error = page.querySelector(&#34;#errorMessage&#34;);

            if (user === &#34;fewsteps&#34; &amp;&amp; pass === &#34;password&#34;) {
                window.location.href = &#34;/login-success/&#34;;
            } else {
                error.style.display = &#34;block&#34;;
                error.innerText = &#34;Invalid username or password!&#34;;
            }
        });
    }
&lt;/script&gt;</description>
    </item>
    <item>
      <title>Tutorials home</title>
      <link>https://ifewsteps.web.app/study/tutorial/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      <guid>https://ifewsteps.web.app/study/tutorial/</guid>
      <description>&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/hugo/&#34;&gt;Hugo&lt;/a&gt;, &lt;a href=&#34;https://ifewsteps.web.app/study/hugo/&#34;&gt;Hugo Extra(For QA Login Site)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;for-qa&#34;&gt;For QA:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/git/&#34;&gt;Git&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/java/&#34;&gt;Java&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/qa_selenium/&#34;&gt;Selenium&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/login-qa/&#34;&gt;Practice Site&lt;/a&gt;:
&lt;a href=&#34;https://ifewsteps.web.app/exercises/01_qa_fulllogingautomation/&#34;&gt;Solution 1&lt;/a&gt;,
&lt;a href=&#34;https://ifewsteps.web.app/exercises/02_qa_fulllogingautomation/&#34;&gt;Solution 2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;prompt&#34;&gt;Prompt&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/prompt/&#34;&gt;MacOS&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;email-chain&#34;&gt;Email Chain&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/aCommands/&#34;&gt;YopMail - Udemy&lt;/a&gt; For Admin Use Only [&lt;code&gt;hugo server -D&lt;/code&gt; ]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;bookmarks&#34;&gt;Bookmarks&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/study/bookmark/&#34;&gt;All bookmarks&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;YouTube:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/@cutebabylh/shorts&#34;&gt;DreamCar&lt;/a&gt;, &lt;a href=&#34;https://www.youtube.com/@KnowSense01&#34;&gt;KnowSense01&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Exercise: &lt;a href=&#34;https://www.youtube.com/@bigmuscles/search?query=squat&#34;&gt;bigmuscles&lt;/a&gt;, &lt;a href=&#34;https://www.youtube.com/@Simplyyyeasy/videos&#34;&gt;Simplyyyeasy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;presentation&#34;&gt;Presentation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/presentation/csvToSlide/&#34;&gt;CSV to Slide&lt;/a&gt; Note: &amp;ldquo;I&amp;rdquo; for all menus&lt;/li&gt;
&lt;li&gt;&lt;a href=&#34;https://ifewsteps.web.app/presentation/makeSlideUsingApiAndData/&#34;&gt;Data to Presentation&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;exercises&#34;&gt;Exercises:&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;https://www.youtube.com/watch?v=32vfud6KWSk&amp;amp;t=140s&#34;&gt;Squat&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&#34;publishers&#34;&gt;Publishers&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&#34;http://identifyy.com&#34;&gt;identifyy&lt;/a&gt;[If you want privacy and keep it simple: Use “Few Steps” in ARTIST, WRITER, RECORD LABEL, PUBLISHER. If you want legal accuracy and plan to register with PROs: Use your real name in the WRITER and possibly PUBLISHER fields, and use “Few Steps” as ARTIST and RECORD LABEL]&lt;/li&gt;
&lt;/ul&gt;
&lt;h1 id=&#34;-youtube-stop-motion-tutorials-with-software&#34;&gt;🎥 YouTube Stop-Motion Tutorials with Software&lt;/h1&gt;
&lt;p&gt;-[best] (&lt;a href=&#34;https://www.youtube.com/shorts/2bgipx-EANY&#34;&gt;https://www.youtube.com/shorts/2bgipx-EANY&lt;/a&gt;)&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
