Sections

 Home
 Resume
 Free Media
 Riddles
 Bob's Gallery
 Links & Resources
 Contact


Projects

 Arm
 Kana Quizzer
 Keybinding Util
 Model Gallery
 Port Simulation
 Applets
 Nexus


Subsections

 Project
 Dev Wiki
 News
 Release Notes
 Screenshots
 Download


Arm Development Log

Status Report for January 2012

February 2nd, 2012

Hi all. Performance reviews and oncall kept me occupied for much of January, and Megan had dibs on most of what remained. I'm still hacking on stem but progress isn't as fast as I'd like. C'est la vie.

Stem's development in January mostly focused on...


  • Writing a proper mocking module and refactoring the tests to use it. This will greatly improve the maintainability and ease of writing new tests going forward. Originally this began with the humble goal of 'remove a built-in mocking hack from the system module', then went down the rabbit hole of larger scale testing improvements. Still, I'm happy with the results.

  • Sathyanarayanan took on development tasks including integration tests for chroot setups, saving configurations, and troubleshooting test failures on OSX. Design discussions and code reviews take a fair bit of time but I'm thrilled to finally have someone to hack on the codebase with me. A couple other potential volunteers (piffey and blackpaw) showed interest but have since disappeared.

  • A large part of my discussions with Sathyanarayanan centered around making stem more developer friendly, both in terms of its utility APIs and easier collaboration. As it turns out keeping stem's todo list in a text file on my netbook is not the most optimal location for other people. I've since moved it to a development wiki.

  • Expansion of the configuration utility. The most notable changes include multi-line configuration options and moving to a listener architecture. The former lets us move user facing strings out of the source (good if we ever translate) and the later greatly simplifies usage of this utility. It'll also allow for runtime configuration editability later.

  • Additional options for running stem's tests...
    • '--tor' - Runs integration tests against a given tor binary (obviously needed to test during tor development).
    • '--no-color' - Removes ANSI escape sequence formatting which is preferable when piping test output.
    • '--log' - Makes stem provide its logging output with the test results. Hopefully by making log messages more visible during development we'll get better, more user friendly logging for stem's users. Actually, I've already rewritten most of stem's log messages because of this option...

Non-development things I did include...


  • Sent tor posters to international people. The pile of customs slips was pesky, but worse was twiddling my fingers at the post office as they typed each form in one by one. Hunt and peck is not the fastest method for data entry...

  • The consensus tracker script had a couple interesting finds this month. The first was an oddly configured exit from the University of Waterloo and the second was 41 exits with what looks to be an auto-generated configuration.

  • Realized that my git-fu wasn't up to par for some of the things we're doing at work, so I read 'Git from the Bottom Up'. If you've ever been curious about git's internal data model then this is the article for you. It's short and gives a very well written overview starting with git's most basic components (blobs) and building up from that. I've heard that Pro Git is also good so I might skim some of that next.

Looking forward to seeing most of you at the development meeting! -Damian




Status Report for December 2011

January 2nd, 2012

Hi all. Between being ill, oncall for work, visiting with family over the holidays, and finally meeting a brilliant, wonderful girl named Megan I didn't accomplish too much in December. This isn't likely to change any time soon so the projects I maintain may get a little less attention - such a pity. ;)

As normal I've mostly been split between developing stem and maintaining arm. Ideally I'd like to sink all my time into the former but arm had several issues that demanded attention this month...


  • The ptrace change from ticket 3313 caused tor's file descriptors to only be readable by root, breaking lsof, netstat, sockstat, ss, and some of arm's proc based utilities. This does not break connection resolution itself, but rather the file descriptor to inode mappings used to associate connections to processes. Thanks to Jake we have a partial workaround which is to filter netstat results by the owner's uid instead which, at least for the tor deb, should give the same results. For non-deb users I'll need to just give a notice about why it's broken or, in the case of Ubuntu users, suggest that they turn off 'DisableDebuggerAttachment'.

  • The latest arm release sometimes exhibits strange terminal glitches, caused by an interaction between the readline and curses modules. Thanks to Stephan Seitz for providing a reliable method for reproducing the issue.

  • Kamran submitted a patch for UPnP support in arm which I spent a couple days reviewing. It's a nice addition, though it's gonna need some work before it's merged.

  • Tor Cloud use cases revealed a couple bugs with arm's torrc validation including case sensitivity and an unexpected logging default for Debian. Thanks to koolfy for reporting the issues and Runa for the test system.

  • Saving a snapshot of the log in arm had a couple issues, as reported by Jeff Bonner on the Debian bug tracker.

  • Non-proc based connection resolution could fail due to terminal localization and an issue with the getProcessName() function. Issues caught thanks to Stephan Seitz.

