<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Python on ZL Labs Ltd</title>
    <link>https://zl-labs.tech/tags/python/</link>
    <description>Recent content in Python on ZL Labs Ltd</description>
    <generator>Hugo</generator>
    <language>en-us</language>
    <lastBuildDate>Mon, 20 Apr 2026 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://zl-labs.tech/tags/python/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Ubuntu&#39;s Popularity Over the Years</title>
      <link>https://zl-labs.tech/post/2026-04-20-ubuntu-popularity-over-the-years/</link>
      <pubDate>Mon, 20 Apr 2026 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2026-04-20-ubuntu-popularity-over-the-years/</guid>
      <description>&lt;p&gt;With the highly anticipated new release of Ubuntu due out later this week (26.04 LTS), it&amp;rsquo;s a good moment to review&#xA;the landscape of Linux distributions and ask: &amp;ldquo;is it the right operating system for me?&amp;rdquo;&lt;/p&gt;&#xA;&lt;p&gt;I have been using Linux Ubuntu as my primary operating system (OS) for more than 15 years and it&amp;rsquo;s&#xA;fair to say, I&amp;rsquo;m hooked! My enjoyment of and productivity using Ubuntu goes far deeper than &lt;em&gt;it&amp;rsquo;s free&lt;/em&gt;&#xA;and &lt;em&gt;it has a great window management&lt;/em&gt;, though these are key benefits.&lt;/p&gt;</description>
    </item>
    <item>
      <title>AI Agents for Automated Quality Assurance</title>
      <link>https://zl-labs.tech/post/2025-11-28-agentic-qa-parallellm/</link>
      <pubDate>Fri, 28 Nov 2025 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2025-11-28-agentic-qa-parallellm/</guid>
      <description>&lt;p&gt;Quality Assurance (QA) is an intensive endeavour that feels very repetitive to humans. In this article, we explore the&#xA;potential of using Agentic AI to automate this process. In particular, we&amp;rsquo;ll apply this methodology to a real-world&#xA;example: ensuring that &lt;a href=&#34;https://parallellm.com&#34;&gt;parallellm.com&lt;/a&gt; (the &amp;ldquo;target website&amp;rdquo;) runs smoothly, round the clock.&#xA;Any issues that do arise will be flagged very quickly.&lt;/p&gt;&#xA;&lt;p&gt;The application of Agentic AI to QA has great potential, since traditional website scanning is notoriously difficult.&#xA;Their HTML layouts are liable to change at any moment. AI Agents, when set up in the right way, can tolerate such changes,&#xA;whereas traditional heuristic rules are hard-coded and brittle against this effect.&lt;/p&gt;</description>
    </item>
    <item>
      <title>XKCD Finder</title>
      <link>https://zl-labs.tech/post/2025-06-27-xkcd-rag/</link>
      <pubDate>Fri, 27 Jun 2025 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2025-06-27-xkcd-rag/</guid>
      <description>&lt;p&gt;XKCD comics have become a cornerstone of internet culture, particularly in technical circles, with their witty takes on science,&#xA;programming, and mathematics. However, finding the perfect XKCD for a particular topic or reference can be challenging -&#xA;there are now over 3,000 comics in the archive, and traditional search methods rely heavily on exact keyword matches or&#xA;remembering specific comic numbers.&lt;/p&gt;&#xA;&lt;p&gt;This project explores how modern Natural Language Processing (NLP) techniques can be used to search XKCD comics semantically,&#xA;understanding the underlying meaning rather than just matching keywords. By applying vector embeddings and Retrieval&#xA;Augmented Generation (RAG) to comic descriptions, we can now perform a search based on concepts, themes, and abstract ideas.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parallellm Pump</title>
      <link>https://zl-labs.tech/post/2025-04-05-parallellm-pump-study/</link>
      <pubDate>Sat, 05 Apr 2025 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2025-04-05-parallellm-pump-study/</guid>
      <description>&lt;p&gt;Large Language Model (LLM) tools, such as ChatGPT and DeepSeek, have become a key part of people&amp;rsquo;s workflow, in professional&#xA;and everyday usage. However, there are dozens of different providers now offering a myriad of options all at different price&#xA;points; even a single provider has a multitude of models to choose from.&lt;/p&gt;&#xA;&lt;p&gt;So where do you begin? The Parallellm Pump offers developers a power tool for making response comparisons, &lt;em&gt;asynchronously&lt;/em&gt;,&#xA;to let you be the judge of which provider returns the best result. Still not sure? You can even ask the&#xA;LLMs themselves to make the decision for you!&lt;/p&gt;</description>
    </item>
    <item>
      <title>DeepSeek in the Cloud</title>
      <link>https://zl-labs.tech/post/2025-02-15-run-deepseek/</link>
      <pubDate>Wed, 19 Feb 2025 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2025-02-15-run-deepseek/</guid>
      <description>&lt;p&gt;In this post, I will share my experiences of running one of the DeepSeek open-weights models (DeepSeek-R1-Distill-Qwen-32B)&#xA;directly on AWS hardware in the cloud - no need for API tokens.&lt;/p&gt;&#xA;&lt;p&gt;The good news is that it&amp;rsquo;s easier than you think - modern libraries, such as PyTorch and the Hugging Face (🤗) transformers&#xA;package, facilitate much of the heavy lifting. I found some extra tips and tricks along the way to speed things up and I&#xA;will share these with you in this post.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Let it Segment: A Gift from SAM</title>
      <link>https://zl-labs.tech/post/2024-12-20-adventures-with-sam/</link>
      <pubDate>Fri, 20 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2024-12-20-adventures-with-sam/</guid>
      <description>&lt;p&gt;With the release of the Segment Anything Model&lt;sup id=&#34;fnref:1&#34;&gt;&lt;a href=&#34;#fn:1&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;1&lt;/a&gt;&lt;/sup&gt; (SAM) released by Meta AI Research last year, the lie of the land changed&#xA;quite substantially in Computer Vision, as now images could be segmented easily, with great results even zero-shot. With&#xA;the release of SAM2&lt;sup id=&#34;fnref:2&#34;&gt;&lt;a href=&#34;#fn:2&#34; class=&#34;footnote-ref&#34; role=&#34;doc-noteref&#34;&gt;2&lt;/a&gt;&lt;/sup&gt; earlier this year, I wanted to get hands on and experiment with these models myself.&lt;/p&gt;&#xA;&lt;p&gt;This post walks you through how SAM2 could be used in practice, provides a mini analysis of segmentation results and will&#xA;be released with code so that you can explore further if you want to. This could be expanded to interesting use cases,&#xA;such as facilitating object grasping in robotic systems, branded product addition or removal in marketing images, or&#xA;mapping changes in forested areas from satellite imagery over time for environmental monitoring.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Construction Timelapse</title>
      <link>https://zl-labs.tech/post/2024-12-06-cv-building-timelapse/</link>
      <pubDate>Fri, 06 Dec 2024 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2024-12-06-cv-building-timelapse/</guid>
      <description>&lt;p&gt;In this project a stunning timelapse video was created from an image stock of over 3,000 photos of a construction&#xA;site, tracking the progress of a new residential building from breaking ground to completion, a process lasting more than three years.&#xA;Those images were taken without a tripod, so the variability in camera positions and angles was of course high. To correct&#xA;for this, Computer Vision techniques were used to predict key points in the images, that could then be used to straighten&#xA;them and produce the final, steady timelapse.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Heatmap Analysis</title>
      <link>https://zl-labs.tech/post/2024-03-06-verv-heat-pump-install/</link>
      <pubDate>Wed, 06 Mar 2024 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2024-03-06-verv-heat-pump-install/</guid>
      <description>&lt;p&gt;&lt;em&gt;This is an article I wrote for Verv during their Seedrs fundraising campaign in March 2024. &lt;a href=&#34;https://assets.seedrs.com/uploads/news_post_document/file/7032/i6h917dv891nluooi8odmun4rycdrel/Verv_heat_pump_installation_provides_actionable_insights_within_1_week.pdf&#34;&gt;Link to article&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;&#xA;&lt;p&gt;This January, we finished the installation of the first Verv Smart Isolator with our partner&#xA;Nido, a Spanish heat pump provider. A Verv Smart Isolator was attached to an air-to-water&#xA;heat pump and in less than a week, we provided actionable insights for the customer.&lt;/p&gt;&#xA;&lt;p&gt;One of the tools that helps us understand the energy usage patterns is the energy-utilization&#xA;heatmap. The heatmap visualizes the hourly energy consumption over different days&#xA;(vertical axis) and times of day (horizontal axis). The intensity of colour - marked in the&#xA;legend - represents the energy expenditure during each hour, with darker colours indicating&#xA;higher usage.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Parkrun Map</title>
      <link>https://zl-labs.tech/post/2023-08-27-parkrun-map/</link>
      <pubDate>Sun, 27 Aug 2023 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2023-08-27-parkrun-map/</guid>
      <description>&lt;p&gt;Like to parkrun? I certainly do! This project helps you to visualize where you&amp;rsquo;ve been running, and where you could go next.&#xA;Simply run the app locally with Python, and enter an athlete ID (e.g. your own one).&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve used Plotly Dash to render the parkrun participation on a map for a given athlete.&#xA;The map initially starts out centred on your home parkrun course - the one you&amp;rsquo;ve visited most - just zoom out if you&amp;rsquo;ve gone farther afield.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Image Selector</title>
      <link>https://zl-labs.tech/post/2021-05-26-image-selector/</link>
      <pubDate>Wed, 26 May 2021 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2021-05-26-image-selector/</guid>
      <description>&lt;p&gt;Duplicate photos are annoying and unwanted. Wouldn&amp;rsquo;t you rather make those post-holiday rundowns with the family as impressive (short) as possible? The burden of boiling your photo set&#xA;down to the most memorable and ones with the best angle is greatly reduced by this app. It works because you can visualize all images &lt;em&gt;together&lt;/em&gt; in the order they were taken.&lt;/p&gt;&#xA;&lt;p&gt;I now use my Dash app routinely after every holiday, as it makes the deduplication process much faster, yielding a cleaner set of photos without maxing out your hard drive!&lt;/p&gt;</description>
    </item>
    <item>
      <title>Atari Pong</title>
      <link>https://zl-labs.tech/post/2020-10-04-atari-pong/</link>
      <pubDate>Sun, 04 Oct 2020 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2020-10-04-atari-pong/</guid>
      <description>&lt;p&gt;This is a short post to describe my practical introduction to Reinforcement Learning (RL), where I trained a simple agent&#xA;to play the classic Atari game Pong via a Deep Q-Network.&lt;/p&gt;&#xA;&lt;p&gt;In English, this means we teach a novice computer to play the&#xA;classic paddle game by allowing it to observe what happens when it performs various movements at different times and&#xA;stages of gameplay (against the same, fairly strong opponent). Then, after making a sequence of movement&#xA;choices, our agent either gets a point (reward of +1) or loses one (reward of -1). After a lot of trial and error, the&#xA;agent will have observed enough situations to learn what is a good move to make at a given moment in the game.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Find Tune</title>
      <link>https://zl-labs.tech/post/2019-04-28-find-tune/</link>
      <pubDate>Sun, 28 Apr 2019 00:00:00 +0000</pubDate>
      <guid>https://zl-labs.tech/post/2019-04-28-find-tune/</guid>
      <description>&lt;p&gt;The objective of this project is to create a program that listens to a continuous stream of sound and identifies when a particular&#xA;song - the target track - is playing. This is similar to how home assistants such as Amazon&amp;rsquo;s &amp;lsquo;Alexa&amp;rsquo; function, except they seek out a&#xA;different sound (their name). Ultimately, this project will be used to replay the detected positive sound to a speaker, serving as a&#xA;doorbell amplifier.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
