In this repository you will find some extra resources that may be useful when working on the elevator project. Since these resources are not required for completing the project they are kept separate from the things that are, such as the specification and evaluation information.
Contents:
- Single elevator algorithm and demo code for implementing this as a finite state machine in C
- Cost functions and ways to assign new hall requests to elevators
- Packet loss script for Linux to easily simulate packet loss
- Links to external programming language and design resources (below)
We encourage submissions to this list! Tutorials, libraries, articles, blog posts, talks, videos...
- Python
- Official tutorial
- Python for Programmers (Several websites/books/tutorials)
- Advanced Python Programming
- Socket Programming HOWTO
- C
- Amended C99 standard (pdf)
- GNU C library
- POSIX '97 standard headers index
- POSIX.1-2008 standard (Unnavigable terrible website)
- Beej's network tutorial
- Deep C
- Go
- Official tour
- Go by Example
- Learning Go
- From the wiki: Articles, Talks
- Advanced Go Concurrency Patterns (video): transforming problems into the for-select-loop form
- D
- Official tour
- Programming in D
- Pragmatic D Tutorial
- DConf talks 2017, 2016, 2015
- The book by Andrei Alexandrescu (Chapter 1, Chapter 13)
- Erlang
- Rust
- Java
- Scala
- C#
- Simple Made Easy (video): How choosing the easy path will lead to complexity
- Boundaries (video): The "Funcional Core / Imperative Shell" way of programming
- The State of Sock Tubes: How "state" is pervasive even in message-passing- and functional languages
- Defactoring: Removing flexibility to better express intent
- Railway Oriented Programming: A functional approach to error handling
- Practical Unit Testing (video): "Readable, Maintainable, and Trustworthy"
- Core Principles and Practices for Creating Lightweight Design (video)
- Origins and pitfalls of the recursive mutex. (TL;DR: Recursive mutexes are usually bad, because if you need one you're holding a lock for too long)
- The Future of Programming (video): A presentation on what programming may look like 40 years from now... as if it was presented 40 years ago.