Awesome Conferences

Hi Philly folks!

I will be speaking at the Philadelphia area Linux Users' Group (PLUG) meeting on Wednesday night (Oct 1st). They meet at the University of the Sciences in Philadelphia (USP). My topic will be "Highlights from The Practice of Cloud System Administration" and I'll have a few copies of the book to give away.

For more info, visit their website:

Hope to see you there!

Someone recently asked me how the rise of the Internet has affected what books get published, specifically related to books about operating systems and other open source projects.

This is based on what I've been told by various publishers and is "conventional wisdom". Of course, an actual publisher may disagree or explain it differently, or have counterexamples.

This is the email I sent in reply:

One way that the internet has changed the book industry that is not well-known outside of publishing circles is that it has lead to the death of the reference book.

It used to be for every language or system, someone would make easy money printing a book that lists all the system calls, library calls, or configuration fields in a system. Each would be listed along with a definition, and sometimes a longer explanation or example. These reference books (and the easy profits from them) have disappeared because that's all on the web for free. For example, the entire standard Python library is documented on and is updated constantly. Why publish it in a book?

Another tier of books that have disappeared are the "getting started" books for open source projects. In an effort to better market themselves, open source projects have excellent tutorials online for free. Often they are interactive. (Check out the interactive Docker Tutorial and the Go Playground to see what I mean).

Part of what has caused this is the commercialization of open source projects. If you are selling support, your easiest sales are to people that already use the product and now need support. Therefore anything you do to expand the number of people using the product expands the number of potential customers for the support services. Therefore, a greedy company gives away any documentation related to how to get started as it increases their base of potential customers. This is quite radical if you think about it... when you sell commercial software you hide this information so you can sell "professional services" that help people get started. For them, the potential market is all the people that don't use the product already. (Footnote Simon Philips's keynote at LCA 2009 )

As a result, the books that can be printed and sold profitably now need to have have some kind of "culture" component (i.e. what we used to call "soft skills"), or are general education to bring people up to speed so they can understand what's already out there, or the "cookbook" style books that list situation after situation. Actually, I love the cookbook-style books because it is more likely that I'll serendipitously come across something new by reading all the examples in a row. If I don't understand the example at least I know where to turn if I ever find myself in that situation. If I do decypher the example enough to understand why it works, I've learned a lot about the system.

What should an OS vendor do? I think they should be the ones producing cookbooks and also facilitating user-generated cookbooks. The official cookbook is a good way to proscribe marketing-endorsed methods. However there is a much bigger need for user-generated cookbooks full of the niche situations that only users can come across. Vendors should facilitate, wiki-style, this kind of thing. They may fear that it is a tacit endorsement of methods they don't approve of, but they need to recognize that a user getting their needs fulfilled is higher priority than perfection.


P.S. I just realized that my employer's website, [ is just that kind of fulfillment. One of our sub-sites provides exactly that kind of "user-generated cookbook" with the ability to gently push people in the right direction. (Plug: other vendors could choose to partner with us rather than create a site from scratch.)

Posted by Tom Limoncelli

In NYC for Velocity?

If you are in NYC for Velocity, please check out my tutorial on Monday, "Office Hours" on Tuesday, book signing on Wednesday, or come to my book party on Wednesday night!

...or just stop me randomly in the hallway and say "hi!" I love meeting new people!

Posted by Tom Limoncelli

Sunday's "Brewster Rockit" comic strip explained bandwidth vs. latency better than I've ever seen is some text books:

When I interview anyone for a technical position I always ask them to explain the difference between bandwidth and latency. It is an important concept, especially in today's networked world. Years ago most candidates didn't know the difference. Lately most candidates I interview know the difference, but have a difficult time putting it into words. Fewer can explain it in a mathematical or scientific way.

