Allisonperkel's bookshelf: software-architecture en-US Mon, 24 Feb 2025 05:03:48 -0800 60 Allisonperkel's bookshelf: software-architecture 144 41 /images/layout/goodreads_logo_144.jpg <![CDATA[A Philosophy of Software Design]]> 39996759 190 John Ousterhout 1732102201 Allisonperkel 4 4.18 2018 A Philosophy of Software Design
author: John Ousterhout
name: Allisonperkel
average rating: 4.18
book published: 2018
rating: 4
read at: 2025/02/24
date added: 2025/02/24
shelves: non-fiction, programming, software-architecture
review:
A charming read on dealing with complexity is software development and design.
]]>
<![CDATA[The Ethical Algorithm: The Science of Socially Aware Algorithm Design]]> 44244975
Understanding and improving the science behind the algorithms that run our lives is rapidly becoming one of the most pressing issues of this century. Traditional fixes, such as laws, regulations and watchdog groups, have proven woefully inadequate. Reporting from the cutting edge of scientific research, The Ethical Algorithm offers a new approach: a set of principled solutions based on the emerging and exciting science of socially aware algorithm design. Michael Kearns and Aaron Roth explain how we can better embed human principles into machine code - without halting the advance of data-driven scientific exploration. Weaving together innovative research with stories of citizens, scientists, and activists on the front lines, The Ethical Algorithm offers a compelling vision for a future, one in which we can better protect humans from the unintended impacts of algorithms while continuing to inspire wondrous advances in technology.
]]>
230 Michael Kearns 0190948205 Allisonperkel 5 4.11 The Ethical Algorithm: The Science of Socially Aware Algorithm Design
author: Michael Kearns
name: Allisonperkel
average rating: 4.11
book published:
rating: 5
read at: 2023/11/07
date added: 2023/11/07
shelves: non-fiction, software-architecture, ethics
review:
One of the best dives into models, ethics, and how this field needs to adapt and grow. I greatly appreciate that this came from the tech/math angle (not hard math).
]]>
<![CDATA[Implementing Service Level Objectives: A Practical Guide to SLIs, SLOs, and Error Budgets]]> 51771842 404 Alex Hidalgo 1492076813 Allisonperkel 3 4.14 Implementing Service Level Objectives: A Practical Guide to SLIs, SLOs, and Error Budgets
author: Alex Hidalgo
name: Allisonperkel
average rating: 4.14
book published:
rating: 3
read at: 2022/11/12
date added: 2022/11/12
shelves: programming, software-architecture
review:
The first three chapters and the chapter on how statistics help in understanding you system are wonderful, the rest feel like a cross between filler and trying to teach communicating and selling ideas to non engineers. While not a bad thing to have in a book, it felt out of place. Also the advice was oriented to very junior engineers.
]]>
<![CDATA[Building the New Economy: Data as Capital]]> 56702085
Data is now central to the economy, government, and health systems—so why are data and the AI systems that interpret the data in the hands of so few people? Building the New Economy calls for us to reinvent the ways that data and artificial intelligence are used in civic and government systems. Arguing that we need to think about data as a new type of capital, the authors show that the use of data trusts and distributed ledgers can empower people and communities with user-centric data ownership, transparent and accountable algorithms, machine learning fairness principles and methodologies, and secure digital transaction systems.

It’s well known that social media generate disinformation and that mobile phone tracking apps threaten privacy. But these same technologies may also enable the creation of more agile systems in which power and decision-making are distributed among stakeholders rather than concentrated in a few hands. Offering both big ideas and detailed blueprints, the authors describe such key building blocks as data cooperatives, tokenized funding mechanisms, and tradecoin architecture. They also discuss technical issues, including how to build an ecosystem of trusted data, the implementation of digital currencies, and interoperability, and consider the evolution of computational law systems.]]>
474 Alex Pentland 026254315X Allisonperkel 3
Will there be digital currencies? Yes.

The best section of this book is the last: on law and generally how to build (and test) modular AI based systems. ]]>
3.67 Building the New Economy: Data as Capital
author: Alex Pentland
name: Allisonperkel
average rating: 3.67
book published:
rating: 3
read at: 2022/07/24
date added: 2022/07/24
shelves: design, economics, non-fiction, software-architecture, tech
review:
If anything, this book convinced me blockchain is a solution looking for a problem. While the problems outlined in this book are real, I’d hazard that almost all the blockchain based solutions could be better implemented, better, with other technology.

Will there be digital currencies? Yes.

