Awesome List Updates on Oct 04, 2016
16 awesome lists updated today.
🏠 Home · 🔍 Search · 🔥 Feed · 📮 Subscribe · ❤️ Sponsor
1. Awesome Webaudio
Resources / Tutorials
- The Web Audio API: What Is It? - Intro to WebAudio.
2. Vertx Awesome
- Simple File Server (⭐85) - An OpenStack Swift compatible distributed object storage server that can serve and securely store billions of large and small files using minimal resources implemented using Vert.x.
3. Awesome Elixir
Algorithms and Data structures
- witchcraft (⭐1.1k) - Common algebraic structures and functions for Elixir.
- rebar3_auto (⭐47) - Rebar3 plugin to auto compile and reload on file change.
- river (⭐81) - An HTTP/2 client that is lightweight and lightning fast.
Instrumenting / Monitoring
- prometheus-plugs (⭐52) - Plugs instrumenters/exporter for prometheus.ex.
- named_args (⭐28) - Allows named arg style arguments in Elixir.
- exrm_heroku (⭐44) - Publish your Elixir releases to Heroku with ease.
Third Party APIs
- pocketex (⭐6) - Pocketex is an Elixir client for the Pocket read later service getpocket.com.
4. Awesome Computer Vision
Links / Image Deblurring
5. Awesome Ruby
API Builder and Discovery
- JSONAPI::Utils (⭐213) - JSONAPI::Utils is built on top of JSONAPI::Resources taking advantage of its resource-driven style and bringing an easy way to build modern JSON APIs with no or less learning curve.
6. Engineering Blogs
Companies / P companies
- Pivotal https://engineering.pivotal.io
7. Awesome Robotics
8. Awesome Courses
Courses / Systems
- CS 186 Introduction to Database Systems UC Berkeley
- In the project assignments in CS186, you will write a basic database management system called SimpleDB. For this project, you will focus on implementing the core modules required to access stored data on disk; in future projects, you will add support for various query processing operators, as well as transactions, locking, and concurrent queries.
- Lecture Videos
- Lecture Notes
- Hack the Kernel Introduction to Operating Systems SUNY University at Buffalo, NY
- This course is an introduction to operating system design and implementation. We study operating systems because they are examples of mature and elegant solutions to a difficult design problem: how to safely and efficiently share system resources and provide abstractions useful to applications.
- For the processor, memory, and disks, we discuss how the operating system allocates each resource and explore the design and implementation of related abstractions. We also establish techniques for testing and improving system performance and introduce the idea of hardware virtualization. Programming assignments provide hands-on experience with implementing core operating system components in a realistic development environment. Course by Dr.Geoffrey Challen
- Video lectures
- Old Exams
Courses / Programming Languages / Compilers
- CS 143 Compiler construction Stanford University
- CS143 is a Stanford's course in the practical and theoretical aspects of compiler construction.
- CS143 - 2011
- CS 223 Purely Functional Data Structures In Elm University of Chicago
- This course teaches functional reactive programming and purely functional data structures based on Chris Okazaki's book and using the Elm programming language.
- CSC 253 CPython internals: A ten-hour codewalk through the Python interpreter source code University of Rochester
- Nine lectures walking through the internals of CPython, the canonical Python interpreter implemented in C. They were from the Dynamic Languages and Software Development course taught in Fall 2014 at the University of Rochester.
Courses / Algorithms
- CS 224 Advanced Algorithms Harvard University
- CS 224 is an advanced course in algorithm design, and topics we will cover include the word RAM model, data structures, amortization, online algorithms, linear programming, semidefinite programming, approximation algorithms, hashing, randomized algorithms, fast exponential time algorithms, graph algorithms, and computational geometry.
- Lecture Videos (Youtube)
- CS 261 A Second Course in Algorithms Stanford University
- Algorithms for network optimization: max-flow, min-cost flow, matching, assignment, and min-cut problems. Introduction to linear programming. Use of LP duality for design and analysis of algorithms. Approximation algorithms for NP-complete problems such as Steiner Trees, Traveling Salesman, and scheduling problems. Randomized algorithms. Introduction to online algorithms.
- Lecture Notes, Videos & Assignments (Youtube)
- CSE 373 Analysis of Algorithms Stony Brook University
- Prof Steven Skiena's no stranger to any student when it comes to algorithms. His seminal book has been touted by many to be best for getting that job in Google. In addition, he's also well-known for tutoring students in competitive programming competitions. If you're looking to brush up your knowledge on Algorithms, you can't go wrong with this course.
- Lecture Videos
- 6.854/18.415J Advanced Algorithms MIT
- Advanced course in algorithms by Dr. David Karger covering topics such as amortization, randomization, fingerprinting, word-level parallelism, bit scaling, dynamic programming, network flow, linear programming, fixed-parameter algorithms, and approximation algorithms.
- Register on NB to access the problem set and lectures.
- 15-451/651 Algorithms Carnegie Mellon University
- The required algorithms class that go in depth into all basic algorithms and the proofs behind them. This is one of the heavier algorithms curriculums on this page. Taught by Avrim Blum and Manuel Blum who has a Turing Award due to his contributions to algorithms. Course link includes a very comprehensive set of reference notes by Avrim Blum.
- 16s-4102 Algorithms University of Virginia
Courses / CS Theory
- CS 3220 Introduction to Scientific Computing Cornell University
- In this one-semester survey course, we introduce numerical methods for solving linear and nonlinear equations, interpolating data, computing integrals, and solving differential equations, and we describe how to use these tools wisely (we hope!) when solving scientific problems.
- CS 4300 Information Retrieval Cornell University
- Studies the methods used to search for and discover information in large-scale systems. The emphasis is on information retrieval applied to textual materials, but there is some discussion of other formats.The course includes techniques for searching, browsing, and filtering information and the use of classification systems and thesauruses. The techniques are illustrated with examples from web searching and digital libraries.
Courses / Introduction to CS
- CS 1410-2 and CS2420-20 Computer Science I and II for Hackers University of Utah
- An intro course in the spirit of SICP designed by Professor Matthew Flatt (one of the lead designers of Racket and author of HtDP). Mostly Racket and C, and a bit of Java, with explanations on how high level functional programming concepts relate to the design of OOP programs. Do this one before SICP if SICP is a bit too much...
- Lectures and Assignments 1
- Lectures and Assignments 2
- Racket Language
- CS-for-all CS for All Harvey Mudd College
- This book (and course) takes a unique approach to “Intro CS.” In a nutshell, our objective is to provide an introduction to computer science as an intellectually rich and vibrant field rather than focusing exclusively on computer programming. While programming is certainly an important and pervasive element of our approach, we emphasize concepts and problem-solving over syntax and programming language features.
- Lectures and Other resources
Courses / Machine Learning
- COMS 4771 Machine Learning Columbia University
- Course taught by Tony Jebara introduces topics in Machine Learning for both generative and discriminative estimation. Material will include least squares methods, Gaussian distributions, linear classification, linear regression, maximum likelihood, exponential family distributions, Bayesian networks, Bayesian inference, mixture models, the EM algorithm, graphical models, hidden Markov models, support vector machines, and kernel methods.
- Lectures and Assignments
- CS 4780 Machine Learning Cornell University
- This course will introduce you to technologies for building data-centric information systems on the World Wide Web, show the practical applications of such systems, and discuss their design and their social and policy context by examining cross-cutting issues such as citizen science, data journalism and open government. Course work involves lectures and readings as well as weekly homework assignments, and a semester-long project in which the students demonstrate their expertise in building data-centric Web information systems.
- EECS E6894 Deep Learning for Computer Vision and Natural Language Processing Columbia University
- This graduate level research class focuses on deep learning techniques for vision and natural language processing problems. It gives an overview of the various deep learning models and techniques, and surveys recent advances in the related fields. This course uses Theano as the main programming tool. GPU programming experiences are preferred although not required. Frequent paper presentations and a heavy programming workload are expected.
- Lecture Notes
- EE103 Introduction to Matrix Methods Stanford University
- The course covers the basics of matrices and vectors, solving linear equations, least-squares methods, and many applications. It'll cover the mathematics, but the focus will be on using matrix methods in applications such as tomography, image processing, data fitting, time series prediction, finance, and many others. EE103 is based on a book that Stephen Boyd and Lieven Vandenberghe are currently writing. Students will use a new language called Julia to do computations with matrices and vectors.
- StatLearning Intro to Statistical Learning Stanford University
- This is an introductory-level course in supervised learning, with a focus on regression and classification methods. The syllabus includes: linear and polynomial regression, logistic regression and linear discriminant analysis; cross-validation and the bootstrap, model selection and regularization methods (ridge and lasso); nonlinear models, splines and generalized additive models; tree-based methods, random forests and boosting; support-vector machines.
- The lectures cover all the material in An Introduction to Statistical Learning, with Applications in R which is a more approachable version of the Elements of Statistical Learning (or ESL) book.
- 10-601 Machine Learning Carnegie Mellon University
- This course covers the theory and practical algorithms for machine learning from a variety of perspectives. It covers topics such as Bayesian networks, decision tree learning, Support Vector Machines, statistical learning methods, unsupervised learning and reinforcement learning. The course covers theoretical concepts such as inductive bias, the PAC learning framework, Bayesian learning methods, margin-based learning, and Occam's Razor. Short programming assignments include hands-on experiments with various learning algorithms. This course is designed to give a graduate-level student a thorough grounding in the methodologies, technologies, mathematics and algorithms currently needed by people who do research in machine learning.
- Taught by one of the leading experts on Machine Learning - Tom Mitchell
- Project Ideas and Datasets
- 11-785 Deep Learning Carnegie Mellon University
- The course presents the subject through a series of seminars and labs, which will explore it from its early beginnings, and work themselves to some of the state of the art. The seminars will cover the basics of deep learning and the underlying theory, as well as the breadth of application areas to which it has been applied, as well as the latest issues on learning from very large amounts of data. We will concentrate largely, although not entirely, on the connectionist architectures that are most commonly associated with it. Lectures and Reading Notes are available on the page.
Courses / Security
- CS 155 Computer and Network Security Stanford
- Principles of computer systems security. Attack techniques and how to defend against them. Topics include: network attacks and defenses, operating system holes, application security (web, email, databases), viruses, social engineering attacks, privacy, and digital rights management. Course projects focus on building reliable code. Recommended: Basic Unix. Primarily intended for seniors and first-year graduate students.
- CS 161 Computer Security UC Berkeley
- Introduction to computer security. Cryptography, including encryption, authentication, hash functions, cryptographic protocols, and applications. Operating system security, access control. Network security, firewalls, viruses, and worms. Software security, defensive programming, and language-based security. Case studies from real-world systems.
- CS 259 Security Modeling and Analysis Stanford
- The course will cover a variety of contemporary network protocols and other systems with security properties. The course goal is to give students hands-on experience in using automated tools and related techniques to analyze and evaluate security mechanisms. To understand security properties and requirements, we will look at several network protocols and their properties, including secrecy, authentication, key establishment, and fairness. In parallel, the course will look at several models and tools used in security analysis and examine their advantages and limitations. In addition to fully automated finite-state model checking techniques, we will also study other approaches, such as constraint solving, process algebras, protocol logics, probabilistic model checking, game theory, and executable models based on logic programming.
- CS 261 Internet/Network Security UC Berkeley
- This class aims to provide a thorough grounding in network security suitable for those interested in conducting research in the area, as well as students more generally interested in either security or networking. We will also look at broader issues relating to Internet security for which networking plays a role. Topics include: denial-of-service; capabilities; network intrusion detection; worms; forensics; scanning; traffic analysis / inferring activity; architecture; protocol issues; legality and ethics; web attacks; anonymity; honeypots; botnets; spam; the underground economy; research pitfalls. The course is taught with an emphasis on seminal papers rather than bleeding-edge for a given topic.
- 6.858 Computer Systems Security MIT
- Design and implementation of secure computer systems. Lectures cover threat models, attacks that compromise security, and techniques for achieving security, based on recent research papers. Topics include operating system (OS) security, capabilities, information flow control, language security, network protocols, hardware security, and security in web applications.
- Taught by James Mickens and Nickolai Zeldovich
- Video Lectures and Labs
- Final Projects
- 18-636 Browser Security Stanford
Courses / Computer Graphics
- CSCI-GA.2270-001 Graduate Computer Graphics New York University
- Step-by-step study computer graphics, with reading and homework at each lecture (Fall2015)
Courses / Misc
- CS 262a Advanced Topics in Computer Systems UC Berkeley
- CS262a is the first semester of a year-long sequence on computer systems research, including operating systems, database systems, and Internet infrastructure systems. The goal of the course is to cover a broad array of research topics in computer systems, and to engage you in top-flight systems research. The first semester is devoted to basic thematic issues and underlying techniques in computer systems, while the second semester goes deeper into topics related to scalable, parallel and distributed systems. The class is based on a discussion of important research papers and a research project.
- Parts: Some Classics, Persistent Storage, Concurrency, Higher-Level Models, Virtual Machines, Cloud Computing, Parallel and Distributed Computing, Potpourri.
- Prerequisites: The historical prerequisite was to pass an entrance exam in class, which covered undergraduate operating systems material (similar to UCB's CS162). There is no longer an exam. However, if you have not already taken a decent undergrad OS class, you should talk with me before taking this class. The exam had the benefit of "paging in" the undergrad material, which may have been its primary value (since the pass rate was high).
- Readings & Lectures
- CS 294 Cutting-edge Web Technologies Berkeley
- Want to learn what makes future web technologies tick? Join us for the class where we will dive into the internals of many of the newest web technologies, analyze and dissect them. We will conduct survey lectures to provide the background and overview of the area as well as invite guest lecturers from various leading projects to present their technologies.
9. Awesome Sass
Libraries and Mixins / Miscellaneous
10. Awesome Geek Podcasts
- El gato de Turing - Podcast sobre la actualidad científica y tecnológica.
11. Awesome Ocaml
12. Awesome Android
Networking / Field Validation
- Fast-Android-Networking (⭐5.5k) - A Complete Fast Android Networking Library that also support HTTP/2.
13. Awesome Material
- material-foundation (⭐356) — A Material Design version of Foundation for Sites.
14. Awesome Cryptography
Articles / Hash functions
15. Awesome Phalcon
CMS & Blogs
- giada-www (⭐15) - Official website of Giada Loop Machine
Websites / Tutorials
- Tutsplus - Tutsplus Code Courses
16. Awesome Clojure
Websites / YouTube
- Prev: Oct 05, 2016
- Next: Oct 03, 2016