AD2000 marked the turning point in my life. After completing my O level exams, I found myself with a void of time and a curiosity that begged to be filled. I stumbled upon the world of HTML and animation, a domain that would soon become my haven of creativity and skill.

My initial journey began on the Animetheme website, a platform that offered a glimpse into the magic of web design. However, I soon realized that relying on templates limited my ability to create intricate animations. With a resolute spirit, I made the bold decision to start from scratch, embracing the challenge of crafting my animations that danced freely across the screen.

Simultaneously fueled by a desire to channel my newfound expertise into financial gain, I embarked on the path of selling my skills as a webmaster. Thus, the notion of a "Man Walking Company" was born, a name symbolic of progression and movement. Though it remained an informal endeavor, devoid of formal registration, it encapsulated my commitment to honing my craft.

As I delved deeper into the world of animation, I encountered an array of scripts that held the potential to elevate my creations. From the elegance of CSS to the dynamic capabilities of JavaScript, and the interactive nature of PHP, my toolkit expanded, mirroring the evolution of web technology itself. Each script I embraced added a layer of complexity to my work, propelling me forward on my journey.

Fast-forward to the present, AD 2023. A change in circumstances presented me with a chance to revisit my long-dormant website. With my boss's retirement granting me the gift of time, I set out to refine my animations further. Armed with advice from ChatGPT, a formula that breathed life into my designs, and a newfound mastery of timers, I meticulously wove magic into my animations, making them seamless and captivating.

In this ever-evolving landscape, where website design has morphed from meticulous craftsmanship to the convenience of AI-powered automation, my passion remained unwavering. Despite the allure of effortless creation, my heart remained committed to the artistry of handcrafted animations. In my moments of respite, I return to this realm, a sanctuary where creativity knows no bounds.

Reflecting on my journey, it's fascinating to trace the path from humble HTML beginnings to the intricate tapestry of native scripts, PHP intricacies, and SQL mastery. Challenges that once induced frustration, like server hang-ups and freezing, became stepping stones towards greater expertise. And who could forget the curious quirk of the Windows location bar, ceaselessly refreshing as scripts danced behind the scenes.

Travel with me down the journey of my web design life.

Starting with a strong foundation, I immersed myself in the world of web development by studying the basics of HTML and JavaScript, comprehending their dynamic interaction. I familiarized myself with the Document Object Model (DOM) to manipulate webpage elements and grasped the art of event handling, enabling responsive user interactions. As my journey progressed, I honed my skills in variables, functions, and conditional statements, which empowered me to create dynamic content and make informed decisions within my code. Through loops, I gained the ability to iterate and manipulate data structures seamlessly. My journey extended to the realm of CSS manipulation, allowing me to breathe life into designs by altering styles and orchestrating animations. Embracing AJAX and Fetch, I mastered asynchronous data retrieval, enhancing user experiences. Alongside these technical skills, I delved into error handling, ensuring the reliability of my code. This journey laid the groundwork for my exploration of more advanced topics and technologies, propelling me forward as a well-rounded web developer.

Total Database AD 2000 to AD 2004 only work with old IE 5 to 7