The little time I've had for stem has mostly gone into improving and testing connection and authentication to the tor process. This module took a lot longer than I'd intended to finish but I'm really happy with the result. Also, both Sathyanarayanan and boerni have taken an interest in stem, making me a little hopeful that developing this library won't be as lonely as arm was.

Cheers! -Damian




Status Report for November 2011

December 5th, 2011

Hi all. I spent November chiefly focusing on stem, shoring up its testing and handling the connection/authentication handshake. The scope of the library is expanding very slowly but I'd argue that this is a good thing. Stem has almost compete code coverage with its tests exercising most use cases and edge situations I can think of. For instance, connection and authentication are run against configurations with...

  • an open control port
  • password authentication
  • cookie authentication
  • both password and cookie authentication
  • control socket
  • control socket with cookie authentication
  • no method for controllers to connect

and soon I'll be adding tests for chroot setups (a use case where our projects traditionally have a lot of issues). If you're making Tor changes that touch on PROTOCOLINFO or AUTHENTICATE then please run stem's integ suite. It's quick, it's easy, and it'll give your change a very, very good workout. To run it simply...

git clone git://git.torproject.org/stem.git
./stem/run_tests.py --integ --target CONN_ALL

Besides stem I've been involved with a smattering of other issues...


  • Reviewed Filiol's slides which, between the FUD, had a few reasonable concerns. This mostly concerned better monitoring so I filed a ticket which probably won't get much traction until the next GSoC.

  • Discussed a library for fetching consensus information directly from a variety of sources like cached descriptors and directory authorities/mirrors (ticket). I'll be implementing this functionality in stem and Karsten plans to do the same with a java library.

  • Discussed a Tor forum (ticket). Imho it will be doomed without Tor dev involvement and, since realistically we'll give up on clicking through clunky web interfaces, we should have an email frontend too. Andrew disagrees so I'm taking my hands off of that project.

  • Variety of small arm issues including ASC mishandling, torrc validation issues spotted by kookfy, and fixing an rpm dependency issue spotted by unspawn.

  • Packaged the Tor posters and sent the ones to people in the US. I've had my fill of gigantic post office lines so the rest (and the stack of customs slips that go with 'em) will be waiting until after the holidays.

  • Filed tickets (4629, 4630, 4627, and 3958) for TorCtl issues I've spotted while developing stem. I probably won't keep doing this - it's time consuming and pointless if stem replaces TorCtl. The last issue might also exist with Vidalia though Tomás hasn't commented yet.

  • Though not really Tor related, I submitted a patch to ReviewBoard for a weird XSS issue via comment fields. This next GSoC I'd like to set up a ReviewBoard instance for us. While I realize that shiny, ajax websites aren't our style it would make code reviewing a lot nicer. code review, commit

All in all a good month. Cheers! -Damian




Status Report for October 2011

November 1st, 2011

Between the normal October hubbub of baking peanut butter cookies and Halloween (the spiffiest US holiday, imho) I've been hacking a fair bit on our python projects.

