⚔️ Sunday Cyber Projects: Forged at Home, Built with Purpose
- cyberlikeaviking

- May 3
- 10 min read
Part Four: The Cyber Forge — Turning Code into Legend

⚡🔥⚡🔥⚡🔥⚡🔥⚡🔥⚡⚡🔥⚡🔥⚡🔥⚡🔥Every build reaches a moment where “it works” just isn’t enough.
Parts One through Three gave us the foundation: We explored the idea. We built the command. We made it reliable but now it’s time to make it ours.
This final chapter is where function meets personality—where a simple command-line tool becomes something fun, interactive, and worthy of the longship.
For me, that meant bringing in a little inspiration from home.
I wanted to make this project something my son would enjoy—something that felt alive when it ran. So I added a few creative touches inspired by his favorite chimichanga-loving comic book hero:
⚡Quotes that appear each time the script launches
⚡Custom ASCII art to give it character
⚡A bold red terminal theme while the script runs
⚡And then… I took it further
Because just like any true Cyber Viking build… once you start improving it, you don’t stop.
I expanded the project into a full interactive experience:
⚡A menu system to control the script
⚡Options to check the weather on demand
⚡The ability to change locations
⚡A way to select different font colors
⚡And a clean exit when the mission is complete
What started as a single command became a customizable tool—something you can run, tweak, and truly make your own.
So how do you take a simple batch file and turn it into something like that?
How do you control colors, build menus, display ASCII art, and rotate quotes every time it runs?
That’s exactly what we’re going to forge together in this final part of the Sunday Cyber Project.
Because in the world of the Cyber Viking… We don’t just make it work—we make it worthy.
⚔️ Phase One: The First Script Attempt — The Console Awakens
Before we dive into the build, let’s lay out the entire toolkit in one place.
Think of this as your Cyber Viking command table—every weapon, what it does, and how it’s used in this script.
💻 Command Reference Table (Your Toolkit)
Command / Element | Purpose | How It’s Used in This Script |
@echo off | Hides command execution | Keeps output clean so only the dashboard is visible |
setlocal EnableExtensions | Enables advanced batch features | Ensures consistent behavior and isolates the script environment |
title | Sets window title | Displays "Chimichanga Weather Dashboard" in the title bar |
color 0A | Sets console colors | Black background with bright green text |
:START | Label (loop point) | Marks where the script restarts for refresh |
cls | Clears screen | Resets display before each refresh |
echo | Displays text | Builds the dashboard UI (headers, labels, spacing) |
%date% %time% | System variables | Shows current date and time dynamically |
curl | Fetches web data | Retrieves weather data from wttr.in |
-v | Verbose mode | Shows connection details for troubleshooting |
2>nul | Redirects errors | Hides error messages for cleaner output |
choice /M | User input prompt | Asks user if they want to refresh |
if errorlevel | Decision logic | Determines whether to loop or exit |
goto | Jumps to label | Sends script back to :START |
:END | Label (exit point) | Defines where the script stops |
pause | Waits for user input | Keeps window open before closing |
⚔️ The First Working Script
Now that you know the tools… here’s how they come together.
@echo off
setlocal EnableExtensions
title
color 0A
:START
cls
echo ==================================================
echo CHIMICHANGA WEATHER DASHBOARD
echo ==================================================
echo.
echo Source: http://wttr.in
echo Mode : Verbose (-v)
echo Time : %date% %time%
echo.
echo --------------------------------------------------
echo.
curl -v http://wttr.in/78009 2>nul
echo.
echo --------------------------------------------------
echo.
choice /M "Would you like to refresh the weather"
if errorlevel 2 goto END
if errorlevel 1 goto START
:END
echo.
echo Session ended. Close the window when ready.
echo.
pause
⚔️ Bringing It to Life (How It All Works Together)
Alright… now the fun part.
Up until now, we’ve been running single commands—quick strikes, one and done.
But this?
⚔️ This is your first automated Cyber Viking tool.
Here’s what happens when you launch it:
⚔️ Step 1: The Environment Is Set
🔥@echo off clears the noise
🔥setlocal locks in your environment
🔥title and color transform the terminal into something that feels like an app
💻 Right away, it feels different. More intentional.
⚔️ Step 2: The Dashboard Appears
🔥cls wipes the screen clean
🔥echo builds your interface
🔥%date% %time% injects live system data
👉 You now have a real-time display, not just text output.
⚔️ Step 3: The Data Is Pulled
🔥curl reaches out to wttr.in
🔥The ZIP code (78009) targets your location
🔥-v shows connection details
🔥2>nul silences the noise
💻 Clean, live weather data—right in your terminal.
No browser. No tabs. No distractions.
⚔️ Step 4: The User Takes Control
🔥choice /M prompts the user
🔥if errorlevel decides what happens next
💻 This is the turning point.
Your script is no longer static…
🧠 It listens.
⚔️ Step 5: The Loop (Where It Gets Its Power)
🔥goto START refreshes the dashboard
🔥:END exits cleanly
🔥pause gives the user control at the end
💻 This is what turns a command into a dashboard system.
⚔️ What You’ve Built So Far
Let’s call it what it is:
🪓Live weather tool
🪓Refreshable dashboard
🪓Clean terminal interface
🪓Interactive script
🪓Real-world functionality
⚔️ That’s not beginner-level anymore. That’s practical command-line power.
But… It’s Not Cyber Viking Worthy Yet
Right now, the script is:
🧱Locked to one color
🧱Locked to one location
🧱Functional… but not fun
🧱Lacking personality
And we don’t stop at “working.”
⚔️ What Comes Next?
This is where the real magic happens.
We’re about to take this solid foundation and transform it into something:
🎨 Customizable
🎮 Interactive
😎 Fun to use
⚔️ Worthy of the longship
We’re adding:
⚡Color selection menus
⚡Location changes
⚡ASCII art
⚡Rotating quotes (yes… the chimichanga hero is coming 😄)
⚔️ From Function… to Legend (The Turning Point)
The script worked.
That moment—the one where the command finally returns exactly what you expected, the screen fills with clean output, and everything just… clicks—that moment had arrived.
I sat there looking at it.
Weather data, refresh option, clean output.
It worked but something about it felt unfinished. Not broken… just incomplete.
⚔️ The Realization
I thought about who this was for, not just me, not just a project but my son.
And that changed everything because suddenly this wasn’t about building a tool that works…
It was about building something he would want to use. Something that would make him smile when it opened. Something that didn’t feel like a “script" rather something that felt like his.
⚔️ The Spark of an Idea
I leaned back and started thinking…
What would make this fun? Not useful. Not efficient. Fun.
That’s when the ideas started rolling in.
What if…
🧭It didn’t just run—but gave you choices?
🧭It didn’t just display—but let you control it?
🧭It didn’t just show weather—but had a little attitude?
🧭And then it hit me. Menus!
Menus a simple idea… but powerful. Menus meant interaction. Menus meant control. Menus meant the script was no longer static—it was alive.
⚔️ Enter the Chimichanga Factor
Now I needed personality.
And there was only one obvious source of inspiration…
My son’s favorite sarcastic, chimichanga-eating, fourth-wall-breaking comic book hero.
What if the script didn’t just run…
What if it talked back?
What if every time it launched, it threw out a different quote?
Something funny, unexpected, and something that made you pause and go—
“Alright… that’s actually pretty cool.”
⚔️ The Vision Takes Shape
Now I could see it clearly:
🛡️A menu system to guide the user
🛡️Options to change colors (because style matters)
🛡️The ability to set location instead of hardcoding it
🛡️ASCII art to give it identity
🛡️Rotating quotes to give it personality
🛡️This wasn’t a batch file anymore.
⚔️ This was becoming an experience.
⚔️ The Problem…
There was just one small issue…
I hadn’t built something like this in a long time.
Not like this.
Not interactive. Not layered. Not with this many moving parts.
I knew what I wanted…
But not exactly how to get there.
⚔️ Back to the Forge
So, I did what every builder does when they hit that moment of uncertainty.
I went back to learning mode.
Late nights. Tabs open. Notes everywhere.
🖥️Microsoft documentation
🖥️YouTube walkthroughs
🖥️Forum posts
Random blog deep dives
Each one gave me a piece of the puzzle:
“How do I build a menu?”
“How do I take user input?”
“How do I control colors dynamically?”
“How do I structure the flow, so it doesn’t break?”
⚔️ The Build (Trial by Fire)
Here’s the truth no tutorial really tells you:
⚔️ It didn’t work the first time.
Or the second.
Or… let’s just say a few attempts after that.
Commands failed. Syntax broke. Things didn’t display right.
And more often than not?
⚡ It was user error. (Me again. Still me)
But that’s where the real learning happened.
Every mistake pointed to something I didn’t understand yet.
And every fix?
⚔️ That was a level-up.
⚔️ A New Tool in the Toolbox
At one point, I brought in AI to help—but not the way most people think.
Not to build it for me.
Not to replace the process.
But to assist the process.
I used it to:
Spot errors I might have missed
Explain why something wasn’t working
Suggest possible directions
But here’s the rule I never break—and I teach my team the same:
⚔️ Never blindly trust AI output. Verify everything.
Every suggestion it gave me.
I researched, tested, broke it, and understood it.
⚔️ Where AI Actually Shined
Now where AI did shine?
The fun stuff.
😎Generating hilarious Deadpool-style quotes
😎Helping create ASCII art
😎Adding personality and flavor
Because here’s the truth a batch file doesn’t have to be boring.
It can have humor. It can have character. It can feel alive.
⚔️ The Shift
At some point during this process, something changed.
This stopped being:
🛡️A command
🛡️A script
🛡️A small project
And became something bigger, it built with intention.
Something personal I could hand to my son and say:
“Go ahead… run it.”
And know he’d enjoy it.
⚔️ What Comes Next?
Now that the vision is clear…
Now that the pieces are understood…
Now it’s time to build the next version.
The interactive version there will be
Menus, Colors, Location control, Quotes, and ASCII art.
This is where everything comes together.
⚔️ Advanced Script Breakdown — Commands in Action
Now we bring it all together.
You’ve seen the script. You’ve seen the sections.
Now you get both:
A full command reference and how each part is used in the script.
💻 Command Reference Table (Full Arsenal)💻
Command / Element | Purpose |
@echo off | Hides command execution from display |
setlocal EnableExtensions EnableDelayedExpansion | Enables advanced batch features and dynamic variable updates |
title | Sets the Command Prompt window title |
REM | Adds comments (not executed) |
set | Creates and assigns variables |
cls | Clears the screen |
echo | Displays text to the screen |
choice /C /N /M | Creates menu selections |
if errorlevel | Determines which option was selected |
goto | Jumps to another section (label) |
color | Changes console text/background color |
set /p | Accepts user input |
%random% | Generates random numbers |
%date% %time% | Displays system date and time |
call | Executes a subroutine |
%~1 | Passes arguments into subroutines |
<nul set /p | Prints text without a newline |
ping 127.0.0.1 -n | Creates delay (hidden with >nul) |
curl | Retrieves data from a web source |
exit /b | Exits subroutine or script |
pause | Waits for user input before closing |
⚔️ Console Setup — Preparing the Battlefield
🔹 How It’s Used
@echo off
setlocal EnableExtensions EnableDelayedExpansion
title Deadpool Weather Mayhem Console
set "LOCATION=San Antonio"
set "COLORCHOICE=0C"
⚔️ What’s Happening
⚡Clean output enabled
⚡Advanced scripting features turned on
⚡Window named
⚡Default location and color set
💻 This is your foundation layer
⚔️ Color Menu — Choosing the Suit
🔹 How It’s Used
:COLORMENU
cls
echo ============================================================
echo DEADPOOL WEATHER MAYHEM CONSOLE
echo ============================================================
echo.
echo Choose your totally heroic color scheme:
echo.
echo [1] Deadpool Red on Black ^(0C^)
echo.
choice /C 123456 /N /M "Choose your suit color: "
⚔️ What’s Happening
⚡Menu is displayed
⚡User selects a number
⚡Script assigns corresponding color
💻 This is user-driven customization
⚔️ Apply Color — Changing the Look
🔹 How It’s Used
:APPLYCOLOR
color !COLORCHOICE!
goto MENU
⚔️ What’s Happening
⚡Applies selected color dynamically
⚡Moves to main menu
💻 First example of live variable use
⚔️ Main Menu — Mission Control
🔹 How It’s Used
:MENU
cls
echo Current target location: !LOCATION!
choice /C 1234 /N /M "Choose your next ridiculous mission: "
if errorlevel 4 goto END
if errorlevel 3 goto COLORMENU
if errorlevel 2 goto CHANGELOCATION
if errorlevel 1 goto START
⚔️ What’s Happening
⚡Displays current settings
⚡Accepts user command
⚡Routes to next action
💻 This is the control center
⚔️ Change Location — Target Acquisition
🔹 How It’s Used
:CHANGELOCATION
set /p LOCATION=Enter location:
if "!LOCATION!"=="" set "LOCATION=San Antonio"
goto MENU
⚔️ What’s Happening
⚡User enters new location
⚡Empty input resets to default
💻 This makes the script flexible
⚔️ Random Opening Quote — Personality Injection
🔹 How It’s Used
set /a rand=%random% %% 10
if !rand!==0 set "SAYING=Maximum effort..."
echo "!SAYING!"
⚔️ What’s Happening
⚡Random number generated
⚡Quote selected
⚡Displayed to user
💻 Adds variation and humor
⚔️ ASCII Art & Dashboard — Visual Identity
🔹 How It’s Used
echo .-""""-.
echo ^| (x x) ^|
echo Target : !LOCATION!
echo Time : %date% %time%
⚔️ What’s Happening
⚡ASCII art rendered
⚡Special characters escaped
⚡System + user data displayed
💻This is style meets data
⚔️ Scan Animation — Building Suspense
🔹 How It’s Used
call :SCAN "Polishing the katanas"
🔹 Subroutine
:SCAN
set "MSG=%~1"
<nul set /p ="%MSG%"
ping 127.0.0.1 -n 2 >nul
echo DONE
exit
⚔️ What’s Happening
⚡Calls reusable scan routine
⚡Displays animated messages
💻 This is reusable logic + effects
⚔️ Weather Pull — The Core Function
🔹 How It’s Used
set "QUERY=!LOCATION: =+!"curl -v "http://wttr.in/!QUERY!?u&format=3"
⚔️ What’s Happening
⚡Formats location for URL
⚡Pulls live weather data
💻 This is the real-world connection
⚔️ Closing Quote & Next Actions
🔹 How It’s Used
set /a rand2=%random% %% 8echo "!SAYING2!"choice /C 12345 /N /M "Choose your command: "
⚔️ What’s Happening
⚡Random closing message
⚡Menu for next action
💻 Keeps the script alive and looping
⚔️ End Screen — Mission Complete
🔹 How It’s Used
:ENDclsecho MISSION HAS ENDEDpauseexit /b
⚔️ What’s Happening
⚡Clears screen
⚡Displays final message
⚡Waits before exit
💻Clean, controlled shutdown
⚔️ Takeaway
This script is a perfect example of how small commands combine into something powerful:
🔥Menus → Interaction
🔥Variables → Customization
🔥Random → Personality
🔥Subroutines → Efficiency
🔥
curl → Real-world data
⚔️ You didn’t just build a script. You built an experience.
And that… Is Cyber Viking worthy!
⚔️ Final Thoughts: The Journey of the Cyber Viking Weather Console
What began as a simple question—whether I could pull weather data into Command Prompt—grew into something much more. Over these four parts, the project evolved from curiosity into understanding, and from understanding into creation. It became more than just a working command; it became a complete tool shaped through testing, persistence, and a willingness to learn.
Each step built on the last, leading not only to a functional weather console, but to something personal and interactive. Adding creativity and fun transformed it from a simple script into something worth sharing—and even something my son could enjoy using.
This journey is a reminder that meaningful builds don’t require complex tools—just curiosity, effort, and the drive to keep going until it works.
To everyone who took the time to follow along, thank you. I hope you enjoyed the journey with me and found inspiration to build something of your own.
The project may be complete, but the journey never truly ends. There’s always more to explore out there on the digital seas.




Comments