All 50 Transistor IE All filters Transparency GlowingEffect
Test Android added after few years test.html test2.html test3.html
Crafted Transistion RedrawTimer Timer CSS stuff
Array Recorder Array Recorder 2 Array Recorder 3 Explode
ImageArray Array Recorder 2
Backstyle DIV Array Recorder 4 Image Array
Image status Image status 2 Image status 3 Image status 4
Camera CreateLIght Draw Maths Matrix
Microsoft Rotating Rotating Picture Vector Graphic imag to img
Preload images Jukebox media control media ready
full library media ready 2 media ready 3
css menus css menus 2 Find cell position Asynchorinze
Get Link script
As time has passed, I've acquired a wealth of knowledge, constantly expanding and refining the database. Yet, I find myself struggling to keep pace with the ever-evolving landscape of modern browsers, including the rapid advancements made by Chrome and other contemporary platforms. I reached the next significant milestone in my journey. After experimenting with various free hosting solutions, I discovered that IIS (Internet Information Services) was readily available as a built-in option. I began my website development by operating exclusively on my local machine. Then, a breakthrough came when I stumbled upon an article that guided me to open port 80 on my router. This allowed me to transition from local testing to running my own web server, a pivotal step that enabled me to set up and experiment with free internet pc in shopping mall. Upon the completion of my JPEG picture download, an impressive superfast slideshow promptly initiated its display. However, I soon realized that there was an absence of accompanying sound. This prompted me to delve into the intricacies of audio player and media player scripts, pondering the potential solutions to integrate audio seamlessly into the experiences/
Since configuring the router to port 80 would have deprived my brother of internet access, I reluctantly opted to forgo that setup. This decision led me to explore the capabilities of IIS in more depth. I embarked on a journey of learning about ASP databases, scouring the internet for relevant scripts and resources. Armed with newfound knowledge, I commenced the process of constructing websites using XML and XSLT in conjunction with ASP hosting. Among my early endeavors was the creation of a fundamental ASP visitor counter, which enabled the recording of visitor statistics.
AMWC ASP version (now it can't be run)
Since configuring the router to port 80 would have deprived my brother of internet access, I reluctantly opted to forgo that setup. This decision led me to explore the capabilities of IIS in more depth. I embarked on a journey of learning about ASP databases, scouring the internet for relevant scripts and resources. Armed with newfound knowledge, I commenced the process of constructing websites using XML and XSLT in conjunction with ASP hosting. Among my early endeavors was the creation of a fundamental ASP visitor counter, which enabled the recording of visitor statistics.
I secured a job that, unlike other options, aligned with my choice to pursue my path as a web designer instead of opting for a higher-paying role. Interestingly, those other offers did reach out to me after I had already confirmed my commitment to web design. This job encompasses a spectrum of responsibilities ranging from networking, PC and printer repairs, office administration, to even serving as a delivery person. Despite my initial lack of knowledge in these areas, I embraced the opportunity to learn new skills. It's a fulfilling role that encompasses my first dream hobby job. Amidst tasks like playing with the company server during free moments, I embarked on the journey of learning CPANEL, the company's paid hosting service that offers PHP and SQL. Inquisitively, I explored the distinctions between ASP and PHP, as well as the nuances of MDB Jet Engine and SQL databases. This exploration led me to discover the flexibility of PHP and SQL on this platform, as opposed to the configuration-intensive nature of IIS and ASP. This marked the inception of my journey into PHP and SQL, a decision that I eagerly undertook to enhance my skill set.
Around the same time, my boss expressed a desire for a distinctive animation on the front page that could capture attention instantly. This challenge consumed me for a few weeks as I meticulously crafted a single captivating image showcasing numerous products ingeniously fitted together. To my relief, my boss approved of the result. However, the reservoir of ideas was far from empty, and I found myself grappling with more concepts. Drawing upon my expertise in transitions, I presented my creation to the boss, only to receive feedback that favored a sliding effect. While I was aware that jQuery could accomplish this, I was drawn to the idea of crafting my own solution. This was the catalyst for the birth of my "X transition." To bring this vision to life, I revisited the arsenal of scripts I had accumulated over time. As the final product materialized, I realized I had ascended to the realm of an advanced JScript creator. A new inquiry emerged: what other animations could I conjure? Then, the holiday season arrived, ushering in the opportunity to fashion animated greetings for visitors to my site. Despite the lingering remnants of antiquity, these offerings were met with acceptance, even if they possessed a slight jerkiness, attributed to the utilization of windows.setInterval with a 40-millisecond interval.
undertook the task of updating my comprehensive database, setting the stage for my next milestone: delving into the realms of animated holiday creations and the dynamic interplay of PHP and SQL.

Total Database Others AD 2006

Table Adding AppendCHild Inserting HTML calendarjs
Calendar Treasure island own calendar Cookie first Frame
Frame function i frame second frame Glowing effect
About active X obj Anchors Arguments
Attribute Bitwise CheckBox Conditinallyexecuted
Datatransfer Date Delete Dictionary
External Strings keyboard Ambient
Cone DayNight Spoth maths
Random numb Randon range Refresh Mirror
MIrror up Click Mouse trail Right Click
Fullscreen Music Background Document Properties
new Docu properties Parent properties Windows properties RPG
Scrollbar Scroll increment Test1 TestBar
Test no Bar Dialog box Moving status Real time speech
text scrolling ON drag Touch screen trick on drag Touch start
T screen T screen 2 T screen 3 T screen 4
T screen 5 Chameleon no pic Ralfwalk no pic Second Window
Windows to windows Document properties new doc properties Win properties
World list
n December of the year 2010, I dedicated my efforts to comprehending the intricacies of the JavaScript calendar system. Through thorough testing and guidance from a knowledgeable friend, I grasped the notion that every month from January to December remained consistent, akin to the mnemonic my Indonesian friend shared. My understanding expanded as I explored scripts created by others, uncovering the significance of the modulus operator (%) within conditional functions. This knowledge proved invaluable in identifying leap years; every four years, February gained an extra day, becoming 29 days in length. By fusing my acquired insights about dates and the insights of others, I successfully integrated a functional date system into my own website.
As the year turned to 2011, I was presented with a website request that marked the beginning of my journey as a service provider. Taking on the role of a customer, I assisted her in crafting the initial version of the website. Soon, adjustments to the layout were sought, and I began to recognize a pattern: clients frequently desired design alterations. Attuned to this inclination, I readily adapted to her evolving preferences. Before long, another request surfaced – the creation of a shopping cart feature. While I was familiar with JavaScript-based shopping carts, I understood their limitations in terms of storage. Recognizing the need for robust data storage, I made a conscious decision to opt for a database-driven approach, comprehending that only database-centric solutions could effectively manage and preserve shopping cart data over time
With this particular customer, I decided to employ PHP and MySQL, aligning with the infrastructure offered by my company's CPANEL. However, for hosting, I chose the free service of available online. This endeavor led me to embark on a substantial journey, investing ample time in sculpting the web design. A significant portion of my effort was dedicated to mastering the art of creating customer logins and updating databases. As the exchange with the customer unfolded, a variety of unconventional requests emerged, often accompanied by incomplete or absent visual references. At times, I found myself somewhat disregarding certain requests due to the lack of response on specific queries. Yet, paradoxically, these varied and sometimes challenging demands propelled me to delve deeper into PHP and SQL domains, thereby expanding my expertise in these areas.
luck99.biz no longer exist (learn quite alot on A record static ip hosting) luck99.info no longer exist (cheaper domain) Most of my site are down now. luck99.bytehost31 no longer exist (free domain+hosting) luck99.myddns.com (dynamic ip point to host or home)
Building upon this acquired knowledge, I embarked on my next significant endeavor. I chose to harness the capabilities of PHP and SQL, reshaping the visitor counter to address a burning question: who was frequenting my boss's website? Recognizing the cost-effectiveness of PHP and SQL, I embarked on the creation of a visitor counter, discreetly embedding a small iframe within the company's website. While concealing my efforts from my boss, I encountered a series of challenges and errors on my free server, a stark contrast to the smooth functioning of the company site. In pursuit of solutions, I delved into the realm of AJAX and XMLHttpRequests, unlocking the potential for easy script-writing and SQL insertion through JavaScript. This innovation streamlined the process, transforming manual posting into automatic data transmission upon refresh. This endeavor, spanning several months, culminated in the discovery of an article detailing how to free memory within PHP scripts, solving the CPU spike issue triggered by multiple automatic refreshes. The journey did not end there. As I delved into the next phase, I encountered a new obstacle: inserting data to the server multiple times simultaneously. I overcame this hurdle by pacing the intervals between individual AJAX requests to prevent website hang-ups. Remarkably, the solution came not from the internet, but from a fortuitous discovery within an advanced SQL book at my local library in Hougang. Armed with newfound confidence, I revealed the fruits of my labor to my boss. The revamped visitor counter offered an array of dynamic display options, leading me to proudly announce the presence of a tracking mechanism for recording website visitors. To my astonishment, my boss's website visitor count far surpassed even that of my personal site. The visitor count burgeoned to approximately 16,000 records, a result of international events hosted by my boss. This inspired yet another idea: segregating local visitors from overseas ones. My journey continued as I embarked on further programming endeavors to implement this segmentation and introduce more advanced features.

luck99.pw

Union All Site I made or design


This book also highlights a SQL union command, allowing me to display both my company's visitor records and those of my personal website. It took a considerable amount of time to meticulously program the deduplication of identical country names and subsequently sum up the corresponding numbers. This experience made me feel like a skilled hard disk programmer as well.
Prominent search engines typically display a solitary search box, a feature I encounter daily. My curiosity led me to wonder how this single box could generate suggestions while I typed my query—essentially, how it accomplished dynamic querying, a concept familiar to me as AJAX. Determined to uncover its workings, I attempted to inspect the script by right-clicking. However, the code appeared as a jumble of symbols, making it utterly unreadable (>>><<<))))(.8?). In my quest for answers on hiding my own script, I encountered the term "escape();". Experimenting with it, I discovered that invoking this function triggered a swirling sensation, akin to a person's spinning head. Consequently, I opted to maintain my code in plain view, just as I often examined source code pages myself. Recognizing my limitations in the realm of security, I chose to sidestep this topic altogether.
Observing that the influx of visitors to my company's site primarily spiked during boss exhibitions, I aimed to enhance its popularity by delving into the realm of SEO (Search Engine Optimization). This journey proved enlightening, as I absorbed a wealth of knowledge and submitted my company's URL to platforms beyond my country's borders, extending into the eastern world. To my astonishment, this effort yielded a significant surge in visitors. The realization dawned that my company had become a recognized brand in magazines, prompting customers to search for and subsequently land on my site. However, a sense of disappointment lingered as I reflected on my personal website, which lacked any products. This contrasted with the effectiveness of utilizing SEO for promoting non-selling, personal items. Ultimately, my company's site experienced a notable increase in visitors, ranging into few thousands more. Leveraging the SEO skills I acquired, I also applied these techniques to my personal website, aiming to replicate the success and engagement achieved.
In April 2011, while working, I stumbled upon a fascinating discovery: Microsoft had a pre-loaded offset value for positioning, rendering my previous efforts in scripting positioning to center using object.offsetX and object.offsetY amusingly redundant. Further explorations within my company led me to unveil the power of basic background image CSS for table or TD tags. This allowed me to layer images atop one another, while PNG graphics facilitated transparent glass effects like water, fog, and more. By leveraging tables, I could stretch PNG graphics across tables of varying sizes, creating captivating visuals. In September 2011, I uncovered new methods to pinpoint cell locations—a quest I had pursued previously. With cell locations, offset height, and offset values like left and top, I could precisely identify cells and objects within them. This accuracy extended to table height, which proved superior to window.body.clientHeight. Leveraging these variables, I crafted photo lists and implemented menu systems, which I triggered based on exact locations. The following day, I honed the menu function for increased accuracy. By detecting mouse events and calculating cell boundaries, I perfected the hide menu feature. Recognizing the flaw of menu calculations when scrolling down, I integrated document.body.scrollLeft and scrollTop to rectify the issue. In October 2011, a breakthrough emerged: I successfully employed double positioning on my company website. I managed to synchronize the movement of LED lights with spinning products, solving a previously puzzling glitch. My research in FrontPage 2003 contained insights into scriptless menus, where display properties such as static, none, block, and inline. By utilizing the inline property in tandem with position: absolute, I achieved a floating inline effect, effectively creating menus without scripting. Combining this newfound technique with my double positioning approach, I could rotate images to indicate the precise location of LED lights—a critical aspect in product presentation.
Inspired by the functionality of the GOOGLE MAP API, I embarked on a journey of improvement by integrating it into my project. Upon testing their script, I discovered the requirement for longitude and latitude—fortunately, I had already collected these details through my IP calculation script. Initially, the map displayed with an arrow, but to my surprise, the marker was positioned over the sea. After multiple attempts, I determined that the longitude and latitude were reversed. A pattern emerged: whenever dots appeared in the sea, I needed to invert my values. Subsequently, I stumbled upon Chart.js during my web search. After investing time, I successfully integrated a 2D chart into my visitor counter. Completing the visitor counter raised a new query: while I could see the global distribution, the specific dates of visitor interactions remained elusive. To address this, I set out to create a calendar that would facilitate date-based queries. In the past, I had experimented with JavaScript scripts to build a calendar, refining my approach to focus on querying by month. Around mid-2013, I encountered GOOGLE CHROME GLOBE view. Intrigued, I sought to incorporate data into the globe view, but soon discovered its compatibility was limited to Chrome, making it unsuitable for all devices. An optimistic hope remained—that in the near future, a JavaScript link could connect OPEN GL, enabling a broader range of devices to access this feature.
Inspired by the functionality of the GOOGLE MAP API, I embarked on a journey of improvement by integrating it into my project. Upon testing their script, I discovered the requirement for longitude and latitude—fortunately, I had already collected these details through my IP calculation script. Initially, the map displayed with an arrow, but to my surprise, the marker was positioned over the sea. After multiple attempts, I determined that the longitude and latitude were reversed. A pattern emerged: whenever dots appeared in the sea, I needed to invert my values. Subsequently, I stumbled upon Chart.js during my web search. After investing time, I successfully integrated a 2D chart into my visitor counter. Completing the visitor counter raised a new query: while I could see the global distribution, the specific dates of visitor interactions remained elusive. To address this, I set out to create a calendar that would facilitate date-based queries. In the past, I had experimented with JavaScript scripts to build a calendar, refining my approach to focus on querying by month. I encountered GOOGLE CHROME GLOBE view. Intrigued, I sought to incorporate data into the globe view, but soon discovered its compatibility was limited to Chrome, making it unsuitable for all devices. An optimistic hope remained—that in the near future, a JavaScript link could connect OPEN GL, enabling a broader range of devices to access this feature.
Around mid-2013, Over time, I began to notice an anomaly: the numbers kept incrementing each time a person or bot entered the site. To address this, I embarked on implementing cookies as a solution. This aimed to serve as a reminder, preventing repeated increments when the same user or bot revisited the site. However, implementing simple cookies wasn't without its challenges. The process of starting and managing cookies evolved into an array of cookie-related complexities, leading to issues like the inability to display cookies on the page. I uncovered a crucial detail: cookies required precise settings of path and domain to ensure proper storage and retrieval. Through thoughtful adjustments, I managed to refine the approach to ensure that a user or bot's visit would only be recorded once until midnight. This reduction in recording frequency significantly decreased the number count, allowing for a refresh every 24 hours, resetting at midnight for the subsequent day.
Around mid-2013, Over time, I began to notice an anomaly: the numbers kept incrementing each time a person or bot entered the site. To address this, I embarked on implementing cookies as a solution. This aimed to serve as a reminder, preventing repeated increments when the same user or bot revisited the site. However, implementing simple cookies wasn't without its challenges. The process of starting and managing cookies evolved into an array of cookie-related complexities, leading to issues like the inability to display cookies on the page. I uncovered a crucial detail: cookies required precise settings of path and domain to ensure proper storage and retrieval. Through thoughtful adjustments, I managed to refine the approach to ensure that a user or bot's visit would only be recorded once until midnight. This reduction in recording frequency significantly decreased the number count, allowing for a refresh every 24 hours, resetting at midnight for the subsequent day.
Upon bidding farewell to my company after a tenure of 7 years and 9 months, I found myself grappling with boredom at home, oscillating between forex trading and job hunting. Eager for a new challenge, I set my sights on exploring the realm of WEB GL, an innovation championed by Chrome and subsequently embraced by OPERA, MOZILLA, and other WEB KIT-enabled platforms. However, this endeavor came with its share of challenges. A major hurdle emerged with IE10's lack of WebKit compatibility. Thankfully, I discovered that IE11 adhered to Mozilla standards, instilling hope that it would eventually align with the capabilities of Chrome, Firefox, and Opera in supporting WEB GL. Encouraged by this, I plunged into the world of WEB GL programming. Delving into the scripts, I encountered an issue related to tokens. It appeared that the directory, set as the default \globe\, triggered token access errors when altered. Bafflingly, reverting the directory back to its original state resolved the problem, a perplexing error that defied detection within the JS files. Subsequently, I confronted the challenge of handling JSON data. It demanded adherence to a JSON file format, an approach I was reluctant to adopt. Instead, I employed AJAX to populate a JavaScript variable [][][], seamlessly integrating data from my PHP script. This marked the inception of my Chrome Globe GL. Following this, I embarked on an exploration of the IE11 developer edition on Windows 8.1. Testing my Chrome Globe on IE11 yielded positive results, with the spinning globe displayed, albeit a notable glitch: the inability to scroll in and out without the globe disappearing. Interestingly, while testing Safari on a former colleague's phone, I discovered that, despite being WebKit-based, it failed to load the globe. This raised the possibility of future Safari updates incorporating WEB GL support. My research revealed that WEB GL originated from WEB Open GL, the creation of another developer who designed the engine. Within this realm, three.js by Google emerged as a prominent player. Driven by curiosity, I embarked on refining my project. One significant endeavor involved transforming the index rod into a human.png image. This undertaking demanded substantial time and effort, ultimately enabling the user to click, drag, and extract information from the interactive window.
FEB 2015 I embarked on a journey to learn the basics of THREE.js, attempting to map my "human.png" texture onto a box. This endeavor posed challenges, particularly with mapping across all sides of the box. Struggling to modify the rod's size, I opted for brevity, shortening the presentation while showcasing the "human.png" image. Considering the limitations in altering the project's structure, I introduced an additional feature: a script to set the timezone. This script captured the precise client-inserted time in SQL and displayed it. Although I initially tested this with 000webhost and experienced a crash, I observed no discernible difference upon testing with other hosts. On May 2nd, 2015, I ventured into experimenting with 3D three.js. However, this endeavor inadvertently led to SQL overload, compelling me to troubleshoot the situation. During this process, I tweaked my DNS records, seeking to identify the root cause. Upon returning to my own site, I encountered an unexpected obstacle—the server locked me out. Left with no alternative, I redirected my efforts to my personal computer. A recent idea sprung forth: leveraging my newly acquired Cisco router, I reconfigured IPv6 to IPv4 for internet access. This twist of fate reversed my DNS record placement, transforming my home's IPv6 into a website. While inaccessible to the world, this setup allowed me to explore IPv6 decoding and gain insights into countries and information. Ultimately, I limited my exploration to IPv6 to decimal conversion, comparing countries and ISPs. Adding to my challenges, my new AJAX script using XMLHttpRequest failed to retrieve data, compelling me to revert to SQL for data comparison. This required shifting from an easy CSV-to-array approach to a more complex SQL-based solution.
As I delved into programming numerous Ajax SQL commands, I encountered a fresh challenge. While JavaScript could send requests to the server around 100 times without causing a hang due to available memory and commit scripts, an unexpected issue arose—JavaScript consistently yielded 50 or more errors, roughly 40 of which passed through per minute. This quandary prompted me to question myself, pondering its origins. This conundrum led me to devise a solution known as "chained lightning." Using XML HTTP requests, I designed a mechanism where one request is dispatched, and upon receiving the "OK" response, the second request is sent, continuing this pattern until 100 requests are executed. This approach ensured that all 100 requests, whether insertion, update, or deletion, proceeded without issue. However, an additional complication emerged—I observed my page repeatedly refreshing. As time progressed, I continued refining my scripting skills, particularly concerning XMLHttpRequest. I relentlessly tackled the challenge posed by page refreshes triggered by request submissions.
Eventually, I triumphed over this longstanding issue, finding a resolution. Nonetheless, the passage of time also brought changes, rendering my solution outdated. The emergence of background workers in web browsers offered a remedy, rendering the once-pressing problem of page refreshes obsolete. years pass by advancements in SQL technology introduced new automated commit mechanisms, streamlining my SQL-related endeavors.