The best section of this book is the last: on law and generally how to build (and test) modular AI based systems.
]]>
<![CDATA[The Superorganism: The Beauty, Elegance, and Strangeness of Insect Societies]]> 3426920 544 Bert Hölldobler 0393067041 Allisonperkel 5
For designing of systems, the simple rules combined with self organization were particularly fascinating. ]]>
4.49 2008 The Superorganism: The Beauty, Elegance, and Strangeness of Insect Societies
author: Bert Hölldobler
name: Allisonperkel
average rating: 4.49
book published: 2008
rating: 5
read at: 2022/07/09
date added: 2022/07/09
shelves: non-fiction, science, software-architecture
review:
While dry and, at times, very focused on details that a lay reader (like myself) found too detailed, the book is amazingly educational and a wonderful view into the complexity of social organisms.

For designing of systems, the simple rules combined with self organization were particularly fascinating.
]]>
<![CDATA[The Systems Bible: The Beginner's Guide to Systems Large and Small]]> 583785 Book is in Good condition 316 John Gall 0961825170 Allisonperkel 5 3.93 1977 The Systems Bible: The Beginner's Guide to Systems Large and Small
author: John Gall
name: Allisonperkel
average rating: 3.93
book published: 1977
rating: 5
read at: 2022/06/01
date added: 2022/06/01
shelves: management, non-fiction, software-architecture, tech, thinking
review:
Glib, glossy, too cute and right too many times. I greatly enjoyed, and learned, much from this book. If you are an optimist or a perfectionist and need a reason to change, this is the book for you.
]]>
<![CDATA[Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures]]> 58153482 459 Neal Ford 1492086894 Allisonperkel 4 4.25 2021 Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
author: Neal Ford
name: Allisonperkel
average rating: 4.25
book published: 2021
rating: 4
read at: 2022/01/31
date added: 2022/01/31
shelves: non-fiction, programming, software-architecture
review:
Solid, almost fun read on how to think about software architecture in terms of trade offs. I love that main focuses are on data and refactor/decomposition/composition in the space of decoupled (micro service) architecture.
]]>
Learning Serverless 55423634 230 Jason Katzer 1492057010 Allisonperkel 5
If you are looking for a truly deep dive into the nuts and bolts of serverless this book is not for you. It mostly stays above the details and instead acts as a map that can lead you to other areas for deeper learning.

Which leads me to who is this book for. There are a lot of ways you can take this book - if you are a manager it can help you orient yourself to some of the pitfalls your teams will hit. As a developer it can function as a map to what topics you'll need to dive deeper into. This book is not going to teach you how to write great lambdas but it will help you learn how to think about putting the system together. ]]>
3.50 Learning Serverless
author: Jason Katzer
name: Allisonperkel
average rating: 3.50
book published:
rating: 5
read at: 2022/01/06
date added: 2022/01/06
shelves: programming, software-architecture, tech
review:
As an overview of serverless and how to think about building out your system this book is a wonderful overview with a lot of wisdom on the pitfalls present. As someone who loves distributed systems and has a lot of scars that the author specifically calls out I felt a lot of nostalgia as I read through the book.

If you are looking for a truly deep dive into the nuts and bolts of serverless this book is not for you. It mostly stays above the details and instead acts as a map that can lead you to other areas for deeper learning.

Which leads me to who is this book for. There are a lot of ways you can take this book - if you are a manager it can help you orient yourself to some of the pitfalls your teams will hit. As a developer it can function as a map to what topics you'll need to dive deeper into. This book is not going to teach you how to write great lambdas but it will help you learn how to think about putting the system together.
]]>
<![CDATA[The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems]]> 52653567
Most software components focus on the state of objects. They store the current state of a row in a relational database. They track changes to state over time, making several basic there is a single latest version of each object, the state of an object changes sequentially, and a system of record exists.
This is a challenge when it comes to building distributed systems. Whether dealing with autonomous microservices or disconnected mobile apps, many of the problems we try to solve come down to synchronizing an ever-changing state between isolated components. Distributed systems would be a lot easier to build if objects could not change.
After reading The Art of Immutable Architecture , you will come away with an understanding of the benefits of using immutable objects in your own distributed systems. You will learn a set of rules for identifying and exchanging immutable objects, and see a collection of useful theorems that emerges and ensures that the distributed systems we build are eventually consistent. Using patterns, you will find where the truth converges, see how changes are associative, rather than sequential, and come to feel comfortable understanding that there is no longer a single source of truth. Practical hands-on examples reinforce how to build software using the described patterns, techniques, and tools. By the end, you will possess the language and resources needed to analyze and construct distributed systems with confidence.

The assumptions of the past were sufficient for building single-user, single-computer systems. But as we expand to multiple devices, shared experiences, and cloud computing, they work against us. It is time for a new set of assumptions. Start with immutable objects, and build better distributed systems.


