{"title":"Bill Wagner","description":null,"products":[{"product_id":"wagner-book-bill-wagner-9780321658708","title":"WAGNER","description":"\u003cp\u003eC# has matured over the past decade: It’s now a rich language with generics, functional programming concepts, and support for both static and dynamic typing. This palette of techniques provides great tools for many different idioms, but there are also many ways to make mistakes. In \u003cb\u003e\u003ci\u003eEffective C#, Second Edition,\u003c\/i\u003e\u003c\/b\u003e respected .NET expert Bill Wagner identifies fifty ways you can leverage the full power of the C# 4.0 language to express your designs concisely and clearly.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e\u003cb\u003e\u003ci\u003eEffective C#, Second Edition,\u003c\/i\u003e\u003c\/b\u003e follows a clear format that makes it indispensable to hundreds of thousands of developers: clear, practical explanations, expert tips, and plenty of realistic code examples. Drawing on his unsurpassed C# experience, Wagner addresses everything from types to resource management to dynamic typing to multicore support in the C# language and the .NET framework. Along the way, he shows how to avoid common pitfalls in the C# language and the .NET environment. You’ll learn how to\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eUse both types of C# constants for efficiency and maintainability (see Item 2) \u003c\/li\u003e\n\u003cli\u003eEmploy immutable data types to promote multicore processing (see Item 20) \u003c\/li\u003e\n\u003cli\u003eMinimize garbage collection, boxing, and unboxing (see Items 16 and 45) \u003c\/li\u003e\n\u003cli\u003eTake full advantage of interfaces and delegates (see Items 22 though 25) \u003c\/li\u003e\n\u003cli\u003eMake the most of the parallel framework (see Items 35 through 37) \u003c\/li\u003e\n\u003cli\u003eUse duck typing in C# (see Item 38) \u003c\/li\u003e\n\u003cli\u003eSpot the advantages of the dynamic and Expression types over reflection (see Items 42 and 43) \u003c\/li\u003e\n\u003cli\u003eAssess why query expressions are better than loops (see Item 8) \u003c\/li\u003e\n\u003cli\u003eUnderstand how generic covariance and contravariance affect your designs (see Item 29) \u003c\/li\u003e\n\u003cli\u003eSee how optional parameters can minimize the number of method overloads (see Item 10)\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eYou’re already a successful C# programmer–this book will help you become an outstanding one.\u003c\/p\u003e","brand":"WoB","offers":[{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49574964429073,"sku":"GOR005668546","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ GOOD \/ SBYB","offer_id":50004576829713,"sku":"CIN0321658701G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":50406430900497,"sku":"CIN0321658701VG","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ GOOD \/ INTERNAL","offer_id":51361987330321,"sku":"GOR010189682","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ WELL_READ \/ INTERNAL","offer_id":53750742319377,"sku":"GOR015024504","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0321658701.jpg?v=1787398691"},{"product_id":"complete-idiot-s-guide-to-unix-book-bill-wagner-9780789718051","title":"Complete Idiot's Guide to UNIX","description":"You know that UNIX is the standard operating system of the Internet, and you want--no, you need-- to get on board. You're no moron. It's something you can figure out. You would like a little lift, though. The Complete Idiot's Guide to UNIX is what you need to get up to speed quickly, and in good humor. This book gives you the straightforward scoop with the most real-world impact.","brand":"WoB","offers":[{"title":"GB \/ WELL_READ \/ INTERNAL","offer_id":49620887666961,"sku":"GOR013513293","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49633905410321,"sku":"GOR001536832","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":50586366312721,"sku":"CIN0789718057VG","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ GOOD \/ INTERNAL","offer_id":51421894770961,"sku":"GOR001632509","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ LIKE_NEW \/ INTERNAL","offer_id":51860673822993,"sku":"GOR012529518","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ GOOD \/ SBYB","offer_id":52652543181073,"sku":"CIN0789718057G","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0789718057.jpg?v=1788611021"},{"product_id":"effective-c-book-bill-wagner-9780321245663","title":"Effective C#","description":"Demonstrates the author's strengths as a writer and programmer.","brand":"WoB","offers":[{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":49630064836881,"sku":"GOR004051346","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ GOOD \/ SBYB","offer_id":50007497212177,"sku":"CIN0321245660G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":52621243089169,"sku":"CIN0321245660VG","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ GOOD \/ INTERNAL","offer_id":52932779966737,"sku":"GOR002928899","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0321245660.jpg?v=1751357288"},{"product_id":"effective-c-covers-c-6-0-book-bill-wagner-9780672337871","title":"Effective C# (Covers C# 6.0)","description":"\u003cp\u003eIn \u003cem\u003e\u003cstrong\u003eEffective C#, Third Edition,\u003c\/strong\u003e\u003c\/em\u003e respected .NET expert Bill Wagner identifies 50 ways to harness the full power of the C# 6.0 language to write exceptionally robust, efficient, and well-performing code. Reflecting the growing sophistication of the C# language and its development community, Wagner has identified dozens of new ways to write better code. This edition’s new solutions include some that take advantage of generics and several that are more focused on LINQ, as well as a full chapter of advanced best practices for working with exceptions.\u003c\/p\u003e \u003cp\u003eWagner’s clear, practical explanations, expert tips, and realistic code examples have made Effective C# indispensable to hundreds of thousands of developers. Drawing on his unsurpassed C# experience, he addresses everything from resource management to multicore support, and reveals how to avoid common pitfalls in the language and its .NET environment. Learn how to choose the most effective solution when multiple options exist, and how to write code that’s far easier to maintain and improve. Wagner shows how and why to \u003cbr\u003e\u003c\/p\u003e \u003cul\u003e\n\u003cli\u003ePrefer implicitly typed local variables (see Item 1)\u003c\/li\u003e\n\u003cli\u003eReplace string.Format() with interpolated strings (see Item 4)\u003c\/li\u003e\n\u003cli\u003eExpress callbacks with delegates (see Item 7)\u003c\/li\u003e\n\u003cli\u003eMake the most of .NET resource management (see Item 11)\u003c\/li\u003e\n\u003cli\u003eDefine minimal and sufficient constraints for generics (see Item 18)\u003c\/li\u003e\n\u003cli\u003eSpecialize generic algorithms using runtime type checking (see Item 19)\u003c\/li\u003e\n\u003cli\u003eUse delegates to define method constraints on type parameters (see Item 23)\u003c\/li\u003e\n\u003cli\u003eAugment minimal interface contracts with extension methods (see Item 27)\u003c\/li\u003e\n\u003cli\u003eCreate composable APIs for sequences (see Item 31)\u003c\/li\u003e\n\u003cli\u003eDecouple iterations from actions, predicates, and functions (see Item 32)\u003c\/li\u003e\n\u003cli\u003ePrefer lambda expressions to methods (see Item 38)\u003c\/li\u003e\n\u003cli\u003eDistinguish early from deferred execution (see Item 40)\u003c\/li\u003e\n\u003cli\u003eAvoid capturing expensive resources (see Item 41)\u003c\/li\u003e\n\u003cli\u003eUse exceptions to report method contract failures (see Item 45)\u003c\/li\u003e\n\u003cli\u003eLeverage side effects in exception filters (see Item 50)\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003eYou’re already a successful C# programmer, and this book will make you an outstanding one.\u003c\/p\u003e \u003cp\u003e\u003cem\u003eContent Update Program: \u003c\/em\u003e\u003cem\u003eThis title is no longer part of the Content Update Program. The content is final, and no further updates will be released.\u003c\/em\u003e\u003c\/p\u003e","brand":"WoB","offers":[{"title":"US \/ GOOD \/ SBYB","offer_id":49708206129425,"sku":"CIN0672337878G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":51672396824849,"sku":"GOR008840486","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":53352283242769,"sku":"CIN0672337878VG","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0672337878.jpg?v=1751074323"},{"product_id":"more-effective-c-book-bill-wagner-9780321485892","title":"More Effective C#","description":"\u003cp\u003e“Shining a bright light into many of the dark corners of C# 3.0, this book not only covers the `how,’ but also the `why,’ arming the reader with many field-tested methods for wringing the most from the new language features, such as LINQ, generics, and multithreading. If you are serious about developing with the C# language, you need this book.”\u003c\/p\u003e\u003cp\u003e–Bill Craun, Principal Consultant, Ambassador Solutions, Inc.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e“\u003ci\u003eMore Effective C# \u003c\/i\u003eis an opportunity to work beside Bill Wagner. Bill leverages his knowledge of C# and distills his expertise down to some very real advice about programming and designing applications that every serious Visual C# user should know. \u003ci\u003eMore Effective C# \u003c\/i\u003eis one of those rare books that doesn’t just regurgitate syntax, but teaches you \u003ci\u003ehow \u003c\/i\u003eto use the C# language.”\u003c\/p\u003e\u003cp\u003e–Peter Ritchie, Microsoft MVP: Visual C#\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e“\u003ci\u003eMore Effective C# \u003c\/i\u003eis a great follow-up to Bill Wagner’s previous book. The extensive\u003c\/p\u003e\u003cp\u003eC# 3.0 and LINQ coverage is extremely timely!”\u003c\/p\u003e\u003cp\u003e–Tomas Restrepo, Microsoft MVP: Visual C++, .NET, and Biztalk Server\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e“As one of the current designers of C#, it is rare that I learn something new about the language by reading a book. \u003ci\u003eMore Effective C# \u003c\/i\u003eis a notable exception. Gently blending concrete code and deep insights, Bill Wagner frequently makes me look at C# in a fresh light–one that really makes it shine. \u003ci\u003eMore Effective C# \u003c\/i\u003eis at the surface a collection of very useful guidelines. Look again. As you read through it, you’ll find that you acquire more than just the individual pieces of advice; gradually you’ll pick up on an approach to programming in C# that is thoughtful, beautiful, and deeply pleasant. While you can make your way willy-nilly through the individual guidelines, I do recommend reading the whole book–or at least not skipping over the chapter introductions before you dive into specific nuggets of advice. There’s perspective and insight to be found there that in itself can be an important guide and inspiration for your future adventures in C#.”\u003c\/p\u003e\u003cp\u003e–Mads Torgersen, Program Manager, Visual C#, Microsoft\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e“Bill Wagner has written an excellent book outlining the best practices for developers who work with the C# language. By authoring \u003ci\u003eMore Effective C#\u003c\/i\u003e, he has again established himself as one of the most important voices in the C# community. Many of us already know how to use C#. What we need is advice on how to hone our skills so that we can become wiser programmers. There is no more sophisticated source of information on how to become a first-class C# developer than Bill Wagner’s book. Bill is intelligent, thoughtful, experienced, and skillful. By applying the lessons from this book to your own code, you will find many ways to polish and improve the work that you produce.”\u003c\/p\u003e\u003cp\u003e–Charlie Calvert, Community Program Manager, Visual C#, Microsoft\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eIn \u003cb\u003e\u003ci\u003eMore Effective C#,\u003c\/i\u003e\u003c\/b\u003e Microsoft C# MVP and Regional Director Bill Wagner introduces fifty brand-new ways to write more efficient and more robust software. This all-new book follows the same format as Wagner’s best-selling \u003ci\u003eEffective C#\u003c\/i\u003e (Addison-Wesley, 2005), providing clear, practical explanations, expert tips, and plenty of realistic code examples.\u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003eWagner shows how to make the most of powerful innovations built into Microsoft’s new C# 3.0 and .NET Framework 3.5, as well as advanced C# language capabilities not covered in his previous book. Drawing on his unsurpassed C# experience, the author reveals new best practices for working with LINQ, generics, metaprogramming, and many other features. He also uncovers practices that compromise performance or reliability and shows exactly how to avoid them. \u003c\/p\u003e\u003cp\u003e \u003c\/p\u003e\u003cp\u003e\u003cb\u003e\u003ci\u003eMore Effective C#\u003c\/i\u003e\u003c\/b\u003e shows how to\u003c\/p\u003e\u003cul\u003e\n\u003cli\u003eUse generics to express your design intent more effectively\u003c\/li\u003e\n\u003cli\u003eMaster advanced generics techniques, such as constraints, method constraints, and generic specialization\u003c\/li\u003e\n\u003cli\u003eUse the multithreaded techniques you’ll need to work with the .NET framework every day\u003c\/li\u003e\n\u003cli\u003eExpress modern design idioms using the rich palette of C# language features\u003c\/li\u003e\n\u003cli\u003eSuccessfully mix object oriented and functional programming constructs\u003c\/li\u003e\n\u003cli\u003eCreate composable interfaces and avoid confusion in public interfaces\u003c\/li\u003e\n\u003cli\u003eUse extension methods to separate contracts from implementation\u003c\/li\u003e\n\u003cli\u003eProgram successfully with C# closures and anonymous types\u003c\/li\u003e\n\u003cli\u003eWrite more effective LINQ queries\u003c\/li\u003e\n\u003cli\u003eMake the most of LINQ Lazy Evaluation Queries and Lambda Expressions\u003c\/li\u003e\n\u003cli\u003eDistinguish and convert between delegates and expression trees\u003c\/li\u003e\n\u003cli\u003eEfficiently utilize nullable types and partial classes\u003c\/li\u003e\n\u003cli\u003eUse implicit properties for mutable, nonserializable data\u003c\/li\u003e\n\u003c\/ul\u003e\u003cp\u003eYou’re already a successful C# programmer–this book can help you become an outstanding one.\u003c\/p\u003e","brand":"WoB","offers":[{"title":"GB \/ GOOD \/ INTERNAL","offer_id":49864995864849,"sku":"GOR006141365","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":50311742718225,"sku":"GOR006152340","price":0.0,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0321485890.jpg?v=1786110551"},{"product_id":"more-effective-c-book-bill-wagner-9780672337888","title":"More Effective C#","description":"\u003cp\u003eIn \u003cem\u003e\u003cstrong\u003eMore Effective C#, Second Edition,\u003c\/strong\u003e\u003c\/em\u003e world-renowned .NET expert Bill Wagner identifies and illuminates 50 intermediate-to-advanced techniques for writing exceptionally robust and well-performing C# 7.0 code. Reflecting the growing sophistication of the C# language and its development community, Wagner presents powerful new solutions to problems you’re likely to encounter every day.\u003c\/p\u003e \u003cp\u003eThrough three editions of \u003cem\u003eEffective C#,\u003c\/em\u003e Wagner’s clear explanations, expert tips, and realistic code examples have proven invaluable to hundreds of thousands of developers. With the publication of this title, \u003cem\u003eEffective C#, Third Edition,\u003c\/em\u003e and \u003cem\u003eMore Effective C#, Second Edition,\u003c\/em\u003e have been completely reorganized to provide clear explanations, expert tips, and realistic code examples in a cohesive package for modern C#. \u003cem\u003e\u003cstrong\u003eMore Effective C#, Second Edition,\u003c\/strong\u003e\u003c\/em\u003e brings the same proven approach to the new features in C# 7.0, helping you perform familiar tasks more efficiently and effectively.\u003c\/p\u003e \u003cp\u003eDrawing on his unsurpassed C# experience and key role on global C# standards committees, Wagner addresses object-oriented, functional, and service-oriented approaches to managing data with C#; better ways to express your intent to users and other programmers; and new opportunities to leverage powerful asynchronous and dynamic programming techniques. \u003cbr\u003e\u003c\/p\u003e \u003cul\u003e\n\u003cli\u003eUse properties instead of accessible data members (Item 1)\u003c\/li\u003e\n\u003cli\u003eDistinguish between value and reference types (Item 4)\u003c\/li\u003e\n\u003cli\u003eUnderstand relationships among multiple concepts of equality (Item 9)\u003c\/li\u003e\n\u003cli\u003eAvoid conversion operators in your APIs (Item 11)\u003c\/li\u003e\n\u003cli\u003eUnderstand how interface and virtual methods differ (Item 15)\u003c\/li\u003e\n\u003cli\u003eAvoid overloading methods defined in base classes (Item 19)\u003c\/li\u003e\n\u003cli\u003eCreate method groups that are clear, minimal, and complete (Item 22)\u003c\/li\u003e\n\u003cli\u003eEnable immediate error reporting in iterators and async methods (Item 26)\u003c\/li\u003e\n\u003cli\u003eUse async methods for async work (Item 27)\u003c\/li\u003e\n\u003cli\u003eAvoid thread allocations and context switches (Item 30)\u003c\/li\u003e\n\u003cli\u003eConstruct PLINQ parallel algorithms with exceptions in mind (Item 36)\u003c\/li\u003e\n\u003cli\u003eUse the thread pool instead of creating threads (Item 37)\u003c\/li\u003e\n\u003cli\u003eUse BackgroundWorker for cross-thread communication (Item 38)\u003c\/li\u003e\n\u003cli\u003eUse the smallest possible scope for lock handles (Item 41)\u003c\/li\u003e\n\u003cli\u003eUnderstand the pros and cons of dynamic programming (Item 43)\u003c\/li\u003e\n\u003cli\u003eMake full use of the expression API (Item 46)\u003c\/li\u003e\n\u003cli\u003eMinimize dynamic objects in public APIs (Item 47)\u003c\/li\u003e\n\u003c\/ul\u003e \u003cp\u003eYou’re already a successful C# programmer: this book will make you an outstanding one.\u003c\/p\u003e \u003cp\u003e\u003cem\u003eContent Update Program: \u003c\/em\u003e\u003cem\u003eThis title is no longer part of the Content Update Program. The content is final, and no further updates will be released.\u003c\/em\u003e\u003c\/p\u003e","brand":"WoB","offers":[{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":50185268232465,"sku":"CIN0672337886VG","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ GOOD \/ SBYB","offer_id":50359680696593,"sku":"CIN0672337886G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ VERY_GOOD \/ INTERNAL","offer_id":50889582969105,"sku":"GOR011869541","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"GB \/ GOOD \/ INTERNAL","offer_id":51214895546641,"sku":"GOR011865172","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ NEW \/ INGRAM","offer_id":53365888778513,"sku":"NIN9780672337888","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/0672337886.jpg?v=1791997602"},{"product_id":"entrepreneur-next-door-discover-the-secrets-to-financial-independence-book-bill-wagner-9781932531961","title":"The Entrepreneur Next Door : Discover the Secrets to Financial Independence","description":"Tells you which of your traits will catapult you to success, what type of business will let you excel, and which traits will lead to failure if left unchecked. This book offers a test, available on the companion website, to discover how they stack up against model entrepreneurs.","brand":"WoB","offers":[{"title":"US \/ WELL_READ \/ SBYB","offer_id":50332435808529,"sku":"CIN1932531963A","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ GOOD \/ SBYB","offer_id":51328734363921,"sku":"CIN1932531963G","price":0.0,"currency_code":"GBP","in_stock":false},{"title":"US \/ VERY_GOOD \/ SBYB","offer_id":51461081366801,"sku":"CIN1932531963VG","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1932531963.jpg?v=1786086488"},{"product_id":"looking-through-my-eyes-book-bill-wagner-9781959700296","title":"Looking Through My Eyes","description":"This book is a collection of stories from my childhood until now. Hope you enjoy looking through my eyes as my life unfolds.","brand":"WoB","offers":[{"title":"- \/ - \/ -","offer_id":51225665175825,"sku":"","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ NEW \/ INGRAM","offer_id":51225667272977,"sku":"NIN9781959700296","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1959700294.jpg?v=1751315680"},{"product_id":"seeking-the-spirit-of-the-father-book-bill-wagner-9781312738454","title":"Seeking the Spirit of the Father","description":null,"brand":"WoB","offers":[{"title":"- \/ - \/ -","offer_id":51294751883537,"sku":"","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ NEW \/ INGRAM","offer_id":51294754013457,"sku":"NIN9781312738454","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/1312738456.jpg?v=1750711967"},{"product_id":"scotland-9-rounds-in-8-days-book-bill-wagner-9798318819520","title":"Scotland 9 Rounds in 8 Days","description":null,"brand":"WoB","offers":[{"title":"GB \/ NEW \/ INGRAM","offer_id":53636513825041,"sku":"NLS9798318819520","price":0.0,"currency_code":"GBP","in_stock":true},{"title":"US \/ NEW \/ INGRAM","offer_id":53660736913681,"sku":"NIN9798318819520","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/9798318819520.jpg?v=1781000992"},{"product_id":"it-s-a-mind-game-book-bill-wagner-9781959700388","title":"It's a Mind Game","description":null,"brand":"WoB","offers":[{"title":"US \/ NEW \/ INGRAM","offer_id":54651209908497,"sku":"NIN9781959700388","price":0.0,"currency_code":"GBP","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0784\/4072\/6801\/files\/9781959700388.jpg?v=1789231325"}],"url":"https:\/\/www.worldofbooks.com\/en-gb\/collections\/author-books-by-bill-wagner.oembed","provider":"World of Books ","version":"1.0","type":"link"}