july 12, 2015
Upon installing the latest Windows 10162, bundled with Microsoft Edge, I embarked on testing it, only to discover its lack of support for proxy servers. An intriguing discovery followed as I explored further—the web agent displayed "chrome" and identified as WebKit, a departure from the previous identification as Mozilla. Despite this shift, my site maintained functionality, although the calendar occasionally froze for about 5 minutes before resuming normal operation.


September 6, 2015
Amidst my work on WishJS, I successfully implemented push notifications through a straightforward approach. This achievement prompted me to consider integrating push notifications into my primary "getcount" site. By incorporating the 5-second script for push notifications, I aimed to eliminate the need for manual refreshing, which often resulted in perpetual spinning. Initially, I observed that interacting with the Counter merely displayed the latest counter index after addition to the table, without subsequent updates. To address this issue, I introduced a change to trigger a push every 5 seconds, ensuring consistent access to the latest updates. This alteration extended to all the charts within my system, enabling real-time updates across the board.


September 16, 2015
A significant discovery unfolded as I encountered an upgraded version of my Google world map—a drag-and-drop human feature had been incorporated. While such interactive elements were becoming commonplace, I was struck by the enhanced colorfulness of my map. Upon closer examination, I realized that Google had delved deeper, now displaying coral reefs with remarkable detail. This observation sparked thoughts about the future of map visuals, envisioning vibrant hues representing geographic data around bodies of water and landmasses. In time, terrain depiction might incorporate intricate satellite imagery for a comprehensive view.

