Skip to content

Instantly share code, notes, and snippets.

@blahah
Forked from Treblesteph/design.js
Last active April 1, 2016 15:49
Show Gist options
  • Save blahah/3b5761ba646e39c76c64eb6acf5d686e to your computer and use it in GitHub Desktop.
Save blahah/3b5761ba646e39c76c64eb6acf5d686e to your computer and use it in GitHub Desktop.
{
"options": {
"died": true,
"multigraph": true,
"compound": true
},
"nodes": [
{
"v": "questions",
"value": {
"shape": "rect",
"fontsize": "12",
"rank": "same"
}
},
{
"v": "q_avoid_losing_work",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I avoid losing work?"
},
"parent": "questions"
},
{
"v": "q_find_use_others_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I find and use\\nother people's data?"
},
"parent": "questions"
},
{
"v": "q_find_use_others_software",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I find and use\\nother people's software?"
},
"parent": "questions"
},
{
"v": "q_improve_productivity",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I be more productive?"
},
"parent": "questions"
},
{
"v": "q_make_collaboration_easy",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I make it easy for people\\nto collaborate with me?"
},
"parent": "questions"
},
{
"v": "q_make_data_findable_usable",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I make it easy for people\\nto find and use my data?"
},
"parent": "questions"
},
{
"v": "q_make_data_usable_by_programs",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I make it easy\\nfor programs to use my data?"
},
"parent": "questions"
},
{
"v": "q_make_software_findable_usable",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I make it easy for people\\nto find and use my software?"
},
"parent": "questions"
},
{
"v": "q_results_cor",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"label": "How can I tell if my results are cor?"
},
"parent": "questions"
},
{
"v": "answers",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "teal",
"rank": "same"
}
},
{
"v": "a_add_human_work_to_repo",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Put everything created by people into version control."
},
"parent": "answers"
},
{
"v": "a_atomic_values",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make every value atomic."
},
"parent": "answers"
},
{
"v": "a_automate_tasks",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Automate repetitive tasks."
},
"parent": "answers"
},
{
"v": "a_avoid_duplication",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Avoid duplicating functionality within modules."
},
"parent": "answers"
},
{
"v": "a_build_and_smoke_tests",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Provide simple re-runnable end-to-end test cases."
},
"parent": "answers"
},
{
"v": "a_build_tools",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Build tools."
},
"parent": "answers"
},
{
"v": "a_choose_primary_communication_channel",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Choose a primary communication channel."
},
"parent": "answers"
},
{
"v": "a_choose_visualization",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Choose an appropriate visualization."
},
"parent": "answers"
},
{
"v": "a_clean_up_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Clean up data."
},
"parent": "answers"
},
{
"v": "a_code_reviews",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Do code reviews."
},
"parent": "answers"
},
{
"v": "a_commit_checklist",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Maintain a checklist of things to do before sharing a change."
},
"parent": "answers"
},
{
"v": "a_consistent_project_organization",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Organize the project consistently."
},
"parent": "answers"
},
{
"v": "a_data_doi",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Submit data to a reputable DOI issuer."
},
"parent": "answers"
},
{
"v": "a_debugging",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Debug programs."
},
"parent": "answers"
},
{
"v": "a_defensive_programming",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Practice defensive programming."
},
"parent": "answers"
},
{
"v": "a_document_function",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Begin programs with explanatory comments."
},
"parent": "answers"
},
{
"v": "a_dont_duplicate_code",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Don't duplicate code."
},
"parent": "answers"
},
{
"v": "a_dont_duplicate_large_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Don't duplicate large data."
},
"parent": "answers"
},
{
"v": "a_explicit_requirements",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make requirements/dependencies explicit."
},
"parent": "answers"
},
{
"v": "a_foster_welcoming_environment",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Foster a welcoming environment."
},
"parent": "answers"
},
{
"v": "a_get_orcid",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Get an ORCID."
},
"parent": "answers"
},
{
"v": "a_give_code_meaningful_names",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Give values, functions, and classes meaningful names."
},
"parent": "answers"
},
{
"v": "a_good_commit_comments",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Write good commit comments."
},
"parent": "answers"
},
{
"v": "a_have_computer_repeat_things",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Have the computer repeat things."
},
"parent": "answers"
},
{
"v": "a_include_readme",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Include a README file explaining project scope."
},
"parent": "answers"
},
{
"v": "a_isolate_dependencies",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Isolate project dependencies."
},
"parent": "answers"
},
{
"v": "a_keys_for_records",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Give every record a unique key."
},
"parent": "answers"
},
{
"v": "a_master_manuscript_online",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Keep the master copy of every manuscript on the web."
},
"parent": "answers"
},
{
"v": "a_meaningful_path_names",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use meaningful path names."
},
"parent": "answers"
},
{
"v": "a_normalize_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Normalize data."
},
"parent": "answers"
},
{
"v": "a_open_text_formats",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Prefer open text formats to proprietary non-text formats."
},
"parent": "answers"
},
{
"v": "a_profile_performance",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Find performance bottlenecks."
},
"parent": "answers"
},
{
"v": "a_project_todo_list",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Maintain a to-do list for each project."
},
"parent": "answers"
},
{
"v": "a_read_error_messages",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Read error messages."
},
"parent": "answers"
},
{
"v": "a_record_analysis_steps_textually",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Represent every analysis step textually."
},
"parent": "answers"
},
{
"v": "a_record_data_provenance",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Record provenance in data."
},
"parent": "answers"
},
{
"v": "a_record_publishing_steps",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Record publishing steps like analysis steps."
},
"parent": "answers"
},
{
"v": "a_regular_spreadsheet_layout",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use regular layout for spreadsheets."
},
"parent": "answers"
},
{
"v": "a_remove_unused_code",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Remove unused code."
},
"parent": "answers"
},
{
"v": "a_represent_each_fact_once",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Represent each fact once."
},
"parent": "answers"
},
{
"v": "a_results_repeatable",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make results repeatable."
},
"parent": "answers"
},
{
"v": "a_reuse_libraries",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Re-use libraries rather than writing equivalents."
},
"parent": "answers"
},
{
"v": "a_run_precommit_checks",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Run tests automatically before each commit."
},
"parent": "answers"
},
{
"v": "a_search_answer_sites",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Search question-and-answer sites."
},
"parent": "answers"
},
{
"v": "a_search_repositories",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Search data and software repositories."
},
"parent": "answers"
},
{
"v": "a_separate_models_from_views",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Separate models from views."
},
"parent": "answers"
},
{
"v": "a_set_up_development",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make it easy to set up a development environment."
},
"parent": "answers"
},
{
"v": "a_software_doi",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Submit software to a reputable DOI issuer."
},
"parent": "answers"
},
{
"v": "a_sortable_matchable_path_names",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use path names that are easy to sort and to match."
},
"parent": "answers"
},
{
"v": "a_specify_citation",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make the preferred citation for projects explicit."
},
"parent": "answers"
},
{
"v": "a_specify_license",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Make the project's license explicit."
},
"parent": "answers"
},
{
"v": "a_store_raw_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Store raw data exactly as it arrived."
},
"parent": "answers"
},
{
"v": "a_store_work_remote_repo",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Store work in a remotely-hosted version control repository."
},
"parent": "answers"
},
{
"v": "a_treat_metadata_like_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Treat metadata like data."
},
"parent": "answers"
},
{
"v": "a_tune_performance",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Tune performance."
},
"parent": "answers"
},
{
"v": "a_use_collaborative_commenting",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use online collaborative commenting."
},
"parent": "answers"
},
{
"v": "a_use_config_files",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use configuration files and conditionals rather than commenting."
},
"parent": "answers"
},
{
"v": "a_use_dictionaries",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use dictionaries."
},
"parent": "answers"
},
{
"v": "a_use_functions",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Break programs into short, self-contained functions."
},
"parent": "answers"
},
{
"v": "a_use_matchable_text",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use text values that are easy to match with regular expressions."
},
"parent": "answers"
},
{
"v": "a_use_more_hardware",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use more hardware."
},
"parent": "answers"
},
{
"v": "a_use_open_license",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use an open license."
},
"parent": "answers"
},
{
"v": "a_use_package_manager",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Use a package manager."
},
"parent": "answers"
},
{
"v": "a_use_relational_database",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Store data in a relational database."
},
"parent": "answers"
},
{
"v": "a_write_readable_software",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Write readable software."
},
"parent": "answers"
},
{
"v": "a_write_unit_tests",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"label": "Write unit tests to specify and check behavior."
},
"parent": "answers"
},
{
"v": "modules",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "sienna",
"rank": "same"
}
},
{
"v": "m_cloud",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Cloud Computing"
},
"parent": "modules"
},
{
"v": "m_code_review",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Code Review"
},
"parent": "modules"
},
{
"v": "m_collaboration",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Collaboration"
},
"parent": "modules"
},
{
"v": "m_continuous_integration",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Continuous Integration"
},
"parent": "modules"
},
{
"v": "m_data_management",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Data Management"
},
"parent": "modules"
},
{
"v": "m_database",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Relational Databases"
},
"parent": "modules"
},
{
"v": "m_debugging",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Debugging"
},
"parent": "modules"
},
{
"v": "m_git",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Git"
},
"parent": "modules"
},
{
"v": "m_install_config",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Installing and Configuring Software"
},
"parent": "modules"
},
{
"v": "m_make",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Make"
},
"parent": "modules"
},
{
"v": "m_openrefine",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "OpenRefine"
},
"parent": "modules"
},
{
"v": "m_performance",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Profiling and Tuning Performance"
},
"parent": "modules"
},
{
"v": "m_programming_style",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Programming Style"
},
"parent": "modules"
},
{
"v": "m_project_organization",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Organizing Projects"
},
"parent": "modules"
},
{
"v": "m_publishing",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "21st Century Publishing"
},
"parent": "modules"
},
{
"v": "m_python_1",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Python (Scripting)"
},
"parent": "modules"
},
{
"v": "m_python_2",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Python (Functions)"
},
"parent": "modules"
},
{
"v": "m_python_3",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Python (Data Structures)"
},
"parent": "modules"
},
{
"v": "m_regular_expressions",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Regular Expressions"
},
"parent": "modules"
},
{
"v": "m_search",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Searching"
},
"parent": "modules"
},
{
"v": "m_spreadsheets",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Spreadsheets"
},
"parent": "modules"
},
{
"v": "m_testing",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Testing"
},
"parent": "modules"
},
{
"v": "m_unix",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Unix Shell"
},
"parent": "modules"
},
{
"v": "m_visualization",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"label": "Visualization"
},
"parent": "modules"
},
{
"v": "topics",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "darkred",
"rank": "same"
}
},
{
"v": "t_add_to_repository",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Adding Files to a Repository"
},
"parent": "topics"
},
{
"v": "t_aggregating_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Aggregating Data"
},
"parent": "topics"
},
{
"v": "t_barriers_to_participation",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Barriers to Participation",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_blogging",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Publishing a Blog",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_boilerplate",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Project Boilerplate",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_boolean_operators",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Boolean Operators"
},
"parent": "topics"
},
{
"v": "t_call_stack",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Understanding The Call Stack",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_choosing_good_path_names",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Choosing Good Path Names",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_choosing_repository_host",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Where to Host a Repository"
},
"parent": "topics"
},
{
"v": "t_choosing_visualization",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Choosing a Good Visualization",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_code_of_conduct",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating a Code of Conduct"
},
"parent": "topics"
},
{
"v": "t_code_reviews",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Doing Code Reviews",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_commit_checklist",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating a Commit Checklist",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_computer_architecture",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Computer Architecture",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_continuous_integration",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Continuous Integration",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_coverage",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Coverage Analysis",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_creating_database",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating a Database"
},
"parent": "topics"
},
{
"v": "t_creating_integrity_tests",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating Integrity Tests",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_creating_repository",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating a Repository"
},
"parent": "topics"
},
{
"v": "t_data_design",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Data Design",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_data_hygiene",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Data Hygiene",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_data_types",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Basic Types and Conversion"
},
"parent": "topics"
},
{
"v": "t_defensive_programming",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Defensive Programming"
},
"parent": "topics"
},
{
"v": "t_documenting_requirements",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Documenting Software Requirements",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_environment_variables",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Environment Variables",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_filename_extensions",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Filename Extensions",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_filesystem_layout",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "How the Filesystem is Laid Out",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_filtering_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Filtering Data"
},
"parent": "topics"
},
{
"v": "t_finding_files",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Finding Files"
},
"parent": "topics"
},
{
"v": "t_finding_software",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Finding Software",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_formatting_spreadsheets",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Formatting Spreadsheets",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_getting_doi",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using DOIs",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_good_commit_comments",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Good Commit Comments",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_handling_missing_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Handling Missing Data"
},
"parent": "topics"
},
{
"v": "t_identify_starting_points",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Identify Starting Points"
},
"parent": "topics"
},
{
"v": "t_ignoring_files",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Ignoring Files"
},
"parent": "topics"
},
{
"v": "t_installing_software",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Installing Software",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_introducing_openrefine",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Introducing OpenRefine",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_introducing_relational_databases",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Introducing Relational Databases"
},
"parent": "topics"
},
{
"v": "t_introducing_version_control",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Introducing Version Control"
},
"parent": "topics"
},
{
"v": "t_issue_tracking",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Issue Tracking",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_joining_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Combining Data Using Join"
},
"parent": "topics"
},
{
"v": "t_logging",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Logging Program Execution",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_managing_files",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Creating, Deleting, and Managing Files"
},
"parent": "topics"
},
{
"v": "t_merging_changes",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Merging Changes"
},
"parent": "topics"
},
{
"v": "t_metadata",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Storing Metadata",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_models_vs_views",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Models vs. Views",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_navigating_file_system",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Navigating the File System"
},
"parent": "topics"
},
{
"v": "t_nobles_rules",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Noble's Rules for Organizing Projects",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_open_license",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Open Licenses",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_pipes_filters",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Pipes and Filters"
},
"parent": "topics"
},
{
"v": "t_plotting",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Plotting",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_profiling",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Profiling Performance",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_program_configuration",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Configuring Programs",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_programming_databases",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Programming Databases"
},
"parent": "topics"
},
{
"v": "t_python_conditionals",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Conditional Expressions"
},
"parent": "topics"
},
{
"v": "t_python_dictionaries",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Python Dictionaries",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_python_lists",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Lists in Python"
},
"parent": "topics"
},
{
"v": "t_python_loops",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Loops in Python"
},
"parent": "topics"
},
{
"v": "t_read_csv",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Reading CSV Files"
},
"parent": "topics"
},
{
"v": "t_reading_error_messages",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Reading Error Messages"
},
"parent": "topics"
},
{
"v": "t_recording_history",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Recording History"
},
"parent": "topics"
},
{
"v": "t_reproducibility",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Reproducibility and All That"
},
"parent": "topics"
},
{
"v": "t_reviewing_version_history",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Reviewing Version History"
},
"parent": "topics"
},
{
"v": "t_selecting_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Selecting Data"
},
"parent": "topics"
},
{
"v": "t_setting_up_for_development",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Setting Up for Development",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_ssh",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Connecting to Remote Computers with SSH",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_taschuks_rules",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Taschuk's Rules for Project Dependencies",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_task_farming",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Task Farming",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_trace_execution",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Tracing Program Execution",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_tracking_provenance",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Tracking Provenance",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_update_data",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Updating Data"
},
"parent": "topics"
},
{
"v": "t_update_repository",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Updating a Repository"
},
"parent": "topics"
},
{
"v": "t_use_package_manager",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using a Package Manager",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_branches",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Branches",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_editor",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using a Plain Text Editor",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_hypothesis",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Hypothes.is",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_libraries",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Libraries"
},
"parent": "topics"
},
{
"v": "t_using_make",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Make"
},
"parent": "topics"
},
{
"v": "t_using_numpy",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using NumPy",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_orcid",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using ORCIDs",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_pandas",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Pandas",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_regular_expressions",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Regular Expressions",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_using_web_authoring",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Using Web-based Authoring Tools",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
},
{
"v": "t_variable_scope",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Variable Scope"
},
"parent": "topics"
},
{
"v": "t_variables_assignment",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Variables and Assignment"
},
"parent": "topics"
},
{
"v": "t_what_not_to_store",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "What Not to Put in Version Control"
},
"parent": "topics"
},
{
"v": "t_python_functions",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Functions"
},
"parent": "topics"
},
{
"v": "t_writing_programs",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Command-Line Programs"
},
"parent": "topics"
},
{
"v": "t_writing_shell_loops",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Loops in the Shell"
},
"parent": "topics"
},
{
"v": "t_writing_shell_scripts",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Shell Scripts"
},
"parent": "topics"
},
{
"v": "t_writing_unit_tests",
"value": {
"shape": "rect",
"fontsize": "12",
"color": "goldenrod",
"label": "Writing Unit Tests",
"fillcolor": "honeydew",
"style": "filled"
},
"parent": "topics"
}
],
"edges": [
{
"v": "q_avoid_losing_work",
"w": "a_add_human_work_to_repo",
"value": {}
},
{
"v": "q_avoid_losing_work",
"w": "a_good_commit_comments",
"value": {}
},
{
"v": "q_avoid_losing_work",
"w": "a_open_text_formats",
"value": {}
},
{
"v": "q_avoid_losing_work",
"w": "a_store_work_remote_repo",
"value": {}
},
{
"v": "q_find_use_others_data",
"w": "a_reuse_libraries",
"value": {}
},
{
"v": "q_find_use_others_data",
"w": "a_search_repositories",
"value": {}
},
{
"v": "q_find_use_others_software",
"w": "a_code_reviews",
"value": {}
},
{
"v": "q_find_use_others_software",
"w": "a_reuse_libraries",
"value": {}
},
{
"v": "q_find_use_others_software",
"w": "a_search_answer_sites",
"value": {}
},
{
"v": "q_find_use_others_software",
"w": "a_use_package_manager",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_automate_tasks",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_build_tools",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_have_computer_repeat_things",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_profile_performance",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_read_error_messages",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_results_repeatable",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_tune_performance",
"value": {}
},
{
"v": "q_improve_productivity",
"w": "a_use_more_hardware",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_build_and_smoke_tests",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_choose_primary_communication_channel",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_commit_checklist",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_consistent_project_organization",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_defensive_programming",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_foster_welcoming_environment",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_get_orcid",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_master_manuscript_online",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_project_todo_list",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_record_publishing_steps",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_results_repeatable",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_set_up_development",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_set_up_development",
"name": "edge1",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_specify_citation",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_specify_license",
"value": {}
},
{
"v": "q_make_collaboration_easy",
"w": "a_use_collaborative_commenting",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_clean_up_data",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_data_doi",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_dont_duplicate_large_data",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_meaningful_path_names",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_normalize_data",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_regular_spreadsheet_layout",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_represent_each_fact_once",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_separate_models_from_views",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_store_raw_data",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_treat_metadata_like_data",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_use_open_license",
"value": {}
},
{
"v": "q_make_data_findable_usable",
"w": "a_use_relational_database",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_atomic_values",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_avoid_duplication",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_keys_for_records",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_sortable_matchable_path_names",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_treat_metadata_like_data",
"value": {}
},
{
"v": "q_make_data_usable_by_programs",
"w": "a_use_matchable_text",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_document_function",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_dont_duplicate_code",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_explicit_requirements",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_give_code_meaningful_names",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_include_readme",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_isolate_dependencies",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_remove_unused_code",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_reuse_libraries",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_software_doi",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_store_work_remote_repo",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_use_config_files",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_use_dictionaries",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_use_functions",
"value": {}
},
{
"v": "q_make_software_findable_usable",
"w": "a_use_open_license",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_build_and_smoke_tests",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_choose_visualization",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_code_reviews",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_consistent_project_organization",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_debugging",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_defensive_programming",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_record_analysis_steps_textually",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_record_data_provenance",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_run_precommit_checks",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_write_readable_software",
"value": {}
},
{
"v": "q_results_cor",
"w": "a_write_unit_tests",
"value": {}
},
{
"v": "a_add_human_work_to_repo",
"w": "m_git",
"value": {}
},
{
"v": "a_atomic_values",
"w": "m_data_management",
"value": {}
},
{
"v": "a_automate_tasks",
"w": "m_unix",
"value": {}
},
{
"v": "a_avoid_duplication",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_build_and_smoke_tests",
"w": "m_install_config",
"value": {}
},
{
"v": "a_build_and_smoke_tests",
"w": "m_testing",
"value": {}
},
{
"v": "a_build_tools",
"w": "m_python_1",
"value": {}
},
{
"v": "a_build_tools",
"w": "m_unix",
"value": {}
},
{
"v": "a_choose_primary_communication_channel",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_choose_visualization",
"w": "m_visualization",
"value": {}
},
{
"v": "a_clean_up_data",
"w": "m_data_management",
"value": {}
},
{
"v": "a_clean_up_data",
"w": "m_openrefine",
"value": {}
},
{
"v": "a_code_reviews",
"w": "m_code_review",
"value": {}
},
{
"v": "a_commit_checklist",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_commit_checklist",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_consistent_project_organization",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_data_doi",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_data_doi",
"w": "m_data_management",
"value": {}
},
{
"v": "a_debugging",
"w": "m_debugging",
"value": {}
},
{
"v": "a_defensive_programming",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_document_function",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_dont_duplicate_code",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_dont_duplicate_large_data",
"w": "m_data_management",
"value": {}
},
{
"v": "a_explicit_requirements",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_foster_welcoming_environment",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_get_orcid",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_get_orcid",
"w": "m_publishing",
"value": {}
},
{
"v": "a_give_code_meaningful_names",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_good_commit_comments",
"w": "m_git",
"value": {}
},
{
"v": "a_have_computer_repeat_things",
"w": "m_python_1",
"value": {}
},
{
"v": "a_have_computer_repeat_things",
"w": "m_unix",
"value": {}
},
{
"v": "a_include_readme",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_isolate_dependencies",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_keys_for_records",
"w": "m_data_management",
"value": {}
},
{
"v": "a_master_manuscript_online",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_master_manuscript_online",
"w": "m_publishing",
"value": {}
},
{
"v": "a_meaningful_path_names",
"w": "m_data_management",
"value": {}
},
{
"v": "a_meaningful_path_names",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_normalize_data",
"w": "m_data_management",
"value": {}
},
{
"v": "a_open_text_formats",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_open_text_formats",
"w": "m_data_management",
"value": {}
},
{
"v": "a_profile_performance",
"w": "m_performance",
"value": {}
},
{
"v": "a_profile_performance",
"w": "m_performance",
"name": "edge2",
"value": {}
},
{
"v": "a_project_todo_list",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_project_todo_list",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_read_error_messages",
"w": "m_python_1",
"value": {}
},
{
"v": "a_read_error_messages",
"w": "m_search",
"value": {}
},
{
"v": "a_record_analysis_steps_textually",
"w": "m_make",
"value": {}
},
{
"v": "a_record_analysis_steps_textually",
"w": "m_unix",
"value": {}
},
{
"v": "a_record_data_provenance",
"w": "m_data_management",
"value": {}
},
{
"v": "a_record_publishing_steps",
"w": "m_make",
"value": {}
},
{
"v": "a_record_publishing_steps",
"w": "m_publishing",
"value": {}
},
{
"v": "a_record_publishing_steps",
"w": "m_unix",
"value": {}
},
{
"v": "a_regular_spreadsheet_layout",
"w": "m_data_management",
"value": {}
},
{
"v": "a_regular_spreadsheet_layout",
"w": "m_spreadsheets",
"value": {}
},
{
"v": "a_remove_unused_code",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_represent_each_fact_once",
"w": "m_data_management",
"value": {}
},
{
"v": "a_represent_each_fact_once",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_results_repeatable",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_results_repeatable",
"w": "m_make",
"value": {}
},
{
"v": "a_results_repeatable",
"w": "m_unix",
"value": {}
},
{
"v": "a_reuse_libraries",
"w": "m_python_1",
"value": {}
},
{
"v": "a_run_precommit_checks",
"w": "m_continuous_integration",
"value": {}
},
{
"v": "a_search_answer_sites",
"w": "m_search",
"value": {}
},
{
"v": "a_search_repositories",
"w": "m_search",
"value": {}
},
{
"v": "a_separate_models_from_views",
"w": "m_data_management",
"value": {}
},
{
"v": "a_set_up_development",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_software_doi",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_software_doi",
"w": "m_publishing",
"value": {}
},
{
"v": "a_sortable_matchable_path_names",
"w": "m_data_management",
"value": {}
},
{
"v": "a_sortable_matchable_path_names",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_sortable_matchable_path_names",
"w": "m_unix",
"value": {}
},
{
"v": "a_specify_citation",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_specify_citation",
"w": "m_publishing",
"value": {}
},
{
"v": "a_specify_license",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_specify_license",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_store_raw_data",
"w": "m_data_management",
"value": {}
},
{
"v": "a_store_work_remote_repo",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_store_work_remote_repo",
"w": "m_git",
"value": {}
},
{
"v": "a_store_work_remote_repo",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_treat_metadata_like_data",
"w": "m_data_management",
"value": {}
},
{
"v": "a_tune_performance",
"w": "m_performance",
"value": {}
},
{
"v": "a_use_collaborative_commenting",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_use_config_files",
"w": "m_install_config",
"value": {}
},
{
"v": "a_use_config_files",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_use_dictionaries",
"w": "m_python_3",
"value": {}
},
{
"v": "a_use_functions",
"w": "m_python_2",
"value": {}
},
{
"v": "a_use_matchable_text",
"w": "m_data_management",
"value": {}
},
{
"v": "a_use_matchable_text",
"w": "m_regular_expressions",
"value": {}
},
{
"v": "a_use_more_hardware",
"w": "m_cloud",
"value": {}
},
{
"v": "a_use_open_license",
"w": "m_collaboration",
"value": {}
},
{
"v": "a_use_open_license",
"w": "m_project_organization",
"value": {}
},
{
"v": "a_use_package_manager",
"w": "m_install_config",
"value": {}
},
{
"v": "a_use_relational_database",
"w": "m_database",
"value": {}
},
{
"v": "a_write_readable_software",
"w": "m_code_review",
"value": {}
},
{
"v": "a_write_readable_software",
"w": "m_programming_style",
"value": {}
},
{
"v": "a_write_unit_tests",
"w": "m_testing",
"value": {}
},
{
"v": "m_cloud",
"w": "t_ssh",
"value": {}
},
{
"v": "m_cloud",
"w": "t_task_farming",
"value": {}
},
{
"v": "m_code_review",
"w": "t_code_reviews",
"value": {}
},
{
"v": "m_collaboration",
"w": "t_barriers_to_participation",
"value": {}
},
{
"v": "m_collaboration",
"w": "t_code_of_conduct",
"value": {}
},
{
"v": "m_collaboration",
"w": "t_identify_starting_points",
"value": {}
},
{
"v": "m_continuous_integration",
"w": "t_commit_checklist",
"value": {}
},
{
"v": "m_continuous_integration",
"w": "t_continuous_integration",
"value": {}
},
{
"v": "m_data_management",
"w": "t_data_design",
"value": {}
},
{
"v": "m_data_management",
"w": "t_data_hygiene",
"value": {}
},
{
"v": "m_data_management",
"w": "t_metadata",
"value": {}
},
{
"v": "m_data_management",
"w": "t_models_vs_views",
"value": {}
},
{
"v": "m_data_management",
"w": "t_tracking_provenance",
"value": {}
},
{
"v": "m_database",
"w": "t_aggregating_data",
"value": {}
},
{
"v": "m_database",
"w": "t_boolean_operators",
"value": {}
},
{
"v": "m_database",
"w": "t_filtering_data",
"value": {}
},
{
"v": "m_database",
"w": "t_handling_missing_data",
"value": {}
},
{
"v": "m_database",
"w": "t_introducing_relational_databases",
"value": {}
},
{
"v": "m_database",
"w": "t_joining_data",
"value": {}
},
{
"v": "m_database",
"w": "t_programming_databases",
"value": {}
},
{
"v": "m_database",
"w": "t_selecting_data",
"value": {}
},
{
"v": "m_database",
"w": "t_update_data",
"value": {}
},
{
"v": "m_debugging",
"w": "t_logging",
"value": {}
},
{
"v": "m_debugging",
"w": "t_trace_execution",
"value": {}
},
{
"v": "m_git",
"w": "t_add_to_repository",
"value": {}
},
{
"v": "m_git",
"w": "t_choosing_repository_host",
"value": {}
},
{
"v": "m_git",
"w": "t_good_commit_comments",
"value": {}
},
{
"v": "m_git",
"w": "t_ignoring_files",
"value": {}
},
{
"v": "m_git",
"w": "t_introducing_version_control",
"value": {}
},
{
"v": "m_git",
"w": "t_merging_changes",
"value": {}
},
{
"v": "m_git",
"w": "t_reviewing_version_history",
"value": {}
},
{
"v": "m_git",
"w": "t_update_repository",
"value": {}
},
{
"v": "m_git",
"w": "t_using_branches",
"value": {}
},
{
"v": "m_git",
"w": "t_what_not_to_store",
"value": {}
},
{
"v": "m_install_config",
"w": "t_environment_variables",
"value": {}
},
{
"v": "m_install_config",
"w": "t_filesystem_layout",
"value": {}
},
{
"v": "m_install_config",
"w": "t_installing_software",
"value": {}
},
{
"v": "m_install_config",
"w": "t_program_configuration",
"value": {}
},
{
"v": "m_install_config",
"w": "t_use_package_manager",
"value": {}
},
{
"v": "m_make",
"w": "t_reproducibility",
"value": {}
},
{
"v": "m_make",
"w": "t_using_make",
"value": {}
},
{
"v": "m_openrefine",
"w": "t_data_hygiene",
"value": {}
},
{
"v": "m_openrefine",
"w": "t_introducing_openrefine",
"value": {}
},
{
"v": "m_performance",
"w": "t_computer_architecture",
"value": {}
},
{
"v": "m_performance",
"w": "t_profiling",
"value": {}
},
{
"v": "m_programming_style",
"w": "t_defensive_programming",
"value": {}
},
{
"v": "m_programming_style",
"w": "t_python_functions",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_boilerplate",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_choosing_good_path_names",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_documenting_requirements",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_issue_tracking",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_nobles_rules",
"value": {}
},
{
"v": "m_project_organization",
"w": "t_setting_up_for_development",
"value": {}
},
{
"v": "m_publishing",
"w": "t_blogging",
"value": {}
},
{
"v": "m_publishing",
"w": "t_getting_doi",
"value": {}
},
{
"v": "m_publishing",
"w": "t_open_license",
"value": {}
},
{
"v": "m_publishing",
"w": "t_using_hypothesis",
"value": {}
},
{
"v": "m_publishing",
"w": "t_using_orcid",
"value": {}
},
{
"v": "m_publishing",
"w": "t_using_web_authoring",
"value": {}
},
{
"v": "m_python_1",
"w": "t_data_types",
"value": {}
},
{
"v": "m_python_1",
"w": "t_read_csv",
"value": {}
},
{
"v": "m_python_1",
"w": "t_reading_error_messages",
"value": {}
},
{
"v": "m_python_1",
"w": "t_using_libraries",
"value": {}
},
{
"v": "m_python_1",
"w": "t_using_pandas",
"value": {}
},
{
"v": "m_python_1",
"w": "t_variables_assignment",
"value": {}
},
{
"v": "m_python_2",
"w": "t_python_lists",
"value": {}
},
{
"v": "m_python_2",
"w": "t_python_loops",
"value": {}
},
{
"v": "m_python_2",
"w": "t_variable_scope",
"value": {}
},
{
"v": "m_python_2",
"w": "t_python_functions",
"value": {}
},
{
"v": "m_python_2",
"w": "t_writing_programs",
"value": {}
},
{
"v": "m_python_3",
"w": "t_python_dictionaries",
"value": {}
},
{
"v": "m_python_3",
"w": "t_using_numpy",
"value": {}
},
{
"v": "m_regular_expressions",
"w": "t_using_regular_expressions",
"value": {}
},
{
"v": "m_search",
"w": "t_boolean_operators",
"value": {}
},
{
"v": "m_search",
"w": "t_filtering_data",
"value": {}
},
{
"v": "m_search",
"w": "t_finding_software",
"value": {}
},
{
"v": "m_search",
"w": "t_using_regular_expressions",
"value": {}
},
{
"v": "m_spreadsheets",
"w": "t_formatting_spreadsheets",
"value": {}
},
{
"v": "m_testing",
"w": "t_coverage",
"value": {}
},
{
"v": "m_testing",
"w": "t_creating_integrity_tests",
"value": {}
},
{
"v": "m_testing",
"w": "t_writing_unit_tests",
"value": {}
},
{
"v": "m_unix",
"w": "t_filesystem_layout",
"value": {}
},
{
"v": "m_unix",
"w": "t_finding_files",
"value": {}
},
{
"v": "m_unix",
"w": "t_managing_files",
"value": {}
},
{
"v": "m_unix",
"w": "t_navigating_file_system",
"value": {}
},
{
"v": "m_unix",
"w": "t_pipes_filters",
"value": {}
},
{
"v": "m_unix",
"w": "t_recording_history",
"value": {}
},
{
"v": "m_unix",
"w": "t_using_editor",
"value": {}
},
{
"v": "m_unix",
"w": "t_writing_shell_scripts",
"value": {}
},
{
"v": "m_visualization",
"w": "t_choosing_visualization",
"value": {}
},
{
"v": "m_visualization",
"w": "t_plotting",
"value": {}
},
{
"v": "t_add_to_repository",
"w": "t_creating_repository",
"value": {}
},
{
"v": "t_aggregating_data",
"w": "t_handling_missing_data",
"value": {}
},
{
"v": "t_blogging",
"w": "t_using_web_authoring",
"value": {}
},
{
"v": "t_boilerplate",
"w": "t_using_orcid",
"value": {}
},
{
"v": "t_call_stack",
"w": "t_variable_scope",
"value": {}
},
{
"v": "t_choosing_good_path_names",
"w": "t_filename_extensions",
"value": {}
},
{
"v": "t_choosing_good_path_names",
"w": "t_finding_files",
"value": {}
},
{
"v": "t_choosing_repository_host",
"w": "t_introducing_version_control",
"value": {}
},
{
"v": "t_choosing_visualization",
"w": "t_plotting",
"value": {}
},
{
"v": "t_code_of_conduct",
"w": "t_barriers_to_participation",
"value": {}
},
{
"v": "t_code_reviews",
"w": "t_merging_changes",
"value": {}
},
{
"v": "t_code_reviews",
"w": "t_reviewing_version_history",
"value": {}
},
{
"v": "t_code_reviews",
"w": "t_using_branches",
"value": {}
},
{
"v": "t_computer_architecture",
"w": "t_data_types",
"value": {}
},
{
"v": "t_continuous_integration",
"w": "t_commit_checklist",
"value": {}
},
{
"v": "t_creating_database",
"w": "t_joining_data",
"value": {}
},
{
"v": "t_creating_repository",
"w": "t_introducing_version_control",
"value": {}
},
{
"v": "t_data_design",
"w": "t_joining_data",
"value": {}
},
{
"v": "t_data_hygiene",
"w": "t_data_design",
"value": {}
},
{
"v": "t_data_types",
"w": "t_variables_assignment",
"value": {}
},
{
"v": "t_filtering_data",
"w": "t_introducing_relational_databases",
"value": {}
},
{
"v": "t_finding_files",
"w": "t_filesystem_layout",
"value": {}
},
{
"v": "t_good_commit_comments",
"w": "t_add_to_repository",
"value": {}
},
{
"v": "t_handling_missing_data",
"w": "t_selecting_data",
"value": {}
},
{
"v": "t_identify_starting_points",
"w": "t_issue_tracking",
"value": {}
},
{
"v": "t_ignoring_files",
"w": "t_add_to_repository",
"value": {}
},
{
"v": "t_installing_software",
"w": "t_environment_variables",
"value": {}
},
{
"v": "t_introducing_openrefine",
"w": "t_formatting_spreadsheets",
"value": {}
},
{
"v": "t_introducing_openrefine",
"w": "t_using_regular_expressions",
"value": {}
},
{
"v": "t_joining_data",
"w": "t_handling_missing_data",
"value": {}
},
{
"v": "t_managing_files",
"w": "t_using_editor",
"value": {}
},
{
"v": "t_open_license",
"w": "t_boilerplate",
"value": {}
},
{
"v": "t_plotting",
"w": "t_using_libraries",
"value": {}
},
{
"v": "t_plotting",
"w": "t_using_pandas",
"value": {}
},
{
"v": "t_profiling",
"w": "t_computer_architecture",
"value": {}
},
{
"v": "t_program_configuration",
"w": "t_boolean_operators",
"value": {}
},
{
"v": "t_program_configuration",
"w": "t_environment_variables",
"value": {}
},
{
"v": "t_program_configuration",
"w": "t_ignoring_files",
"value": {}
},
{
"v": "t_programming_databases",
"w": "t_selecting_data",
"value": {}
},
{
"v": "t_python_conditionals",
"w": "t_boolean_operators",
"value": {}
},
{
"v": "t_python_loops",
"w": "t_python_lists",
"value": {}
},
{
"v": "t_read_csv",
"w": "t_using_pandas",
"value": {}
},
{
"v": "t_reproducibility",
"w": "t_documenting_requirements",
"value": {}
},
{
"v": "t_reproducibility",
"w": "t_metadata",
"value": {}
},
{
"v": "t_reproducibility",
"w": "t_program_configuration",
"value": {}
},
{
"v": "t_reproducibility",
"w": "t_tracking_provenance",
"value": {}
},
{
"v": "t_selecting_data",
"w": "t_introducing_relational_databases",
"value": {}
},
{
"v": "t_taschuks_rules",
"w": "t_environment_variables",
"value": {}
},
{
"v": "t_taschuks_rules",
"w": "t_program_configuration",
"value": {}
},
{
"v": "t_task_farming",
"w": "t_computer_architecture",
"value": {}
},
{
"v": "t_task_farming",
"w": "t_writing_shell_loops",
"value": {}
},
{
"v": "t_trace_execution",
"w": "t_call_stack",
"value": {}
},
{
"v": "t_trace_execution",
"w": "t_logging",
"value": {}
},
{
"v": "t_trace_execution",
"w": "t_variables_assignment",
"value": {}
},
{
"v": "t_tracking_provenance",
"w": "t_recording_history",
"value": {}
},
{
"v": "t_update_data",
"w": "t_selecting_data",
"value": {}
},
{
"v": "t_update_repository",
"w": "t_add_to_repository",
"value": {}
},
{
"v": "t_use_package_manager",
"w": "t_filesystem_layout",
"value": {}
},
{
"v": "t_use_package_manager",
"w": "t_installing_software",
"value": {}
},
{
"v": "t_using_libraries",
"w": "t_variables_assignment",
"value": {}
},
{
"v": "t_using_make",
"w": "t_writing_shell_scripts",
"value": {}
},
{
"v": "t_using_numpy",
"w": "t_data_types",
"value": {}
},
{
"v": "t_using_numpy",
"w": "t_using_libraries",
"value": {}
},
{
"v": "t_using_pandas",
"w": "t_data_types",
"value": {}
},
{
"v": "t_using_pandas",
"w": "t_using_libraries",
"value": {}
},
{
"v": "t_variable_scope",
"w": "t_variables_assignment",
"value": {}
},
{
"v": "t_python_functions",
"w": "t_python_conditionals",
"value": {}
},
{
"v": "t_python_functions",
"w": "t_variable_scope",
"value": {}
},
{
"v": "t_writing_programs",
"w": "t_using_libraries",
"value": {}
},
{
"v": "t_writing_programs",
"w": "t_using_numpy",
"value": {}
},
{
"v": "t_writing_programs",
"w": "t_using_pandas",
"value": {}
},
{
"v": "t_writing_programs",
"w": "t_python_functions",
"value": {}
},
{
"v": "t_writing_shell_scripts",
"w": "t_managing_files",
"value": {}
},
{
"v": "t_writing_shell_scripts",
"w": "t_navigating_file_system",
"value": {}
},
{
"v": "t_writing_shell_scripts",
"w": "t_pipes_filters",
"value": {}
},
{
"v": "t_writing_shell_scripts",
"w": "t_using_editor",
"value": {}
},
{
"v": "t_writing_unit_tests",
"w": "t_defensive_programming",
"value": {}
},
{
"v": "t_writing_unit_tests",
"w": "t_python_functions",
"value": {}
}
],
"value": {
"id": "scb",
"rankdir": "LR"
}
}
$.getJSON("design.json", function(json) {
console.log(json);
var g = dagreD3.graphlib.json.read(json);
// Create the renderer
var render = new dagreD3.render();
var svg = d3.select("#graph-container").append("svg")
.attr('width', '100%')
.attr('height', '100%');
// Set up an SVG group so that we can translate the final graph.
var svgGroup = svg.append("g");
// Run the renderer. This is what draws the final graph.
var thingtorender = d3.select("svg g")
render(thingtorender, g);
});
/* This sets the color for "TK" nodes to a light blue green. */
g.type-TK > rect {
fill: #00ffd0;
}
text {
font-weight: 300;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serf;
font-size: 14px;
}
.node rect {
stroke: #999;
fill: #fff;
stroke-width: 1.5px;
}
.edgePath path {
stroke: #333;
stroke-width: 1.5px;
}
#graph-container {
width: 5000px;
height: 5000px;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<link href="graphstyle.css" rel="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width, initial-scale=1.0"/>
</head>
<body>
<div id="graph-container">
</div>
<script src="http://code.jquery.com/jquery-1.10.2.min.js"></script>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://cpettitt.github.io/project/graphlib-dot/latest/graphlib-dot.min.js"></script>
<script src="http://cpettitt.github.io/project/dagre-d3/latest/dagre-d3.min.js"></script>
<script src="graph.js"></script>
</body>
</html>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment