Skip to content

Category: General

UDS-L

I’m at the Ubuntu Developers’ Summit (UDS). I like how Popey introduces the event, so I won’t bother doing more in this post than linking to his blog, quoting a bit of his post, and then heading out of my hotel room to hang out with people. As with him, Canonical is also sponsoring my attendance.

My friends sometimes ask me what happens at UDS, so I thought I’d write a little summary each day of what’s happened. I’ll try to keep it fairly short, although I appear to have failed so far with this particular post.

Firstly I guess I should explain what UDS is to those who don’t know. Every 6 months the Ubuntu project puts out a new release. We just released Ubuntu 9.10 (code name Karmic Koala) and the next release is due in April next year. It’ll be called Ubuntu 10.04 (code name Lucid Lynx). UDS is the Ubuntu Developer Summit where a couple of hundred people get together and work on plans for what will be in the next release. Some of that is already known, but much of it gets blueprinted in this week.

There is a publicly accessible schedule outlining what specifications will be discussed where and when. There are separate colour coded ‘tracks’ to follow, and I’ll probably spend most of my time in the Community one although others do look interesting too. It’s always a tricky thing to pick and choose which sessions to go to, and so I always miss out on something. I’d rather it was that way than loads of sessions I’m not interested in though!

UDS-L (L for Lucid) takes place from 16th to 20th November 2009 at the Renaissance Hotel, Dallas, Texas. Canonical (who sponsor the Ubuntu project and organise the summit) kindly sponsored my attendance here in Dallas which includes flight, hotel accommodation and food.

Learning Python, fourth edition

Years ago I purchased a copy of the very first edition of Learning Python.It was a small book, about 350 pages, but in 1999 when it came out, it was one of the best introductions to the language that existed. I hadn’t picked up my copy for some time, but I remember well how useful it was when I first bought it. When O’Reilly offered me a free review copy of Learning Python, fourth edition, I figured the differences between the two editions would primarily consist of updates to the content based on the differences in Python release versions, and that I wouldn’t likely learn much more from the new edition. I was wrong, and I will explain how and why below.

This book is HUGE. It weighs in at over 1100 pages and is filled with clear explanations, interesting history, and the most useful description of the foundations of the Python programming language that I have seen. The material was developed by the author, Mark Lutz, over the last decade, during which he has taught hundreds of seminars introducing Python. Lutz compiled the new edition based on the materials taught in a three day training class, complete with quizzes and meaningful exercises. While Lutz was one of the two original authors of the first edition, he is now the sole author of the book and it is obvious that his extensive experience teaching seminars has refined his presentation of Python in ways that will benefit readers of this book. The understanding of student needs shows clearly in the text, which focuses on the core of the language.

Learning Python is based on the new 3.x series of the Python language, but points out the differences between it and the still-supported and sometimes incompatible earlier 2.6 edition, so whichever version of the language you are learning or require you will find the information you need to begin here. Some may ask why cover the old version when the new one has so many improvements, but the answer is simply that there is a lot of legacy code that is not going to be updated soon and so people will need to support that code, which is often incompatible with Python 3.x without some changes.

The book covers many topics, none of which seem unimportant or superfluous. While the page counts seems quite daunting, a closer examination shows there is no need to be intimidated. The page count does not add complexity or difficulty, but actually gives room for clearer and more complete descriptions and definitions alongside practice questions that students will find very useful. The topics include all of the obvious foundational needs starting with history, how to run programs and use some common editors. It moves to core data types and operations, spending several pages clearly defining and describing each and how they are used, before introducing statements and syntax on page 261. I like how the differences between 2.6 and 3.x are clearly shown, such as the change from a print statement in 2.6 to a print function in 3.x and how either is implemented and used as well as the reasoning behind the change. Functions are introduced and discussed, as are modules, classes, object oriented programming, exceptions, and several advanced topics. There are two appendices covering installation and configuration and giving the solutions to the exercises in the book

It has been a long time since I did any programming. My life took a different path. This book has reminded me of how fun it is to write and read code in Python and made me wonder how I might find or create opportunities to return programming to my busy life (but this time around, if I make the time to write anything, it will be in Python 3.x). This book is why.

Lutz has also authored O’Reilly’s Programming Python, which was explicitly designed to be a follow up text to this one, which I have read and which also sits on my bookshelf, but which I have not reviewed (I bought that one a couple years ago and at the time was not writing book reviews.–if there is interest, I’ll review it at a later time).

Disclosures: I bought the first edition, but was given this fourth edition free by O’Reilly as a review copy, I also write for O’Reilly.

Just a Geek

Okay, I admit it. I love Wil Wheaton. Hmm. Honestly, I don’t know him, so I can’t really say that. However, I love his writing; it is so clear, interesting, and makes me feel like I know him. I guess it would be more honest to say that I love those parts of him he has chosen to reveal of himself in his writing, but that sounds awkward.

While I have kept current on Wil’s blog for a long time, it is only now that I have finally read his book Just a Geek. It came out in hardcover while I was living in Africa and wasn’t able to pick up a copy easily. O’Reilly has just released it in paperback and I happened to be paying attention, so here we are.

I loved it.

Wil is funny. He is honest about his struggles and humanity, including the not-so-pretty bits that we all know we are trying to hide from one another. He admits that at the time the book was written (2004) this was a new thing. After following his blog for years, I will add that we have all benefited from his personal epiphanies and catharsis.

I don’t want to steal the joy of reading the book and so I am struggling with what to share. I’ll simply say that this is a sort of annotated diary that chronicles Wil’s journey from successful childhood movie actor to teenage Star Trek: The Next Generation star who loved the geek aspects of being a part but found the part limiting at times and the fan criticism hurtful to a struggling actor to coming to grips with all of these and realizing who he really is and what he is meant to do. Wow, that was a long and rather tortured sentence. It is a pretty accurate description of the book, although it leaves out all the bits that made me laugh so hard on the city bus that people turned around to look at me and stare.

Oh, and there is a promotional quote from Cory Doctorow on the back cover and a forward in the book written by Neil Gaiman. Seriously, any geek who knows who either or both of those two guys are will probably love the book. I did.

Disclosures: When I noticed this was being rereleased, I asked O’Reilly for a review copy and they graciously sent it to me gratis. I write for O’Reilly, and I like them. I don’t know Wil, but I wish I did and I kind of hope he sees this and gives me advance notice next time he is going to be in Tucson for a con because I missed the last one and only found out when I saw a picture of him with a friend of mine on Facebook.

Burn This Book

Not too long ago I found myself waiting around for something and with nothing to do. That sort of leisure time is rare for me, but when it comes I try to use those moments to pursue things that I enjoy. Reading is one of those pleasures. I happened to be near a bookstore and walked in. While browsing I picked up a book with an all black cover and the title in all capital white letters, BURN THIS BOOK. I had to pick it up for a closer inspection.

The book is a short collection of essays by published authors all centered around the ideas of censorship and the power of literature to inform our understanding of the world. It was edited by Nobel Prize winning author Toni Morrison. All of the writers are members of PEN American Center, which strongly and actively advocates for freedom of the press and the unhampered expression of ideas around the world.

You would think that in this collection of essays the writers would focus on the evils of censorship, but you would be wrong. Instead, each tries to answer the simple question, “Why write?” Writing is viewed not so much as a political tool, but as a means of communicating the depth of human experience, thought, feeling, and insight from one person to another. It is in this that these writers find purpose. The goal is simple: to express in narrative what is contained in the soul. When we silence those who feel compelled to speak, we lose a part of our collective humanity.

I was fascinated by the repeated theme that the writer who is most effective is the one who writes for herself. It is not the goal of an artist to express what others want to see or hear, but to express the unique understanding and perspective he has which he can no longer contain. I have felt this compulsion on two occasions and can testify that my best writing has happened when I gave no consideration to my audience while writing, but only after I had fully expressed what I felt had to be said–only then could I work to find a way to express it more powerfully or comprehensibly to a specific audience.

