(Part 2) Best computer design & architecture books according to redditors
We found 220 Reddit comments discussing the best computer design & architecture books. We ranked the 63 resulting products by number of redditors who mentioned them. Here are the products ranked 21-40. You can also go back to the previous section.
21. Mac OS X Snow Leopard: The Missing Manual (Missing Manuals)
2 mentions
Used Book in Good Condition
If you move the decimal over. This is about 1,000 in books...
(If I had to pick a few for 100 bucks: encyclopedia of country living, survival medicine, wilderness medicine, ball preservation, art of fermentation, a few mushroom and foraging books.)
Medical:
Where there is no doctor
Where there is no dentist
Emergency War Surgery
The survival medicine handbook
Auerbach’s Wilderness Medicine
Special Operations Medical Handbook
Food Production
Mini Farming
encyclopedia of country living
square foot gardening
Seed Saving
Storey’s Raising Rabbits
Meat Rabbits
Aquaponics Gardening: Step By Step
Storey’s Chicken Book
Storey Dairy Goat
Storey Meat Goat
Storey Ducks
Storey’s Bees
Beekeepers Bible
bio-integrated farm
soil and water engineering
Organic Mushroom Farming and Mycoremediation
Food Preservation and Cooking
Steve Rinella’s Large Game Processing
Steve Rinella’s Small Game
Ball Home Preservation
Charcuterie
Root Cellaring
Art of Natural Cheesemaking
Mastering Artesian Cheese Making
American Farmstead Cheesemaking
Joe Beef: Surviving Apocalypse
Wild Fermentation
Art of Fermentation
Nose to Tail
Artisan Sourdough
Designing Great Beers
The Joy of Home Distilling
Foraging
Southeast Foraging
Boletes
Mushrooms of Carolinas
Mushrooms of Southeastern United States
Mushrooms of the Gulf Coast
Tech
farm and workshop Welding
ultimate guide: plumbing
ultimate guide: wiring
ultimate guide: home repair
off grid solar
Woodworking
Timberframe Construction
Basic Lathework
How to Run A Lathe
Backyard Foundry
Sand Casting
Practical Casting
The Complete Metalsmith
Gears and Cutting Gears
Hardening Tempering and Heat Treatment
Machinery’s Handbook
How to Diagnose and Fix Everything Electronic
Electronics For Inventors
Basic Science
Chemistry
Organic Chem
Understanding Basic Chemistry Through Problem Solving
Ham Radio
AARL Antenna Book
General Class Manual
Tech Class Manual
MISC
Ray Mears Essential Bushcraft
Contact!
Nuclear War Survival Skills
The Knowledge: How to rebuild civilization in the aftermath of a cataclysm
Here below is my copy pasta of C#/Unity stuff which I post pretty often on /r/learnprogramming and /r/learncsharp . I only need to find a moment one day and add some computer science theory links.
Free C# ebook
• http://www.csharpcourse.com/ <- The download link is under 'here' at the end of the first paragraph.
Youtube tutorials:
• https://www.youtube.com/playlist?list=PLGLfVvz_LVvRX6xK1oi0reKci6ignjdSa <- apart from C# this dude has also A LOT OF other tutorials on many other languages.
• https://www.youtube.com/watch?v=pSiIHe2uZ2w <- has also pretty good Unity tutorials.
• https://scottlilly.com/build-a-cwpf-rpg/ <- learn WPF (desktop application with GUI) by making simple RPG game.
• https://www.youtube.com/user/IAmTimCorey <- This guy is also good, but I dislike his coding style and that he uses a lot of nugets instead of writing stuff himself.
Book reference guide:
• https://www.amazon.com/C-7-0-Nutshell-Definitive-Reference/dp/1491987650/ref=sr_1_1?ie=UTF8&amp;qid=1547990420&amp;sr=8-1&amp;keywords=C%23+in+a+nutshell <- But treat is as a language reference guide, not a programming learning guide.
Text-based tutorials
• https://www.tutorialspoint.com/csharp/index.htm <- C#
• https://www.tutorialspoint.com//wpf/index.htm <- WPF (GUI programming)
Udemy - wait for $10 sale which occurs at least once in a month:
• https://www.udemy.com/csharp-tutorial-for-beginners/ <- for C#, dude has also more advanced tutorials to choose from.
• https://www.udemy.com/user/bentristem/ <- for Unity
Do not move to Unity or WPF before you get good grasp on C# syntax and OOP concepts. Bear in mind that majority of Unity tutorials present abysmal C# coding style and practices. So I wouldn't recommend learning C# from such courses.
Coding style (read after getting good grasp of OOP concepts)
• https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship-ebook/dp/B001GSTOAM/ref=sr_1_1?keywords=clean+code&amp;qid=1562330510&amp;s=gateway&amp;sr=8-1 <- Clean Code, recommended for every newcomer at my work
• https://www.amazon.com/gp/product/B075LRM681?pf_rd_p=2d1ab404-3b11-4c97-b3db-48081e145e35&amp;pf_rd_r=22NFZ5GCWM7YMK2A5A2G <- Clean Architecture
How about the person who literally wrote the book on computer programming, Adele Goldstine.
Also, if you want to know more female programming pioneers from the past, check out these Steam trading cards from the indie game I've been working on.
Digital Forensic workbook is a great source for building foundational knowledge on many of the general computer forensic techniques. It covers info such as file system forensics, acquisition, software write blocking, registry analysis, email analysis, internet history analysis, recovering data in unallocated space, etc. Labs are included with the book so you can test the content learned against sample data.
Learning Malware Analysis Guides you through static analysis, dynamic analysis, using IDA pro, and other dismembers to determine the intent of malicious files.
Practical Malware Analysis
Wireshark Network Analysis
It's already a bit older, but this debunks a lot of the needless ceremony and patterns that people thought were necessary in Java EE:
https://amazon.com/Real-World-Java-Patterns-Rethinking-Practices-ebook/dp/B009ZQ9I62
This is a practical example by SO legend BalusC that's not too bad:
https://github.com/javaeekickoff/java-ee-kickoff-app
Tom’s book IPv6 Address Planning: Designing an Address Plan for the Future https://www.amazon.co.uk/dp/B00PCZMAOW/ref=cm_sw_r_cp_api_i_z2xADbGMTHF64
Definitely spend time on the replacement of ARP (Neighbor Discovery) than you do on the actual address format.
Once you realise EVERYTHING lives in a /64 and you’re doing nibble boundary subnetting, IPv4 seems hard and archaic 👍🏽
I'm not so sure exactly what you want with your question, so this answer will be broader than it needs to.
First, it's interesting for you to understand that these are implementation aspects. The C language itself doesn't care about the stack or the heap. It talks about storage duration categories like automatic, allocated, static, or thread local. Where these go in real memory is an implementation aspect.
This is an interesting read on the topic: http://ramblings.implicit.net/posts/2014/4/21/there-is-no-stack (btw, the whole blog is very good).
If you want to know more details about the C language, check the ##c irc channel @ irc.freenode.com wiki => http://www.iso-9899.info/wiki/
The description of the storage duration categories are pretty helpful. For example, you should use automatic storage when you want scoping to handle it (it = the duration of the storage for the variable) for you. If you need the storage throughout your program, you can make it static. If you don't know very much about it, but you'll learn more at runtime, consider allocated. I've never used c11 to actually comment on the specifics of thread local. Of course, this is a pretty general broad vague description.
K&R2 has plenty of exercises, many of which involve dealing with memory. It won't be in terms of implementation concepts like stack and heap. It'll be in terms of C's mechanisms for dealing with memory.
With all that out of the way, you can learn about implementation aspects through many different places. And I'm only mentioning this because you said "stack" and "heap", which seems to me is because you have your head around implementation concepts instead of C language semantics.
Anyway, you have options here.
Notice that all of these documents talk about more than what you're asking for. I don't know any book and/or document which only talks about what you want. It's also a pretty general topic, because the useful question lurking behind the scenes is how to effectively use memory, which is pretty broad. You can look at:
And also, "effectively use memory" depends on a criteria: what is it that you consider to be "effectively"?
In the end, there is a lot to your question.
Ok - Here's a list of books I've read in the last few years
As you can tell, I'm big on the technical books, and even exam prep books. This is just a selection, but I think it's a good starter pack to some different fields.
This article is basically a partial synopsis of Adam Tornhill's behavoral code analysis ideas. Software Design X-Rays is his most recent book. It's the follow up to Your Code as a Crime Scene.
https://www.amazon.com/Software-Design-X-Rays-Technical-Behavioral/dp/1680502727
The idea is to use those measurements and others to spot areas in your code base that would benefit the most from reducing technical debt.
For the very tragically beginning, you can find the Mac 101 section of the Apple website. Judging by the rest of your post, I'd say most of that is probably pretty elementary for you.
http://hints.macworld.com/ is a great site that has helpful threads on everything from super basics to coding. Along those lines, I'd highly recommend getting The Missing Manual for the appropriate OS version you are on.
A great technical book for this is Memory Systems: Cache, DRAM, Disk.
It's quite a dense book with a lot more than just digital logic but I've used Structured Computer Organization to learn this topic.
This book is aimed towards ARMv8 assembly language so you'll probably see a lot of references to it. If you're not interested in ARMv8 then you'll probably want to look for a new book.
I strongly recommend this book and this book
Reading Programming Kubernetes, which provides a detailed look at some of the internals of Kubernetes, as well as guides you through the process of creating your own controllers and custom API servers. Hoping to eventually apply that knowledge by contributing to one of the K8s-related projects like Knative or Istio.
Mastering Kubernetes 2nd Ed.
https://www.amazon.com/Mastering-Kubernetes-Master-container-management/dp/1788999789
http://www.amazon.com/Microsoft-Exchange-Server-Mailbox-Availability-ebook/dp/B00JDMPNAS/ref=sr_1_3?s=digital-text&amp;ie=UTF8&amp;qid=1417791737&amp;sr=1-3&amp;keywords=exchange+2013
http://www.amazon.com/Microsoft-Exchange-Server-Connectivity-Clients-ebook/dp/B00JDMPNM6/ref=sr_1_2?s=digital-text&amp;ie=UTF8&amp;qid=1417791737&amp;sr=1-2&amp;keywords=exchange+2013
I learned from Programming in Scala and Akka in Action. They're not really tutorials, but they explain a lot of the rationale.
Also feel free to check out https://www.amazon.com/Deployment-Docker-continuous-integration-applications/dp/1786469006 I wrote if you have a chance (packtpubpub.com might have a better deal on it) and I'd love some feedback on it!
&#x200B;
PS: All the code in the book is at https://github.com/sgnn7/deploying_with_docker if you just want to peruse that side of things.
&#x200B;
PS2: I went through the Docker certification too if you want any guidance on that. Also take note that the way RH/OpenShift wants you to use containers is _vastly_ different from the way that most Kubernetes-based deployments use them so choose your certification path wisely :)
I'd say CLRS is the most fundamental, since all CS is built on algorithms.
For architecture/systems people (my area):
Computer Architecture: A Quantitative Approach by Patterson and Hennessy. Their other book Computer Organization and Design is excellent as well (and should be read first).
All books by Andrew Tanenbaum. His distributed systems, OS, and network books are excellent reads.
The Dinosaur book for OSes.
I also really like Smith/Nair for Virtual Machines. It is a new book and is not among the classics yet, but it is great.
For memory, caches, and disks, I recommend Jacob. It is also a newer book, but is essential to understand the Von Neumann bottleneck and possible solutions.
And, of course, the dragon book for getting started compilers. Then Ken Kennedy for advanced compilers.
And as a side note:
For AI, Russell and Norvig is required reading.
For type systems, Pierce is awesome.
Pacheco's book was really helpful to me. There's also some useful information and example code for the book on Pacheco's web site at USF.
I just started reading this so can't really vouch for it, but it looks good so far:
https://www.amazon.com/SPA-Design-Architecture-Understanding-Applications/dp/1617292435/ref=sr_1_1?ie=UTF8&amp;qid=1492188336&amp;sr=8-1&amp;keywords=spa+design+and+architecture
Crap! One more thing: http://www.amazon.com/Building-Microservices-Sam-Newman-ebook/dp/B00T3N7XB4/ref=mt_kindle?_encoding=UTF8&amp;me=
Kindle version is less than $30