Darryl Gove's blog
Developer's Edge safari rerelease
We've just pushed a new version of The Developer's Edge to safari. The original version didn't show any of the text from each section of the book unless you logged into the safari site. The new version shows the snippet from each section even if you're not a subscriber.
I was pleased to see that the book is featured on the Sun Studio developer portal.
I'm also scheduled to give a second life presentation during JavaOne at 9am PST on the 3rd June.
Posted at 02:01PM May 19, 2009 by Darryl Gove in Sun |
Computer organization and design
Just returned from Europe - customer visits and the OpenSPARC workshop in Brussels. Since I was doing a fair amount of air travel I took a number of books. With good timing, I'd just got a copy of Patterson & Hennessy's Computer Organisation and Design.
The book is certainly an interesting read. Although there are various ways you might read the book - or various lessons you might extract from it, I took it as basically a book that describes how to build a MIPS processor. Much of the work I do is at the hardware-software border, so I found it useful to read around the domain a bit more. The book is a relatively easy read, lots of detail (which I didn't need to memorise), and a nice pace that builds up from a simple core into a more complete implementation of a processor. The book has a chapter on multicore, but this was not treated to the same depth. There's also some material about GPUs, and that also didn't fit very well.
Posted at 01:28PM Apr 30, 2009 by Darryl Gove in Sun |
The Developer's Edge - Hardcopy updated
The cover art for The Developer's Edge has been updated. You can see this on the Amazon picture, which now agrees with the one on the left of this blog.
Posted at 12:00AM Apr 03, 2009 by Darryl Gove in Sun |
The Developer's Edge available in hardcopy
The Developer's Edge is now available as hardcopy!
It is being made available as print-on-demand. You can either order through the publisher Vervante, or you can order through Amazon.
However, I suggest you wait until next week before ordering as the current cover art is not the final version (you can play spot the difference between the image on the left and the one on the Vervante website). I'll post when it gets fixed. Of course, you can order the "limited-edition" version if you want 
I introduced the book in a previous post. I'll reproduce a bit more of the details in this post. The brief summary is:
The Developer's Edge: Selected Blog Posts and Articles focuses on articles in the following areas:
- Native language issues
- Performance and improving performance
- Specific features of the x86 and SPARC processors
- Tools that are available in the Solaris OS
The articles provide a broad overview on a topic, or an in-depth discussion. The texts should provide insights into new tools or new methods, or perhaps the opportunity to review a known domain in a new light.
You can get more details than this from the Safari site, either reading the preface or skimming the table of contents
I would love to hear feedback on this book, feel free to e-mail me directly, leave comments on amazon, or leave comments on this blog, or on the blogs of the other contributors.
Posted at 08:00AM Mar 27, 2009 by Darryl Gove in Sun |
OpenSPARC Internals book

The OpenSPARC Internals book has been released. This is available as a free (after registration) pdf or as a print-on-demand book. The book contains a lot of very detailed information about the OpenSPARC processors, and my contribution was a chapter about Sun Studio, tools, and developing for CMT.
Posted at 09:38AM Nov 05, 2008 by Darryl Gove in Sun | Comments[2]
Kindling
Solaris Application Programming is now available as a kindle book. I've not had the chance to try one of these things, but it seems like a perfect fit for reference books; a lot probably depends on the speed of the search - I rarely use technical books in a linear way.
Posted at 04:06PM Feb 26, 2008 by Darryl Gove in Sun |
Sample chapter from Solaris Application Programming available
There's a sample chapter from my book up on sun.com/books.
It's chapter 4 which is the chapter which discusses the tools that come with Solaris and Sun Studio. The chapter exists because I find that there are some tools that I use every day, and some tools that I might touch once a month, and some that I use even more rarely. The problems I hit are:
- What was the name of the tool which ....?
- What are the command line options to ...?
- Is there a tool to ....?
Obviously I hit the third problem very infrequently, but I'm sometimes surprised when I discover a tool which I'd previously never heard of which just happens to do exactly what I need. Anyway I hope you find the chapter useful. It's one of my two solutions to this problem.
The other solution is spot which attempts to collect all the data that you routinely need for performance analysis of an application. So it calls the other tools - so you don't need to know the commandlines, or the names of the tools. One of the things that should be noticeable with spot is that it has few commandline options. I was hoping that we'd end up with none, but some are inevitable; but those are really house-keeping options (where to put the report, what to call it). There's only -X which generates an extended report, given the time it can take to get the data, it seemed appropriate to do the high value stuff quickly with an option for the tool to take a longer time when the user specified that it was ok.
Posted at 10:07AM Jan 28, 2008 by Darryl Gove in Sun |
The book is here
Yesterday afternoon I got two copies of the Solaris Application Programming book. I'd been on edge for quite a few days, since they were supposed to be printed on the 21st. I've skimmed through it and it looks fine (I recently read this, old, post on Jim Mauro's blog about the first edition of Solaris Internals, so I was expecting the worst!).
Posted at 08:08AM Dec 29, 2007 by Darryl Gove in Sun | Comments[3]
Solaris Application Programming Table of Contents
A couple of folks requested that I post the table of contents for my book. This is the draft TOC, not the finished product. I assume that there will be a good correspondence, but the final version should definitely look neater.
Posted at 09:04AM Sep 28, 2007 by Darryl Gove in Sun | Comments[2]
Solaris Application Programming book
I'm thrilled to see that my book is being listed for pre-order on Amazon in the US. It seems to take about a month for it to travel the Atlantic to Amazon UK.
Posted at 02:03PM Sep 25, 2007 by Darryl Gove in Sun | Comments[2]
Outline of book for Solaris developers
It's probably useful to outline the contents of the book I'm working on. The book is meant as a resource for people coding for or on the Solaris platform, for either SPARC or x85/x64 processors. It falls into four main sections:
- Hardware. Solaris is supported on both x86/x64 and SPARC. Both processor families have different features and different assembly languages. But there's also a lot of commonality in processors (e.g. Caches, TLBs etc.). The first section of the book outlines common features of processors, and also the differences between the two families. It also covers particular implementations of the families (e.g. UltraSPARC T1 etc.) All this material is useful context and definitions for the material that follows later.
- Software. The software is Solaris and the tools that ship with it, the Sun Studio compilers, the performance profiling tools, and the debugging tools. In fact, there are tools for most questions that a developer could think of asking, the trick is to know that they exist and have some examples that demonstrate the use of the tools.
- Source code. Inevitably much of what the developer deals with is source code, and this section demonstrates how to use the available tools to identify, tune, and improve source code. The section has coverage of the topic of using performance counters to determine what's causing performance bottlenecks, and also of deriving metrics using performance counters. The section also covers using compiler options and source code modifications to improve performance.
- Multi-core. Almost all systems that are available today have more than one core. The challenge going forwards is to utilise these resources effectively and efficiently. This section focuses on the various approaches that can be used to leverage these resources, and the tools that can be used to diagnose and improve the code.
Posted at 09:05AM Aug 02, 2007 by Darryl Gove in Sun |
Snippet from book: cost of calling libraries
I've been working on a book about developing on Solaris, and I'm currently in the final stages of editing - which is a great feeling :) One of the strange things that happens at this stage is that material ends up being cut out. One of the sections that didn't make it was a discussion of the overhead of calling dynamic libraries rather than static libraries. The text is in a 'raw' format, and for some reason the document claims to have 4 pages, rather than the 3 that are there.
Posted at 09:58AM Jul 31, 2007 by Darryl Gove in Sun |