As I ventured into the realm of payment systems, a significant hurdle emerged: the payment button's functionality hinged on the utilization of HTTPS. This prompted me to explore the intricacies of the Apache server, available solely on the Ubuntu operating system. However, acquiring Ubuntu OS necessitated a Windows reinstallation. During this exploration, I chanced upon virtual machines (VM) and embarked on the journey to understand and utilize them. This endeavor led me to Hyper-V, where I successfully ran Ubuntu with an Apache server. However, practicality dictated that I couldn't continuously power on my large PC solely for hosting websites. In light of this, I delved into learning about Raspberry Pi and subsequently hosted my websites using it. With the setup in place, I encountered the challenge of dealing with dynamic IP updates. Given that my router's power cycles often resulted in new IP addresses, manually updating the IP on my website every day became an impractical task. This led me to discover luck99.pw, a service offering dynamic IP updates through a Raspberry Pi script known as "dclient." This solution proved invaluable, ensuring seamless management of my own web hosting. Throughout the years, I consistently operated ports outside the standard 80, optimizing my web hosting experience. Returning to my exploration of payment systems, I managed to concoct a solution—creating https://luck99.pw:9991. This marked a turning point as I embarked on implementing SSL to Apache, a process greatly aided by online resources and articles.
My video on how to set ssl on domain
With SSL serving as a security measure, I found myself contemplating the level of security my website possessed. This contemplation led me down the path of reading a book on "OWASP Security." Over the years, I endeavored to recollect the journey that led me to discovering WOPSA. My memory resurfaces only through the context of investigating the prevalence of bots compared to genuine human visitors. Armed with the knowledge I gained, I proceeded to enhance the security of my Apache server. The outcome was astounding—I achieved a score of 700 out of 1000. This achievement was a testament to the efficacy of the insights I gleaned from the book on OWASP .
In the era of DDOS attacks, amidst my search and scripting for my chained lightning script, I unexpectedly came across a free hosting service accusing me of launching a DDOS attack on their server. Puzzled and fearing I had made an error, my account was banned. Upon investigating my Apache server, I uncovered numerous errors. It became apparent that my AJAX script was stuck in a loop, continuously sending insertion requests due to some undisclosed modification I had made. Once I rectified this, I made the decision to steer clear of free hosting services. Instead, I opted to solely rely on my Raspberry Pi-powered website, ensuring that I would not be dependent on such services.
However, an unexpected hurdle emerged with the surge of AI-generated content, causing a gradual shift in my field. By the time my current IT support boss retired, the landscape had transformed into a realm of template-based UI/UX designs. Unfortunately, this evolution escaped my notice, as I was deeply entrenched in my IT support role. Now, with newfound leisure time on my hands, I am redirecting my focus toward mastering native JavaScript animation techniques. I am also intrigued by the idea of delving into the world of intricate and sophisticated animation-driven games, embracing a behavioral approach to gaming. Furthermore, AI stepped in to address my jerky animation issues, providing a mathematical equation that I transformed into classes and seamlessly integrated into my existing complex animations. Thanks to this small scriptlet, I can now smoothly slide any GIF or PNG with a seamless flow. Once again, I am awe-struck by the remarkable capabilities of AI. I've turned to it for assistance in rephrasing these paragraphs, recognizing that my English proficiency sits at a humble C6 level. AI's prowess in rewriting has proven to be an invaluable asset.
During my freelance period, my attention was directed towards animation, where I encountered an audio issue. Chrome demanded user interaction before audio playback, and this problem persisted for a considerable time. Transitioning into mobile app development, I delved into privacy and policy agreements, which required users to click "agree." Interestingly, this step resolved the audio problem. I successfully incorporated a translucent background box that prompted users to read and press "agree." Only after this interaction did I initiate the frame request animation loop, accompanied by audio playback.

