Beta ratio distribution for SciPy
The quotient of 2 independent beta-distributed random variables has a known distribution, but its closed-form expression is a little hairy [1, 2]. One Python implementation of this distribution is available from Julian Saffer , but it suffers from some numerical issues… »
Porting NU-Prolog (c. 1995) from BSD Unix to modern Linux
NU-Prolog is a Prolog variant designed by the members of the Machine Intelligence Project at the University of Melbourne, released circa 1986, with a version 1.6.9 released circa 1995.
Recently, I sought to port some software written in NU-Prolog (written by one of its creators, … »
Investigating and disabling hard-coded certificate pinning in an Android application
mitmproxy is an open source interactive HTTPS proxy, which makes it easy to intercept HTTPS for reverse engineering, including an Android clients. It does this by installing its own CA certificate on the client device.1
Recently, I was attempting to reverse engineer the HTTPS… »
Customising Pretix defaults with a plugin
Pretix is an open source ticket sales platform with a self-hosted ‘Community’ edition. Pretix is highly versatile, and features a plugin system making it highly customisable, and the API is fairly well-documented. However, complete examples of how exactly to use the API to accomplish certain… »
Using selenium to scrape/import bank transactions for ledger-cli
Ledger is a powerful command-line plain-text double-entry bookkeeping system, with the capacity to import transactions from CSV files. In America, many banks provide APIs to access transaction feeds, which can be then directly imported into Ledger. However, in Australia, this is not the case.
Customising OsmAnd voice navigation to remove route numbers
OsmAnd is an open-source offline map and navigation app for Android, based on OpenStreetMap data.
In my experience, OsmAnd's voice navigation is the most polished of all open-source Android navigation apps. However, it has a frustrating habit of always announcing street names in conjunction with… »
Line wrapping with cgit and correct line numbers
cgit is a ‘hyperfast web frontend for git repositories’.
cgit's display of file contents (example) renders everything inside a
preblock, and therefore does not support wrapping of long lines. cgit handles line numbers by coding them separately to the actual content, so… »
A new home for my git projects
Yesterday, GitLab, where git projects were formerly hosted, announced changes to their terms of service to incorporate mandatory1 telemetry – both on its GitLab.com SaaS website, and its proprietary self-managed products – causing significant consternation among many. This follows the acquisition of GitHub… »