-
-
Save blahah/3b5761ba646e39c76c64eb6acf5d686e to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"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" | |
} | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$.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 file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* 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; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!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