What You Will Learn Apply the principles of immutable architecture to your tools, including SQL databases, message queues, and the network protocols that you already use
Who This Book Is For
Software architects and senior developers. It contains examples in SQL and languages such as JavaScript and C#. Past experience with distributed computing, data modeling, or business analysis is helpful.]]>
444 Michael L. Perry 1484259548 Allisonperkel 2
There are some good ideas here. Immutable records and event systems are powerful. I think this is a book to skip as it’s not well presented.]]>
3.38 The Art of Immutable Architecture: Theory and Practice of Data Management in Distributed Systems
author: Michael L. Perry
name: Allisonperkel
average rating: 3.38
book published:
rating: 2
read at: 2021/12/05
date added: 2021/12/05
shelves: programming, software-architecture
review:
The first three high level overview chapters are good and the rest of the book isn’t. There isn’t any real math in the book - though mathematical proofs were promised. The organization of the book was off as there was just one basic example after another. In some cases the wording used made me question the size of systems built by the author. For example, RBAC was brought up and then dropped for pki and one off access to a blog. What about when you have hundreds of thousands of users? So many concepts, known by better names, are renamed and presented in a way that may confuse the reader as to their true potential.

There are some good ideas here. Immutable records and event systems are powerful. I think this is a book to skip as it’s not well presented.
]]>
What Is Domain-Driven Design? 54696435
You’ll discover how to explore, analyze, and model your company’s business domain along with techniques for implementing that knowledge. Once you understand the fundamentals, you’ll be able to selectively apply DDD concepts to analyze and simplify your codebase, explore new requirements, and more.

You’ll learn:

Key domain-driven design concepts, including ubiquitous language and bounded contexts
How to employ “event storming� to streamline the process of discovering domain knowledge and building a ubiquitous language
Patterns and techniques for implementing business logic and architecting solutions that deliver business goals
How to maintain and evolve both tactical and strategic designs over time]]>
Vladik Khononov 1492057797 Allisonperkel 3 4.00 What Is Domain-Driven Design?
author: Vladik Khononov
name: Allisonperkel
average rating: 4.00
book published:
rating: 3
read at: 2021/11/20
date added: 2021/11/20
shelves: design, non-fiction, software-architecture
review:
I was poking around O’Reilly and looking for something on distributed domain driven design and happened upon this quick read. It’s a broad overview without a lot of depth. If you don’t know about DDD this could be a decent start.
]]>
<![CDATA[Distributed Systems Observability]]> 40182805
In this practical e-book, author Cindy Sridharan examines new monitoring tools that, while promising, bring their own set of technical and organizational challenges.

Platforms such as Kubernetes have solved several problems that traditional monitoring tools used to flag, but partial, implicit, and “soft� failure modes have risen along with the overall complexity of the system.

This e-book provides an honest overview of monitoring challenges and trade-offs to help you choose the best observability strategy for your distributed system.]]>
36 Cindy Sridharan 1492033405 Allisonperkel 4 3.53 Distributed Systems Observability
author: Cindy Sridharan
name: Allisonperkel
average rating: 3.53
book published:
rating: 4
read at: 2021/11/19
date added: 2021/11/19
shelves: non-fiction, programming, software-architecture, tech
review:
This was a really wonderful write up on how to think about views into your system and how to think about the process of building and testing your system as it comes together. As a means to get your thoughts flowing this is a perfect quick read.
]]>
<![CDATA[Designing Data-Intensive Applications]]> 23463279

In this practical and comprehensive guide, author Martin Kleppmann helps you navigate this diverse landscape by examining the pros and cons of various technologies for processing and storing data. Software keeps changing, but the fundamental principles remain the same. With this book, software engineers and architects will learn how to apply those ideas in practice, and how to make full use of data in modern applications.


Peer under the hood of the systems you already use, and learn how to use and operate them more effectively
Make informed decisions by identifying the strengths and weaknesses of different tools
Navigate the trade-offs around consistency, scalability, fault tolerance, and complexity
Understand the distributed systems research upon which modern databases are built
Peek behind the scenes of major online services, and learn from their architectures]]>
562 Martin Kleppmann Allisonperkel 4
]]>
4.71 2015 Designing Data-Intensive Applications
author: Martin Kleppmann
name: Allisonperkel
average rating: 4.71
book published: 2015
rating: 4
read at: 2020/12/21
date added: 2020/12/21
shelves: non-fiction, programming, software-architecture, tech
review:
Solid book on how to think about the problems you’re trying to solve as well as how data architectures work at the theoretical level. The last chapter was forward looking and while ok, it didn’t feel quite in line with the rest of the book.


]]>
<![CDATA[Beyond Software Architecture: Creating and Sustaining Winning Solutions]]> 224132 352 Luke Hohmann 0201775948 Allisonperkel 2
However if you are newish to what to consider when building software this book does give a decent checklist of non software considerations. You’ll need to just verify the advice given is still good. ]]>
3.69 2003 Beyond Software Architecture: Creating and Sustaining Winning Solutions
author: Luke Hohmann
name: Allisonperkel
average rating: 3.69
book published: 2003
rating: 2
read at: 2020/11/11
date added: 2020/11/11
shelves: non-fiction, software-architecture
review:
This book is out of date and it shows. The main areas are good ideas to look at but the details ... there is a lot of fluff and it’s quite behind the curve even for 2008. This may be why I didn’t finish the book earlier.

