Inane Observations $ sudo fix_it
  • Efficiently reading a CSV of floats in Rust

    12 November 2023 | rust programming | Comment

    In hpstat, we are often required to read large CSV files consisting of a header of string column names, followed by data consisting entirely of floating-point numbers. Profiling reveals that a naïve approach based on generic CSV parsers is inefficient at this task.

    Consider… »

  • A high-performance Rust implementation of the Turnbull non-parametric maximum likelihood estimator for interval-censored survival data

    29 October 2023 (updated 02 May 2024) | mathematics statistics rust | Comment

    A common need in biostatistics is to estimate survival curves, but particular difficulty arises when observations are interval censored, i.e. the time of event is not observed exactly, but is known only to fall within a particular interval. In this setting, the Turnbull estimator [1]… »

  • A high-performance Rust implementation of interval-censored Cox regression

    29 April 2023 (updated 01 May 2023) | mathematics statistics rust | Comment

    Cox proportional hazards models are commonly used in biostatistics for the modelling of time-to-event data, such as mortality or disease progression. A difficulty in applying Cox models arises when observations are interval censored, i.e. the time of event is not observed exactly, but is known… »

  • Implementing a BLT parser by hand in Rust (vs pest and combine): OpenTally dev log

    30 July 2021 | single transferable vote rust webassembly opentally | Comment

    OpenTally is open-source software which can count single transferable vote elections specified using the BLT file format.

    Earlier this month, I replaced OpenTally's previous naive string-manipulation-based BLT parser with one using pest. A new parser was necessary to support extensions to the BLT… »

  • Asyncify with vanilla JS/WebAssembly (wasm-bindgen compatible)

    28 July 2021 (updated 29 July 2021) | rust webassembly opentally | Comment

    Background

    WebAssembly is a technology for executing compiled programs in the web browser at near-native speeds. However, it has a number of current limitations, including that it does not support coroutines/asynchronicity.

    In OpenTally, WebAssembly is used to run code for counting an election. This… »

  • Reducing binary size with DIY dynamic dispatch: OpenTally dev log

    16 July 2021 | rust webassembly opentally | Comment

    Background

    OpenTally is open source software for the counting of preferential voting elections. One feature of OpenTally is support for various different representations of numbers, from floating-point arithmetic through to exact rational representations.

    In OpenTally, these are implemented using generics. For example, consider the following… »

  • Porting Python to Rust/WebAssembly: OpenTally dev log

    05 June 2021 (updated 16 July 2021) | elections voting systems proportional representation single transferable vote rust webassembly opentally | Comment

    Background and motivation

    pyRCV2 is software for open-source election counting. It is intended to be usable across multiple platforms – as a web application, for the convenience of users less technologically inclined, and as a standalone CLI desktop application, for better performance. To this end,… »

  • Home
  • Git (Archives: GitLab, GitHub)
  • Research
  • Music
  • Posts
    • May 2025 (3)
    • December 2024 (2)
    • November 2024 (2)
    • September 2024 (2)
    • August 2024 (1)
    • More…
  • Tags
    • medicine (25)
    • copyright (20)
    • opentally (20)
    • drm (19)
    • encryption (12)
    • monash (12)
    • mathematics (11)
    • statistics (10)
    • proportional representation (8)
    • python (8)
    • victoria (8)
    • law (7)
    • meeting procedure (7)
    • ptv (7)
    • public transport (7)
    • rust (7)
    • defective by design (6)
    • digital rights management (6)
    • creative commons (4)
    • webassembly (4)
    • metro trains (3)
    • paediatrics (3)
    • politics (3)
    • 2fa (2)
    • c (2)
    • graphics (2)
    • mfa (2)
    • pdf (2)
    • victorian electoral commission (2)
    • android (5)
    • security (18)
    • cryptography (12)
    • programming (12)
    • voting systems (8)
    • med in review (11)
    • music (10)
    • parliamentary procedure (7)
    • totp (2)
    • reverse engineering (20)
    • obfuscation (12)
    • single transferable vote (19)
    • ebook (16)
    • elections (12)
    • java (6)
    • linux (33)
  • Lee Yingtong Li
  • blog@yingtongli.me
  • My CV · CV of Failures
@RunasSudo

Most material on this website is available under an open licence. See https://yingtongli.me/blog/copyright.html for details.