Skip to content

Instantly share code, notes, and snippets.

@jdonson
Last active February 6, 2016 13:11
Show Gist options
  • Save jdonson/0d7dc1102320ccf72fa9 to your computer and use it in GitHub Desktop.
Save jdonson/0d7dc1102320ccf72fa9 to your computer and use it in GitHub Desktop.
ASCII Diagram Test: Visual CodeGen Workflows
{Diagram Define-Edit-Review-Publish Workflows}
|
['SVG DIAGRAMS'] <---- (Derived From) <-- STATE
| |
(via CASE Tools Generate) --> ['Code', 'Configs', 'Tests'] <---> YAML { yaml edit-review workflows }
1. What types of state?
- user
- system
- network
- service
- process
- data
2. How does YAML fit in?
3. Can site audits generate diagrams to present to biz?
4. What languages ought we consider including and why?
5. What kind of CASE Tools? https://en.wikipedia.org/wiki/Computer-aided_software_engineering
---
Name: Software Solutions Diagram Types
- Digital Ecosystem Workflow Diagrams
- System and Network Schematic Diagrams
- Physical Data Model
- Logical Data Model, Most Often ERD
- Logical Process Model
---
Name: ByteCoin Musings; Give-Get Scenarios
- authentication
- proposal
- negotiation
- agreement
- execution
- success or escape
Some Give-Get Scenario Tests:
- Two experts
- Expert & Trainee
- Two trainees
- Credential Ideas
https://docs.google.com/document/d/1gyLuT0iebqD79FxxgkmBoHIrLVQwQQpfRSzsReBTT8Y/edit?usp=sharing
--
DISCUSSION 1:
Examples of "Inverted YAML Lists", which are my own invention... :)
Name: Layers of 'Open Source Software Stacks' ^
# Note my intentional use of the 'list inversion symbol': ^
# This indicates a 'Ladder of Dependency'.
- User Interface / User Experience
- Processing
- Data + Content
- Operating Systems
- Hardware (Virtual / Physical)
There are trends at each of these layers of technology.
Each trend can be discussed in terms of legacy, current and emerging tools and expertise.
Note that the business-side depends on ALL of this from tech teams,
while the tech team depends on biz-side for revenue strategy.
We might think about how to assign a given trend to the correct layer?
Which layer do Docker and OpenStack live in? :)
Additionally, as mentioned i the past....
I use (kinda crappy looking, yet highly effective) diagramming to aid "big-picture" discussions.
A matrix of stack layers across environments
"Digital Ecosystem Workflow Diagram"
is about as holistic a view as I have summoned (so far)...
eg, http://urbanspectra.com/images/envs_101.png
That diagram, and about four others, basically sum up ALL of technology for me.
Yep, seriously!
Name: Diagrams Professionally Relied Upon, Historically ^
- Digital Ecosystem Workflow Diagrams
- Process Modeling Diagrams
- Data Process Modeling
- Network LAN & WAN Schematics
- System Hardware Component Schematics
Name: Digital Ecosystem Environments ^
- Production
- Staging
- Quality Assurance
- Dev Local
- Dev Sandbox
Name: Digital Workflow Types Across Environments ^
- Other Business-Side Workflows
- Web Marketing Campaigns
- Content Producer Workflows
- Developer Coding Workflows ("Code Pipeline")
- Code Testing Workflows ("Code QA, Scaling and Integrations")
- Data Management Engineering Workflows
- System/Container Provisioning + Management Workflows
---
** I would like to add ^ to the Python YAML Parser so that ladders of dependency are auto-generated. **
http://pyyaml.org/browser
This is simply to turn a list or sequence into one with a reverse order, indicating dependency chains.
>>> L = [0,10,20,40]
>>> L[::-1]
[40, 20, 10, 0, [SEE POSSIBLE ASCII CODES BELOW]
http://www.asciitable.com/index/asciifull.gif
DEC HEX OCT HTML CHAR
Inline image 1
Look at Maslow's Hierarchy of Needs.
https://upload.wikimedia.org/wikipedia/commons/thumb/3/33/MaslowsHierarchyOfNeeds.svg/2000px-MaslowsHierarchyOfNeeds.svg.png
It is also a ladder of dependency. Can we discuss this further?
---
DISCUSSION 2:
I will be starting to approach CEO, CIO, CTO and COO execs next week.
I am starting to formulate those prepared and goal-oriented discussions.
I am also considering strategies to get to those discussions.
One major key point of proposed metaphorical leverage: NYC Corps tend to be VERY top-heavy.
That means that, instead of an engineering sensibility where effectiveness is at play,
there is a strong tendency to manage, hands-OFF, and simply target larger budgets and department head counts.
In my opinion, that is simply bad for business (labor in particular),
and also very for investors and for customers.
As I fashion and test my approaches to get to those discussions, I will be finding recruiters who can assist us.
--
I am working on approaching top level executives (CEO, CTO, CIO, COO, CFO) at rapidly growing companies.
I would never approach executives without a simple diagram to hook their interest.
For example:
https://s3.amazonaws.com/aws.drewconway.com/viz/venn_diagram/data_science.html
That is built with d3js, and the graphics are in SVG format.
We ought to discuss that graphic?
Python (programming language) has all those tools, prefab, and NLTK is one.
NLTK = Natural Language Tool Kit
Five diagrams contribute directly better technical project definition: (from generic to specific...)
1. Digital Ecosystem Workflows Across Environments
EG: http://www.urbanspectra.com/images/envs_101.png
2. Process Modeling: I use circles to symbolize generic service and application processes.
3. Data Modeling: I use rectangles to symbolize generic data stores.
For an example of data modeling CASE tools: MySQL Workbench ... http://mysqlworkbench.org/
CASE = Computer-Aided-Systems-Engineering (Using software to generate software code.)
https://en.wikipedia.org/wiki/Computer-aided_software_engineering
4. Network schematic - http://www.urbanspectra.com/images/network_schematic.png
5. System Schematic
-----
I refer to this graphical thinking sensibility as "paradigmography", which is a word I made up in college.
It means that we comprehend many complex and dynamic paradigms graphically in our thinking,
so leveraging that visual cortex faculty that is common to all humans using software....
is truly AWESOME.
----
To get this show on the road,
after the assignment for a job application that I am working on I will be working on the following:
1. Refactor that d3js machine learning venn diagram so that any three related areas
(like development, production, business) can be so described .
This will use YAML, so that no coding is required.
2. Improve the python YAML parser to include a new symbol: ^
That is what I use to structure data into what I refer to as an "inverted list".
3. That will be used to show ladder of dependency in graphics and in code. :)
This gist is where I got this stuff started, fyi: https://gist.github.com/jdonson/0d7dc1102320ccf72fa9
4. Create the first iteration of a tool that supports digital ecosystem workflow
diagraming output being auto-generated using yaml input.
By first focusing on the auto-generation of diagrams, this gets juicy quickly.
In 60-90 days, I will show, rather than describe, my work. That works better.
Iteratively, and by way of graphical examples, I believe that you can grasp some of this.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment