top of page
Search

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

  • Writer: cyberlikeaviking
    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


bottom of page