{"id":129,"date":"2012-09-26T14:45:00","date_gmt":"2012-09-26T19:45:00","guid":{"rendered":"http:\/\/codezen.org\/canto-ng\/?p=129"},"modified":"2012-09-26T16:26:42","modified_gmt":"2012-09-26T21:26:42","slug":"next-round-of-features","status":"publish","type":"post","link":"https:\/\/codezen.org\/canto-ng\/2012\/09\/26\/next-round-of-features\/","title":{"rendered":"Next round of features"},"content":{"rendered":"<p>It appears everything is going pretty well with the new codebase, there&#8217;s been a dearth of real bugs (and one aesthetic one). I&#8217;m chalking that up to lack of adoption however as most of the emails I&#8217;m getting (one or two a month outside of the tracker mails) are still about old versions in Ubuntu and Debian repos.<\/p>\n<p>Or my code is fucking perfect. You know, could be that one too, right?<\/p>\n<p>Anyway, with a lack of bugs to distract me, here&#8217;s what I&#8217;m looking to add to the next version of <code>canto-curses<\/code> and, if necessary, <code>canto-next<\/code>.<\/p>\n<hr \/>\n<p><strong>Old Canto look<\/strong>. This one&#8217;s done and in the git right now at the request of langner, it adds the old school borders to tags. The cursor behavior is already present and I think all the other interface foibles are either irrelevant or already handle-able.<\/p>\n<p><strong>Polish<\/strong>. There are some operations that are currently bulky, or return unwanted output (like canceling an input with Ctrl+g can sometimes throw a pointless warning message about unparseable output). I&#8217;d also like to simplify use of manual tagging.<\/p>\n<p><strong>Documentation<\/strong>. The plugin and theme docs are currently non-existent which is a shame because both of those systems are integral to the design. Unfortunately, docs also mean that the interfaces have to be standardized and examples drawn up so I&#8217;m not looking forward to it.<\/p>\n<hr \/>\n<p>Future concerns:<\/p>\n<hr \/>\n<p><strong>Tab completion<\/strong>. I was disappointed that the initial release didn&#8217;t include this, or at least some form of history, but readline in Python with curses doesn&#8217;t seem to be a well-trodden path and I&#8217;m sure as hell not home-brewing it unless I absolutely have to.<\/p>\n<p><strong>Memory usage<\/strong>. <code>canto-daemon<\/code> still uses more memory than I&#8217;d like. All of the information clients query from it is on-disk and as such it should be possible to strip the memory usage down to nuts and bolts, but then of course you pay a disk performance penalty every time you grab new data. There&#8217;s a middle ground somewhere in there, likely stripping the resident content down to a smaller subset of the XML, so stuff like getting larger item content (reader) will be penalized with a bit of IO but just populating the feed list won&#8217;t be.<\/p>\n<p><strong>Sync<\/strong>. I&#8217;m against writing a Google Reader plugin, though it should be relatively easy with the daemon plugin capabilities, because the API is unofficial. I would like a solution for people that use multiple boxes that&#8217;s a little more elegant than requiring an rsync but we&#8217;ll see.<\/p>\n<hr \/>\n","protected":false},"excerpt":{"rendered":"<p>It appears everything is going pretty well with the new codebase, there&#8217;s been a dearth of real bugs (and one aesthetic one). I&#8217;m chalking that up to lack of adoption however as most of the emails I&#8217;m getting (one or two a month outside of the tracker mails) are still about old versions in Ubuntu <a class=\"read-more\" href=\"https:\/\/codezen.org\/canto-ng\/2012\/09\/26\/next-round-of-features\/\">[&hellip;]<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/129"}],"collection":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/comments?post=129"}],"version-history":[{"count":3,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/129\/revisions"}],"predecessor-version":[{"id":148,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/posts\/129\/revisions\/148"}],"wp:attachment":[{"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/media?parent=129"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/categories?post=129"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codezen.org\/canto-ng\/wp-json\/wp\/v2\/tags?post=129"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}