-
How to Design Programs, Second Edition htdp.org
-
The typical course on programming teaches a “tinker until it works” approach. When it works, students exclaim “It works!” and move on. Sadly, this phrase is also the shortest lie in computing, and it has cost many people many hours of their lives. In contrast, this book focuses on habits of good programming, addressing both professional and vocational programmers.
-
By “good programming,” we mean an approach to the creation of software that relies on systematic thought, planning, and understanding from the very beginning, at every stage, and for every step
-
https://en.wikipedia.org/wiki/Software_design_pattern
-
Software Architecture Patterns: 5 minute read
- Server patters
- Software Architecture Patterns by Mark Richards 2015
-
Abstraction: Not What You Think It Is
-
Abstractions are mappings.
-
An abstraction is a pattern we impose on the world, not the entities it relates, which are called the abstract domain and concrete domain.
-
-
-
The Grand Unified Theory of Software Architecture
- Beautifully short illustrative article
- Summary of 'Clean Code' and 'thin imperative shell around a functional core' #cleancode
-
- Don't always need a function
- Consider functional where possible - minimise state modification
-
Software Techniques for Lemmings
- summarizes commonly used software techniques that can be harmful, particularly when implementing a server or other large application.
- [distributed-systems]
- The Big Little Guide to Message Queues
- Guarantees?
- At most once
- At least once
- Exactly once
- Ordering vs Parallelism
- Distributed lock?
- Rate limit?
- Fan Out / In
- Guarantees?
- Paxos
- Use two consensus building phases to reach safe consensus even when nodes disconnect
Shotgun parsing is a programming antipattern whereby parsing and input-validating code is mixed with and spread across processing code—throwing a cloud of checks at the input, and hoping, without any systematic justification, that one or another would catch all the “bad” cases.
-
- taking the mic out of enterprise nonsense