Latency is how long information takes to get from one place to another. Bandwidth is how much data per second is sent. Suppose you are querying a database that is very far away. The time it takes the query to go to the server and for the reply to come back could be very long (say, 1 second). If you do 1,000 database queries and each time wait for the query to complete before moving on to the next one, the task will take 1,000 seconds. If you increase the bandwidth between the two points the speed improvement will be nil or next to nil because the time it takes for the information to travel outweighs the transmission time. However if you send all your queries one after the next, without waiting for the replies, then wait and catch all the replies as they arrive, the entire list of 1,000 queries might happen in a matter of seconds. However, if you can't do the second query until you have information from the first query (say, the first query looks up a person's ID number and the second query uses the ID number as part of the query) you have to find some other optimization or you will simply have to wait 1,000 seconds for the entire process to run.

One situation I give the candidate is that they are dealing with a developer or manager that can't understand why doubling the bandwidth between the NYC office and Australia won't improve performance of a particular technical issue. Whether the candidate is a software developer, operations engineer/sysadmin, or desktop support engineer, there is a good chance they will find themselves in this situation. I roleplay as the person that needs the explanation and ask dumb questions. The candidate should be able to give a reasonable explanation in a couple minutes.

Maybe next time I should just ask them if they read Brewster Rockit.

Posted by Tom Limoncelli

Previously Safari Books Online (the O'Reilly thing... not the Apple thing) had a rough draft of The Practice of Cloud System Administration. Now it has the final version:


...because we're re-branding The Practice of System and Network Administration as "Volume 1".

  • Vol 1 == enterprise IT
  • Vol 2 == server/service administration


Available as a PDF here.

In Time Management for System Administrators I describe a way to manage your todo lists which I call "The Cycle". The book came out before the existence of smart phones and app stores, so it doesn't include some important info.

The iPhone app (now available for Android) that I use for The Cycle is Appigo Todo Cloud. It can be configured in a way that makes it easy to do The Cycle.

If you recall, in The Cycle you set up a todo list for each day. At the end of the day, you move the remaining items to the next day's list.

Todo Cloud doesn't support this directly, but you can fake it.

  1. First, we will use the "Due Date" field as the date you want to "do" the task. When we sort the todo-items by "Due Date" we'll see what appears to be one list per day.

  2. Second, to "bump" tasks to the next day, we'll configure the "Quick Menu" (press-and-hold on a task) to include the "Postpone" button.

Here are the configuration settings I did to achieve this:

  • Sorting:
    • Due Date, Priority
  • General:
    • Completed Tasks: "on"
  • Show: For one week
    • Display Options: Turn on Overdue Section, Color Overdue Dates
  • Focus List:
    • Show tasks: (enable all + Completed: For one week)
  • Task Creation:
    • Due Date: Today
  • Priority: None
    • Quick Menu:
      • Postpone, Today, Tomorrow
      • Star, Next week, No date
      • Due Date, Start Date, Skip

When you "invest 5 minutes" each morning to plan your day, simply press-and-hold any item you want to move to the next day (postpone). Drag and drop the items around to prioritize them.

That should be all you need to do. However I set up my app a long time ago so I may have left some things out. If you set up Todo from a completely "factory default" state, I'd appreciate knowing if I missed anything.

Note that I am not affiliated with Appigo. They probably don't even know that I recommend it so often or even know that their product works so well with the techniques recommended in Time Management for System Administrators.

Posted by Tom Limoncelli in Time Management

Stack Exchange, Inc. ( / is hosting the launch party for Tom Limoncelli's newest book, "The Practice of Cloud System Administration." The local DevOps/Sysadmin/Linux user community is invited. Food and beverages will be provided.

  • Date: Wed, Sept. 17, 2014
  • Time: 7 p.m. until 9 p.m.
  • Location: Stack Exchange NYC HQ, 110 William Street, 28th Floor, NY, NY 10038
  • Directions:
  • RSVP: click here

Information about the book:

If you are in town for Velocity NYC, please stop by!

The ebook is shipping!

The Practice of Cloud System Administration is shipping on Kindle and PDF/Mobi versions are shipping on InformIT. Physical book should start shipping today or Monday.

If you get the PDF, I'd love to know the md5 hash of the file. Post in the comments.

I'll be the speaker at the LOPSA-NJ September meeting. I'll be talking about my new book, The Practice of Cloud System Administration.

For more information, visit their web site

Posted by Tom Limoncelli in AppearancesArchive