zzamboni.org
Ideally Blue

zzamboni.org
Ideally Blue

Apr 27 / 8:30am

CFEngine talks at PICC'12 conference

There will be several CFEngine-related classes and talks at the PICC'12 conference (Professional IT Community Conference) on May 11-12th, in New Jersey. I will be talking about using CFEngine as part of your security infrastructure. My colleague Joe Netzel will be talking about migration from CFEngine 2 to CFEngine 3, so if you are using CF2 and have been considering (or dreading) the migration, make sure to come by! Aleksey Tsalolikhin will give an introductory class to CFEngine. And Mark Burgess will give a class not related to CFEngine, but to the perils and skills needed to survive as a technical person in the "business world".

If you are coming to the conference, we look forward to seeing you there!

Filed under  //  announcements   cfengine   picc12   talks  
Mar 26 / 12:01am

Purdue at Night

I am at Purdue to give a CFEngine talk and visit some old colleagues, here are some photos I took during a night walk right after checking into my hotel. I graduated in 2001, and the last time I visited was almost 10 years ago. Time really flies, there are many new things in campus (including the shiny new Computer Science Building, which I had never seen), but so many others remain unchanged. It's awesome to be back.

(download)

Filed under  //  photos   purdue  
Mar 24 / 1:23am

Learning CFEngine 3 has been released

I am ecstatic to announce that the book is now officially released!

I am so happy :-)

Filed under  //  announcements   book   cfengine   oreilly  
Mar 15 / 5:05pm

Analytics put to a good cause

Well, here's a good use of web analytics. From LinkedIn:

Seeing a lot of daily digests piling up?

Diego, we noticed you haven't visited <some group in which I'm only slightly interested> 
lately. To help keep your email tidy, we've switched you from daily emails to weekly digests from this group - we hope this suits you better!

Actually useful.
Jan 25 / 9:54am

Changing "message:" protocol handler from Sparrow back to Mail.app

After using Sparrow for a while, I have decided to switch back to Mail.app. However, even after setting my default email client to Mail.app, all my message: links (for example, from messages dragged from Mail.app into Things) were opening in Sparrow.

After some experimentation, I figured out what happened: I switched the default email client from Sparrow to Mail using Mail's preference panel:

Pastedgraphic-1

Apparently this switches the application for the mailto: protocol, but not for message:, nor for .eml files. The solution was to use Sparrow's preference panel to set it again as the default email client, and then disable it. Then Sparrow correctly sets all the protocol handlers back to their default values.

Pastedgraphic-2
Filed under  //  macosx   mail   sparrow   tips  
Jan 4 / 1:16pm

CFEngine posts moving to cf-learn.info

I have been blogging about CFEngine here for a while (it's my most frequent tag). As of now, I'm starting to post all CFEngine-related posts to http://blog.cf-learn.info/, which is part of the web site for my book "Learning CFEngine 3". In this way, I intend to group all CFEngine-related content over there. I will still cross-post relevant things here, but if you want to stay fully up to date on my CFEngine writings, please subscribe over there as well.

I hope to see you around!
Filed under  //  announcements   blog   cf-learn   cfengine  
Dec 27 / 7:41pm

cf-cmd: A command-line tool for running CFEngine snippets

After building the typical "test bundle" scaffolding in an editor for the hundredth time, I decided to do something about it. The result is the cf-cmd command.

A little useful script I wrote for making it easier to test CFEngine code snippets. Follow the link to see the full details.

Filed under  //  cfengine   tools  
Dec 20 / 2:17am

Reading on multiple media

A couple of days ago I finished reading Steve Jobs by Walter Isaacson. I thoroughly enjoyed it (I may post a longer review later on, but I really liked learning the "behind the scenes" of much of what I witnessed from the outside over so many years).

With this book, for the first time, I decided to conduct an experiment. I got the book as an audiobook (from Audible, playing on my iPhone), as an ebook (using Kindle on my iPhone) and also the hardcover physical book. This allowed me to read the hardcover book when at home, to read the ebook whenever I was around and had some quiet time, or to listen to the audiobook when I was moving around (walking, driving, working out, etc.).

It worked quite well. Having multiple means of consuming the book allowed me to finish it in a shorter time, and also to experience the differences of each media type. Overall, for the sheer pleasure of reading, I think I still prefer reading on paper. But I really appreciate not having to carry the heavy book everywhere I go, and to be able to continue "reading" even when I could not focus my eyes on the book.

My one wish: synchronization! It would be great if the Kindle book and the Audible audiobook would synchronize among them, so that one would skip to wherever I stopped on the other (like what Kindle does when you read the same book across multiple devices).

Filed under  //  audible   books   kindle   reading   stevejobs  
Dec 15 / 2:22am

New website for "Learning CFEngine 3"

I'm happy to announce that the website for my book is now live at http://cf-learn.info/.

In this website you will find:

  • General information about the book. 
  • A discussion forum for any type of questions, feedback or suggestions about the book. 
  • Downloadable code examples from the book, plus (over time) many other new examples. 
  • List of Errata, and access to the Errata system at O'Reilly 
  • A blog devoted to the book and to CFEngine. 

The site is fairly empty at the moment (the blog, the forum and the errata page are live, I encourage you to participate, particularly if you have purchased the Early Release version of the book and want to provide any sort of feedback), but content will grow over time.

Check it out! And of course, let me know what you think.

Filed under  //  announcements   book   cf-learn   cfengine  
Dec 15 / 12:07am

Fix journal in an HFS+ file system

Yesterday my external Western Digital disk (which I use for Time Machine, among other things) stopped mounting automatically when I plug it in. This may *cough*definitely*cough*have something to do with me unmounting it forcefully while it was doing a backup, since I was in a hurry.

Disk Utility reported everything was OK with the disk, but it still failed to mount. Upon poking a bit deeper, I found these messages in the logs:

12/14/11 11:49:00.000 PM kernel: jnl: disk2s2: open: journal magic is bad (0x0 != 0x4a4e4c78)
12/14/11 11:49:00.000 PM kernel: hfs: late jnl init: failed to open/create the journal (retval 0).
12/14/11 11:49:00.000 PM kernel: hfs_mounthfsplus: hfs_late_journal_init returned (0)
12/14/11 11:49:00.000 PM kernel: hfs_mounthfsplus: encountered errorr (22)
12/14/11 11:49:00.000 PM kernel: hfs_mountfs: encountered failure 22 
12/14/11 11:49:00.000 PM kernel: hfs_mount: hfs_mountfs returned 22

Aha! Journal error. A bit of Google searching led me to this page, where one comment gave me the key:

root# mkdir /tmp/disk && mount_hfs -j /dev/disk2s2 /tmp/disk
root# diskutil disableJournal /tmp/disk
An error occurred journaling the file system: The underlying task reported failure on exit (-69860)
root# diskutil enableJournal /tmp/disk
Journaling was already enabled for volume Casa on disk2s2
root# diskutil unmount /tmp/disk
Volume Casa on disk2s2 unmounted

Despite the error in the "disableJournal" command, after this sequence the Finder was able to mount the disk, and things seem to be working fine. The trick in the first command is the -j option, since it allows the disk to be mounted (without journaling), so that the disableJournal/enableJournal commands can be issued.
Filed under  //  diskutil   hfs   macosx   tips