Posts

Showing posts with the label Technology

[Event] JManc 2026

Image
Yesterday I was so delighted to attend JManc 2026, hosted at AutoTrader's fantastic new office at No. 3 Circle Square . I started the day with breakfast on the rooftop alongside Lorenzo and Bruce. We had great conversations, enjoyed the beautiful views over Manchester, and it was the perfect way to begin an inspiring day. Keynote The event opened with an inspiring keynote by Clare Sudbery , " The Power of Craft : Staying in the Driver's Seat of AI-Assisted Development" She focused on how software engineers should work with AI while continuing to apply professional judgement and craftsmanship. One statement particularly resonated with me: AI has a planetary brain, but it lacks real-world wisdom. LLMs have effectively absorbed an enormous amount of human knowledge. They can perform many tasks remarkably well, especially when given the right prompts. However, real wisdom comes from experience and context, something today's AI still cannot truly possess or connect to...

Mathematical Animation Engine

Image
I recently discovered an interesting Python library called Manim . It’s a powerful tool that allows us to create beautiful animations of mathematical concepts and geometric shapes such as polygons, graphs, and functions. What makes Manim even more exciting is that it can be used directly in Jupyter Notebook. This means I can combine code, text, and animation all in one place — perfect for explaining mathematical ideas in a more dynamic and visual way. To try it out, I created a simple example using Manim to illustrate the Fourier Transform , one of my favourite topics from university. With just a few lines of code, Manim can generate smooth, professional-looking animations that show how complex waveforms are built from simple sine components. I’m excited to explore more possibilities with Manim and use it to present other mathematical concepts in a creative and engaging way. 1. Installation !sudo apt update !sudo apt install libcairo2-dev \    texlive texlive-la...

[Event] JManc 2025

Image
I had the opportunity to attend JManc again this year—and once more, it was fabulous. The sessions were organic, deeply technical, and full of insights shared by developers across different domains. Here's my wrap-up from the day, highlighting a few memorable sessions and conversations. 1 Tony Wilson, Manchester 30 Years of Java — Jim Gough’s Retrospective Jim Gough delivered a fantastic keynote on the evolution of Java over three decades. As a Java Champion, his perspective mixed historical insight with a touch of humor and lived experience. Here are some of the milestones he covered: Applets & Early UI: Java’s original fame came from applets—tiny applications that ran inside web browsers.  AWT & Swing: Early GUI development in Java involved the AWT toolkit, later replaced by the more versatile Swing. JavaFX: The modern Java UI framework that succeeded Swing. It was eventually removed from the JDK and spun out as an open-source project. While less commonly used in modern ...

[Event] Shape The Future with Lloyds

Image
I attended the talk called "Shape The Future with Lloyds". It was exciting to see a legacy bank break out of its monolithic shell and dive into Digital Transformation. The Lloyds Bank team shared insights into their journey of innovation; their commitment and the challenges faced in reshaping such a large institution. It was a great reminder of how iterative progress drives change across any industry. A special thanks to David Underwood for not only posting this event but also for sharing his experience in making daily multiple deployments possible; a true marker of transformation in action! 

Building a Gaming PC: A Personal Journey Through Time

Image
Building a PC for my son recently brought back memories from my first build over two decades ago. I feel fascinated to see how much has changed and how much has stayed the same. The fundamental concept of assembling a PC remains, but the technology has advanced significantly, making this easier. Here is my lesson learnt during this build. CPU: AMD Ryzen 5 5600X  The CPU market is still dominated by Intel and AMD, just as it was two decades ago. Unlike the past, where you could simply install a CPU out of the box, modern processors require an efficient cooling system. The additional CPU fan has become a minimal necessity to cool down these powerful processors. Motherboard: ASUS ROG STRIX B550-F ASUS remains my favourite brand for motherboards. The advancements here are remarkable. Gone are the PS/2 ports, replaced by USB ports. Sound cards, which were once an essential component, are no longer needed as modern motherboards come with integrated sound. Setting jumpers manually is...

Horse Racing Game by PyGame

Image
My little son inspired me 🤗 to create a Horse Racing game using Pygame, based on his original Scratch game . 🎮🐴  This project is not only a simple game but also serving as a step-by-step tutorial to help kids and beginners transition from Scratch to Python programming. Find the full game and tutorial: https://github.com/tekichan/py_horse_racing Let’s encourage the next generation of coders! 💻✨ 

[Event] JManc (28th June 2024)

