https://learn.microsoft.com/en-us/training/paths/m365-msgraph-dotnet-core-scenarios/?source=recommendations
Monday, October 28, 2024
Thursday, October 10, 2024
users
Structured Procrastination
https://web.archive.org/web/20121128004736/http://msmvps.com/blogs/jon_skeet/archive/2012/11/24/stack-overflow-question-checklist.aspx
Tuesday, October 8, 2024
Xpath and JsonPath
https://goessner.net/articles/JsonPath/index.html#e2
https://code.google.com/archive/p/jsonpath/downloads
https://jsonpath.com/
Books
https://libgen.is/search.php?req=Steven+Holzner&column=author
1. “The Tipping Point: How Little Things Can Make a Big Difference” by Malcolm Gladwell
• This book explores how small events or trends can create large-scale societal changes, affecting the perceptions and behaviors of individuals and groups over time. Gladwell examines how ideas, products, and social behaviors spread and how collective perceptions shift.
2. “Sapiens: A Brief History of Humankind” by Yuval Noah Harari
• Harari takes readers on a journey through the history of humankind, exploring how our perceptions of reality, culture, and society have shifted over time. The book dives into how collective human behaviors and social constructs have evolved, providing insight into how perceptions change.
3. “The Power of Habit: Why We Do What We Do in Life and Business” by Charles Duhigg
• While focused on habits, Duhigg’s book discusses how individual and societal habits form and change over time. It also highlights how shifting these habits can change perceptions and behaviors on a larger scale.
4. “The Social Animal” by Elliot Aronson
• Aronson’s book focuses on how social psychology shapes human behavior, attitudes, and perceptions. It explores the various factors that change how individuals perceive themselves and others over time, including the impact of culture, media, and historical events.
5. “Outliers: The Story of Success” by Malcolm Gladwell
• In “Outliers,” Gladwell examines how external factors, like culture, timing, and opportunity, can significantly change perceptions of success. Over time, this has led to a reevaluation of what defines “successful” individuals and how societal views of success evolve.
6. “The Road to Character” by David Brooks
• Brooks’ book discusses the evolution of personal character and how societal perceptions of virtues such as humility, integrity, and resilience have changed over time. The book encourages reflection on how cultural shifts affect individual values and behavior.
7. “The Age of Wonder: How the Romantic Generation Discovered the Beauty and Terror of Science” by Richard Holmes
• Holmes explores the Romantic era, looking at how individuals’ perceptions of science and the natural world were forever altered by the discoveries and insights of scientists like Darwin, Faraday, and Herschel. This book illustrates the shifting perceptions of science in the cultural landscape.
8. “Man’s Search for Meaning” by Viktor Frankl
• Frankl’s exploration of his experiences in Nazi concentration camps and his psychological reflections offer a deep look into how people’s perceptions of life, suffering, and meaning shift over time, particularly in response to extreme circumstances.
9. “The Evolution of Everything: How New Ideas Emerge” by Matt Ridley
• Ridley explores the evolution of various aspects of society, from language and culture to economics and technology. His examination of how ideas and perceptions evolve over time offers a broad and engaging perspective on changing human views.
10. “Blink: The Power of Thinking Without Thinking” by Malcolm Gladwell
• In this book, Gladwell examines how snap judgments and unconscious biases shape our perceptions and decisions. Over time, these automatic judgments can shift, influencing how we view the world and the people in it.
These books cover a wide range of topics, from psychology and sociology to history and philosophy, helping readers understand how human perception and understanding evolve over time. They offer compelling insights into the forces that shape both individual and collective perceptions.
==========
1. The Elephant in the Brain
2. The Moral Animal
3. The Red Queen
4. Games People Play
5. The Selfish Gene
6. Subliminal
7. The Lucifer Effect
8. Snakes in Suits
9. Evil: Inside Human Violence and Cruelty
======
https://www.simplethread.com/books-of-2024/?ref=dailydev
https://libgen.is/search.php?req=Expert%27s+voice+in+.NET&column=series
https://libgen.is/search.php?&req=Pro-Developer&phrase=1&view=simple&column=series&sort=extension&sortmode=DESC
Recommended Books on Computer Architecture and Performance
Here are some excellent books to help you learn more about CPU caching, memory hierarchy, and optimization:
Introductory Level
- "Computer Systems: A Programmer's Perspective" by Randal E. Bryant and David R. O'Hallaron
- Perfect starting point for programmers
- Explains memory hierarchy and caching from a practical perspective
- Includes hands-on examples showing how code interacts with hardware
- "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold
- More accessible introduction to computer fundamentals
- Builds up computer architecture concepts from first principles
Intermediate Level
- "The Art of Computer Programming, Volume 1: Fundamental Algorithms" by Donald E. Knuth
- Classic text with detailed analysis of algorithm efficiency
- Discusses memory access patterns and their impact
- "Programming Pearls" by Jon Bentley
- Contains several essays on performance and memory hierarchy
- Practical examples showing how to optimize algorithms
Advanced Level
- "Computer Architecture: A Quantitative Approach" by John L. Hennessy and David A. Patterson
- The definitive text on modern computer architecture
- In-depth coverage of caching, memory hierarchies, and performance analysis
- Used in graduate-level computer architecture courses
- "What Every Programmer Should Know About Memory" by Ulrich Drepper
- Not a book but a comprehensive paper (freely available online)
- Detailed explanation of memory hierarchy specifically for programmers
Competitive Programming Focus
- "Competitive Programming 3: The New Lower Bound of Programming Contests" by Steven Halim and Felix Halim
- Specific focus on algorithms and data structures for competitions
- Includes discussions on optimization and efficient memory access
- "Algorithms for Competitive Programming" by Alexander Kulikov and Pavel Pevzner
- Modern approach to competitive programming algorithms
- Includes analysis of why certain approaches are faster than others
Any of these resources will deepen your understanding of how CPU caching and memory access patterns affect the performance of your code. I'd recommend starting with "Computer Systems: A Programmer's Perspective" as it's specifically written for programmers rather than computer architects
Here are some excellent resources to learn more about these patterns and immutable collections in .NET:
Microsoft Documentation
Books
- "C# in Depth" by Jon Skeet (covers Lazy<T> and other modern C# patterns)
- "Concurrency in C# Cookbook" by Stephen Cleary (excellent for understanding thread safety)
- "Writing High-Performance .NET Code" by Ben Watson
Videos and Courses
- Pluralsight: "C# Concurrent Collections" by Simon Robinson
- Pluralsight: "C# Best Practices: Collections and Generics" by Deborah Kurata
- YouTube: "Back to Basics: Efficient Async and Await" by Microsoft .NET team
Blogs and Articles
- Use Immutable Collections for .NET Thread-Safety by Stephen Cleary
- Immutability in C# by Vladimir Khorikov
- Patterns for Thread-safe Object Initialization in .NET
==================.
https://kawaicheung.io/books/
Software Development Culture & Communication
- "The Pragmatic Programmer" by Andrew Hunt and David Thomas
- "Team Geek: A Software Developer's Guide to Working Well with Others" by Brian Fitzpatrick and Ben Collins-Sussman
- "Peopleware: Productive Projects and Teams" by Tom DeMarco and Timothy Lister
- "The Manager's Path" by Camille Fournier
- "Soft Skills: The Software Developer's Life Manual" by John Sonmez
Technical Terminology & Concepts
- "Code Complete" by Steve McConnell
- "Clean Code" by Robert C. Martin
- "The Mythical Man-Month" by Frederick P. Brooks Jr.
- "Domain-Driven Design" by Eric Evans
- "Patterns of Enterprise Application Architecture" by Martin Fowler
Project Management & Methodology
- "Scrum: The Art of Doing Twice the Work in Half the Time" by Jeff Sutherland
- "Lean Software Development: An Agile Toolkit" by Mary and Tom Poppendieck
- "Agile Estimating and Planning" by Mike Cohn
- "User Story Mapping" by Jeff Patton
Technical Communication
- "Don't Make Me Think" by Steve Krug
- "Letting Go of the Words" by Janice Redish
- "Design Is a Job" by Mike Monteiro
- "Speaking JavaScript" by Axel Rauschmayer
Software Architecture & Design
- "Building Microservices" by Sam Newman
- "Release It!" by Michael T. Nygard
- "Cloud Native Patterns" by Cornelia Davis
- "Fundamentals of Software Architecture" by Mark Richards and Neal Ford
For .NET Specifically
- "C# in Depth" by Jon Skeet
- "ASP.NET Core in Action" by Andrew Lock
- "Pro .NET Memory Management" by Konrad Kokosa
==============For books that specifically focus on technical vocabulary and jargon in software development, here are some excellent resources:
- "The Jargon File" by Eric S. Raymond (also published as "The New Hacker's Dictionary") - This is the classic compendium of programmer culture and terminology.
- "Apprenticeship Patterns" by Dave Hoover and Adewale Oshineye - Contains many contextual terms within software craftsmanship.
- "The Developer's Code" by Ka Wai Cheung - Discusses many industry terms in the context of real development scenarios.
- "Coders at Work" by Peter Seibel - Interviews with notable programmers who use industry jargon naturally throughout.
- "Software Engineering: A Practitioner's Approach" by Roger S. Pressman - Contains comprehensive glossaries of technical terms.
- "The Phoenix Project" by Gene Kim, Kevin Behr, and George Spafford - A novel about IT, DevOps, and project management that naturally incorporates much of the terminology.
- "Joel on Software" by Joel Spolsky - A collection of essays that introduced several terms to the industry.
- "Debugging Teams" by Brian Fitzpatrick and Ben Collins-Sussman - Covers collaboration terminology.
- "The Art of Unix Programming" by Eric S. Raymond - Contains Unix philosophy terms that have spread to general programming culture.
- "Continuous Delivery" by Jez Humble and David Farley - Introduces deployment pipeline terminology.
For day-to-day communications specifically, "Team Geek" (now republished as "Debugging Teams") and "The Manager's Path" are particularly valuable as they focus on the human aspects of development, which is where much of this colorful jargon originates.
======Books About Technology Evolution and Naming
- "The Evolution of Useful Things" by Henry Petroski
While not exclusively about naming, this book examines how everyday objects evolve while often retaining their original names and design cues. Petroski explores why we continue to use terms like "dashboard" (originally a barrier to block mud from horse-drawn carriages) in modern cars. - "Affordance and Design" by Victor Kaptelinin
This book discusses how the names and interfaces of technologies often persist due to user familiarity, even when the underlying technology changes completely. - "How We Got to Now: Six Innovations That Made the Modern World" by Steven Johnson
Johnson traces technological evolution through six different innovations, showing how technologies retain familiar elements (including names) while their function expands dramatically over time. - "The Victorian Internet" by Tom Standage
This fascinating book draws parallels between the telegraph system and the modern internet, showing how communications revolutions follow similar patterns while technologies often retain terminology from earlier eras. - "The Information: A History, a Theory, a Flood" by James Gleick
Gleick explores information technology through history, showing how terms and concepts persist across generations of technology. - "Where Wizards Stay Up Late: The Origins of the Internet" by Katie Hafner and Matthew Lyon
This book chronicles the development of the internet and explains how many networking terms and conventions originated and persisted despite massive technological change. - "The Language of New Media" by Lev Manovich
Manovich explores how terminology and concepts from older media forms persist in newer digital media, creating a kind of "skeuomorphic language" around technology. - "Code: The Hidden Language of Computer Hardware and Software" by Charles Petzold
Petzold explores how computing terminology evolved yet retained connections to earlier technologies and concepts. - "Tubes: A Journey to the Center of the Internet" by Andrew Blum
This book explores the physical infrastructure of the internet, showing how metaphorical naming (like "cloud" storage) influences how we think about technology. - "You Are Not a Gadget" by Jaron Lanier
Lanier discusses how early design decisions (including naming conventions) become "locked in" and shape technological development for decades.
==========
https://github.com/codecop/csharp-puzzler-collection
====Common C# / .NET Misunderstandings
- LINQ's deferred execution - Methods like
Where()
andSelect()
don't execute immediately but only when the result is enumerated. - Value vs reference types - Understanding that structs (including primitive types) are copied while classes are passed by reference.
- String immutability - Strings are immutable; operations like
string.Replace()
return new strings rather than modifying the original. - Disposing objects with IDisposable - Not properly disposing resources with
using
statements orDispose()
calls. - Async/await - Forgetting to await async calls, or improperly using
.Result
or.Wait()
leading to deadlocks. - Collection modification during enumeration - Trying to modify collections while iterating through them with foreach loops.
- Boxing/unboxing penalties - Performance issues when converting between value types and reference types.
- Misuse of equality operators - Confusing
==
(reference equality for objects) with.Equals()
(value equality). - Thread synchronization issues - Race conditions when accessing shared data without proper locking.
- Null reference exceptions - Not checking for null before accessing properties or methods.
- Static class behavior - Misunderstanding static class lifecycle and memory management.
- List vs IEnumerable vs Array performance characteristics - Using the wrong collection type for specific scenarios.
Recommended Books
- "C# in Depth" by Jon Skeet - Excellent for understanding the language deeply.
- "CLR via C#" by Jeffrey Richter - Fundamental understanding of how .NET works.
- "Concurrency in C# Cookbook" by Stephen Cleary - For mastering async/await and threading.
- "Adaptive Code via C#" by Gary McLean Hall - Great for design patterns and SOLID principles.
- "Entity Framework Core in Action" by Jon P Smith - For modern data access patterns.
- "ASP.NET Core in Action" by Andrew Lock - Web development best practices.
Other Learning Resources
- LINQ's deferred execution - Methods like
- Microsoft Learn - Free, structured learning paths for .NET developers: https://learn.microsoft.com/en-us/dotnet/
- .NET API Browser - Comprehensive documentation: https://docs.microsoft.com/en-us/dotnet/api/
- YouTube Channels:
- "IAmTimCorey"
- "Nick Chapsas"
- "dotNET"
- Blogs:
- Scott Hanselman's blog
- Andrew Lock's .NET Escapades
- Steve Gordon's blog
- GitHub repositories:
- Microsoft's .NET samples
- The actual .NET runtime source code (great for understanding internals)
- Pluralsight - Subscription-based video courses covering all aspects of .NET development.
- Stack Overflow - Specifically search for Jon Skeet's answers for deep C# insights.
- Discord communities like the C# Inn or .NET Foundation Discord for real-time help.
- "C# Puzzlers" by Eric Lippert and Jon Skeet - This book (note: while discussed by these authors, this specific title may not be widely published in this exact form) focuses on tricky C# code examples that expose common misconceptions.
- "Effective C#: 50 Specific Ways to Improve Your C#" by Bill Wagner - This covers many common mistakes and how to avoid them. The "Items" in this book often address exact misunderstandings developers face.
- "More Effective C#: 50 Specific Ways to Improve Your C#" by Bill Wagner - The sequel that covers additional pitfalls.
- "C# in Depth" by Jon Skeet - While not exclusively about mistakes, each chapter has sections on common misconceptions about language features.
I'd particularly recommend Bill Wagner's "Effective C#" series as they're explicitly structured around improving your code by avoiding common misconceptions. Each item addresses a specific mistake or misunderstanding that even experienced developers make.
Some developers also create their own collections of C# antipatterns and misconceptions on platforms like GitHub, which can be valuable supplements to these books.
=====Certainly! Here are some highly recommended books that cover session management, authentication, authorization, and related security concepts in depth:
1. "Web Application Security: Exploitation and Countermeasures for Modern Web Applications" by Andrew Hoffman
Why it's useful: This book provides a comprehensive overview of web application security, including session management, authentication, and authorization. It covers common vulnerabilities and best practices for securing web applications.
Key topics: Session hijacking, secure authentication mechanisms, OAuth, and more.
Publisher: O'Reilly Media.
2. "Hacking Web Applications: The Expert's Guide to Breaking and Entering" by Mike Shema
Why it's useful: Focuses on the offensive side of web application security, including how attackers exploit weak session management and authentication systems. It also provides countermeasures.
Key topics: Session fixation, cookie security, authentication bypass, and authorization flaws.
Publisher: Syngress.
3. "Security Engineering: A Guide to Building Dependable Distributed Systems" by Ross Anderson
Why it's useful: A classic book on security engineering that covers a wide range of topics, including authentication, authorization, and session management in distributed systems.
Key topics: Cryptographic protocols, authentication mechanisms, and secure session management.
Publisher: Wiley.
4. "OWASP Top Ten Survival Guide" by Jeremy Long
Why it's useful: Based on the OWASP Top Ten vulnerabilities, this book provides practical guidance on securing web applications, including session management and authentication.
Key topics: Broken authentication, session management flaws, and secure coding practices.
Publisher: Independently published.
5. "Applied Cryptography: Protocols, Algorithms, and Source Code in C" by Bruce Schneier
Why it's useful: While this book focuses on cryptography, it provides essential knowledge for understanding secure authentication and session management mechanisms.
Key topics: Cryptographic protocols, secure authentication, and token-based systems.
Publisher: Wiley.
6. "API Security in Action" by Neil Madden
Why it's useful: This book focuses on securing APIs, including token-based authentication, OAuth, and session management in stateless systems.
Key topics: JWT, OAuth 2.0, session management in APIs, and authorization.
Publisher: Manning Publications.
7. "Web Application Defender's Cookbook: Battling Hackers and Protecting Users" by Ryan C. Barnett
Why it's useful: A practical guide to defending web applications, with a focus on session management, authentication, and authorization.
Key topics: Secure session handling, authentication bypass prevention, and role-based access control.
Publisher: Wiley.
8. "Identity and Data Security for Web Development: Best Practices" by Jonathan LeBlanc and Tim Messerschmidt
Why it's useful: Focuses on identity management, authentication, and data security in web development.
Key topics: OAuth, OpenID Connect, session security, and secure authentication practices.
Publisher: O'Reilly Media.
9. "Designing Secure Software: A Guide for Developers" by Loren Kohnfelder
Why it's useful: A practical guide to designing secure software, including secure authentication and session management.
Key topics: Authentication protocols, session security, and secure design principles.
Publisher: No Starch Press.
10. "Computer Security: Principles and Practice" by William Stallings and Lawrie Brown
Why it's useful: A textbook-style resource that covers a wide range of security topics, including authentication, authorization, and session management.
Key topics: Cryptographic protocols, access control, and secure session management.
Publisher: Pearson.
These books provide a mix of theoretical foundations and practical guidance, making them excellent resources for understanding and implementing secure session management, authentication, and authorization systems.
====================
Designing Reactive Systems - Hugh McKee
Data Structures Succintly Part 1 - Robert Horvick
From good to great
Beginner's Roadmap for Windows System Knowledge
1. Start with the fundamentals:
- "Windows 10: The Missing Manual" by David Pogue
- This gives you a solid foundation in Windows concepts using everyday language
2. Move to networking basics:
- "Networking All-in-One For Dummies" by Doug Lowe
- Covers networking concepts without overwhelming technical details
- "TCP/IP for Dummies" by Candace Leiden & Marshall Wilensky
- Simple explanations of the protocols that power internet communications
3. Introduction to system administration:
- "Windows 10 Administration: The Personal Trainer" by William Stanek
- Practical, hands-on approach to Windows administration
- "Learn PowerShell in a Month of Lunches" by Don Jones and Jeffery Hicks
- Great introduction to the command line and automation
4. Deeper dive into IIS and web servers:
- "Microsoft IIS 10.0 Cookbook" by Amit Malik
- Practical recipes for working with IIS
- "Professional Microsoft IIS 8" by Kenneth Schaefer et al.
- More approachable than some of the deeper technical books
5. When you're ready for more advanced concepts:
- "Windows Internals Primer" by Alex Ionescu
- A more accessible version before tackling the full Windows Internals book
- "The Practice of System and Network Administration" by Thomas Limoncelli
- Practical advice on real-world system administration