However if you are newish to what to consider when building software this book does give a decent checklist of non software considerations. You’ll need to just verify the advice given is still good.
]]>
<![CDATA[Building Event-Driven Microservices: Leveraging Organizational Data at Scale]]> 51163447 321 Adam Bellemare 1492057894 Allisonperkel 5
]]>
3.67 Building Event-Driven Microservices: Leveraging Organizational Data at Scale
author: Adam Bellemare
name: Allisonperkel
average rating: 3.67
book published:
rating: 5
read at: 2020/11/10
date added: 2020/11/10
shelves: non-fiction, programming, software-architecture
review:
Solid overview on the questions to ask and design patterns to consider when building event driven micro serves. I particularly love that there is no one size fits all approach that’s so critical to how we build world class software.


]]>
<![CDATA[Software Wasteland: How the Application-Centric Mindset is Hobbling our Enterprises]]> 38744362 251 Dave McComb 1634623177 Allisonperkel 3
He does correctly call out that CI/CD is a path to a new way of viewing software development. I'll even go a step further than the author: TDD combined with CI/CD and a strong devOps culture changes the game for software quality and development. However it still doesn't solve the scale, scope, and "monolithic micro services" issues that engulf the industry. ]]>
4.02 Software Wasteland: How the Application-Centric Mindset is Hobbling our Enterprises
author: Dave McComb
name: Allisonperkel
average rating: 4.02
book published:
rating: 3
read at: 2020/07/01
date added: 2020/07/01
shelves: non-fiction, software-architecture, tech
review:
I wanted to put this book down and just stop reading it after the first 20% of the book but the author actually has a lot of good points and ways to think about modern software design. Still, the author really has an ax to grind and that comes thru. I also have immediate distrust of anyone who uses "lean" and "software development" together in a positive way (if you are curious, please ask me why your MVP sucks).

He does correctly call out that CI/CD is a path to a new way of viewing software development. I'll even go a step further than the author: TDD combined with CI/CD and a strong devOps culture changes the game for software quality and development. However it still doesn't solve the scale, scope, and "monolithic micro services" issues that engulf the industry.
]]>
<![CDATA[Accelerate: Building and Scaling High Performing Technology Organizations]]> 35747076 288 Nicole Forsgren 1942788339 Allisonperkel 5
It is a game changing intro if you are relatively new to dev ops.

The chapter from ING could have been skipped though. ]]>
4.03 Accelerate: Building and Scaling High Performing Technology Organizations
author: Nicole Forsgren
name: Allisonperkel
average rating: 4.03
book published:
rating: 5
read at: 2019/08/05
date added: 2019/08/08
shelves: management, non-fiction, programming, software-architecture, tech
review:
While there is nothing new in this book, the presentation is solid and the math/process is really laid out for all to see.

It is a game changing intro if you are relatively new to dev ops.

The chapter from ING could have been skipped though.
]]>
<![CDATA[Software Security: Building Security In]]> 760789 --Bruce Schneier, CTO and founder, Counterpane, and author of Beyond Fear and Secrets and Lies "McGraw's book shows you how to make the 'culture of security' part of your development lifecycle."
--Howard A. Schmidt, Former White House Cyber Security Advisor "McGraw is leading the charge in software security. His advice is as straightforward as it is actionable. If your business relies on software (and whose doesn't), buy this book and post it up on the lunchroom wall."
--Avi Rubin, Director of the NSF ACCURATE Center; Professor, Johns Hopkins University; and coauthor of Firewalls and Internet Security Beginning where the best-selling book Building Secure Software left off, Software Security teaches you how to put software security into practice.The software security best practices, or touchpoints, described in this book have their basis in good software engineering and involve explicitly pondering security throughout the software development lifecycle. This means knowing and understanding common risks (including implementation bugsand architectural flaws), designing for security, and subjecting all software artifacts to thorough, objective risk analyses and testing. Software Security is about putting the touchpoints to work for you. Because you can apply these touchpoints to the software artifacts you already produce as you develop software, you can adopt this book's methods without radically changing the way you work. Inside you'll find detailed explanations of In addition to the touchpoints, Software Security covers knowledge management, training and awareness, and enterprise-level software security programs. Now that the world agrees that software security is central to computer security, it is time to put philosophy into practice. Create your own secure development lifecycle by enhancing your existing software development lifecycle with the touchpoints described in this book. Let this expert author show you how to build more secure software by building security in.]]>
448 Gary McGraw 0321356705 Allisonperkel 4
Based on the number of breaches still happening, even outdated, this book is highly valuable.

