Skip to main content

2015 Reading List

So it's that time of year again when I look back over my goodreads list of books, and share the ones I've actually finished. Lots of good stuff this year, IMHO. If I had to pick, I think The Toyota Way and Holacracy are at the top of the list.

I'm a software developer, and I spend my days in the coding trenches. However I like to read about and understand the bigger picture, and how my work fits in with the rest of the company, and the rest of the world for that matter. Having said that, I'd read just about anything.

Lean Enterprise: How High Performance Organizations Innovate at Scale, Jez Humble, Joanne Molesky, Barry O'Reilly

The Toyota Way: 14 Management Principles from The World's Greatest Manufacturer, Jeffery Liker

Understanding the Four Rules of Simple Design, Corey Haines

A Brief History of Time, Stephen Hawking

The Tao of Pooh, Benjamin Hoff

Siddhartha, Hermann Hesse

Peace of Mind: Becoming Fully Present, Thich Nhat Hanh

Fish!: A Remarkable Way to Boost Morale and Improve Results, Stephen C. Lundin, Harry Paul, John Christensen, Kenneth H. Blanchard

Tribal Leadership: Leveraging Natural Groups to Build a Thriving Organization, Dave Logan

The 4 Disciplines of Execution: Achieving Your Wildly Important Goals, Sean Covey, Chris McChesney, Jim Huling

A Simpler Way, Margaret J. Wheatley, Myron Kellner-Rogers

Delivering Happiness: A Path to Profits, Passion and Purpose, Tony Hsieh

Reinventing Organizations: A Guide to Creating Organizations Inspired by the Next Stage of Human Consciousness, Frederic Laloux, Ken Wilber

Holacracy: The New Management System for a Rapidly Changing World, Brian J. Robertson

Mindset: The New Psychology of Success, Carol S Dweck

Switch: How to Change Things When Change is Hard, Chip Heath, Dan Heath

Start with Why, Simon Sinek

How to See Yourself as You Really Are, His Holiness the Dalai Lama

Quality is Free, Philip Crosby

Conscious Business: How to Build Value Through Values, Fred Kofman

Soft Skills: The software developers life manual, John Sommez

Fierce Conversations: Achieving Success at Work and in Life One Conversation at a Time, Susan Scott, Kenneth H. Blanchard

Agile!: The Good, The Hype, and The Ugly, Bertrand Myer

The Software Craftsman: Professionalism, Pragmatism, Pride, Sandro Mancuso

The Tao of Zen, Ray Grigg

Comments

Popular posts from this blog

Generating Java Mixed Mode Flame Graphs

Overview I've seen Brendan Gregg's talk on generating mixed-mode flame graphs and I wanted to reproduce those flamegraphs for myself. Setting up the tools is a little bit of work, so I wanted to capture those steps. Check out the Java in Flames post on the Netflix blog for more information.

I've created github repo (github.com/jerometerry/perf)  that contains the scripts used to get this going, including a Vagrantfile, and JMeter Test Plan.

Here's a flame graph I generated while applying load (via JMeter) to the basic arithmetic Tomcat sample application. All the green stacks are Java code, red stacks are kernel code, and yellow stacks are C++ code. The big green pile on the right is all the Tomcat Java code that's being run.


Tools Here's the technologies I used (I'm writing this on a Mac).
VirtualBox 5.1.12Vagrant 1.9.1bento/ubuntu-16.04 (kernel 4.4.0-38)Tomcat 7.0.68JMeter 3.1OpenJDK 8 1.8.111linux-tools-4.4.0-38linux-tools-commonBrendan Gregg's Fla…

Basic Web Performance Testing With JMeter and Gatling

Introduction In this post I'll give a quick way to get some basic web performance metrics using both JMeter and Gatling.

JMeter is a well known, open source, Java based tool for performance testing. It has a lot of features, and can be a little confusing at first. Scripts (aka Test Plans), are XML documents, edited using the JMeter GUI.  There are lots of options, supports a wide variety of protocols, and produces some OK looking graphs and reports.

Gatling is a lesser known tool, but I really like it. It's a Scala based tool, with scripts written in a nice DSL. While the scripts require some basic Scala, they are fairly easy to understand and modify. The output is a nice looking, interactive, HTML page.
Metrics Below are the basic metrics gathered by both JMeter and Gatling. If you are just starting performance testing, these might be a good starting point.

Response Time – Difference between time when request was sent and time when response has been fully received

Latency –…

Multi Threaded NUnit Tests

Recently I needed to reproduce an Entity Framework deadlock issue. The test needed to run in NUnit, and involved firing off two separate threads. The trouble is that in NUnit, exceptions in threads terminate the parent thread without failing the test.

For example, here's a test that starts two threads: the first thread simply logs to the console, while the other thread turfs an exception. What I expected was that this test should fail. However, the test actually passes.

readonly ThreadStart[] delegates = { () => { Console.WriteLine("Nothing to see here"); }, () => { throw new InvalidOperationException("Blow up"); } }; [Test] public void SimpleMultiThreading() { var threads = delegates.Select(d => new Thread(d)).ToList(); foreach (var t in threads) { t.Start(); } foreach (var t in threads) { t.Join(); } }
Peter Provost posted an article that describes how to make this test fail. It works…