<?xml version='1.0' encoding='utf-8' ?>
<iCalendar xmlns:pentabarf='http://pentabarf.org' xmlns:xCal='urn:ietf:params:xml:ns:xcal'>
    <vcalendar>
        <version>2.0</version>
        <prodid>-//Pentabarf//Schedule//EN</prodid>
        <x-wr-caldesc></x-wr-caldesc>
        <x-wr-calname></x-wr-calname>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>A9ZA7U@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-A9ZA7U</pentabarf:event-slug>
            <pentabarf:title>pip install community</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T102500</dtstart>
            <dtend>20251011T105500</dtend>
            <duration>003000</duration>
            <summary>pip install community</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/A9ZA7U/</url>
            <location>Main Track (Morning) (LT-18)</location>
            
            <attendee>Georgi Ker</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>97ULTT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-97ULTT</pentabarf:event-slug>
            <pentabarf:title>Building Agentic AI on AWS: From Concept to Python Implementation</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T105500</dtstart>
            <dtend>20251011T112500</dtend>
            <duration>003000</duration>
            <summary>Building Agentic AI on AWS: From Concept to Python Implementation</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/97ULTT/</url>
            <location>Main Track (Morning) (LT-18)</location>
            
            <attendee>Haowen Huang</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VU7KCM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VU7KCM</pentabarf:event-slug>
            <pentabarf:title>What&apos;s new in pandas 3.0</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T113000</dtstart>
            <dtend>20251011T120000</dtend>
            <duration>003000</duration>
            <summary>What&apos;s new in pandas 3.0</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/VU7KCM/</url>
            <location>Main Track (Morning) (LT-18)</location>
            
            <attendee>Marc Garcia</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>X3JHUT@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-X3JHUT</pentabarf:event-slug>
            <pentabarf:title>Building Consistent &amp; Secure Container Environments</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T121000</dtstart>
            <dtend>20251011T124000</dtend>
            <duration>003000</duration>
            <summary>Building Consistent &amp; Secure Container Environments</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/X3JHUT/</url>
            <location>Main Track (Morning) (LT-18)</location>
            
            <attendee>Jack Chen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XS9DDR@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XS9DDR</pentabarf:event-slug>
            <pentabarf:title>Kubernetes Isekai (&#30064;&#19990;&#30028;): Gamifying Kubernetes Education in Free AWS Academy Learner Lab</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>zh-hant</pentabarf:language>
            <pentabarf:language-code>zh-hant</pentabarf:language-code>
            <dtstart>20251011T140000</dtstart>
            <dtend>20251011T143000</dtend>
            <duration>003000</duration>
            <summary>Kubernetes Isekai (&#30064;&#19990;&#30028;): Gamifying Kubernetes Education in Free AWS Academy Learner Lab</summary>
            <description># Kubernetes Isekai (&#30064;&#19990;&#30028;)

**Kubernetes Isekai** is an open-source Python RPG designed to make learning Kubernetes fun and interactive through gamification. Tailored for junior to [Higher Diploma in Cloud and Data Centre Administration](https://www.vtc.edu.hk/admission/en/programme/it114115-higher-diploma-in-cloud-and-data-centre-administration/) students at the [**Hong Kong Institute of Information Technology (HKIIT)**](https://hkiit.edu.hk/), it transforms technical education into an engaging adventure.

## &#127918; Key Features

1. **Role-Playing Adventure**  
   Students take on quests from NPCs who assign real Kubernetes tasks.

2. **Task-Based Learning**  
   Learn by doing&#8212;set up and manage Kubernetes clusters in a guided, hands-on environment.

3. **Free Access**  
   Runs on the cost-effective **AWS Academy Learner Lab** or **GitHub Codespace** using **Minikube** or **Kubernetes**.

4. **Scalable Grading**  
   Kubernetes setups are automatically tested using an **AWS SAM** application within **AWS Lambda**.

5. **Progress Tracking &amp; Rewards**  
   Students can track their progress, earn rewards, and level up their skills.

6. **GenAI-Powered NPCs**
   Integrates **Generative AI** to make NPC interactions more dynamic and engaging, enhancing the overall learning experience.

---

This game-based platform offers a **practical, cost-effective**, and **fun** way to gain real-world Kubernetes experience.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/XS9DDR/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Cyrus Wong</attendee>
            
            <attendee>Kathy Wu</attendee>
            
            <attendee>Camila leung</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LY893F@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LY893F</pentabarf:event-slug>
            <pentabarf:title>IPList to BPFRule: A Python DDoS Mitigation Framework for Domain-Level Attacks via XDP_HOOK of bpfilter</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T144000</dtstart>
            <dtend>20251011T151000</dtend>
            <duration>003000</duration>
            <summary>IPList to BPFRule: A Python DDoS Mitigation Framework for Domain-Level Attacks via XDP_HOOK of bpfilter</summary>
            <description>Introduction:
In recent years, Distributed Denial of Service (DDoS) attacks targeting previously compromised injected websites have become increasingly prevalent. This trend poses a significant threat to Indonesian web infrastructure, particularly domains under the .id top-level domain associated with governmental or institutional organizations. Unlike attacks that rely on specific Layer 7 pattern - such as SQL Injection or Cross-Site Scripting (XSS) - these DDoS attacks exploit volumetric or stateful protocol-layer weakness (e.g., OSI Layer 4 and Layer 7) without leaving standard application-layer signatures. Consequently, conventional Web Application Firewalls (WAFs) often fail to detect or mitigate the threat effectively, and attempting to do so can result in excessive resource consumption on the WAF itself. Mitigating such attacks typically requires volume-based or stateful traffic analysis tools capable of distinguishing between legitimate requests and malicious traffic patterns. While low-volume Layer 7 DDoS attacks may still be managed at the origin server level, doing so risks overwhelming the server&#8217;s firewall and web server stack - particularly when filtering rules impose high latency loading time then require the web server to have health checks that resulted in reload or restart. If the health check of the web server causes too many restarts it could have a bad effect on the site.
Another commonly used defense mechanism is BGP Flowspec, which enables volume-based traffic analysis and filtering at the network level [1]. While effective against high-bandwidth volumetric attacks, this method has limitations - it cannot mitigate stateful DDoS attacks that exploit the stateful connection layer 4 request. In such cases, traffic must be redirected to scrubbing center, where more sophisticated inspection and mitigation are performed. To execute filtering at these centers, one of the most advanced and increasingly adopted technologies is eBPF XDP (eXpress Data Path). XDP enables high-performance packet processing in the Linux kernel, allowing packets to be intercepted at the NIC driver level, thus avoiding unnecessary transitions to user space for blocking. This results in faster, more efficient mitigation [2].
XDP works by attaching hooks at low level in the network kernel stack, enabling the implementation of custom filtering logic using eBPF. However, most BGP Flowspec and XDP integrations are designed to protect specific IP addresses, not domain names. This approach is therefore unsuitable for organizations that do not own BGP Flowspec-enabled routers or need filtering on domain names. Furthermore, deploying this infrastructure solely to block domain-based attacks may lead to unnecessary overhead and resource use.
Instead of relying on BGP Flowspec in combination with XDP, this paper proposes an alternative approach that integrates domain name resolution via DNS, reverse proxy-based WAF, and XDP filtering using the bpfilter tool. By leveraging DNS resolution, domain-specific DDoS attacks can be mitigated without the need of BGP-based redirection. In this model, DNS is used to reroute targeted domain traffic to a reverse proxy server that is integrated with bpfilter XDP rules for rarely-stage packet filtering.
Furthermore, widely adopted reverse proxy WAF - such as Safeline or BunkerWeb - can be configured to route clean traffic to appropriate origin server after initial filtering. This layered approach not only enables domain-focused filtering at the kernel level, but also reduces the computational burden on the reverse proxy WAF by offloading early blocking to XDP. As a result, DDoS attacks against specific domains can be handled more efficiently with lower resource consumption, without requiring access to advanced routing infrastructure such as BGP Flowspec.  
Methodology:
To effectively mitigate DDoS attacks on specific domains, a volume-based traffic analysis system-similar in function to BGP Flowspec-is required. However, instead of implementing full-scale, low-level volume analysis mechanism, this solution adopts a simplified version that minimizes complexity and avoids kernel-level development.
Before detailing the meethod, the following are the key components that make up the solution:
- Volume-Based Analysis Tool at the origin server, which detects volumetric attacks and uploads attacker IPs to a centralized IP list (&#8220;Bucket IP List&#8221;).
- DNS A Record Redirection, pointing the targeted domain to a Reverse Proxy WAF (e.g. Safeline).
- iplist_to_bpfrule Linux Service, which executes a Python script to pull thousands of attacker IPs from the central Bucket IP List
- bpfilter XDP tool and service, responsible for enforcing the ruleset at the kernel level using XDP_HOOK
- safeline WAF as it&apos;s reverse proxy WAF
The Volume Based Analysis Tool runs on the origin server and monitors resource-intensive, volumetric HTTP behavior. In its original implementation, it blocked detected attacker IPs directly using the server&#8217;s firewall. However, as the volume of malicious IPs grew, this approach became problematic - it caused excessive rule loading and triggered frequent restarts due to health check failures.
To address this, this tool was redesigned to offload blocking to a reverse proxy layer. Once the attack threshold is surpassed, the origin no longer performs direct mitigation. Instead, it uploads the identified attacker IPs to cloud bucket (the &#8220;IP List&#8221;) and switches the targeted domain&#8217;s DNS A record to point to pre-configured Reverse Proxy WAF server.
The reverse proxy server (e.g., Safeline) forwards clean traffic to the origin server, while the initial filtering of malicious requests is handled at the kernel level using bpfilter XDP ruleset. In front of the reverse proxy, the bpfilter tool combined with iplist_to_bpfrule service dynamically injects XDP_HOOK rulesets based on attacker lists fetched from the bucket. This functionality is driven by iplist_to_bpfrule service, a Python-based daemon that periodically pulls new IPs and applies them to the ruleset using bpfilter.
This architecture allows for efficient L3/L4 blocking, reduces the resource burden on the WAF, and eliminates the need for high-cost BGP or scrubbing center infrastructure, making it suitable for smaller-scale or budget-conscious environments.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/LY893F/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Nizar Akbar Meilani</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ARQM7C@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ARQM7C</pentabarf:event-slug>
            <pentabarf:title>&#35531;&#25793;&#25265; pyproject.toml&#65292;&#36319; requirements.txt &#35498;&#20877;&#35211;</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>zh-hant</pentabarf:language>
            <pentabarf:language-code>zh-hant</pentabarf:language-code>
            <dtstart>20251011T155000</dtstart>
            <dtend>20251011T162000</dtend>
            <duration>003000</duration>
            <summary>&#35531;&#25793;&#25265; pyproject.toml&#65292;&#36319; requirements.txt &#35498;&#20877;&#35211;</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/ARQM7C/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Alex Lau</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BXPFES@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BXPFES</pentabarf:event-slug>
            <pentabarf:title>Python for the Paranoid: how to secure your Python code</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T163000</dtstart>
            <dtend>20251011T170000</dtend>
            <duration>003000</duration>
            <summary>Python for the Paranoid: how to secure your Python code</summary>
            <description>## Motivation 

As a cybersecurity professional, I want to raise awareness of known Python security concerns in an easy-to-understand manner, especially for those who are new to the language. Intermediate-level learners are also welcome, if they wish to refresh their memory.

Especially in this era of &#8220;vibe coding&#8221;, I feel there is an overemphasis on &#8220;what works&#8221;, and a lack of consideration of &#8220;what might go wrong&#8221;. I hope this talk will inspire listeners to start coding with good cybersecurity hygiene. 

## Scope

This talk will cover security considerations unique to Python. This means that, instead of touching on general concepts like SQL injection or hardcoding secrets, I will focus on known security concerns and considerations in the Python ecosystem. 

## Talk outline

### Breakdown of why your code might be unsafe (20min)
1. Unsafe data (XML, zip, pickle)
2. Unsafe algorithms (random, hashlib)
3. Unsafe versions (using deprecated Python versions)
4. Unsafe third-party packages (supply chain attack)

In this section, to demonstrate the relevance and danger of these cases, I will supply real-life examples and easy-to-understand sample code. I will also recommend safer equivalents where available.

### Mitigation strategies (10min)

I will recommend some tools to address these concerns. In this age where the bulk of codebase may be generated by an AI tool, I will focus on tools that can be set up for automatic scans.

## References

Official list of modules with security considerations: https://docs.python.org/3/library/security_warnings.html  
Example of the ruff linter detecting dangerous pickle use: https://docs.astral.sh/ruff/rules/suspicious-pickle-usage/</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/BXPFES/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Sau</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>XCQ9WW@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-XCQ9WW</pentabarf:event-slug>
            <pentabarf:title>Unscripted Yes, Consistent Commitment: From Meetup Attendee to PyCon APAC 2025 Co-Chair Journey</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T170500</dtstart>
            <dtend>20251011T172000</dtend>
            <duration>001500</duration>
            <summary>Unscripted Yes, Consistent Commitment: From Meetup Attendee to PyCon APAC 2025 Co-Chair Journey</summary>
            <description>Many believe that to contribute meaningfully to a tech community, they need to be an expert or have years of experience. But my journey proves otherwise. I started as someone who simply showed up attending meetups, learning from others, and saying &quot;yes&quot; to volunteering, even when I wasn&#8217;t sure what I was getting into. What followed was an unexpected but transformative journey, from a local Python volunteer to co-chairing PyCon APAC 2025.

In this talk, I&#8217;ll share how my &quot;fake it till you make it&quot; mindset and consistent commitment led me to this point. I&apos;ll discuss how I navigated the world of Python &amp; tech meetups, the lessons I learned from being a tech community nomad, and the surprising impact of small actions in community growth. Attendees will gain insights into how they can start their own journey, overcome self-doubt, and make meaningful contributions, no matter their skill level.

By the end of this talk, I hope to inspire more people to step up, take a leap of faith, and actively engage in the Python and tech community because every great journey starts with a simple &quot;yes.&quot;</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Short talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/XCQ9WW/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Rodney Lei Estrada</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RHYPBS@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RHYPBS</pentabarf:event-slug>
            <pentabarf:title>Make use of Tox in your CI workflow</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T173000</dtstart>
            <dtend>20251011T173500</dtend>
            <duration>000500</duration>
            <summary>Make use of Tox in your CI workflow</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/RHYPBS/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Rex Liu</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LRTWNA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LRTWNA</pentabarf:event-slug>
            <pentabarf:title>Shall We Upgrade? Navigating Python&apos;s Rapid Evolution</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T173500</dtstart>
            <dtend>20251011T174000</dtend>
            <duration>000500</duration>
            <summary>Shall We Upgrade? Navigating Python&apos;s Rapid Evolution</summary>
            <description>Python&apos;s continuous evolution introduces specialized tools for diverse development challenges. By examining release highlights from 3.10 onward - including structural pattern matching, performance optimizations, typing enhancements and the just-in-time (JIT) compiler - this talk summarize the great strides Python has made in recent years. We will also explore the Python Enhancement Proposal (PEP) lifecycle to understand feature evolution mechanisms. We would like to equip attendees to make strategic decisions: adopting improvements where they deliver meaningful impact while preserving system stability where essential.
The slide of this talk is available at [https://lucajiang.github.io/new_in_python/](https://lucajiang.github.io/new_in_python/)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/LRTWNA/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Wenxin Jiang</attendee>
            
            <attendee>Jian Yin</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EYTFQA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EYTFQA</pentabarf:event-slug>
            <pentabarf:title>Tired of Waiting? Bring Your Python Loops to Life with tqdm</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T174000</dtstart>
            <dtend>20251011T174500</dtend>
            <duration>000500</duration>
            <summary>Tired of Waiting? Bring Your Python Loops to Life with tqdm</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/EYTFQA/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Cheryl Cong</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>W8UDQD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-W8UDQD</pentabarf:event-slug>
            <pentabarf:title>The Year of the Snake (Python)</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T174500</dtstart>
            <dtend>20251011T175000</dtend>
            <duration>000500</duration>
            <summary>The Year of the Snake (Python)</summary>
            <description>- Introduction to the Asian Zodiac (1 min)
- History of Python and the Snake (2 min)
- Relationship of the Snake to Python (2 min)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk On-Day</category>
            <url>https://pretalx.com/pyconhk2025/talk/W8UDQD/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Sau</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>B8REC8@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-B8REC8</pentabarf:event-slug>
            <pentabarf:title>My Python Journey from Coding to Community</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T175000</dtstart>
            <dtend>20251011T175500</dtend>
            <duration>000500</duration>
            <summary>My Python Journey from Coding to Community</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk On-Day</category>
            <url>https://pretalx.com/pyconhk2025/talk/B8REC8/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Sammy Fung</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>ADGCNZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-ADGCNZ</pentabarf:event-slug>
            <pentabarf:title>Chills and Submit Your Proposal</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T175500</dtstart>
            <dtend>20251011T180000</dtend>
            <duration>000500</duration>
            <summary>Chills and Submit Your Proposal</summary>
            <description>Just a fun and chills story about submitting proposal to multiple Pycon and the fun thing about the journey</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk On-Day</category>
            <url>https://pretalx.com/pyconhk2025/talk/ADGCNZ/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Nizar Akbar Meilani</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>NSDPHV@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-NSDPHV</pentabarf:event-slug>
            <pentabarf:title>Web Scraping with Python Selenium</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T180000</dtstart>
            <dtend>20251011T180500</dtend>
            <duration>000500</duration>
            <summary>Web Scraping with Python Selenium</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Lightning Talk On-Day</category>
            <url>https://pretalx.com/pyconhk2025/talk/NSDPHV/</url>
            <location>Main Track (Afternoon) (LT-13)</location>
            
            <attendee>Nicholas B.</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QR9URY@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QR9URY</pentabarf:event-slug>
            <pentabarf:title>Demystify vLLM: introducing the de-facto LLM inference engine for private AI</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T113000</dtstart>
            <dtend>20251011T120000</dtend>
            <duration>003000</duration>
            <summary>Demystify vLLM: introducing the de-facto LLM inference engine for private AI</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/QR9URY/</url>
            <location>Track A (Sessions) (LT-15)</location>
            
            <attendee>Peter Ho</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>BXRAXM@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-BXRAXM</pentabarf:event-slug>
            <pentabarf:title>You Don&#8217;t Need to Be a Hero to Contribute</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T121000</dtstart>
            <dtend>20251011T124000</dtend>
            <duration>003000</duration>
            <summary>You Don&#8217;t Need to Be a Hero to Contribute</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/BXRAXM/</url>
            <location>Track A (Sessions) (LT-15)</location>
            
            <attendee>Richard Fan</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KESSTA@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KESSTA</pentabarf:event-slug>
            <pentabarf:title>OpenTelemetry Foundations: Hands-On Guide to Observability</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T140000</dtstart>
            <dtend>20251011T153000</dtend>
            <duration>013000</duration>
            <summary>OpenTelemetry Foundations: Hands-On Guide to Observability</summary>
            <description>What You&#8217;ll Learn:

Introduction to Observability: Understand the importance of observability in modern software systems and how it can help you gain insights into your applications.

Core Principles of OpenTelemetry: Learn the fundamental concepts and principles that drive OpenTelemetry, the leading open-source observability framework.

Key Components and Architecture: Dive into the architecture of OpenTelemetry, exploring its key components and how they work together to provide comprehensive observability.

Practical Use Cases and Examples: See OpenTelemetry in action with examples and use cases that demonstrate its capabilities and benefits.

How to Get Started with OpenTelemetry in Your Organization: Get practical tips and guidance on how to implement OpenTelemetry in your own projects and start reaping the benefits of enhanced observability.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pyconhk2025/talk/KESSTA/</url>
            <location>Track A (Workshop) (LT-15)</location>
            
            <attendee>Hemangi Karchalkar</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>EYXF9W@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-EYXF9W</pentabarf:event-slug>
            <pentabarf:title>Setting Up Reliable CI/CD Pipelines with Python, K8s &amp; Testcontainers</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T155000</dtstart>
            <dtend>20251011T172000</dtend>
            <duration>013000</duration>
            <summary>Setting Up Reliable CI/CD Pipelines with Python, K8s &amp; Testcontainers</summary>
            <description>Shipping software should feel empowering &#8212; not like fighting fires. Yet for many developers, CI/CD feels like a maze of YAMLs, fragile tests, cloud complexity, and guesswork. This workshop changes that story, using Python as your guiding light.

In this 85-minute hands-on session, you&#8217;ll build a complete, production-grade CI/CD pipeline &#8212; one that starts with a commit and ends with a deployed, monitored app in the cloud. But unlike most DevOps sessions, this one is crafted through the lens of simplicity, storytelling, and the power of Python.

We&apos;ll start with Python scripts that automate GitHub repo creation and Jenkins setup. From there, you&#8217;ll use Testcontainers to run realistic integration tests in Docker &#8212; giving you confidence that your tests reflect the real world. We&apos;ll automate builds and trigger workflows using GitHub Actions, then containerize your app and push it to Docker Hub.

Then comes the moment of truth: deploying your Python app to a live Kubernetes cluster (AWS EKS), using Python to manage manifests, rollouts, and environment configs. To top it off, you&apos;ll integrate a custom Prometheus exporter written in Python, visualized in Grafana, so you can watch your app breathe in real time.

This isn&#8217;t just another workshop filled with configs. It&#8217;s a journey &#8212; from chaos to clarity, from &#8220;I&#8217;m not sure what I&#8217;m doing&#8221; to &#8220;I actually built that!&#8221; Every step is hands-on, beginner-friendly, and deeply practical. We blend technical depth with real-world insight, humour, and moments of celebration.

Whether you&#8217;re just starting out with DevOps, or you&#8217;re a seasoned engineer who wants a clean, Pythonic approach to CI/CD, this session is for you. You&#8217;ll leave with a complete working pipeline, a solid understanding of every tool involved, and the confidence to recreate it at work, in your side projects, or with your teams.

By the end, you&#8217;ll walk away not only with skills, but with a story &#8212; a story of how you connected the dots and built something amazing, powered by Python.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Workshop</category>
            <url>https://pretalx.com/pyconhk2025/talk/EYXF9W/</url>
            <location>Track A (Workshop) (LT-15)</location>
            
            <attendee>Koti Vellanki</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>VUXSPF@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-VUXSPF</pentabarf:event-slug>
            <pentabarf:title>Pyodide: Python Reborn in the Browser</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T113000</dtstart>
            <dtend>20251011T120000</dtend>
            <duration>003000</duration>
            <summary>Pyodide: Python Reborn in the Browser</summary>
            <description>Pyodide is an emerging solution for running Python in the browser using WebAssembly. In this session, I will:

1. Explain the architecture and use cases of Pyodide.
2. Show how to build apps that combine Pyodide with modern web frameworks (e.g., React, Vue).
3. Demo real-world use cases including AI model inference, scientific visualization, and interactive education tools.
4. Discuss Pyodide&apos;s ecosystem, performance tips, and current limitations.

This talk is suitable for Python developers curious about frontend technologies, WebAssembly enthusiasts, and anyone exploring the boundaries of full-stack Python.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/VUXSPF/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Calpa</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RNY8EP@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RNY8EP</pentabarf:event-slug>
            <pentabarf:title>What are AI pipeline frameworks good for?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T121000</dtstart>
            <dtend>20251011T124000</dtend>
            <duration>003000</duration>
            <summary>What are AI pipeline frameworks good for?</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/RNY8EP/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Mark Cohen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>RDTRNC@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-RDTRNC</pentabarf:event-slug>
            <pentabarf:title>From Chaos to Harmony: A GenAI Solution to Music Library Clutter</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T124500</dtstart>
            <dtend>20251011T130000</dtend>
            <duration>001500</duration>
            <summary>From Chaos to Harmony: A GenAI Solution to Music Library Clutter</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Short talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/RDTRNC/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Matthew Yuen</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7VASSD@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7VASSD</pentabarf:event-slug>
            <pentabarf:title>IaC Meets Python: When Terraform Isn&apos;t Enough</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T140000</dtstart>
            <dtend>20251011T143000</dtend>
            <duration>003000</duration>
            <summary>IaC Meets Python: When Terraform Isn&apos;t Enough</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/7VASSD/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Rajani Ekunde</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>UU8XBZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-UU8XBZ</pentabarf:event-slug>
            <pentabarf:title>GraphRAG with Python and Neo4j</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T144000</dtstart>
            <dtend>20251011T151000</dtend>
            <duration>003000</duration>
            <summary>GraphRAG with Python and Neo4j</summary>
            <description>Large Language Models (LLMs) have revolutionized access to information, yet their inherent reliance on static training data often limits their ability to provide the most current, comprehensive, and contextually nuanced answers. This limitation is particularly evident when interacting with the vast, dynamically evolving, and highly interconnected knowledge bases found in many professional domains. 

While Retrieval-Augmented Generation (RAG) offers a significant step forward by allowing LLMs to access external information, it frequently struggles with the intricate relationships embedded within complex datasets. This challenge is acutely felt in sectors such as legal research, business intelligence, and corporate knowledge management, where the ability to precisely navigate extensive documents and extract deep, interconnected insights is critical for informed decision-making. Traditional RAG, in these scenarios, often fails to select truly relevant context, resulting in fragmented or incomplete answers.

GraphRAG directly addresses these limitations by recognizing that information often derives its true meaning from its connections. This powerful paradigm enhances RAG by leveraging the structural richness of graph databases to represent knowledge as a network of entities and their relationships. By doing so, GraphRAG empowers LLMs to not just retrieve isolated text snippets, but to intelligently traverse and query the underlying relationships, leading to a far more comprehensive and contextual understanding of information.

Attendees will discover:

* The fundamental principles of GraphRAG and its significant advantages over conventional RAG methods in handling complex, interconnected datasets&#8212;a critical capability for applications in business analysis, legal document interpretation, and comprehensive knowledge base exploration.
* How Neo4j efficiently structures and queries interconnected data, enabling optimal information retrieval.
* An overview of Python tools related to GraphRAG, showcasing its user-friendliness in building GraphRAG applications. This includes its capabilities for automated knowledge graph construction, extracting entities and relationships, and its support for various LLM providers and embedding models.
* Practical patterns for ingesting diverse data into Neo4j and leveraging its graph intelligence to enrich LLM prompts, thereby significantly improving the relevance, coherence, and depth of generated responses.

Whether you&apos;re a Python developer eager to build more sophisticated LLM applications, a data scientist exploring advanced retrieval techniques, or a professional in business, law or administration, this session will equip you with the foundational knowledge and practical insights to begin your journey with Neo4j-powered GraphRAG in a Python environment.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/UU8XBZ/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Hon Kwan Shun Quinson</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>7MCNCZ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-7MCNCZ</pentabarf:event-slug>
            <pentabarf:title>Implementing an MCP Server for DBMS in Python &#8212; YDB&#8217;s Experience</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T155000</dtstart>
            <dtend>20251011T162000</dtend>
            <duration>003000</duration>
            <summary>Implementing an MCP Server for DBMS in Python &#8212; YDB&#8217;s Experience</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/7MCNCZ/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Ivan Blinkov</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>H3MBTJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-H3MBTJ</pentabarf:event-slug>
            <pentabarf:title>AI&#24037;&#20855;&#25913;&#35722;&#20102;Python&#29978;&#40636; / How AI Tools Changed the Python Language</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>zh-hant</pentabarf:language>
            <pentabarf:language-code>zh-hant</pentabarf:language-code>
            <dtstart>20251011T163000</dtstart>
            <dtend>20251011T170000</dtend>
            <duration>003000</duration>
            <summary>AI&#24037;&#20855;&#25913;&#35722;&#20102;Python&#29978;&#40636; / How AI Tools Changed the Python Language</summary>
            <description>&#19968;&#20491;&#35486;&#35328;&#20006;&#19981;&#38480;&#26044;&#35486;&#27861;&#65292;&#36996;&#26377;&#20351;&#29992;&#32722;&#24931;&#65292;&#20363;&#22914;Microsoft&#21916;&#27489;&#29992;Hungarian notation&#23531;C++&#12290;&#38263;&#20037;&#20197;&#20358;&#65292;Python&#37117;&#26159;&#20197;&#31777;&#28500;&#33879;&#31281;&#65292;&#26576;&#31243;&#24230;&#19978;&#21487;&#33021;&#28304;&#26044;&#25078;&#24816;&#65292;&#25152;&#20197;type annotation&#21644;docstring&#30340;&#19981;&#35211;&#26044;&#25152;&#26377;&#31243;&#24335;&#12290;&#28982;&#32780;&#65292;AI&#24037;&#20855;&#30340;&#20986;&#29694;&#26371;&#20196;&#23531;&#20986;&#36889;&#20123;&#12300;&#27794;&#29992;&#30340;&#37096;&#20214;&#12301;&#26356;&#24265;&#20729;&#65292;&#24478;&#32780;&#20196;&#20043;&#26356;&#30427;&#34892;&#12290;&#21478;&#19968;&#26041;&#38754;&#65292;&#36889;&#20123;&#24037;&#20855;&#32943;&#23450;&#20196;&#20154;&#23569;&#20102;&#24605;&#32771;&#65292;&#29986;&#20986;&#30340;&#35486;&#35328;&#26356;&#21934;&#19968;&#12290;&#25105;&#26371;&#29992;&#19968;&#20123;&#20363;&#38988;&#30475;&#30475;&#36889;&#20123;&#24037;&#20855;&#22914;&#20309;&#22609;&#36896;Python&#30340;&#26410;&#20358;&#65292;&#20197;&#21450;&#35299;&#37323;&#28858;&#20309;Python&#26371;&#27604;&#20854;&#20182;&#35486;&#35328;&#26356;&#23481;&#26131;&#21463;&#21040;AI&#24037;&#20855;&#30340;&#24433;&#38911;&#12290;
&#28858;&#37197;&#21512;&#27604;&#21947;&#21450;&#31505;&#35441;&#65292;&#36889;&#20491;&#35611;&#38988;&#26371;&#29992;&#24291;&#26481;&#35441;&#65292;&#22914;&#35264;&#30526;&#35201;&#27714;&#37197;&#21512;&#65292;&#21487;&#21363;&#22580;&#25913;&#20197;&#33521;&#35486;&#36914;&#34892;&#12290;

A language is not only its syntax but also its conventions of usage. For example, Microsoft is famous for using Hungarian notation in C++.

Python is famous for its concise syntax. There are type annotations and docstrings in the language, but they are not used by all projects. This is partially because humans are too lazy to do this extra work. The availability of the AI tools will make these &quot;useless bits&quot; cheap to add and thus more common. On the other hand, AI outputs are more uniform, unoriginal, and dull. I will prove this with some examples. I will also explain why it is the case, why Python is more susceptible to these problems than other languages, and what we should do about it.

This talk is intended to be delivered in Cantonese because of the jokes and analogies, but it can be switched to English if the audiences prefer.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/H3MBTJ/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Dr. Adrian Tam</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>QBPXZ9@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-QBPXZ9</pentabarf:event-slug>
            <pentabarf:title>What does it take to create a language of your own in Python?</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T170500</dtstart>
            <dtend>20251011T172000</dtend>
            <duration>001500</duration>
            <summary>What does it take to create a language of your own in Python?</summary>
            <description>This session is for anyone curious about building your own little domain-specific languages, exploring new ways to teach programming or just crafting code that speaks your own language, literally.

Inspired by my working with an organization that taught coding to children and talks at PyCon APAC, I asked: What if programming could be made more accessible with a language tailored to children? 

The talk will cover:

**Language Design**
- Making decisions around syntax depending on the purpose.

**Architecture Choices**
- Interpreter vs compiler: which architecture best fits for your need?
- Parsing libraries: tools available such as PLY, Lark.

**Technical Implementation**
- Building the lexer, parser, and interpreter and handling errors using Python.

**Demo**
- The language in action.

**Future Directions**
- Adding support for more languages, introducing to wider community.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Short talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/QBPXZ9/</url>
            <location>Track B (LT-14)</location>
            
            <attendee>Chaw Chit Su Thwe</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>KDMRUJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-KDMRUJ</pentabarf:event-slug>
            <pentabarf:title>Mercari LLM Benchmark: Building a Practical LLM Benchmark for Your Business</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T113000</dtstart>
            <dtend>20251011T120000</dtend>
            <duration>003000</duration>
            <summary>Mercari LLM Benchmark: Building a Practical LLM Benchmark for Your Business</summary>
            <description>Outline
1. Motivation: Why Standard Benchmarks Fail in Non-English Contexts. Speaker introduction. (2 minutes)
2. Task Taxonomy and Dataset Curation: Creating unpolluted tasks that mirror real business problems. Examples of tasks. (3 minutes)
3. Python Evaluation Pipeline: A robust, automated pipeline with Litellm, Pydantic, SQLite, etc. (9 minutes)
4. Methodology and Metrics: Ensuring fair, unpolluted evaluation beyond simple accuracy. (3 minutes)
5. Results: A snapshot of how the latest major LLMs perform on our private, business-critical tasks. (3 minutes)
6. Surprising Trade-offs: Analyzing the Pareto frontier of accuracy, cost, and speed for production systems. (3 minutes)
7.  Building Your Own Benchmark: Essential Python libraries, design patterns, and practical lessons. (5 minutes)
8. Conclusion and Q&amp;A (2 minutes)

Audience
Python developers, ML/DS engineers, tech leads, and product managers using Large Language Models for real-world business applications, especially in non-English or specialized domains.</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/KDMRUJ/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Prashant Anand</attendee>
            
            <attendee>Kanta Suga</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>3WPDCG@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-3WPDCG</pentabarf:event-slug>
            <pentabarf:title>The graph capture mechanisms in PyTorch</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T121000</dtstart>
            <dtend>20251011T124000</dtend>
            <duration>003000</duration>
            <summary>The graph capture mechanisms in PyTorch</summary>
            <description>In this proposal, I&apos;d like to share the following key topics about the graph capture approaches in PyTorch:
- How can we harness `fx.symbolic_trace` and `torch.dynamo.export` to capture the DNN operations during the model execution
- How does the symbolic trace mechanism from FX produces the static model graph by substituting the substantial tensors in the graph with &quot;fake&quot; symbolic values
- How Dynamo exploits the custom frame evaluation interface provided by CPython since PEP 523 to dynamically evaluate and dump the PyTorch API invocations during eager execution of DNN models, showing that PyTorch not only treats Python as a frontend language, but also deeply leverages CPython runtime features to extend its flexibility and usability
- The respect limitations of both interfaces</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/3WPDCG/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Xuanteng Huang</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>WECB7J@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-WECB7J</pentabarf:event-slug>
            <pentabarf:title>My Poor Fund: How MPF Fees Are Eating Your Retirement</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T124500</dtstart>
            <dtend>20251011T130000</dtend>
            <duration>001500</duration>
            <summary>My Poor Fund: How MPF Fees Are Eating Your Retirement</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Short talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/WECB7J/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Philip C.</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>LSRJ8Q@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-LSRJ8Q</pentabarf:event-slug>
            <pentabarf:title>Pythonic Finance: Analyze Company Fundamentals with SEC EDGAR APIs</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T140000</dtstart>
            <dtend>20251011T143000</dtend>
            <duration>003000</duration>
            <summary>Pythonic Finance: Analyze Company Fundamentals with SEC EDGAR APIs</summary>
            <description>### Target

- **Who**: This talk is designed for anyone interested in using Python to understand public company financials, spanning from students, programmers, hobbyists, even experienced working professionals. As mentioned, no finance background is required for this talk. Beginner-level Python (variables, functions, lists, using libraries) might be required to understand how the financial data is processed to output metrics.

- **What:** Attendees will be able to discover briefly about the XBRL language, hands-on techniques for getting data from SEC EDGAR&apos;s `companyfacts` API, combining data science and software engineering to validate data with Pydantic, extract key fundamental metrics from the API responses, calculate basic financial ratios, visualize financial trends, and learn the nuances of working with public financial data APIs, even internationally.

- **How:** This talk will be presented in a mixed-style of core financial concepts with live (fallback is prepared in case network errors) Python demonstrations in a Jupyter Notebook / Google Colaboratory. This talk will go through the entire process: selecting a company to visualize its financial health, techniques to ensure that the data is valid, and calculating financial metrics and ratios.

### Scope

- **I am NOT a financial advisor and this talk is for educational purposes only, I will NOT promote or recommend any specific assets, companies, products, and strategies, and this talk is NOT to be construed as any financial, investment, or trading advice**
- Advanced financial modeling, company valuations, and comprehensive ratio analysis are outside of the talk&apos;s scope
- This talk does not dive deep with parsing XBRL format
- This talk does not cover how to buy and/or sell securities
- All examples of this talk use historical data, past performance is not indicative of future performance

### Outline

Planned outline of the presentation:

- Introduction and Disclaimer (~3 minutes)
    - Quick self-introduction and an important disclaimer that I am not a financial advisor and this talk is not a financial advice
    - Why analyze company fundamentals with Python?
- The Data: SEC EDGAR, XBRL, and APIs (~4 minutes)
    - Overview of SEC, EDGAR system, and U.S. company filings (10-K)
    - Brief introduction to XBRL as the structured data standard
    - Focus on the `companyfacts` JSON API for XBRL-derived data
- Real-Life Scenario: Ensuring Data Quality with Pydantic (~3 minutes)
    - Why Pydantic and a quick overview of the Pydantic models for the API response
- Fetching and Validating Company Data (~3 minutes)
    - Use `requests` and `pydantic` to get and validate data for a sample U.S. company
    - Handle potential API or validation issues
- Finance Metrics Explanation &amp; Extraction (~7 minutes)
    - Explanation of basic, core finance metrics: `Revenue`, `Net Income`, `Assets`, `Liabilities`, `Equity`
    - Extraction of the annual data, building the `pandas`&apos;s `DataFrame` to showcase the data
    - Adapting to different XBRL tags (different derived JSON property) for the same financial concept, companies might not have the same schema
- Calculation of Finance Ratios (~3 minutes)
    - Explanation of finance ratios: `Net Profit Margin`, `Debt to Equity Ratio`
    - Calculation of the metrics
- Visualizing Trends (~2 minutes)
    - From the metrics and calculations, generating and showcasing plots with `matplotlib` / `seaborn`
- Internationalization and Data Nuances (~2 minutes)
    - How other countries (example: Japan has `EDINET`) has a different system, but with the same XBRL data structure, proving the skills and knowledge are transferrable
- Key Takeaways, Recap, Closing (~2 minutes)
    - Summary of the process, the tools, suggestions for future exploration</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/LSRJ8Q/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Nicholas Dwiarto</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>SGNMQN@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-SGNMQN</pentabarf:event-slug>
            <pentabarf:title>Search matters: Engineering search systems that actually work</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T144000</dtstart>
            <dtend>20251011T151000</dtend>
            <duration>003000</duration>
            <summary>Search matters: Engineering search systems that actually work</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/SGNMQN/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Tarun Jain</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>HJYDTX@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-HJYDTX</pentabarf:event-slug>
            <pentabarf:title>Peek Inside the Pixels: Visual Interpretability for Computer Vision Models</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T155000</dtstart>
            <dtend>20251011T162000</dtend>
            <duration>003000</duration>
            <summary>Peek Inside the Pixels: Visual Interpretability for Computer Vision Models</summary>
            <description></description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/HJYDTX/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Cyrus Mante</attendee>
            
        </vevent>
        
        <vevent>
            <method>PUBLISH</method>
            <uid>CUPHVJ@@pretalx.com</uid>
            <pentabarf:event-id></pentabarf:event-id>
            <pentabarf:event-slug>-CUPHVJ</pentabarf:event-slug>
            <pentabarf:title>Functional Python: Practical Paradigms for Readable and Robust Code</pentabarf:title>
            <pentabarf:subtitle></pentabarf:subtitle>
            <pentabarf:language>en</pentabarf:language>
            <pentabarf:language-code>en</pentabarf:language-code>
            <dtstart>20251011T170500</dtstart>
            <dtend>20251011T172000</dtend>
            <duration>001500</duration>
            <summary>Functional Python: Practical Paradigms for Readable and Robust Code</summary>
            <description>Functional programming (FP) offers powerful tools and is increasingly adopted across modern languages, including Python. Since Python is not a purely functional language, rather than advocating for a complete shift to FP, this talk will demonstrate how to effectively integrate functional techniques, such as pure functions and higher-order functions, into your Python codebase. By converting imperative procedure-style logic into composable functions, developers can focus more on the &quot;what&quot; (logic) rather than the &quot;how&quot; (implementation details). As for error handling, we will explore how to organize code using a fun and easy-to-understand railway analogy. By the end of this talk, you&apos;ll understand how to apply basic FP concepts in Python, which improve code&apos;s readability, maintainability, and robustness.
The slides of this talk is available at [https://lucajiang.github.io/functional_python/](https://lucajiang.github.io/functional_python/)</description>
            <class>PUBLIC</class>
            <status>CONFIRMED</status>
            <category>Short talk</category>
            <url>https://pretalx.com/pyconhk2025/talk/CUPHVJ/</url>
            <location>Track C (LT-16)</location>
            
            <attendee>Wenxin Jiang</attendee>
            
            <attendee>Jian Yin</attendee>
            
        </vevent>
        
    </vcalendar>
</iCalendar>