Note the writing is dry (with occasional bits of buying humor) and if you have good dev processes in place, there are chapters you can skip. ]]>
3.68 2006 Software Security: Building Security In
author: Gary McGraw
name: Allisonperkel
average rating: 3.68
book published: 2006
rating: 4
read at: 2016/09/22
date added: 2016/09/25
shelves: non-fiction, management, programming, software-architecture
review:
Still a great read even though it's dated. However, if you haven't thought about software security or the process of building software, this isn't a bad introduction.

Based on the number of breaches still happening, even outdated, this book is highly valuable.

Note the writing is dry (with occasional bits of buying humor) and if you have good dev processes in place, there are chapters you can skip.
]]>
<![CDATA[AWS Lambda: A Guide to Serverless Microservices]]> 28183803 127 Matthew Fuller Allisonperkel 4 3.83 AWS Lambda: A Guide to Serverless Microservices
author: Matthew Fuller
name: Allisonperkel
average rating: 3.83
book published:
rating: 4
read at: 2016/06/23
date added: 2016/06/29
shelves: tech, programming, software-architecture
review:
Finally got to this book as it's been on my queue for a bit. It's quite good and has solid examples. Slightly dated but the best books are these days.
]]>
<![CDATA[Effective MySQL Optimizing SQL Statements (Oracle Press)]]> 19255916
Identify the essential analysis commands for gathering and diagnosing issuesLearn how different index theories are applied and represented in MySQLPlan and execute informed SQL optimizationsCreate MySQL indexes to improve query performanceMaster the MySQL query execution planIdentify key configuration variables that impact SQL execution and performanceApply the SQL optimization lifecycle to capture, identify, confirm, analyze, and optimize SQL statements and verify the resultsImprove index utilization with covering indexes and partial indexesLearn hidden performance tips for improving index efficiency and simplifying SQL statements]]>
185 Ronald Bradford 007178280X Allisonperkel 4 software-architecture, tech 3.83 2011 Effective MySQL Optimizing SQL Statements (Oracle Press)
author: Ronald Bradford
name: Allisonperkel
average rating: 3.83
book published: 2011
rating: 4
read at: 2013/12/20
date added: 2013/12/20
shelves: software-architecture, tech
review:

]]>
<![CDATA[NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence]]> 13610343 192 Pramod J. Sadalage 0321826620 Allisonperkel 5 4.12 2012 NoSQL Distilled: A Brief Guide to the Emerging World of Polyglot Persistence
author: Pramod J. Sadalage
name: Allisonperkel
average rating: 4.12
book published: 2012
rating: 5
read at: 2013/08/11
date added: 2013/08/11
shelves: programming, software-architecture, tech
review:
Solidly written overview of the NoSQL landscape. This is a great book for those trying to figure out their path forward.
]]>
<![CDATA[Big Data Now: Current Perspectives from O'Reilly Radar]]> 12491550 137 O'Reilly Radar Team 1449315496 Allisonperkel 2 3.33 2011 Big Data Now: Current Perspectives from O'Reilly Radar
author: O'Reilly Radar Team
name: Allisonperkel
average rating: 3.33
book published: 2011
rating: 2
read at:
date added: 2013/07/07
shelves: programming, software-architecture, non-fiction
review:

]]>
Java Concurrency in Practice 127932 --Martin Buchholz
JDK Concurrency Czar, Sun Microsystems

"For the past 30 years, computer performance has been driven by Moore's Law; from now on, it will be driven by Amdahl's Law. Writing code that effectively exploits multiple processors can be very challenging. Java Concurrency in Practice provides you with the concepts and techniques needed to write safe and scalable Java programs for today's--and tomorrow's--systems."
--Doron Rajwan
Research Scientist, Intel Corp

"This is the book you need if you're writing--or designing, or debugging, or maintaining, or contemplating--multithreaded Java programs. If you've ever had to synchronize a method and you weren't sure why, you owe it to yourself and your users to read this book, cover to cover."
--Ted Neward
Author of Effective Enterprise Java

"Brian addresses the fundamental issues and complexities of concurrency with uncommon clarity. This book is a must-read for anyone who uses threads and cares about performance."
--Kirk Pepperdine
CTO, JavaPerformanceTuning.com

"This book covers a very deep and subtle topic in a very clear and concise way, making it the perfect Java Concurrency reference manual. Each page is filled with the problems (and solutions!) that programmers struggle with every day. Effectively exploiting concurrency is becoming more and more important now that Moore's Law is delivering more cores but not faster cores, and this book will show you how to do it."
--Dr. Cliff Click
Senior Software Engineer, Azul Systems