If you are interested in the power of the written word and what opinionated and interesting writers have to say about it using language that is both beautifully and skillfully crafted, you should pick this book up. It is one that I have savored, reading only one essay at a time so as to give me time to think about the ideas presented, absorb them, and savor the quality of the phrasing, hoping that the experience would not end too quickly.

I feel inspired to start making time to write another book, just for myself again and not for money. I’ve no idea when it will be finished, but I have a narrative inside me that is crying out to be shared. This book caused that reawakening.

Disclosure: I bought this book. I reviewed it solely because I liked it and thought others would as well.

Linux in a Nutshell, sixth edition

Years ago I purchased a copy of Linux in a Nutshell, fourth edition. That book has been well used and is looking a bit shabby. When O’Reilly offered me a free review copy of Linux in a Nutshell, sixth edition, I jumped at the chance. Some of the thoughts that follow will apply to either edition (as well as the not-reviewed fifth edition, which I don’t have), but I will point out some of the more important or obvious updates to help others who also own older editions to determine whether the changes are sufficient to convince them to buy the new version.

This book is not intended as a tutorial, but rather as a quick reference. While the irony of titling a 900+ page book “… in a Nutshell” is not lost on me, like all of the books in O’Reilly’s Nutshell series, this book is a fabulous resource for finding out the details of a specific command or concept rapidly.

Let me start with the foundation for my opinion that this book is one of the most useful and important books for anyone who uses Linux from the command line on a regular basis or wants to be able to or plans to do so. Any command you should desire to use is listed in chapter 3, with the command’s syntax and options. This gives you one place to look that does not require an internet connection or the patience to scroll up and down reading man pages for commands. This is a book about Linux as it was originally conceived and intended: a powerful operating system based directly upon and consistent with the philosophy and design of Unix, but free for anyone to download, install, copy, modify, share and use.

This book is not about how to use Linux on the desktop, and in fact, the sixth edition does not cover the Linux desktop at all. What you do find are discussions, descriptions, and definitions of all of the main tools and tricks a person needs to get work accomplished using Linux as a platform–not the specific programming languages like C, Java or Python, but the underlying tools such as commands from the GNU project and BSD, editors like vi and emacs, using the bash shell, source code management using subversion and git (both new to this edition, replacing a discussion of CVS), and great introductions to Linux system and network administration. In addition, we have a wonderful new chapter on virtualization command line tools that covers all the main options such as KVM, Xen and VMware.

I am amazed that my description thus far has only scratched the surface of the book. I haven’t yet mentioned the chapters covering sed and gawk, the discussion of software package management, the chapter detailing LILO and Grub boot loaders, or the lovely section on pattern matching which should save a lot of people a good amount of time.

My disappointments in the book are a bit niggly. While the book was written and tested using each of the main Linux distributions (Debian, Ubuntu, Fedora and SUSE), there have been a couple of updates to software covered in the book that were not available when the book went to press. Since I know how long it takes to write and prepare a manuscript for printing, it is kind of silly for me to want a book that was published in September 2009 to cover Windows 7 (although dual booting with earlier versions is covered), ext4, or Grub2, even if these are all current in late October 2009 (the latter two being included in Ubuntu 9.10).

The positives are that this is a clear, well written and edited (disclosure: I worked with one of the editors, Andy Oram, on VMware Cookbook), and filled with valuable information with an easy to use index and table of contents with a tighter than previous focus on the internal bits of Linux without the earlier distractions of trying to mention GNOME and KDE or a wider variety of shell options while only covering each with too little detail to be useful. This edition expands the content on the things it does cover to a very useful level of detail while making the hard decision of what to omit to keep the book within a bindable number of pages.