Image
My Sharing about JavaFX Attending JManc , an unconference organised by Manchester Java Community and hosted at Auto Trader 's offices, was an exciting experience. This unique event demonstrating the essence of participant-driven learning and collaboration, set the stage for a series of engaging and enlightening sessions. Propose and vote for topics In the morning, we proposed topics using sticky notes. Afterward, we voted on these topics with dots, shaping the day's agenda based on collective interest. This process itself was a testament to the community's diverse interests and expertise. Breakfast Keynote by Helen Scott Keynote by Helen Scott The unconference kicked off with a keynote by Helen Scott from JetBrains . Helen's talk centered on AI, a topic so crucial and timely that, as she humorously noted, audience would have thrown her out of the window if she did not speak of AI. Her insights into AI's impact on development and the future of programming set a tho...

Stable Diffusion User Interface for Java

Image
Happy to share my recently developed GUI application built entirely in Java! The app, called SDUI4J , serves as an intuitive platform for Text-To-Image and Image-To-Image generation, seamlessly integrated with Stable Diffusion APIs .  Using JavaFX along with FXML , I've crafted a modern and structured GUI, ensuring a user-friendly experience while tapping into Java's full potential in the realm of Generative AI. I'm passionate about discovering Java's capabilities in the field of AI, and this project is a testament to that. I'm excited to continue exploring the convergence of Java and AI. If you're interested in learning more about this project or exploring potential collaborations, feel free to reach out. Let's drive Java forward in Generative AI together! 

[Event] Live Coding: Functional Refactoring in Java

Image
Just experienced a fantastic moment at the deep-dive live coding session hosted by Matias Salerno at Auto Trader UK this evening. We were watching the live transformation of imperative legacy Java code into a concise and declarative Functional Programming style. Another interesting thing is how participants with background of JS and Python grasped more OOP concepts in Java during the session.  Matias Salerno (right) Kudos to Manchester Java Community for organising such a hands-on session, and not to mention, the delicious refreshments!

Event: Manchester Coding Dojo

Image
Coding Dojo Thank you to Codurance for organising Coding Dojo to learn Test Driven Development . We did not only taste TDD and JS but also explored Copilot , Team Collaboration, Project Management, Methodology, etc. Networking seemed endless after the talk. No wonder why this city became a hub of talents.  Outside Department Bonded Warehouse Inside Department Bonded Warehouse

Monty Hall Problem Simulation

""" This is a simulation of Monty Hall Problem. https://en.wikipedia.org/wiki/Monty_Hall_problem Suppose you're on a game show, and you're given the choice of three doors: Behind one door is a car; behind the others, goats. You pick a door, say No. 1, and the host, who knows what's behind the doors, opens another door, say No. 3, which has a goat. He then says to you, "Do you want to pick door No. 2?" Is it to your advantage to switch your choice? """ import random NUM_DOORS = 3  # three doors in the game MAX_ROUND = 10000  # number of rounds for statistics change_win_count = 0 for _ in range (MAX_ROUND):   # randomly to put a car behind a door   car_door = random. randint (0, NUM_DOORS - 1)   # the player firstly selects a door   player_first_guess = random. randint (0, NUM_DOORS - 1)   # the host opens another door without a car   host_door = random. choice ([       x for x in range (NUM_DOORS) if x != player_first_guess and...

Small Step, Giant Leap

Image
  Looms in Quarry Bank Check out these two antique looms displayed in Quarry Bank of National Trust  Although they look similar, the left one comes with a tiny gadget called Flying Shuttle. This small improvement dramatically increased the productivity over tenfold. John Kay might not have even imagined how much his invention would become a catalyst for the Industrial Revolution and have profound effects on the world history.  You know what? Keep dreaming, innovating, and moving ahead. You never know your next small step could be a giant leap for mankind.

Ethical Hacking 101

In today's digital landscape, software security is paramount. To safeguard applications from cyber attacks, developers must embrace Ethical Hacking—an innovative approach that empowers them to uncover vulnerabilities and strengthen security measures. Ethical Hacking involves adopting the mindset of malicious hackers to identify weaknesses and fortify defences against unauthorised access, data breaches, and other threats. By integrating this practice into the coding process, developers gain valuable insights, proactively mitigating risks and creating more robust and secure software systems.  I took a basic lesson from Snyk about Ethical Hacking, which helps me consider security measures in coding.   Process   Plan & Prepare ( Reconnaissance phase)   Scan & Enumerate   Exploit   Analyse & Report Communicate & Collaborate Continuous Education & Professional Development   Tools   Nmap : network scanner   Burp Suite : security...