Arm is now in maintenance mode, but has been getting plenty of love...

  • Thanks to Carlo Strub arm now has a FreeBSD port!
  • Sebastian and Robert spotted a couple substantial issues ([1], [2]), now fixed
  • Jordi Espasa Clofent generously lent me an OpenBSD vm for arm testing. I fixed the issues that I could ([1], [2], [3]), but there's still a couple bad ones outstanding...
    • The control connection gets intermittent interrupt signals while arm starts. This one has me completely stumped. Wherever this fun-loving gremlin lives it's deeper than I'd care to go (maybe a vm issue, OpenBSD quirk, or it's just a conscientious objector of localhost socket connection - who knows).
    • The uptime attribute for OpenBSD's variant of ps is... er, difficult to parse. It's in local time, has am/pm rather than being 24-hour time, and the whole format changes based on if the uptime is over a day or not. This whole platform has been scientifically designed to get on my nerves...

My main focus, however, has been on Stem. I've finished the ControlMessage class, a counterpart for TorCtl's core sendAndRecv functionality which handles the base control protocol message parsing. From here it'll be easy to implement counterparts for most of TorCtl's functions (get_info, get/set_conf, etc), but that's not really a high priority. Only a small fraction of my time has been spent working on the stem library - much more has been spent on the documentation and unit/integration testing which is what'll give this library its worth. Besides being developer friendly and well tested, this will let us check when cutting new Tor releases if its changes will cause issues for stem's users or not. I've also submitted a TorCtl change to take advantage of this but it's looking kinda unlike that will happen.

At present the stem integration tests are a good basic verification test for Tor's controller functionality, and will become better as I expand stem. If we become interested in testing for Tor then this will also give a very good starting point for writing those. However, while I'm happy to help with Tor testing I'm also tired of working alone on things that only I care about. If we expand testing to focus more on Tor then someone else will need to take a lead there.

Besides development, I did a code review for Tom's torperf changes and attended the GSoC Mentor Summit where I met Mitar Milutinovic, David Fifield, the Umit developers, and took part in a counter-censorship discussion. We should follow up with Rodolfo Carvalho who's developing Open Monitor (they have a skill set we lack and vice versa), but that's up to others. From irc it sounds like we're too overloaded right now to mentor for Google Code In - pity but maybe next year.

All in all a great month. Cheers! -Damian




Status Report for September 2011

October 1st, 2011

Hi all. For my part September was spent working toward the 1.4.4 arm release which tidies up the rough edges of the prior version and adds the control port interpretor (a pretty spiffy feature, imho). This feature was made with people either learning or commonly using the control port in mind so I'd really appreciate more feedback. Unfortunately Sebastian is the only dev so far to give it a try. :(

Besides that and contrary to my usual avoidance of fellow human beings, I've worked with others on a few things...

  • Roger and others spotted an issue in Vidalia and TorCtl's handling of control port authentication when there's multiple authentication methods being used. I fixed this for TorCtl and arm.
  • Juan Alcaine is helping with the arm RPMs, providing much needed testing and splitting arm from its dependencies. Next step is to get help from Erinn for uploading the arm/torctl rpms to the deb.tpo repos.
  • Kamran has been working on a patch for exit locale selection in arm. It's functional, but not quite done yet (I'm looking forward to seeing his finished version!).
  • Met with Alasdair Young, another Seattleite who's interested in checking Pidgin for leaks and hacking on MAT. I should get drinks with him again in a few weeks...
  • Helped Rob Jansen a bit with a curses setup wizard for Shadow.

The 1.4.4 release is the finishing point for major arm development (for realz this time!), and next I'll be shifting my focus to Stem (a fork of TorCtl) and our shiny, new django TorStatus site.

Cheers! -Damian




Status Report for August 2011

August 31st, 2011

"Yup, all done hacking on arm!" I told myself. I'm such a liar. My August was mostly spent adding features that didn't make it into the 1.4.3 release. In particular...


  • a dialog with stats for exiting port usage (for exits) and client locales (for guards and bridges)
  • control socket support
  • torctl event parsing rewrite
  • descriptor dialog rewrite
  • expanded the projects listed on the tor front page

Google Summer of Code finished last week with all students passing. For me the real question of how we did will be answered in another few weeks when we discover which students stay and which evaporate. Most have expressed an interest in staying so that's a good sign.

