In this video, I take you through the process of reviving a classic BASIC program from the 1980s and adapting it for use in a modern BASIC compiler on Linux, specifically Gambas. This tutorial is a unique blend of my roles as an author, publisher, and computer programmer based in the UK, where I combine my passion for programming and vintage technology to bring you this informative content.

We start by exploring how to uncover these hidden gems from the past by accessing old computer magazines on the Internet Archive. I guide you through the steps to locate and retrieve these nostalgic pieces of code, ensuring that we maintain British English and standard grammar throughout.

Once we have retrieved the program, I dive into the intricate process of converting it to seamlessly work with Gambas, which is a Visual Basic-like environment designed for Linux users. You can expect a comprehensive breakdown of the conversion process, complete with code snippets and detailed explanations to ensure that you grasp each step clearly.

Whether you're a seasoned programmer or simply a curious tech enthusiast, I invite you to join me on this journey of nostalgia and technical mastery as we breathe new life into a piece of computing history. If you find this content valuable, please remember to like, subscribe, and hit the notification bell to stay updated on more intriguing tech journeys right here on my channel.


In this video, I share my personal selection of the top language learning websites that have been invaluable on my language learning journey. I've had the opportunity to explore a variety of language learning resources, and in this video, I'll introduce you to the ones that have made a significant impact.

I'll take you on a journey through my preferred language learning websites, each offering a unique approach to language acquisition. These platforms have been my trusted companions, helping me refine my language skills and broaden my horizons.

While everyone's language learning journey is unique, I hope that by sharing my favourite resources, you can discover new tools to enhance your own learning experience. In this video, I'll delve into each website, providing insights into how they've helped me in my linguistic pursuits.

So, if you're eager to expand your language skills and explore the diverse world of language learning, stay tuned and discover the websites that have been instrumental in my solo language learning adventure.

Remember to like, share, and subscribe if you find this content helpful, and feel free to share your own favourite language learning websites in the comments. Let's embark on this linguistic journey together.


In this video, I provide an overview and review of a program called Anki, which is widely used by language learners, college students, and medical students to help remember and retain information. Anki is described as a spaced repetition system (SRS) that prompts users with questions or vocabulary at the right time to maximize retention.

I cover various aspects of Anki, including its availability on desktop, iOS, Android, and the web, allowing users to synchronize their data across devices. I demonstrate how to create and review Anki cards, emphasizing the importance of marking the difficulty level to optimize the scheduling of card repetitions.

Additionally, I briefly touch on different card types, such as closed cards, audio-only, and video-only cards, highlighting their use cases. I also mention the program's flexibility in terms of card customization, allowing users to add HTML and CSS to their cards for display purposes.

Towards the end of the video, I mention the availability of pre-made Anki decks for various subjects and professions, making it a valuable tool for a wide range of users.

In summary, this video offers a comprehensive look at Anki, showcasing its features, functionality, and flexibility as a powerful tool for memory retention and learning. It is recommended for anyone seeking an effective spaced repetition system, especially students and language learners.


Recently, I've been experimenting with the chat GPT AI program, using it to convert a short C program I had previously written into Rust. I wanted to see how well it could do this task on its own.

The C program is related to a project I worked on when building my CPU. It's a straightforward program that uses an eProm to convert binary input into decimal numbers, displaying them on an LCD screen using a 16-byte data structure.

I later attempted to convert this C program into Rust with the help of the AI. While I'll share the Rust code later, one of the first things I want to show is the actual hardware setup with the operating eProm containing the C code. The goal was for the files generated and loaded onto the eProm by both the C and Rust programs to be identical and functional. However, they didn't work as expected.

In a demonstration, I show the hardware in action. The eProm with red tape prevents UV light exposure to avoid erasure. I can change the input, and it should generate digital numbers displayed on the LCD. However, when I load the eProm with the Rust code into the same hardware, it doesn't work as expected, showing mostly zeros and failing to provide input to the LCD. There seems to be an issue with the file generated by the Rust program.