In any edition, this book has a permanent place on my shelf for reference. If you own an older version, the decision to buy the latest edition will depend on whether you want or need the absolute latest info on specific commands (this stuff doesn’t change often, but it does change) and whether you are interested in the new or expanded material covered in this edition as outlined above. If you never use the command line in Linux, the book might not interest you. Otherwise, I can’t imagine using Linux without having a copy nearby.

Disclosures: I bought an earlier edition, but was given the sixth edition free by O’Reilly as a review copy, I write for O’Reilly, and I have worked with one of the editors who also worked on this book.

Cory Doctorow’s writing experiment

Cory Doctorow, author and open source advocate, has designed an economic and research project that I find very interesting and will be following with interest. He has previously published using both a traditional publisher while also using a Creative Commons license. There has been some anecdotal evidence supporting his claims that this is viable and economically feasible (and frankly, his example influenced me heavily in my decision to use a CC license on both of my books on Moroccan culture). There has not been any experimentation to prove the assertions nor to silence the criticism he has at times received.

This experiment has great potential to either lend credence to the assertion that one may both use CC licenses and publish for profit concurrently or it will add some weight to those who argue against it. Either way, I’m interested and I think the experiment is well designed.

Take a look.

Do I dare review more books?

I review books on this blog occasionally. Many of them are books I bought myself and wanted to share with people because I found them interesting or useful. Some are books that have been sent to me by publishers (some of whom also publish books I have worked on).

Apparently the new Federal Trade Commission guidelines will require that starting in December 2009 bloggers who have any connection to publishers will be required to state that fact in any articles they write, whether that connection is employment (which makes sense) or just simply that the publisher provided the product being reviewed for free.

More here on the FTC website.

What do you think? Should I tell publishers not to send me free books in the hopes that I will review them? Should I just stop reviewing books that interest me? Would it bother anyone if you found out that I reviewed the upcoming edition of a Linux book (or something else) after receiving it for free, even if I emphatically state that my opinion is being posted unedited and based not on the fact that the book was free but on the contents of that book?

EDIT: The original article on a news site has disappeared, so I replaced the link to it with a link to the FTC website outlining the policy.

vrms

My computer has a bit more non-free software than most I’ve seen in this meme on Planet Ubuntu, but nearly all of it is related to video drivers (so I can play cool games like Sauerbraten). Opera is for testing websites in yet another browser. I’m not sure why the linux-generic package is in there, unless it is because it pulls in the linux-restricted-modules package with the proprietary driver set.

Click if you are interested and don’t already know what vrms is all about (link is to a very short descripton).

matt@telecaster:~$ vrms
Non-free packages installed on telecaster

fglrx-modaliases          Identifiers supported by the ATI graphics driver
human-icon-theme          Human Icon theme
linux-generic             Complete Generic Linux kernel
linux-restricted-modules- Non-free Linux 2.6.27 modules helper script
linux-restricted-modules- Restricted Linux modules for generic kernels
nvidia-173-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-177-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-180-kernel-source  NVIDIA binary kernel module source
nvidia-180-modaliases     Modaliases for the NVIDIA binary X.Org driver
nvidia-71-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-96-modaliases      Modaliases for the NVIDIA binary X.Org driver
nvidia-glx-180            NVIDIA binary Xorg driver
opera                     The Opera Web Browser
sun-java6-bin             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
sun-java6-jre             Sun Java(TM) Runtime Environment (JRE) 6 (architecture
tangerine-icon-theme      Tangerine Icon theme
unrar                     Unarchiver for .rar files (non-free version)
Reason: Modifications problematic

Contrib packages installed on telecaster

flashplugin-nonfree       Adobe Flash Player plugin installer
msttcorefonts             Installer for Microsoft TrueType core fonts
nvidia-common             Find obsolete NVIDIA drivers
nvidia-settings           Tool of configuring the NVIDIA graphics driver

17 non-free packages, 1.0% of 1674 installed packages.
4 contrib packages, 0.2% of 1674 installed packages.