Category: Software


  • But first Before we talk about logging, it’s worth reading the Observability Primer by OpenTelemetry (OTEL). Their docs put it better than I ever could and they’ve been working on this for many many years. The purpose of the article is to ask some interesting questions about logging and then to collect some answers from…

  • Getting Creative With shape-outside

    Last time, I asked, “Why do so many long-form articles feel visually flat?” I explained that: “Images in long-form content can (and often should) do more than illustrate. They can shape how people navigate, engage with, and interpret what they’re reading. They help set the pace, influence how readers feel, and add character that words…

  • Learn How to Use Pointers in Go – With Example Code

    Pointers are a fundamental but often dreaded concept in every programming language that supports them. Luckily for us, Go makes working with pointers straightforward and safe. In this article, we will demystify pointers in Go. You’ll learn: What pointers are and how to use them How to declare pointers and dereference them Common pitfalls, like…

  • How to Use Freezed in Flutter

    Flutter is a UI toolkit developed by Google. It’s gained immense popularity for its ability to create beautiful and natively compiled applications for mobile, web, and desktop from a single codebase. While Dart, the language behind Flutter, is powerful, writing data models often involves repetitive and error-prone tasks. A typical model may require: Defining a…

  • How to Use Transformers for Real-Time Gesture Recognition

    Gesture and sign recognition is a growing field in computer vision, powering accessibility tools and natural user interfaces. Most beginner projects rely on hand landmarks or small CNNs, but these often miss the bigger picture because gestures are not static images. Rather, they unfold over time. To build more robust, real-time systems, we need models…

  • Smashing Animations Part 5: Building Adaptive SVGs With `<symbol>`, `<use>`, And CSS Media Queries

    I’ve written quite a lot recently about how I prepare and optimise SVG code to use as static graphics or in animations. I love working with SVG, but there’s always been something about them that bugs me. To illustrate how I build adaptive SVGs, I’ve selected an episode of The Quick Draw McGraw Show called…

  • The Challenge: From Paper to Digital Picture this: It’s Ganpati festival season, and like many building communities, we were drowning in paperwork. Residents’ contributions were being recorded the old-fashioned way - pen, paper, and endless manual calculations. The inefficiency was staggering, and the paper waste was concerning. That’s when I decided to take on a challenge: Could…

  • How to Deploy and Trigger No-Code AI Workflows with Docker, Webhooks, and Messaging Apps

    No-code workflow tools like n8n, Make, or Zapier are transforming how developers and businesses build automation. But creating a workflow is only half the story — you also need to know how to deploy and trigger it. This post breaks down the key deployment strategies and the trigger mechanisms you can use to execute workflows…

  • PAPI (Polkadot API) is the next-generation library for building on Polkadot. In this tutorial, we’ll build a simple balance checker that demonstrates PAPI’s core features: type safety, Smoldot light client integration, and on-chain queries. Why PAPI? PAPI is the officially recommended library for Polkadot development, offering: Full TypeScript type safety – Catch errors at compile…

  • Array Slice Map เวลาสร้างขึ้นมาจะถือว่าเป็น Referecne type โดยอัตโนมัติ ผมจะแสดงให้เห็นผ่านตัวอย่างต่างๆ พร้อมวิธีรับมือครับ Array arr := [3]int{0,1,2} Slice sli := []int{0,1,2} Map m := map[string]bool{ “1”: true, “2”: true, “3”: true, } โดย Array Slice Map เวลาสร้างขึ้นมาจะถือว่าเป็น Referecne type โดยอัตโนมัติ ผมจะแสดงให้เห็นผ่านตัวอย่างต่างๆ พร้อมวิธีรับมือครับ เรามาเริ่มต้นกับตัวอย่างด้วย slice, array กัน before := []string{ “apple”, “banana”, “cherry”, } fmt.Println(“Before: “, before) /* Before: [apple…