I explain that swapping eProms is time-consuming as it takes five hours to erase one manually. I don't have a UV light eraser, so I use a dental eraser with UV light, which is less efficient. I loaded both eProms with their respective files, but the issue persists, indicating a problem with the Rust-generated file.

I delve into how the eProm works in normal operation, processing input data, counting, and displaying numbers on the LCD. The C program, which is simple, generates the necessary data correctly. I asked chatGPT to convert this C program into Rust, and while it provided a good starting point, it required manual adjustments to compile correctly. However, the Rust program still doesn't work as expected, necessitating further troubleshooting and human intervention. Despite the initial challenges, there's potential for it to work once the issues are resolved.

In summary, I've been experimenting with converting a C program into Rust using chatGPT, encountering challenges along the way, and I demonstrate the issues with the Rust-generated code when applied to hardware. Further work and troubleshooting are needed to make it fully functional.

TOP


In this video, I discuss my efforts to learn the Korean Hangu alphabet, focusing on writing and word memorization. The Korean alphabet is phonetic, and I aim to sound out and write words correctly. I showcase my practice exercises, which involve writing Korean words alongside their English translations and practicing writing them by tracing over grayscale versions.

Another exercise involves translating English sentences into Korean with Korean writing, focusing on grammar and sentence structure. This exercise helps me understand the differences between Korean and English grammar, as Korean follows a subject-object-verb structure while English follows subject-verb-object.

I demonstrate how to create these practice exercises using a spreadsheet program, such as LibreOffice, by copying and formatting Korean words and their English translations. The grayscale font is used for tracing practice. The video also briefly covers generating sentence exercises using Unix commands and printing them.

Overall, this video documents my efforts to learn Korean writing and improve language skills, offering viewers insights into practical exercises for language learning.

TOP


In this video, I discuss how I generate text-to-speech files for practicing with unique sentences that aren't typically found in textbooks. I use a text-to-speech program for this purpose, and I've been using Amazon Poly for Korean, which provides natural-sounding human-like voices.

However, when I wanted to do the same for Mandarin Chinese, I found that it wasn't available in my AWS region. So I started looking for alternatives and came across OpenTTS. This open-source tool offers excellent audio quality, especially for Mandarin, and supports multiple languages, including Korean.

I use SSML (Speech Synthesis Markup Language) to mark up the text, indicating sentence boundaries, pauses, and breaks. While OpenTTS doesn't support as many SSML tags as Amazon's commercial product, it suits my needs for adding timed breaks between phrases. This allows me to split the generated audio into individual MP3 files using Audacity for further manipulation.

I also mention the Gradient program, which can create pencil-like audio classes for various languages, including English. I provide links in the description to the open-source software I use: OpenTTS, Audacity, and Gradient, all of which are free to use.

I then briefly demonstrate OpenTTS, which is available as a Docker instance. Users can select different languages and use SSML commands. You can also set break times between phrases. I explain the docker command to set up OpenTTS and its capabilities for generating audio.

Overall, this video explains my process for generating custom text-to-speech audio files for language practice and provides links to the software I use.

TOP


I've collected numerous vape batteries found on the ground over a few weeks. These batteries cannot be directly charged with 9 volts but require specific charging modules.

I decided to repurpose these batteries by creating a flashlight. I 3D printed end caps for the flashlight, one for LEDs and the other for the charging point and on-off switch. I soldered LEDs and the battery to test the concept, and it worked well, creating a UV flashlight.

I then designed PCBs with 12 LEDs to fit the end caps, suitable for different battery sizes. While waiting for the PCBs to arrive, I repurposed the batteries for Christmas decorations. I 3D printed a box to hold two rechargeable batteries, a recharger chip, and a switch, making it convenient for holiday decorations.

This creative use of collected batteries not only serves practical purposes but also reduces waste. I invite viewers to like, subscribe, or share my channel.