Finally, I've spent this last week writing a control port interpretor. Its purpose is to provide raw control port access (like a telnet session with the control port) but with usability improvements. In particular...


  • auto-negotiate authentication
  • tab completion for valid controller commands (which are fetched from the attached tor instance via the 'GETINFO */names' options)
  • up/down cycles through the history and ctrl+r provides history auto-completion
  • * nice formatting for the responses (context specific color/bolding)
  • * support for mutli-line controller commands and event listening
  • irc style interpretor commands...
    • /write [PATH] - saves interpretor backlog to the given path (PATH defaults to the last used location)
    • /find PATTERN - regex search through the backlog, highlighting matches
    • /quit - I'll let you guess
    • * /help [OPTION] - provides usage information for both interpretor and tor commands
    • * /window [0-9] - switches between workspaces (like multiple telnet connections in screen sessions)
    • * /info RELAY - dumps consensus/descriptor entries for a relay by fingerprint or nickname (see the arm descriptor dialog for what this'll look like)
* these are the todo items, everything else is done - ideas welcome for other features, especially if it'll make your life easier!

This interpretor can both be a terminal prompt (by running "arm --prompt" or "arm -p"):

Interpretor Prompt

or used from the arm interface:

Interpretor Panel

They work from the same backend, but the curses/getstr vs prompt/readline frontends provide different capabilities...


  • Only the prompt provides line wrapping. I haven't decided if I'll do this in the panel or not since it's a pita to code (many gory details due to scrolling) and not desirable for all commands...
  • Only the prompt provides suggested tab completion results or ctrl+r history search.
  • Only the panel can provide input syntax highlighting and nice scrolling keybindings.
  • Only the panel will be able to have a /window option.

Most of this next month will be spent polishing this new addition, then making the 1.4.4 arm release.

Cheers! -Damian




Status Report for July 2011

August 1st, 2011

Hi all. For most of July I've been traveling. First along the ocean, visiting Ashland's theaters and the Strawberry Festival, then ending with PETS in Waterloo. It was fun and great to see everyone, though I'm glad to finally have some time back at home.

During those trips I finished arm's relay setup wizard and released version 1.4.3. At the dev meeting I also worked with Nick on refactoring TorCtl's event parsing and Jake on a safe method for customizing Debian's system wide torrc.

This release marks the end of my plans for major feature expansion of arm's terminal interface. From here I'll be shifting my focus to either Kamran's gtk interface or the new TorStatus site (probably picking based on if Kamran wants to stay after GSoC or not).

Cheers! -Damian




Status Report for June 2011

July 3rd, 2011

June could have started a little better, beginning with a nasty flu bug that had me bedridden for the better part of a week. But once that was over with arm got several new features and is now tantalizingly close to its 1.4.3 release. Improvements include...


  • Menu interface (thanks to Kamran for implementing its first version)
  • TorCtl fixes for 2412, 2812, 2065, 1329, 2580, 3406, and 3409
  • Newnym option
  • Dependency auto-fetching via mirrors with signature checks (issue spotted by Sebastian and Robert)
  • Relay setup wizard. This is still in the works and about a week away from completion, but it's turning out very nicely.

Kamran has made some progress with the arm gui, porting the bandwidth graphs and nearly finishing the log panel. This has slipped quite a bit due to illness and family issues, though the parts that are done look great. For a description and screenshot of his work see his blog posting.

Finally, I dug into arm's resource consumption and performance. I was able to reduce its memory usage by 12% and the shutdown time's now instantaneous. However, besides this arm's about as lean as I can reasonably make it...


  • Memory:
    • 17.9 MB total memory usage
    • 3.0 MB (16.8%) is from the idle python interpretor
    • 7.5 MB (41.9%) is from importing the codebase
    • 7.4 MB (41.3%) is consumed at runtime, contribution from individual panels being negligible

  • Startup time is 0.142 seconds. 0.123 is the baseline startup, with graphing contributing an extra 0.02 seconds (probably from reading the state file for bandwidth prepopulation). On the first startup there's around an extra second, probably for importing the libraries.

  • As for cpu usage, there's spikes from connection and resource usage fetches but otherwise it's flat (very little curses or controller activity due to caching and being smart with redraws). Individual panels don't contribute noticeably to the baseline.

Cheers! -Damian




Status Report for May 2011

May 31st, 2011

May was a beautiful, chaotic haze that began with the GSoC acceptance fallout...

  • blog posting
  • acceptance introductions
  • last minute coordination to get a student for the EFF
  • adding proposals, mirrors, and minor template additions for next year's GSoC
  • git repository and ldap discussions

... and somehow ended with me as the mentor (or co-mentor) for five students. Karsten, Norman, and I will be mentoring three students from Wesleyan college to work on a Django rewrite of the TorStatus site. I only have a little prior experience with Django so a good portion of this month was spent reading the Django book to get up to speed (only got to chapter ten - I'm a horribly slow reader).

Meanwhile Kamran Khan has been hacking on the arm codebase, finishing his first week with a functional menus prototype. The implementation details turned out to be trickier than I'd anticipated and will need more polish, but my hat's off to him for being able to dive into a completely new codebase and develop such a substantial contribution in so little time (thanks, Kamran!). For more on this see Kamran's blog.

The fifth student is 'identity' from irc. He's doing his thesis on arm, writing both a paper on its future plans and implementing a minor feature (NEWNYM functionality). He, Kamran, and I will be having periodic sync-ups via Mumble to discuss their projects and issues they run into. If this is successful I'll suggest it to the Wesleyan students too.

Besides all of this, I'm also keeping an interested eye on Julien's Metadata Anonymisation Toolkit. I did a code review for an initial bit he implemented and might do more if I both have the time and he wants the help.

In terms of arm development, I finished a complete rewrite of the codebase that's been almost a year in the works. Besides being a far saner implementation, this paves the way for the further performance enhancements and features discussed on its wiki. /me is still not quite done doing his happy dance about this

Other interesting developments include...

Cheers! -Damian




Status Report for April 2011

April 29th, 2011

Once again my month's been split between GSoC and arm. The former's been a quite juggling act (especially the admin role), but well worth it. When the dust settled arm got a fantastic student. Kamran Khan will be hacking on arm this summer, working on several enhancement including manual path selection, UPnP support, a newnym option, and best of all a GTK front end.

In other news, this month started with the 1.4.2 arm release followed by hotfixes and improvements to its deb. Thanks to Dererk, TorCtl has been properly packaged for Debian as python-torctl and arm uses this (rather than a bundled copy) for its debs. This release also had metadata fixes suggested by intrigeri (debian bugs 623311 and 623312).

Thanks both to Sebastian and my new team of git-fanatics at Amazon, arm has finally migrated to git. Besides some workarounds for svn:externals and 'svn export' this has been a painless transition and I'm definitely glad I made the move.

As for arm development, this month has included several notable fixes, performance improvements, and cleaning of the codebase...

  • Improved arm's startup time by 83% (from 0.84 seconds to 0.14).
  • Thanks to Erinn and Andrew I finally have access to a Mac. PID resolution and several important issues for arm on that platform have been fixed.
  • The deprecated connection panel and file descriptor popup have been dropped from the codebase (together over 1500 lines).
  • Fixed a critical parsing error for circuit paths in older Tor versions thanks to asn.
  • Investigated the work needed for Windows compatibility and process renaming. Unfortunately neither are likely to happen any time soon.
  • ... and many more (file descriptor warnings, using new 'traffic/*' getinfo options, etc).

Cheers! -Damian




Status Report for March 2011

April 6th, 2011

Ok, my project's released, applicants have responses, and at long last I stand triumphant over my inbox nemesis (for the moment, anyway - he'll be back). No more excuses so here's my status report for March.

This last month was spent juggling a few things. First and foremost I've been swapping between my mentor and admin hats for GSoC. By day I've been that annoying, nagging guy asking devs to talk to all these young upstarts that won't get off their lawn. But by night I transform into a hideous slave driver, bent on demanding more and more from the poor applicants to my projects. I'm actually not sure which group is more likely to plot my assassination...

Time permitting I've continued to hack on arm, adding some sweet new features like expanded circuit paths and application identification to the connection panel. The 1.4.2 release (which has been in the works for the last three months) is finally done, for more on that see its blog post.

And finally, I've survived my last oncall with RCX Checkout (only got paged thirteen times!) and transferred to the Source team of Builder Tools. Yesterday was my first day and so far I'm loving it, though I'm suspecting my old team is trying to hint something since they left me in their oncall rotation... :P

Cheers! -Damian




Status Report for February 2011

March 2nd, 2011

I'm usually weary of randomization but this last month had too many interesting things to keep from branching out a bit. GSoC is coming up and Andrew has been drumming up interest among students from Wesleyan. In preparation for both I've been sprucing up the Tor volunteer page, prepping our GSoC application, and contacting new potential mentors like Tomás, Robert Ransom, Robert Hogan, and the T(A)ILS community for project ideas.

I've also been preparing my own project for possible contributors, moving arm's development notes and revised project ideas to the Tor wiki. This will be the canonical place for arm development information and upcoming plans (I get enough of scrums and burn-down charts at work, and this should act nicely as an alternative for keeping people informed).

Arm development has stayed relatively on track, with the revised connection panel very nearly achieving parity with its predecessor (and in most respects surpassing it). Most of what remains are refinements and tasty new features. Arm has also been added to Debian (Sid) and Ubuntu (Natty) with backports pending. Many thanks to Peter for his help.

As with last month, I have another round of being oncall for work which will sap a chunk of my time (and leave me grumpy). That aside, the 1.4.2 arm release should be done by the end of the month and I'll be keeping an eye on the channels for the first round of inquisitive students. Fingers crossed that we find some good ones that stick around this year.

Cheers! -Damian




Status Report for January 2011

February 2nd, 2011

This last month began with the release of arm 1.4.1, last minute features including better TBB compatibility and summarization/filtering of the options presented in the configuration panel. This was followed by three hotfixes for platform specific bugs in error handling and an improvement to help with Gentoo ebuilds (thanks to Fabian, Trystero, and Anthony).

Since then I've been diving into the connection panel source, splitting out and improving its functionality for mapping IP/ORPorts to fingerprints and identifying exit connections (this determines what information is publicly displayable or not). The pesky syshook concurrency error and among others have also been fixed.

I've been working weekends to make deadlines for Amazon and had a week long brush with the flu which ate a good portion of this month. I'm also scheduled for our oncall rotation next week which won't help either. However, I'm hoping to have the connection panel rewrite finished this month and begin working on some tasty new features for it soon afterward.

Cheers! -Damian




Status Report for December 2010

January 4th, 2011 (updated 1/9/11)

Hi all. In the month of December arm saw some *sweet* improvements. Here's what I've been up to:

  • Vastly Better Resolver Performance

    By far the most expensive thing that arm does is ps and netstat/lsof/etc lookups. While wandering around development forums I discovered psutil, an awesome library for cross platform resolution of system and process information. For OSX and BSD they're using ps and lsof lookups just like arm. However, for Linux they had a very different approach, querying proc contents directly. I adapted the functions for arm and it cut the runtime for resource and connection resolution by 90%. Many thanks to the authors of psutil (Jay Loden, Dave Daeschler, and Giampaolo Rodola')!

  • BSD Compatibility

    For a long time FreeBSD has been arm's nemesis. Its variant of netstat can't get connection pids, the ss resolving utility belongs to a spreadsheet program instead, and even pid resolution failed (breaking resource stats and numerous other things). However, thanks to patches and testing by Fabian Keil and Hans Schnehl arm now has BSD counterparts for all of these, plus autodetection for BSD Jails.

  • Expanded Distribution

    Peter and I have finished revisions for the arm deb and it's now pending feedback from the Debian FTP admins. Arm is also now available on ArchLinux thanks to Spider.007 and Fabian mentioned that he might be interested in doing a FreeBSD port.

  • Volunteer Recruiting

    Being the lone developer of arm is kinda lonely. I'd love to find other people interested in hacking on the code with me. To this end, and in anticipation of GSOC 2011, I've added a project to Tor's volunteer page ("Client Mode Use Cases for Arm"). I also found other island resident interested in learning Python and possibly working on both arm and OpenWrt (keeping my fingers crossed that he'll get involved!).

