Code! Beautiful code! How I’ve missed thee!
As mentioned before I’m hip deep in the middle of an arm rewrite. Not only to overhaul the arm codebase, but to ensure Stem will be up to snuff for a Tor GUI or web dashboard (projects I’d love to jump into someday). I’m delighted to announce a nice bit of progress on this front.
September went toward rewriting its header panel (the top portion of arm’s interface)…
As mentioned though this is really more about Stem than arm. Stem improvements
made along the way this month include…
- Far better handling for the ‘private’ keyword (the default prefix) and the default suffix in our ExitPolicy class. (ticket)
- New BaseController.connection_time() method that provides when our control connection was established or detached.
- New Controller.get_accounting_stats() method which reports accounting information for our relay.
- Controller now fetches our own descriptor if no fingerprint is provided to get_server_descriptor(), get_network_status(), or get_microdescriptor().
- New crop() and join() methods for the str_tools module.
- Dropped a redundant get_* prefix from most of our util function names. Old names still work as aliases.
- Our launch_tor_with_config() function raised an OSError if called too many times, caught thanks to RSenet. (ticket)
DocTor, the monitor for directory authority health, also got some love this month…
- Corrected suppression behavior when we have staggered alerts. This should greatly cut down on the amount of noise on the list.
- We now check if too many relays lack a bandwidth authority measurement… or we would if this wouldn’t perpetually be in alarm. (ticket 1, 2)
- Revised DocTor’s schedule as requested by Sebastian. (ticket)
- Expanded suppression for messages about turtles and kicked off a conversation to at long last sort this out. (ticket)
One final note is that I uploaded my Tor Ecosystem presentation to YouTube so volunteer page visitors can see a streaming presentation rather than downloading a 53 MB video.