[[PageOutline]] = Notes and Stray Stuff = ''Published as HTML: December 11th 2017'' Stray notes about things that need to stay on the radar ... sloooowly, basic components and features are coming together. Note that most packages mentioned in these pages are compatible with ( or say they are compatible with ) Windows, Linux and Apple OSX. Most of the packages come recommended for some set of features by reliable sources or multiple users. For many of them, particularly the Python packages, I've done a code/documentation sanity check and I've tried to ''consistently'' add notes about features good or ill. I've installed maybe half of them and tried to do small demos. I've used a couple or three dozen extensively, for example, [[./PythonBottle| Bottle]], [[./PythonTwisted| Twisted]], [[./PythonTornado| Tornado]], [[./PythonTrac| Trac]], [[./PythonTools#WatchDog| WatchDog]] and many others. Small, quick, simple, feature-rich, dependency-free and cross-platform compatible ... not much to ask for. == Basic Components == To remind myself, if no one else ... * Basic Commander, a Cmd-style console for basic startup and help, network ip/port discovery, service start/stop, basic Python configuration, default directory set-up, etc. * Help Service, a small extensible wiki for notes / blogging * Locator Service, ip/port mapping and defaulting for defined services and service paths, global resource naming and and aliases. DNS on steroids. * Basic Messaging, locally via XMLRPC. Mostly XML process request/response, example notification of file change and ftp sync response. * Directory Synchronization, backup and monitor of directories, network file directory database ( find files over several machines ) * A Small Chat application, if I can use a [[./WebSocket#Python| web socket package]] other than [[./PythonTornado]] - almost 2MB, too big for a 'packaged' dependency, probably too active as well. These are the basics. There is also an semantic indexing / RDF-like facility, working over all 'realms' of named resources. There is something like a second tier of components that are ''extremely'' useful but are not included in the basic PyWacket 'Level Zero' package, such as [[./NodeJS#EtherpadLite| EtherpadLite]]. The wiki in the basic package could have a help page for installing [[./NodeJS]] and setting up !EtherpadLite - it's not too difficult. [[./PythonTornado]] might also be a second tier 'installable', maybe supported within the Basic Commander (above). More to come ... maybe in a Components section parallel to the Notes section. ---- == Concrete Scenarios == Idea about concrete scenarios === Message Backplate Scenario === * Logging system log to system-wide(?) log * via exchange ? * Launch various programs, play scripts * Start/stop services across multiple machines === Directory Scenarios === Track all files in stated directories across multiple machines, create master directory * Use [[Notes/PythonMultiprocessing]] to create message queue * [[Notes/SQLite]] scan and merge via message backplate * Eliminate junk and duplicates, interface [[Notes/HTML5]] ? Synchronize files in special sync directories. * Master directory * [[Notes/PythonTools#FileDirectoryWatchers]] to monitor directories * [[Notes/PythonTwistdServer#TwistdFTP]] FTP to synch === Wiki Scenario === This is a major category, one hopes powerful enough to implement a general purpose knowledge-base of components, configurations or whatever. The 'emerging opportunity' ( if such it is ) seems to be closer integration of [[Notes/PythonTrac]] and [[Notes/PythonMoin]] with [[Notes/SemanticMediawiki]] via Python tools and packages. Hopefully Python will be able to play the role of 'security watchdog' over the huge and historical vulnerable [[Notes/PHP]] application. See [[Notes/PythonMarkup#MediawikiMarkup]] === Paired Browsers === It would be really good to have a facility to 'meld' two browsers together - one browser runs Javascript, the other does not. Very useful in today's '''Killer Javascript''' web environment. The Tornado 'chat' works OK, but it takes a copy-paste on the sender side and a click on the receiver side. Would something else be easier ? == Sub Pages == [[TitleIndex(Notes/)]]