Coder Social home page Coder Social logo

gradiuscypher / security-learning-resources Goto Github PK

View Code? Open in Web Editor NEW
5.0 3.0 1.0 12 KB

A collection of learning resources (con talks, slide decks, blog posts, etc) both in human-readable and JSON format.

License: MIT License

Python 100.00%

security-learning-resources's Introduction

security-learning-resources

A collection of learning resources (con talks, slide decks, blog posts, etc) both in human-readable and JSON format.

Contributors

gradiuscypher

Project Goals

This project will collect learning resources for the information security industry. This information will be presented in human-readable format as Markdown and will also be programmatically accessable via JSON files. This will allow the use and format of this data in many ways.

Contained in this project will also be various scripts. For example, converting the JSON files into various human-readable formats, or a command line tool that walks a user through creating a new entry.

Contributing

Check out the Contribution Guide for more information.

learning_resources.json layout

  {
      "type": "presentations",
      "items": [
        {
          "title": "Example Title Here",
          "description":"Presentation Description",
          "last_updated": "2018-08-20",
          "video_url": "Video URL",
          "slide_url": "Slide Deck URL",
          "presentation": {
            "date": "2018-01-15",
            "location": "Presentation Location String",
            "authors": [
              {
                "name": "Author1",
                "contact": "Social Media URL"
              },
              {
                "name": "Author2",
                "contact": "Email"
              }
            ]
          },
          "tags": [
            "tag1", "tag2", "tag3"
          ],
          "metadata": [
            {"name": "value"},
            {"name": "value"}
          ]
        }
      ]
  }
]

Breaking this down a bit:

  • At the top level, I'll have a list of resource types so that I can expand this resource in the future to cover things like blog posts, useful twitter threads, etc.
  • Each resource type has a type and a list of items
  • Each items list contains an object that matches the format of the resource type
  • For presentations, which is my initial resource for this project, I've included:
    • title: The presentation title.
    • description: A description of the presentation
    • last_updated: The date on which this resource was last updated, in the format YYYY-MM-DD
    • video_url: A link to the video of the presentation if available. Empty string if not.
    • slide_url: A link to the slide deck if available. Empty string if not.
    • presentation: An object that contains details about the actual presentation
      • date: The date the presentation was made, in the format YYYY-MM-DD
      • location: The location (conference, web meeting, etc) where it was presented, if available.
      • authors: A list of authors, including their name and their preferred social contact, if available
    • tags: Any appropriate tags for the presentation, list of strings
    • metadata: A list of fields containing a name and value, for further metadata addition that might have not been considered previously, or for data that's specific to this object. Example: notes about the talk, warnings about content, etc. A sort of final catch-all, until a metadata field becomes so common it justifies being added to the core structure.

security-learning-resources's People

Contributors

gradiuscypher avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

rakhithjk

security-learning-resources's Issues

Automation - Ideas around what/how to automate things

A few ideas to consider initially:

  • Write a script for converting the JSON file(s) into their Markdown representation so that contributors only need to edit JSON
  • Running the JSON > .md script as a CI function rather than having to run it manually
  • Write a script to automatically add an entry to the JSON fields by either answering an interactive dialog or using command line switches
  • A script for getting related links from Defcon's media server. Provide it a talk title, and it will do its best to find a Youtube video and slides from the media server. This one is a specific use case and depends heavily on how data is organized on each of these services.

RFC: Design Consideration - JSON structure

We'll want to make sure the project is organized and easy to find the right information, but we don't want to fragment things too much, because that could reduce discover-ability.

Edit: breaking these topics up. This issue will be about JSON structure.

We also need to consider how to structure our JSON files, and how we should split those files, or if we want a single file for everything.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.