Plus numerous other fixes and improvements. The next release is currently planned for next week, and for January my goal is to get arm's connection panel rewritten, which is important to the project for a couple reasons:

  • The first couple iterations of arm were prototypes, figuring out what worked and what didn't. As such, the maintainability and performance of the code kinda sucked. My overarching goal this year has been to rewrite the codebase to be both elegant and have the smallest resource usage possible. This rewrite is about 90% done, with the last remnants being the connection panel and controller.

  • Client side use cases and several other potential GSOC projects involve the connection panel. Hence getting this code in shape is an important prerequisite for others to be able to hack on it.

The connection panel has several potential features queued up (identification of other attached controllers, country statistics for bridge operators, etc) so in February I'll be implementing some of those. However, there's looming deadlines for my work with Amazon so I might need to throw some of my weekends at that instead (causing this schedule to slip). -Damian




Status Report for November 2010

December 4th, 2010

Hi. Like the rest of the Tor developers I've been plenty busy throughout November. Arm advancements have included:

  • Finishing its configuration editor which lets users easily customize Tor's configuration with reference information scraped from the man page.
  • Made a new release (1.4.0) which had numerous changes including: additional torrc validation, config panel rewrite, improved text input methods, and numerous fixes.
  • Worked with Peter on getting the arm deb in shape for Debian and the Tor repositories. Looks like we're getting pretty close!

    Arm is also now in Gentoo's portage repositories and, if I'm lucky, I might also find a volunteer to maintain it for BSD. Oddly, no one's shown interest in having it on Redhat distros (despite an experimental RPM being available). Maybe no one uses Redhat anymore... :P
  • Finally got over my phobia of having a userbase and stopped hiding the project. In particular I've added it to:
This next month's plans include:
  • working more with Peter to finish the deb
  • rewrite the connection panel (this and the controller are the last parts of the old codebase to be revised)
  • begin experimenting with a panel for showing details on client connections (for more information see the "client mode use cases" in arm's TODO)
  • providing short summaries on the config panel rather than the full man descriptions
  • incorporate feedback from new users, such as to have a warning when arm cpu resource usage is high that the -b flag would be suggested (thanks to Clete)

Cheers! -Damian