Developing with Couchbase Server

catI’ve just completed my latest book, this time looking at the development side of using Couchbase Server for building applications. The book goes through the basics of the Couchbase Server data store, the mechanics of storing and using data, the API and operations available, and a quick overview of the different client libraries available for building applications.

With the core details out of the way, I move on to building a sample application using the PHP client library as the base, showing the different operations in context, and then looking at the indexing and query system for searching for data from Couchbase Server.

You can read more, and get the table of contents and description here: Developing with Couchbase Server

BeOS: Porting Unix Applications

Back in 1998 I wrote my first book, all about how to port Unix applications to what was then seen as a brand new operating system set to take on the world. BeOS was at the time seen as a revolutionary OS containing a number of radical features and departures from many of the traditional current operating systems, but with some new and improved functionality, like an improved GUI layer, better networking and subsystem interfaces, and a new filesystem.

At the time I’d spent a lot of time porting applications to HP-UX and Solaris, and took to BeOS immediately, which is when I was contacted about writing a book.

The history of the book development is unremarkable, but after troubles at the original publisher it was eventually published by Morgan Kaufmann. After some negotiation, I’ve now had the book copyright signed back over to me, and with the burgeoning Haiku community, I’ve decided to release the book freely under a Creative Commons licence.

You can download it here: Porting UNIX Applications.pdf

This is a rough-ish copy of the book, based on the original content I submitted over 15 years ago. It’s complete, and formatted but understandably quite dated. Please comment or email if you have changes of improvements that you would like to see.

Getting Started with Couchbase Server Published!

Extreme Scalability at Your FingertipsHaving not published a book in years, I’ve just published my second book in as many months. 

Getting Started with Couchbase Server provides an overview of the main administration and user information that you need to install, setup, manage, and develop against Couchbase Server. 

In the book, I’ve tried to cover the installation, and then the main admin tasks, such as rebalancing and expanding your cluster, along with backups and restore. 

Also in the book is some basic information on developing an application, including using the main operations and how you store and retreieve information in the cluster. 

The book is on Couchbase Server 1.8, so no views, but there should be enough for you get going. 

Get more information here.

Getting Started with CouchDB published!

I’ve just published my first book for a few years. The book is Getting Started with CouchDB with O’Reilly.

The book is a quick guide to everything you need to know to start working with and building applications with CouchDB. 

Some highlights of the contents:

  • Install CouchDB on Linux, Mac OS X, Windows, or (if you must) from the source code
  • Interact with data through CouchDB’s RESTful API, and use standard HTTP operations, such as PUT, GET, POST, and DELETE
  • Use Futon—CouchDB’s web-based interface— to manage databases and documents, and to configure replications
  • Learn how to create, update, and delete documents in JSON format, and how to create and delete databases
  • Work with design documents to get the formatting and indexing your application requires


Understanding MySQL Internals

Sash Pachev has written a new guide on Understanding MySQL Internals for O’Reilly. I was one of the technical reviewers on this book and can tell you that it makes a good read if you want to understand more of what is going on under the hood in MySQL. There’s a lot to cover, for example the pluggable storage engine archtiecture, how queries are parsed and executed, and how individual storage engines work. The book is compact, but very readable, and worth a look if you any interest in how databases are programmed, or are thinking about building your own storage engine to plug into MySQL.

LoCA 2006 Keynote

As previously announced, I presented the keynote at LoCA 2006. The keynote was on Google Maps and Google Earth, related to the new book which I just announced on the book’s new companion website. I’d like to think that the presentation went well – we started late (due to Dublin traffic, the attendees had trouble getting in – my taxi, by comparison, got us there an hour early), but we finished even later as the questions and queries came thick and fast. We had a taxi booked at 11:00am to take us to the airport, but by 11:15am my wife had to come and collect me to ensure we made it for the flight.If any LoCA attendees want to comment, please feel free!As to the book – and apologies to those from LoCA who I instructed to visit this site for more information – I’m just in the process of organizing the examples and downloadable book content today.

LoCA 2006 Keynote

I will be doing the opening keynote presentation for the 2nd International Workshopo on Location and Context-Awareness (LoCA 2006) in Dublin, on May 10th. The focus of the keynote is Google Maps and Google Earth, which of course ties in nicely to my new book, Hacking Google Maps and Google Earth. I’ll be announcing that book properly once it’s all been finalized, at the moment we’re going through the final stages of editing and proofing. There is however a website dedicated to the new book (and mapping technology/Google Maps etc in general) called MCslp Maps. I;ll be posting up the examples and the code from the book over the next two weeks. Back to LoCA 2006, it looks like an interesting workshop, covering issues from Google Maps style location and information through to the identification and location of smaller items, like computers and hardware within offices. Registration is still open, but if you are unable to attend, I’ll probably be posting up the keynote after the conference.

Agile Web Development with Rails

My review of Agile Web Development with Rails (by Dave Thomas and David Heinemeier Hansson with Leon Breedt, Mike Clark, Thomas Fuchs, and Andreas Schwarz) has just made it to the the front page of Free Software Magazine. It’s an excellent guide to programming Ruby and Rails and if you want to do any kind of web development and are tiring of the tradtional web programming environments. The full review is readale on line.

Randal Schwartz’s Perls of Wisdom

If you don’t associate Randal Schwartz with Perl then you obviously don’t know how much of an influence Randal has been in spreading the Perl gospel. Randal has been talking about Perl for years, writing articles and contributing to books like the ‘Camel’ (Programming Perl, from O’Reilly). He’s also contributed to the built-in documentation and has worked with the internals of Perl and built various modules and examples. In short, when it comes to Perl, there’s little that Randal either isn’t aware of, or hasn’t already written about. Hia book, Perls of Wisdom, is a collection of the articles that he’s written over the years that look at specific problems or issues that users have asked him to solve with Perl. Mostly, these are reprints of the original article, but sometimes they have been updated. In all cases you get more than just the scrip that solves the problem, you also get the theory behind it, detailed information on the problem and issues being addressed, and some potential ways to extend it. For more details, read the full review of the book at Free Software Magazine.