"I have a strong interest in concurrency, and have probably written more thread deadlocks and made more synchronization mistakes than most programmers. Brian's book is the most readable on the topic of threading and concurrency in Java, and deals with this difficult subject with a wonderful hands-on approach. This is a book I am recommending to all my readers of The Java Specialists' Newsletter, because it is interesting, useful, and relevant to the problems facing Java developers today."
--Dr. Heinz Kabutz
The Java Specialists' Newsletter

"I've focused a career on simplifying simple problems, but this book ambitiously and effectively works to simplify a complex but critical subject: concurrency. Java Concurrency in Practice is revolutionary in its approach, smooth and easy in style, and timely in its delivery--it's destined to be a very important book."
--Bruce Tate
Author of Beyond Java

" Java Concurrency in Practice is an invaluable compilation of threading know-how for Java developers. I found reading this book intellectually exciting, in part because it is an excellent introduction to Java's concurrency API, but mostly because it captures in a thorough and accessible way expert knowledge on threading not easily found elsewhere."
--Bill Venners
Author of Inside the Java Virtual Machine

Threads are a fundamental part of the Java platform. As multicore processors become the norm, using concurrency effectively becomes essential for building high-performance applications. Java SE 5 and 6 are a huge step forward for the development of concurrent applications, with improvements to the Java Virtual Machine to support high-performance, highly scalable concurrent classes and a rich set of new concurrency building blocks. In Java Concurrency in Practice , the creators of these new facilities explain not only how they work and how to use them, but also the motivation and design patterns behind them.

However, developing, testing, and debugging multithreaded programs can still be very difficult; it is all too easy to create concurrent programs that appear to work, but fail when it matters most: in production, under heavy load. Java Concurrency in Practice arms readers with both the theoretical underpinnings and concrete techniques for building reliable, scalable, maintainable concurrent applications. Rather than simply offering an inventory of concurrency APIs and mechanisms, it provides design rules, patterns, and mental models that make it easier to build concurrent programs that are both correct and performant.

This book covers:


