Category: Tech

  • Content-aware Infinite Scroll Loop using JavaScript

    Content-aware Infinite Scroll Loop using JavaScript

    This project came out from a key highlight of the Luna for CTFd theme, a CTFd theme trying to reproduce the atmosphere of the game Project SEKAI: Colorful Stage feat. Hatsune Miku. In order to recreate the unique and symbolic music selection interface, I went forward to write this piece of code out myself.

  • Extract and Visualize Your Telegram Group Network

    Extract and Visualize Your Telegram Group Network

    This was one of the ideas I wanted to implement for a while: to visualize the members of all groups I joined on Telegram, and see how many circles I had on the single platform. Thanks to the openness of Telegram’s client API, this was rather easy to achieve.

  • Use GraphQL subscription to show progress of time-consuming operations

    Use GraphQL subscription to show progress of time-consuming operations

    GraphQL is feature-rich query language designed to fit majority of needs of generic online applications. The 3 main types of operations in GraphQL are query, mutation and subscription. While queries and mutations are send in HTTP requests, subscriptions are running on WebSocket, which enables it to receive updates in real time. In this article, I […]

  • Measure per-letter dimension of text in JavaScript

    Measure per-letter dimension of text in JavaScript

    TL;DR: Create a Range, set proper start and end points up to the text node with proper offset, then use Range.getBoundingClientRect() to get the dimensions. As a part of the Lyricova Jukebox, we wanted to support inline karaoke swipe animation. With the time tags in the data, it is easy to figure out the time […]

  • How LyricsX keeps track of progress of media players

    How LyricsX keeps track of progress of media players

    LyricsX is an open source software for macOS to download and display lyrics of current playing track on Music (previously iTunes), Spotify, Audirvana, Vox, Swinsian, or the Now Playing indicator in the OS. It gets time-tagged lyrics files from local storage or internet, and then display the lyrics in sync with the player. As a […]

  • Tonguess: Solver and Traffic Analysis

    Tonguess: Solver and Traffic Analysis

    Yet another game from QuizKnock, I wrote a solver for it, and found that it wasn‘t required for a sure-win play.

  • Switch Galaxy Wearable Store Location using XPrivacyLua

    Switch Galaxy Wearable Store Location using XPrivacyLua

    Update 6 July 2020: Added alternative method using Riru Location Report Enabler. Galaxy Wearable Store (GWS) is the app store for Galaxy wearable devices of Samsung. GWS is strongly region-dependent, just like other aspects of the device (you have to do some software hacking for a device purchased in one region to use Samsung Pay […]

  • Monitor Connected Devices to an ASUS Router Using Raspberry Pi

    Monitor Connected Devices to an ASUS Router Using Raspberry Pi

    Title should have explained it all. A simple Python script to monitor if a certain device has connected to the router via Wi-Fi, and send notifications accordingly. You can use this script for whatever purpose you want , though probably […]

  • Read and Write Tags of Music Files with FFmpeg

    Read and Write Tags of Music Files with FFmpeg

    In both my previous and recent projects, I have been working with tags (metadata) of music files. One of the reason being I am rather particular about having a nicely organised library with all tag data aligned to the same format. Until recently while I was seeking for a solution to read and write tags […]