# tagt Name: totally awesome [global|generic|][tool|tools|tech] Reorganize - note Darren, and get info links from him # Command-line tool ## About ## Specs ### Core command ### Command names * tagy (all systems) * t (optional alternative - set by default) ### Command structure * global command (but configurable) * might install Firefox, Chrome and Opera tagy install browsers * external command (not provided by us) * might ping all servers in list and print an appropriate output t ping-servers [cluster-or-server-name] * local command (for a personal project) * a script we use to set up set up a server and cluster t tagmata sus [server-name] t tagmata suc [cluster-name] ### Hierarchical command structure ### Tagy files ### Makeup * can be comprised of multiple files of different script types * scripts can be in the same file or external * config info is stored in a YAML section (hence the 'y') * dependencies etc are all handled * if all parts in the file, then are split using code below `## [tagy]` (if the part is YAML) or `## ` (if a script) * code must occur as first character of the line * if YAML included * can occur in any order ### Listing all available commands ## Development ### Pending ### Core #### Install so it call from anywhere * self-install into /usr/local/bin * can be called from anywhere #### General option parsing * some options common to all commands * e.g. -y = yes to all questions #### Handling of tagy files * split files into parts * read YAML * check for dependencies * install if necessary * save parts to /tmp folder to execute * execute (in background an option * can set periodic checker to kill if necessary * delete temp files #### Importing of global files * default paths for looking for global config files * search in local folder, home folder and /etc (or similar) * global config file sets up paths where projects can be imported #### Importing of external files * idea is to make a generic tool for any task * over time can build up large repository of scripts * as much as possible try to make scripts customizable * can have info stored in tagy files (Tag + YAML) * external files can overwrite global files * ask permission #### Importing of local files * automatic detection of projects using global config * all projects use the generic config / commands * each project can have its own config * each project can have commands specific to the project * local files can overwrite global / external files * ask permission (option -y to ignore warnings) ### Servers and backups #### Connecting to remote servers * remote login * remote execution * uploads / downloads * combine pushes using Git and pulling on the remote server #### Backups using Git * installs git * checks that SSH keys are installed * can import one / more keys * can generate one / more keys * self-updates from BitBucket by default (configurable) * might use Github if open-source it later #### Complete backup / install * combine Git backups with installations on remote servers * wide range of options * can be tailored to the project #### Install package groups * using OS package manager * make generic in nature * initially focus on Ubuntu * can import package groups from external sources ##### Groups : * core * server * devel ... ## Progamming ### Language features syntax-agnostic customizable / extendable potentally could add additional functionality to the syntax - just need to define before completely customizable (syntax, natural language, inline/hidden meta info) internationalized omni-directional (ltr, trl, ttb, btt, mixed (e.g. chinese - inline ttb, but ltr or rtl in flow meta-separable meta-selectable (use selectors on flow elements) - meta sheets, for min/max values for loops, permissions use selectors like in CSS composite object-structured teacheable (AI) programming AI (so can say that if a loop exits with less than 4, that it means x - and can reference flow objectified non-cascade selectable don't have to always follow a downward trend - can up check too universally consistent everyone uses the same platform / elements (even though can customize) - so bugs are easier to fix, as only done in one place composite-oriented # Server platform ## Core ## Installation ### Pending ### Install script for the core software * OpenResty * Couchbase * Node.JS * Jison ## Couchbase ### Pending ## OpenResty ### Pending ## Short-term ## Node.JS ### Pending ## Medium-term ### Elastic Search ### Hortonworks ## Long-term # Code-analyzer ## Analyzing code ### Generic ## Importing code ### Gingko ### Basic features * Import of all external Gingko code * Re-generate nice JS that seems hand-written * Mix up the order of the functions etc * Re-format the code to my style * Work out comments to make look like my work (harder) # Development platform ## Core ### Card-organizer ### Objects ### Definitions ### General ### Types ### Definition For building all the object definitions ### Elementary Basic selectors / type checkers etc. These will actually be built in a circular way, from things like list / table objectts, but are used as building blocks rather than on their own ### Complex Definition objects built from other objects (either elementary definition objects or other, more complex, objects) ### Coding For building up all the systems into an integrated framework - for client, server, batches or more ### Coding Include parsers in any / all programming languages that people use ### Flow For branching etc ### Data For all data flow ### API For integrating with arbitrary services ### In ### Out ### Database For integrating with various databases ### Relational ### NoSQL ### Data processing ### Importing / Exporting For parsing individual files or data streams ### Text ### Line-based Could be CSV, tabulated or a customary format Example: importing ### Markup ### XML ### HTML ### MathML ### Wiki ### Binary ### Merging / Splitting Combining multiple data sources into meaninful combinations ### Visualizations ### Actions ### Events ### Customization For building customized configurations and admin panels ### Configuration To make it quicker and easier ### Admin For building admin panels for config nodes ### Interface Combines configuration and admin panels, potentially along with any other objects ### Interfaces ### Implementations ## Browser tools ## Server API # Development Nginx config file for following features: * basic page load * single page where put in URL * loads JS * analyses JS * loads previous analysis for comparison * displays # Inter-connected web - profits are made through providing excellent marketing services - no ugly advertising - revenues are shared by the people that create quality content that is popular - p2p - use a lot more URN's instead of URLs (though can still be used) - don't have ugly advertising everywhere - site owners can worry about creating quality content that's useful to people - if they do a good job, then will earn revenues - gingko in multiple directions - bi-directional / multi-directional associations - use standardized software to perform the analyses - the rules are decided upon / modified by everyone (experts primarily) - need to develop a new kind of browser - p2p - encrypt all data - separate who provides a service and where the data is stored - e.g. can select one or a few people to hold financial information - choice is made by the user, not the company - new type of system - built into the framework of the network - peer agreement / blockchain - need to be such that only the two ends and the intermediary have access to the information # Notes ## Designs ### [GoJS](https://www.nwoods.com/products/register.html) ## Integrate ### Fonts Google fonts Font squirrel adobe edge web fonts http://alternativeto.net/software/adobe-edge-web-fonts/ ### Javascript ### [GoJS](http://gojs.net/latest/index.html) ### Tools ### [WorkGaps](https://app.workgaps.com/) ## Site ## Logo ### Usage ### In other logos Other logos, for all the different services we will offer, can incorporate the stylized tag into the rest of the logo ### In social media The tag with the two t's can easily be recognized, and is distinguishable from the 'f' of Facebook etc ### Idea In the background, a circular, plastic-looking tag (like dogs have), with a hole in the bottom right. On the tag are two t's, to the left, slanted backwards about 20 degrees, and the t to the right, slanted back at a more acute angle. The t's are rounded a bit to follow the contours of the tag. In between them, there are the letters 'a' and 'g'. The g is sort of wrapped around the hole in the tag, which is between the two t's, and the 'a' somehow perched between them. ## Marketing # Other ## CSS ### Headers