A commemoration of reaching milestones: mastering native JavaScript, HTML5, CSS, and complex HTML animations.

4 Mar 2023 , a date to remember Saved for memorial but no rights to post online so link is un clickable Backstyle animation completed
cOULD YOU REMEMBER windows XP has a background set as html call active desktop, this lively Wallpaper Metro remember and still provide this feature Backstyle animation as active desktop with LIvely WALLPAPER Metro Backstyle animation completed 50 floor pic with playgound.ai help but removed from site as worries for picture license
I didn't delve deeply into discussing audio media players, as most of them come with built-in control scripts. However, I did come across other free scripts that offered enhanced control. Nevertheless, the HTML5 era of Chrome brought about a shift where minimal or no scripting was required to play audio. The key was encoding two types of media: one MP3 for general use and one OGG for compatibility with Apple and Unix systems.
Upon realizing that my website wasn't accessible through Bing or Google search, I resolved to make a change. I opted to shift to port 80 for luck99.pw:9991, as neither of these search engines would accept my previous configuration. Interestingly, I made an observation from the past: using port 80 would typically lead to internet issues, as all server traffic from the website would route back to the PC's port 80. However, in 2023, with the prevalence of HTTPS for websites, the scenario has changed. I can now easily set port 80 without interrupting the internet, since all websites utilize SSL port 443 to establish a loop back to the user. Currently, I'm dedicating my time to ensuring that all pages are indexed for search and leveraging ChatGPT to enhance the English quality of my content through rewriting.
At the age of 40 in the year 2023, I've come to realize that if I don't document these steps and configurations through YouTube or another platform, I might forget them over time. Therefore, it's better to record and document them, even if some choose to copy or utilize the information. A copy of my memory what i had configure
5 jan 2024, As I was on a journey to make a game, I realized I didn't plan, and while planning I realized I could make a mini version using pure HTML 5, javascript, CSS, and native Web script, started to realize another thing. I can reuse all my script in the library and make it into a combined set and turn the mini-game into a big concept game. so I started remaking the old script into html5 compatible.