{"version":1,"pages":[{"id":"0nZHirelSCQ3H6wBXchg","title":"Notes","pathname":"/","siteSpaceId":"sitesp_8Fq9M","description":""},{"id":"NhfuosLZGE0yGAOcRlkD","title":"Notice","pathname":"/notice","siteSpaceId":"sitesp_8Fq9M","description":""},{"id":"mLa6wu260ivVsPvqFiiQ","title":"Overview","pathname":"/devops","siteSpaceId":"sitesp_R3uCT","description":""},{"id":"HDQgPt2Islvi8w9aBNGt","title":"DevOps","pathname":"/devops/devops","siteSpaceId":"sitesp_R3uCT","description":"Culture,  Agile Development, &  Cloud Native Technologies"},{"id":"U4vldJRKAftJwbIMxMly","title":"Social Coding","pathname":"/devops/social-coding","siteSpaceId":"sitesp_R3uCT","description":"Social Coding with GitHub"},{"id":"F0CnAWh6ehJuhwwzUOtE","title":"Agile Planning","pathname":"/devops/agile-planning","siteSpaceId":"sitesp_R3uCT","description":"Agile Development and Planning"},{"id":"7CTRl1PjHFDx4rXizdfN","title":"RESTful APIs","pathname":"/devops/restful-apis","siteSpaceId":"sitesp_R3uCT","description":"Building RESTful  Services with Python and Flask"},{"id":"nVnV6ZSlhGLZ7lC2mnSc","title":"Cloud Native and Microservices","pathname":"/devops/cloud-native-and-microservices","siteSpaceId":"sitesp_R3uCT","description":"Cloud Native Applications and Microservices Architecture"},{"id":"GNH2r9k4LTKearjtdbgo","title":"Test Driven Development","pathname":"/devops/test-driven-development","siteSpaceId":"sitesp_R3uCT","description":"If it's worth building, it's worth testing"},{"id":"Jr2oaAGEBEc1SWLXV5hD","title":"Continuous Integration","pathname":"/devops/continuous-integration","siteSpaceId":"sitesp_R3uCT","description":"Continuous Integration with Travis CI"},{"id":"DmDTD2i8Vb1xnvk4YTPt","title":"Behavior Driven Development","pathname":"/devops/behavior-driven-development","siteSpaceId":"sitesp_R3uCT","description":""},{"id":"yI5V8t3o6saODICxzvoi","title":"Platform as a Service","pathname":"/devops/platform-as-a-service","siteSpaceId":"sitesp_R3uCT","description":""},{"id":"cj3hu4vF81gVHvQ643NO","title":"Docker","pathname":"/devops/docker","siteSpaceId":"sitesp_R3uCT","description":"Introduction to Docker"},{"id":"SVQplm7HGcvxf549JhnQ","title":"Security","pathname":"/devops/security","siteSpaceId":"sitesp_R3uCT","description":"Security and DevOps"},{"id":"aETTghqu2h8S7DzNOYAQ","title":"Swagger and OpenAPI","pathname":"/devops/swagger-and-openapi","siteSpaceId":"sitesp_R3uCT","description":"Introduction to Swagger & OpenAPI"},{"id":"WnHPBFQKxjMxGjNYvj0v","title":"Kubernetes","pathname":"/devops/kubernetes","siteSpaceId":"sitesp_R3uCT","description":"Introduction to Kubernetes"},{"id":"NwKtBfCYiuZTgth1VQh6","title":"Infrastructure as Code","pathname":"/devops/infrastructure-as-code","siteSpaceId":"sitesp_R3uCT","description":""},{"id":"1Kr36hAvEGkKYTez8XeC","title":"Overview","pathname":"/operating-systems","siteSpaceId":"sitesp_0VAxJ","description":""},{"id":"xl1onNCosAUaNfdKmYmw","title":"Introduction","pathname":"/operating-systems/introduction","siteSpaceId":"sitesp_0VAxJ","description":"Kernel Structures and System Calls"},{"id":"R23CWLfDIxU0f54a8t68","title":"Processes and Threads","pathname":"/operating-systems/processes-and-threads","siteSpaceId":"sitesp_0VAxJ","description":""},{"id":"sYEFzbaNgIlkUdaZ3alz","title":"Scheduling","pathname":"/operating-systems/scheduling","siteSpaceId":"sitesp_0VAxJ","description":""},{"id":"KAkDTufmXGAZ4wcKXVJU","title":"Concurrency","pathname":"/operating-systems/concurrency","siteSpaceId":"sitesp_0VAxJ","description":"Concurrency & Deadlocks"},{"id":"haUggLn71GQX82dyUfPf","title":"Memory Management","pathname":"/operating-systems/memory-management","siteSpaceId":"sitesp_0VAxJ","description":""},{"id":"8UqhJLwA6TQ60t40wvLe","title":"Overview","pathname":"/programming-languages","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"ihcPAhUKWkUVYeuXx5yU","title":"Introduction","pathname":"/programming-languages/introduction","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"tpp3YHPZ7gWaqWGujdoZ","title":"Imperative Languages","pathname":"/programming-languages/imperative-languages","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"oL5vD7eQXHdPrnX3rTN6","title":"Subprograms","pathname":"/programming-languages/subprograms","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"DGqFjQ9omWkWVk2Jf6dw","title":"Functional Programming","pathname":"/programming-languages/functional-programming","siteSpaceId":"sitesp_BSJqh","description":"Overview of the lambda calculus and Scheme."},{"id":"SgqXiYfPqPVfTSZOrAYI","title":"Data Types","pathname":"/programming-languages/data-types","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"czoL8YiKBMq0gxrlCeeq","title":"SML/NJ","pathname":"/programming-languages/sml-nj","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"2Gaqr6aiRtWD2ceODgN9","title":"GC","pathname":"/programming-languages/gc","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"GljRh2dPUbHHoMHqAGaU","title":"OOP","pathname":"/programming-languages/oop","siteSpaceId":"sitesp_BSJqh","description":""},{"id":"sxJpDnouOXCroHI3llVB","title":"Overview","pathname":"/natural-language-processing","siteSpaceId":"sitesp_yrEgA","description":""},{"id":"4GPXKgx8p6i0SyJhQ30J","title":"Introduction","pathname":"/natural-language-processing/introduction","siteSpaceId":"sitesp_yrEgA","description":""},{"id":"OJD9ztDYo7PM0c35XUt7","title":"Regular Expressions","pathname":"/natural-language-processing/regular-expressions","siteSpaceId":"sitesp_yrEgA","description":"Formal Languages, Regular Expressions, Automata and Transducers"},{"id":"bWKVtrz4vRGgJuEZp1Gp","title":"HMM POS Tagging","pathname":"/natural-language-processing/hmm-pos-tagging","siteSpaceId":"sitesp_yrEgA","description":"HMM and Part of Speech Tagging. Viterbi Algorithm. Limits of Sequence Labeling."},{"id":"s7bHjK3KpgHMWsEDTqvs","title":"Information Retrieval","pathname":"/natural-language-processing/information-retrieval","siteSpaceId":"sitesp_yrEgA","description":"Information Retrieval and Related Applications. TF/IDF, Cosine Similarity."},{"id":"D6hvsonpeuPPRMBNE0tK","title":"Constituent Structure","pathname":"/natural-language-processing/constituent-structure","siteSpaceId":"sitesp_yrEgA","description":"Distribution of Words in Sentences: N-grams, Phrase Structure Syntax and Parsing"},{"id":"gItz7fnePWUmdzCltd5L","title":"Named Entities","pathname":"/natural-language-processing/named-entities","siteSpaceId":"sitesp_yrEgA","description":"Shallow Parsing, Named Entities and Machine Learning"},{"id":"NA6EreKzG9mttysLrdUN","title":"Overview","pathname":"/fundamental-algorithms","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"K3XEGlkaUdAkVW6iaLj2","title":"Introduction","pathname":"/fundamental-algorithms/introduction","siteSpaceId":"sitesp_k97TQ","description":"Outline of Algorithmics"},{"id":"MEdf7yPbzV5oSIkQNQYM","title":"Recurrences","pathname":"/fundamental-algorithms/recurrences","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"bZMd7M9zuWvNlgvWxJww","title":"Search Trees","pathname":"/fundamental-algorithms/search-trees","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"8qrypGdJvaKyyiYSmLHG","title":"Dynamic Programming","pathname":"/fundamental-algorithms/dynamic-programming","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"2uIwzok8XLTz8cmtj6aZ","title":"Shortest Paths","pathname":"/fundamental-algorithms/shortest-paths","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"t3FMtHzGdFomngyHpBlS","title":"NP Complete","pathname":"/fundamental-algorithms/np-complete","siteSpaceId":"sitesp_k97TQ","description":""},{"id":"HDvZPNHMdNaVx3q1YInr","title":"Overview","pathname":"/graphics-processing-units","siteSpaceId":"sitesp_1xpXC","description":""},{"id":"lwc7DfW3XCTzJevO7BuV","title":"CUDA","pathname":"/graphics-processing-units/cuda","siteSpaceId":"sitesp_1xpXC","description":""},{"id":"onEZkrtudB11fhjOAZvS","title":"Final Exam Prep: Concepts","pathname":"/graphics-processing-units/final-exam-prep-concepts","siteSpaceId":"sitesp_1xpXC","description":""},{"id":"Q8KrWGzepV0DddBDWRvl","title":"Final Exam Prep: Code","pathname":"/graphics-processing-units/final-exam-prep-code","siteSpaceId":"sitesp_1xpXC","description":""}]}