Basic concepts of concurrency and thread safety Techniques for building and composing thread-safe classes Using the concurrency building blocks in java.util.concurrent Performance optimization dos and don'ts Testing concurrent programs Advanced topics such as atomic variables, nonblocking algorithms, and the Java Memory Model]]>
432 Brian Goetz 0321349601 Allisonperkel 5 4.47 2005 Java Concurrency in Practice
author: Brian Goetz
name: Allisonperkel
average rating: 4.47
book published: 2005
rating: 5
read at: 2010/02/13
date added: 2010/02/13
shelves: programming, software-architecture, non-fiction
review:

]]>
<![CDATA[Beautiful Data: The Stories Behind Elegant Data Solutions (Theory In Practice, #31)]]> 6492189
With Beautiful Data , you That's only small sample of what you'll find in Beautiful Data . For anyone who handles data, this is a truly fascinating book. Contributors ]]>
384 Toby Segaran 0596157118 Allisonperkel 4
First a disclaimer; I am not a data person. However I've been involved, fairly heavily, in the data field. In the parlance of the world, I'm a back end person. However I'm always trying to think about the front end; how will things be used and what information can we gleen from the system (or systems). With that in mind, this is a book that speaks to me - its all about the front end.

Some of the best essays in the book would be:

The first essay by Nathan Yau he talks very much about user created data and personal databases (knowledge bases). What's exciting here is how he takes data already out there, data you have provided, and creates something useful and yes, beautiful, out of it.

The Second essay by Follett and Holm really gets down to how if you want the data, you need to present it in a way that brings people into the process. As someone who has a slight crush on the statistics and practices in polling (and designing poll questions) this essay really was a fascinating read.

The third essay by Hughes detailed how he handled images on the Mars mission. There wasn't anything here that wasn't done in embedded systems 15 years ago; still it was a great walk down memory lane since I used to program embedded imaging systems.

Chapter 4 really hit home PNUTShell is cloud storage and data processing in real time. This really is the stuff of the future.

Chapter 5 by Jeff Hammerbacher really didn't offer too many insights but his writing style is fluid and fun plus he offered a glimpse into how Facebook grew.

We then have the slow section of the book - Chapter 8 on distributed social data had promise but it read more like a company white page than an interesting article. Same with Chapter 12 and sense.us.

Thankfully chapter 10 on Radiohead's "House of Cards" video was there - and here we are presented with true beauty in data - beautiful enough to create a music video out of!

I'm still on the fence with Chapter 13 - What Data Doesn't Do. It was an interesting chapter but it felt both too long and too short at the same time. I almost felt that in the author, Coco Krumme, were to write a book on this topic, I'd want to read it. However her essay was not the right vehicle.

Finally, the last chapter - "Connecting Data" was a truly inspiring piece; one that offers up paths for the future. I am sure a few start ups will form over the questions posed in by Segaran (or maybe the questions to the questions).

Overall there were enough strengths to overcome the weak chapters. My main complaints are trivial; poor binding of the book, too many PhD candidate papers and not enough from out in the trenches. I'd love to see something from Stonebreaker here; its hard to talk about beautiful data and not have him in it. Or forget Sense.us and talk about many eyes. Or map reduce. Still, "Beautiful Data" succeeds. It opened up my mind to different possibilities for data representation and usage.
]]>
3.67 2009 Beautiful Data: The Stories Behind Elegant Data Solutions (Theory In Practice, #31)
author: Toby Segaran
name: Allisonperkel
average rating: 3.67
book published: 2009
rating: 4
read at: 2009/10/11
date added: 2009/10/11
shelves: non-fiction, programming, software-architecture
review:
"Beautiful Data" is a collection of essays on data; how people have transformed it, worked within its confines, and offers a glimpse of where we might go. Many of the essays are wonderful snippets into how some people perceive data while others fall flat. Overall its a mostly enjoyable read that helps open up your mind to new potentials.

First a disclaimer; I am not a data person. However I've been involved, fairly heavily, in the data field. In the parlance of the world, I'm a back end person. However I'm always trying to think about the front end; how will things be used and what information can we gleen from the system (or systems). With that in mind, this is a book that speaks to me - its all about the front end.

Some of the best essays in the book would be:

The first essay by Nathan Yau he talks very much about user created data and personal databases (knowledge bases). What's exciting here is how he takes data already out there, data you have provided, and creates something useful and yes, beautiful, out of it.

The Second essay by Follett and Holm really gets down to how if you want the data, you need to present it in a way that brings people into the process. As someone who has a slight crush on the statistics and practices in polling (and designing poll questions) this essay really was a fascinating read.

The third essay by Hughes detailed how he handled images on the Mars mission. There wasn't anything here that wasn't done in embedded systems 15 years ago; still it was a great walk down memory lane since I used to program embedded imaging systems.

Chapter 4 really hit home PNUTShell is cloud storage and data processing in real time. This really is the stuff of the future.

Chapter 5 by Jeff Hammerbacher really didn't offer too many insights but his writing style is fluid and fun plus he offered a glimpse into how Facebook grew.

We then have the slow section of the book - Chapter 8 on distributed social data had promise but it read more like a company white page than an interesting article. Same with Chapter 12 and sense.us.

Thankfully chapter 10 on Radiohead's "House of Cards" video was there - and here we are presented with true beauty in data - beautiful enough to create a music video out of!

I'm still on the fence with Chapter 13 - What Data Doesn't Do. It was an interesting chapter but it felt both too long and too short at the same time. I almost felt that in the author, Coco Krumme, were to write a book on this topic, I'd want to read it. However her essay was not the right vehicle.

Finally, the last chapter - "Connecting Data" was a truly inspiring piece; one that offers up paths for the future. I am sure a few start ups will form over the questions posed in by Segaran (or maybe the questions to the questions).

Overall there were enough strengths to overcome the weak chapters. My main complaints are trivial; poor binding of the book, too many PhD candidate papers and not enough from out in the trenches. I'd love to see something from Stonebreaker here; its hard to talk about beautiful data and not have him in it. Or forget Sense.us and talk about many eyes. Or map reduce. Still, "Beautiful Data" succeeds. It opened up my mind to different possibilities for data representation and usage.

]]>
<![CDATA[Cloud Application Architectures: Building Applications and Infrastructure in the Cloud]]> 6391005
While analysts hotly debate the advantages and risks of cloud computing, IT staff and programmers are left to determine whether and how to put their applications into these virtualized services. Cloud Application Architectures provides answers -- and critical guidance -- on issues of cost, availability, performance, scaling, privacy, and security.

With Cloud Application Architectures , you will: To provide realistic examples of the book's principles in action, the author delves into some of the choices and operations available on Amazon Web Services, and includes high-level summaries of several of the other services available on the market today.

Cloud Application Architectures provides best practices that apply to every available cloud service. Learn how to make the transition to the cloud and prepare your web applications to succeed.]]>
204 George Reese 0596156367 Allisonperkel 4
Starting in the first chapter, Mr Reese begins with his definition of cloud:
1) it must be accessible from a web browser or web service api (non proprietary)
2) 0 capital expenditure to start
3) you pay for only what you use

These simple statements provide the baseline for the rest of the book.

From here he dives right into the meat of the matter. The majority of the book details the things you, and your organization, will need to keep in mind as you move, or contemplate the cloud. Some of this is very obvious; cost of ownership, security, disaster recovery, hardware costs, backup, scaling, etc but Mr Reese pulls out the threads that make the cloud different: both in good ways and bad.

