CfBlogs
 Data Grids  CF Overflow  Follow Us!  RSS

ColdFusion Posts Around the World.
Left and Right Accept Negative Counts
Left and Right Accept Negative Counts
Pete Freitag
Here's something I learned recently: you can pass negative values into the left() and right() functions in CFML. Thanks to John Whish for pointing this out in a pull request on cfdocs.org. The left() and right() functions work great for...
Why I Avoid DEFAULT Column Values In My SQL Database
Why I Avoid DEFAULT Column Values In My SQL Database
Ben Nadel
Ben Nadel explains why he avoids using DEFAULT column values (as much as possible) in his SQL database table schemas....
How FusionReactor APM streamlines development for small businesses
How FusionReactor APM streamlines development for small businesses
FusionReactor
The post How FusionReactor APM streamlines development for small businesses appeared first on FusionReactor. ...
Into the Box is Going Online, Register Now!
Into the Box is Going Online, Register Now!
Ortus Solutions
Dive into the Future of Web Development with Into the Box 2024 - now going global and online! No matter where you are, you're invited to join us for an amazing and enriching two-day experience on May 16th and 17th, packed with groundbreaking insights, expert sessions, and game-changing announcements...
CFHttp Error: Column Names Must Be Valid Variable Names In ColdFusion
CFHttp Error: Column Names Must Be Valid Variable Names In ColdFusion
Ben Nadel
Ben Nadel described the cause of the CFHttp error message: Column names must be valid variable names in ColdFusion....
Working Code Podcast - Episode 176: Mocking In Public
Working Code Podcast - Episode 176: Mocking In Public
Ben Nadel
Ben Nadel and the crew talk credit card stuffing attacks, mocking modules in Node.js, and the joy of ColdFusion....
FusionReactor APM: Die Perspektive eines Benutzers
FusionReactor APM: Die Perspektive eines Benutzers
FusionReactor
The post FusionReactor APM: Die Perspektive eines Benutzers appeared first on FusionReactor. ...                                      
Navigating the Buzzwords of Frontend Development
Navigating the Buzzwords of Frontend Development
Remote Synthesis
A guide to commonly used jargon in the frontend and full-stack development world.                                      
Lighthouse Scores of Blog Sites Driven by ColdFusion
Lighthouse Scores of Blog Sites Driven by ColdFusion
Gregory's Blog
According to DebugBear.com, the industry-standard lighthouse scores for major blog platforms like WordPress and Wix are disappointing. In this article, we will analyze popular ColdFusion Blog sites and see how they compare....
Only 20 Tickets Left | Into the Box 2024
Only 20 Tickets Left | Into the Box 2024
Ortus Solutions
Only twenty tickets remain for Into the Box 2024, Secure yours now and receive a 15% discount courtesy of our sponsors. Plus, take advantage of our extended early pricing, available for just 2 more days!...
Using :where() To Reduce CSS Specificity Issues
Using :where() To Reduce CSS Specificity Issues
Ben Nadel
Ben Nadel demonstrates that the :where() CSS function can help mitigate CSS specificity issues in a design system....
Inline Script Tag Execution In Hotwire Turbo And ColdFusion
Inline Script Tag Execution In Hotwire Turbo And ColdFusion
Ben Nadel
Ben Nadel explores the execution of inline script tags in a Hotwire Turbo and ColdFusion application....
Adding turbo-cfml To My ColdFusion + Hotwire Demos Project
Adding turbo-cfml To My ColdFusion + Hotwire Demos Project
Ben Nadel
Ben Nadel adds a turbo-cfml demo to his ColdFusion + Hotwire demos project....                                      
Advanced Observability AI: How OpsPilot optimizes app monitoring
Advanced Observability AI: How OpsPilot optimizes app monitoring
FusionReactor
The post Advanced Observability AI: How OpsPilot optimizes app monitoring appeared first on FusionReactor. ...
Into the Box 2024: Your Gateway to the Future of Tech!
Into the Box 2024: Your Gateway to the Future of Tech!
Ortus Solutions
Are you ready to advance your coding skills? The future of Modern Web Development awaits at Into the Box 2024, and we're thrilled to announce that due to high demand, we're extending our Early Bird pricing for an additional week!...
ColdFusion has Jumped the Shark
ColdFusion has Jumped the Shark
ColdFusion
I’ve been programming in ColdFusion for the past 20+ years or so and its time to move on. The Pricing model is ridiculous the support site is terrible. (It was better 20 years ago when you could click on Support and then click on Documentation) What are minor enhancements are now considered...
How FusionReactor Transforms Enterprise DevOps
How FusionReactor Transforms Enterprise DevOps
FusionReactor
The post How FusionReactor Transforms Enterprise DevOps appeared first on FusionReactor. ...                                      
Working Code Podcast - Episode 175: Overcompensation, Mentoring, And More
Working Code Podcast - Episode 175: Overcompensation, Mentoring, And More
Ben Nadel
Ben Nadel and the crew talk overcompensating for issues at work, right-sizing pull requests, and mentoring junior developers....
Variables Scope Persists Across Custom Tag Execution Modes In ColdFusion
Variables Scope Persists Across Custom Tag Execution Modes In ColdFusion
Ben Nadel
Ben Nadel demonstrates that the isolated variables scope persists across execution modes in a ColdFusion custom tag....
ColdFusion Custom Tags Can Have Privately Scoped Functions
ColdFusion Custom Tags Can Have Privately Scoped Functions
Ben Nadel
Ben Nadel demonstrates that ColdFusion custom tags can define privately scoped methods....                                      
Wie FusionReactor Enterprise DevOps transformiert
Wie FusionReactor Enterprise DevOps transformiert
FusionReactor
The post Wie FusionReactor Enterprise DevOps transformiert appeared first on FusionReactor. ...                                      
Using getApplicationMetadata() To Provide Global Defaults In ColdFusion
Using getApplicationMetadata() To Provide Global Defaults In ColdFusion
Ben Nadel
Ben Nadel explores the use of getApplicationMetadata() as a means to provide global defaults for custom code in ColdFusion....
Using Sub Domains with IIS and ColdFusion 2023
Using Sub Domains with IIS and ColdFusion 2023
ColdFusion
I am struggling to get my websites up and running using sub domains.  For example, customer1.domain.com, customer2.domain.com etc. These sites are working in IIS using html… https://customer1.domain.com/index.html opens c:/sites/customer1/index.html https://customer2.domain.com/index.h...
CF_SaveFile Custom Tag In ColdFusion
CF_SaveFile Custom Tag In ColdFusion
Ben Nadel
Ben Nadel creates a SaveFile custom tag in ColdFusion that implements the CFSaveContent API but which stores the content to disk....
Dedenting Text In ColdFusion
Dedenting Text In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to dedent text in ColdFusion using regular expressions....                                      
Paginating The Postmark Bounces API In ColdFusion
Paginating The Postmark Bounces API In ColdFusion
Ben Nadel
Ben Nadel demonstrates how he uses ColdFusion to paginate the Bounces API in Postmark in order to identify problematic email addresses....
ColdFusion 2018 Lockdown Tool
ColdFusion 2018 Lockdown Tool
ColdFusion
ColdFusion 2018 Lockdown Tool Issues The post ColdFusion 2018 Lockdown Tool appeared first on ColdFusion. ...
Discover the Future of Web Development at Adobe ColdFusion Summit 2024
Discover the Future of Web Development at Adobe ColdFusion Summit 2024
FusionReactor
The post Discover the Future of Web Development at Adobe ColdFusion Summit 2024 appeared first on FusionReactor. ...
Unlock the future of web development at Adobe ColdFusion Summit 2024
Unlock the future of web development at Adobe ColdFusion Summit 2024
FusionReactor
The post Unlock the future of web development at Adobe ColdFusion Summit 2024 appeared first on FusionReactor. ...
Creating blockTrim(), inlineTrim(), and trailingTrim() Functions In ColdFusion
Creating blockTrim(), inlineTrim(), and trailingTrim() Functions In ColdFusion
Ben Nadel
Ben Nadel implements blockTrim(), inlineTrim(), and trailingTrim() as a code kata for removing whitespace in ColdFusion....
Working Code Podcast - Episode 174: When Good Software Goes Bad
Working Code Podcast - Episode 174: When Good Software Goes Bad
Ben Nadel
Ben Nadel and the crew talk about managing and remediating incidents at work....                                      
Working Code Podcast - Episode 172: Building Your Own Standard
Working Code Podcast - Episode 172: Building Your Own Standard
Ben Nadel
working code podcast, technology podcast, programming podcast, podcasts, web development podcast...                                      
FusionReactor APM: A user’s perspective
FusionReactor APM: A user’s perspective
FusionReactor
The post FusionReactor APM: A user's perspective appeared first on FusionReactor. ...                                      
Jprofiler Vs FusionReactor
Jprofiler Vs FusionReactor
FusionReactor
Wahrscheinlichkeit, JProfiler vs. FusionReactor zu empfehlen The post Jprofiler Vs FusionReactor appeared first on FusionReactor. ...
Extracting JSON Embedded Within A Generate HTML File In ColdFusion
Extracting JSON Embedded Within A Generate HTML File In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to extract an embedded JSON payload, decode it, and parse it back into a ColdFusion data structure....
Hackers demand a ransom to restore data from my ColdFusion web applications!
Hackers demand a ransom to restore data from my ColdFusion web applications!
Ortus Solutions
Hackers demand a ransom to restore data from my ColdFusion web applications! Unfortunately, we often hear this message from clients who thought it would never happen to them... until it did. Some believed they could delay the expense of Implementing ColdFusion security best practices for one year, w...
Decoding The EncodeForJavaScript() Output In ColdFusion
Decoding The EncodeForJavaScript() Output In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to parse the encodeForJavaScript() output back into a string in ColdFusion....
Optimizing monitoring and management: OpsPilot 1.2.0 unveils enhanced features for FusionReactor Cloud users
Optimizing monitoring and management: OpsPilot 1.2.0 unveils enhanced features for FusionReactor Cloud users
FusionReactor
The post Optimizing monitoring and management: OpsPilot 1.2.0 unveils enhanced features for FusionReactor Cloud users appeared first ...
Building Image Sliders with Stunning Transitions Using Swiper
Building Image Sliders with Stunning Transitions Using Swiper
Gregory's Blog
In this article, I will show you how to implement sliders and carousels with stunning transition effects using Swiper. We will also discuss some of the benefits and drawbacks of carousels and when it is best to use them.  Finally, we will incorporate uploading the carousel images using Uppy wit...
Very old ColdFusion version suddenly adding spaces to CFIMAGE URL’s
Very old ColdFusion version suddenly adding spaces to CFIMAGE URL’s
ColdFusion
We have a site using coldfusion that is supposed to display images that are pulled from a shared drive. Recently these images are no longer displayed properly. When clicked on to open the image URL an error is received- The requested URL /images/building/ 7780A.jpg was not found on this server. W...
Less CSS Won't Import The Same File Twice When Globbing
Less CSS Won't Import The Same File Twice When Globbing
Ben Nadel
Ben Nadel demonstrates that the Less CSS compiler will dedupe @import paths, which gives us more control over the order of CSS declarations....
Optimizing MTTR in modern IT environments: The role of FusionReactor’s open-source observability
Optimizing MTTR in modern IT environments: The role of FusionReactor’s open-source observability
FusionReactor
The post Optimizing MTTR in modern IT environments: The role of FusionReactor’s open-source observability appeared first on
Using GenAI to Help Pick Your D & D Class
Using GenAI to Help Pick Your D & D Class
Raymond Camden
A few weeks back I wrote up my experience with generative AI as a dungeon master. That post ended up being really popular and got me thinking about other ways I could...
Forking Hotwire Turbo To Make It ColdFusion Compatible
Forking Hotwire Turbo To Make It ColdFusion Compatible
Ben Nadel
Ben Nadel forks Hotwire Turbo and enables it for ColdFusion file extensions....                                      
FusionReactor: Die optimale APM-Lösung für Java-Umgebungen
FusionReactor: Die optimale APM-Lösung für Java-Umgebungen
FusionReactor
The post FusionReactor: Die optimale APM-Lösung für Java-Umgebungen appeared first on FusionReactor. ...
Recordings available for the recent 17-session Adobe ColdFusion Summit Online 2024
Recordings available for the recent 17-session Adobe ColdFusion Summit Online 2024
Charlie Arehart - Server Troubleshooting
If you may have missed the news, Adobe recently held an online event over several weeks (Mid-Feb to Mid-March) where they had most of the presenters from the Adobe CF Summit 2023 in Vegas give repeats of their talks. Of course, it's a great way for t... [More] ...
Delighted to be presenting at CFCamp 2024, on
Delighted to be presenting at CFCamp 2024, on "Using Redis for session storage in ACF and Lucee"
Charlie Arehart - Server Troubleshooting
I'm delighted to share the news that I've been selected to be a presenter again at the wonderful CFCamp event, being held again June 13-14 in Munich, Germany. (I got the news last week but have been overwhelmed with recent work, so I've been behind p... [More] ...
Speaking online tonight at MMCFUG, on
Speaking online tonight at MMCFUG, on "What if no one is monitoring your DB server?"
Charlie Arehart - Server Troubleshooting
Just wanted to share news for my readers here that tonight (Apr 9 at 7pm US Eastern time) I will be presenting at the online meeting of the Mid-Michigan CFUG, on the topic, "What if no one is monitoring your DB server?". Anyone can join in live, a... [More] ...
FusionReactor: The optimal APM solution for Java environments
FusionReactor: The optimal APM solution for Java environments
FusionReactor
The post FusionReactor: The optimal APM solution for Java environments appeared first on FusionReactor. ...
Sumo Logic Vs FusionReactor
Sumo Logic Vs FusionReactor
FusionReactor
See how FusionReactor customers go live faster, get the best service, and score higher on features and performance The post Sumo Logic Vs FusionReactor appeared first on ...
Warum einen monolithischen Server überwachen?
Warum einen monolithischen Server überwachen?
FusionReactor
The post Warum einen monolithischen Server überwachen? appeared first on FusionReactor. ...                                      
Using Netlify Edge and Blob Support to Investigate Website Traffic
Using Netlify Edge and Blob Support to Investigate Website Traffic
Raymond Camden
For some time now, I've relied on my Netlify Analytics report to keep track of how well my site is doing, what content is popular, and so forth. I was a Google Analytics user for over ten years, but when they updated the UI, I saw red every time I tried to use it. Ne...
A Quick First Look at Amazon Bedrock (with Node.js)
A Quick First Look at Amazon Bedrock (with Node.js)
Raymond Camden
My regular readers (hello, yall rock!) know I've been playing with generative AI the past few months. I'm still a bit skeptical about the amount of hype involved around the space, but I'm slowly getting m...
Easy multi-stream monitoring with FusionReactor
Easy multi-stream monitoring with FusionReactor
FusionReactor
The post Easy multi-stream monitoring with FusionReactor appeared first on FusionReactor. ...                                      
Simple setup for FusionReactor: Your essential guide
Simple setup for FusionReactor: Your essential guide
FusionReactor
The post Simple setup for FusionReactor: Your essential guide appeared first on FusionReactor. ...                                      
Frühjahr 2024: FusionReactor – Maximieren Sie die Systemleistung mit preisgekrönter Überwachung
Frühjahr 2024: FusionReactor – Maximieren Sie die Systemleistung mit preisgekrönter Überwachung
FusionReactor
The post Frühjahr 2024: FusionReactor – Maximieren Sie die Systemleistung mit preisgekrönter Überwachung appeared first on
Spring 2024: FusionReactor – maximize system performance with award-winning monitoring
Spring 2024: FusionReactor – maximize system performance with award-winning monitoring
FusionReactor
The post Spring 2024: FusionReactor – maximize system performance with award-winning monitoring appeared first on F...
Understanding RegExp Capture Groups When Using .split() In JavaScript
Understanding RegExp Capture Groups When Using .split() In JavaScript
Ben Nadel
Ben Nadel demonstrates how regular expression capture groups work in String split() calls in JavaScript....
All Your Dragons Are Belong To Us
All Your Dragons Are Belong To Us
Raymond Camden
Forgive the somewhat silly title, but it's not like I haven't been silly here before. Almost four years ago I wrote a little post about a random text-generated app called the "Queen Maker":
Playing With MutationObserver In JavaScript
Playing With MutationObserver In JavaScript
Ben Nadel
Ben Nadel explores the MutationObserver API as a means to dynamically bind and unbind controllers in JavaScript....
Ortus March Newsletter
Ortus March Newsletter
Ortus Solutions
Welcome to Ortus Solutions' monthly roundup, where we're thrilled to showcase cutting-edge advancements, product updates, and exciting events! Join us as we delve into the latest innovations shaping the future of technology....
Links For You
Links For You
Raymond Camden
For those who celebrate, happy Easter. For me, this is more 'second day after the Shingles shot recovery' day. Here are some links to start off your week. I almost wish today was tomorrow so I could sprinkle in some April Fool's jokes, but I'm sure there will be plen...
Using VALUES / ROW To Create Derived Table From Static Values In MySQL 8.0.19
Using VALUES / ROW To Create Derived Table From Static Values In MySQL 8.0.19
Ben Nadel
Ben Nadel demonstrates how to use the VALUES / ROW construct in MySQL 8.0.19 to provide static data as a derived table....
On Ending Path Variables With A Slash (Or Not) In ColdFusion
On Ending Path Variables With A Slash (Or Not) In ColdFusion
Ben Nadel
Ben Nadel pontificates on whether or not to end path variables with a trailing slash in ColdFusion....
OT: Starfield
OT: Starfield
Adam Cameron's Dev Blog
G'day: I finally relented on the Steam nagging screen, and am writing a review of Starfield, which I have been playing pretty much daily since it was released. I just noticed I'm writing an essay rather tha...
Using Generative AI to Check for Spam
Using Generative AI to Check for Spam
Raymond Camden
A few days ago I wrote up an exploration I did in Spam APIs, "Spam APIs in 2024". After working on those demos and writing up my findings, I thought it might be interesting to see how ...
Using CFModule To Render Templates With Isolation In ColdFusion
Using CFModule To Render Templates With Isolation In ColdFusion
Ben Nadel
Ben Nadel demonstrates that the CFModule tag can be used to render templates with strong isolation in ColdFusion....
FusionReactor’s Event Snapshot Feature: A Detailed Overview
FusionReactor’s Event Snapshot Feature: A Detailed Overview
FusionReactor
The post FusionReactor’s Event Snapshot Feature: A Detailed Overview appeared first on FusionReactor. ...
Creating Image Galleries with FancyBox
Creating Image Galleries with FancyBox
Gregory's Blog
Image Galleries can be an effective way to tell a story in a visually appealing way. In this article, I will show you how to use FancyBox to create web-based galleries....
Automating Blog Post Headers with Firefly Services
Automating Blog Post Headers with Firefly Services
Raymond Camden
Yesterday I introduced you to Adobe's new offering, Firefly Services, and de...                                      
Working Code Podcast - Episode 171: Strategy Vs. Tactics
Working Code Podcast - Episode 171: Strategy Vs. Tactics
Ben Nadel
Ben Nadel and the crew talk about the difference between strategy and tactics at work....                                      
4 Möglichkeiten zur Reduzierung der Latenz in Ihren Java-Anwendungen
4 Möglichkeiten zur Reduzierung der Latenz in Ihren Java-Anwendungen
FusionReactor
The post 4 Möglichkeiten zur Reduzierung der Latenz in Ihren Java-Anwendungen appeared first on FusionReactor. ...
So überwachen Sie Nicht-Heap-Speicher mit FusionReactor
So überwachen Sie Nicht-Heap-Speicher mit FusionReactor
FusionReactor
The post So überwachen Sie Nicht-Heap-Speicher mit FusionReactor appeared first on FusionReactor. ...
Bypassing Imperva SecureSphere WAF (CVE-2023-50969)
Bypassing Imperva SecureSphere WAF (CVE-2023-50969)
Hoya Haxa: A Security Research Blog
                                      
Automate Generative Image APIs with Firefly Services
Automate Generative Image APIs with Firefly Services
Raymond Camden
Adobe Summit is currently happening in Vegas and while there's a lot of cool stuff being announced, I'm most excited about the launch of
Speaking at CF Summit East 2024
Speaking at CF Summit East 2024
South of Shasta
The kind folks at Adobe have invited me back to speak at CF Summit East 2024 in Washington DC. Sometimes called the “Government Summit”, this is the east coast ColdFusion conference, making it an easier option for the ea...
Ensuring Sequential Uppy Uploads Using the Bundled XHR Option
Ensuring Sequential Uppy Uploads Using the Bundled XHR Option
Gregory's Blog
We will discuss how to force Uppy to upload images sequentially using Uppy's Bundled setting with XHR uploads
Defending Against CVE-2024-20767 (ColdFusion Arbitrary File System Read)
Defending Against CVE-2024-20767 (ColdFusion Arbitrary File System Read)
Hoya Haxa: A Security Research Blog
Technical details for CVE-2024-20767 (ColdFusion Arbitrary File System Read) from APSB24-14 have now been publicly disclosed by the researcher who reported it to Adobe PSIRT:  
Spam APIs in 2024
Spam APIs in 2024
Raymond Camden
I enjoy building API demos so I generally keep an eye out for interesting APIs to play with. A few weeks ago it occurred to me that I had not seen anyone talking about or sharing information about Spam APIs. I may be showing my age a bit, but it feels like spam was a...
Magic Life-Cycle Test In Alpine.js
Magic Life-Cycle Test In Alpine.js
Ben Nadel
Ben Nadel explores the life-cycle of a custom magic in Alpine.js....                                      
Major updates to FusionReactor: Streamlining for the future
Major updates to FusionReactor: Streamlining for the future
FusionReactor
The post Major updates to FusionReactor: Streamlining for the future appeared first on FusionReactor. ...
Updates to FusionReactor On-Premise: Streamlining for the future
Updates to FusionReactor On-Premise: Streamlining for the future
FusionReactor
The post Updates to FusionReactor On-Premise: Streamlining for the future appeared first on FusionReactor. ...
Rethinking Observability for Adobe ColdFusion developer teams: Balancing legacy efficiency with modern demands and the essential role of database monitoring
Rethinking Observability for Adobe ColdFusion developer teams: Balancing legacy efficiency with modern demands and the essential role of database monitoring
FusionReactor
The post Rethinking Observability for Adobe ColdFusion developer teams: Balancing legacy effic...                                      
Code Kata: Parsing Time Spans In ColdFusion
Code Kata: Parsing Time Spans In ColdFusion
Ben Nadel
Ben Nadel demonstrates how to parse a time span back into days, hours, minutes, and seconds in ColdFusion....
Code Kata: Alpine.js Calendar Component
Code Kata: Alpine.js Calendar Component
Ben Nadel
Ben Nadel tries to build a calendar component in Alpine.js....                                      
HTML Templates Can Be Mutated Just Like Any Other DOM
HTML Templates Can Be Mutated Just Like Any Other DOM
Ben Nadel
Ben Nadel demonstrates that an HTML template can be mutated just like any other DOM mutation in JavaScript....
Using PDF Content with Google Gemini
Using PDF Content with Google Gemini
Raymond Camden
Back in February Google announced Gemini 1.5, their latest, most powerful language model, and while access has been open via ...
CSS Enter Animations Follow The 80/20 Rule
CSS Enter Animations Follow The 80/20 Rule
Ben Nadel
Ben Nadel demonstrates that CSS enter animations gives us 80% of the user experience value with only 20% of the work (if that)....
If You're Running an Intranet Connections Lucee Instance, Ensure That You've Change the Default Lucee Admin Password
If You're Running an Intranet Connections Lucee Instance, Ensure That You've Change the Default Lucee Admin Password
Hoya Haxa: A Security Research Blog
Last week, researchers at Sprocket Security wrote about post-exploitation in Lucee via malicious extensions.  It's worth a read to understand what an attacker cou...
Fixinator fixes unscoped variables
Fixinator fixes unscoped variables
Pete Freitag
Last week's Adobe ColdFusion security update disabled searchImplicitScopes by default. Prior to that update, and for the past twenty five years, ColdFusion would search through the all the possible scopes until it found a ma...



Footer Logo

Powered by Galaxy Blog

If you have an ideathat you want to share, please contact us! This community can only thrive if we continue to work together.

Images and Photography:

Gregory Alexander either owns the copyright, or has the rights to use, all images and photographs on the site. If an image is not part of the "Galaxie Blog" open sourced distribution package, and instead is part of a personal blog post or a comment, please contact us and the author of the post or comment to obtain permission if you would like to use a personal image or photograph found on this site.

Credits:

Portions of Galaxie Blog are powered on the server side by BlogCfc, an open source blog developed by Raymond Camden. Revitalizing BlogCfc was a part of my orginal inspiration that prompted me to design this site.

Version:

Galaxie Blog Version 3.0 (Toby's Edition) June 14th 2022 Tropical Wave theme