For example, a new wrinkle for cloud is what happens when your cloud provider goes out of business or has a poorly worded injunction exposing all their data (including yours) to the federal government? This is not something you worry about when you own the servers. Mr Reese elegantly explains how you can make this something you don't need to worry about even in the cloud; as long as you use some type of encryption.

Another example of where the cloud provides a potentially huge win would be in disaster recovery. Here a cloud provider provides redundancy of location and with virtual machines you should be easily able to get your system up and running again fairly quickly as long as you've taken the proper precautions (snapshots and a sane backup strategy).

Throughout the entire book, he really drills in security in the cloud. In several of the chapters, not including the security chapter, he keeps coming back to how the little things you do in your design can have a huge impact on your overall security. This is a major worry point and a barrier of entry point for many and Mr Reese spends just the right amount of time explaining how you can truly mitigate the security risks.

Another thread that runs throughout the book is scaling your application. This, to me, is one of the bread and butter wins of cloud computing. Mr Reese talks to some designs that work, and some that don't, when it comes to scaling. While all scaling talk is high level, I believe he succeeds in getting you the reader, to know what questions to ask in your next architecture meeting.

The book is a great overview and it focuses you to ask the right questions when you are dealing with cloud computing. Especially on the Amazon system. Mr Reese takes great pains to point out that yes, he is biased in talking about Amazon since that what he knows. Two appendices do talk about GoGrid and RackSpace but those read more like slick marketing glossies. And that's one of the two failings of the book. The other minor quibble is that a few times Mr Reese tries to go into detail about how something is done on the Amazon cloud (especially EC2 and S3). This is a mistake given how high level this book is. The appendix on the EC2 instructions also seem a little out of place. However these are minor quibbles.

If you are looking for a great introduction to the cloud, what it is and how to think about it, then this is the book for you. If you are looking for something to help you program, interact and learn the API for say Amazon, this is not the book for you. ]]>
3.02 2009 Cloud Application Architectures: Building Applications and Infrastructure in the Cloud
author: George Reese
name: Allisonperkel
average rating: 3.02
book published: 2009
rating: 4
read at: 2009/09/18
date added: 2009/09/18
shelves: programming, software-architecture
review:
Mr Reese has taken on a loaded topic and in less 200 pages he succinctly gets his major points across on that most nebulous term; Cloud Computing.

Starting in the first chapter, Mr Reese begins with his definition of cloud:
1) it must be accessible from a web browser or web service api (non proprietary)
2) 0 capital expenditure to start
3) you pay for only what you use

These simple statements provide the baseline for the rest of the book.

From here he dives right into the meat of the matter. The majority of the book details the things you, and your organization, will need to keep in mind as you move, or contemplate the cloud. Some of this is very obvious; cost of ownership, security, disaster recovery, hardware costs, backup, scaling, etc but Mr Reese pulls out the threads that make the cloud different: both in good ways and bad.

For example, a new wrinkle for cloud is what happens when your cloud provider goes out of business or has a poorly worded injunction exposing all their data (including yours) to the federal government? This is not something you worry about when you own the servers. Mr Reese elegantly explains how you can make this something you don't need to worry about even in the cloud; as long as you use some type of encryption.

Another example of where the cloud provides a potentially huge win would be in disaster recovery. Here a cloud provider provides redundancy of location and with virtual machines you should be easily able to get your system up and running again fairly quickly as long as you've taken the proper precautions (snapshots and a sane backup strategy).

Throughout the entire book, he really drills in security in the cloud. In several of the chapters, not including the security chapter, he keeps coming back to how the little things you do in your design can have a huge impact on your overall security. This is a major worry point and a barrier of entry point for many and Mr Reese spends just the right amount of time explaining how you can truly mitigate the security risks.

Another thread that runs throughout the book is scaling your application. This, to me, is one of the bread and butter wins of cloud computing. Mr Reese talks to some designs that work, and some that don't, when it comes to scaling. While all scaling talk is high level, I believe he succeeds in getting you the reader, to know what questions to ask in your next architecture meeting.

The book is a great overview and it focuses you to ask the right questions when you are dealing with cloud computing. Especially on the Amazon system. Mr Reese takes great pains to point out that yes, he is biased in talking about Amazon since that what he knows. Two appendices do talk about GoGrid and RackSpace but those read more like slick marketing glossies. And that's one of the two failings of the book. The other minor quibble is that a few times Mr Reese tries to go into detail about how something is done on the Amazon cloud (especially EC2 and S3). This is a mistake given how high level this book is. The appendix on the EC2 instructions also seem a little out of place. However these are minor quibbles.

If you are looking for a great introduction to the cloud, what it is and how to think about it, then this is the book for you. If you are looking for something to help you program, interact and learn the API for say Amazon, this is not the book for you.
]]>