Older blog entries for oubiwann (starting at number 262)

Packt: A Publishing House for the Future

Since I first heard of them several years ago, I've viewed Packt as the underdog in the world of technical book publishing. In the past year or so, Packt seems to have gained greater and greater influence: their catalog continues to grow, they are attracting talented and knowledgeable engineers as authors, and their titles are things that I'm actually interested in.

Two examples of this are the books Expert Python Programming and Zenoss Core Network and System Monitoring. I received a copy of the former and blogged about my take on it. For the Zenoss book, last year I agreed to be a technical reviewer and am currently preparing a blog post on my pre- and post-publishing experiences.

In both cases, I agreed to work with Packt based solely on the technical merits of their works. However, my experience as a technical reviewer with them was so positive (I have had consistently excellent experiences with their staff over extended periods of time and on long-running conversations) that I have not only agreed to review more titles, but have read up on Packt themselves a bit. Here are some highlights from their wikipedia article:
  • They published their first book in 2004 (the same year Ubuntu started!).
  • Packt offers PDF versions of all of their books for download.
  • When a book written on an open source project is sold, Packt pays a royalty directly to that project.
  • As of March 2008, Packt's contributions to open source projects surpassed US $100,000 (I would love an updated stat on this, if anyone has a newer figure).
  • They went DRM-free in March 2009.
  • Packt supports and publishes books on smaller projects and subjects that standard publishing companies cannot make profitable.
  • Their stream-lined business model aims to give authors high royalty rates and the opportunity to write on topics that standard publishers tend to avoid.
  • Bonus: they also run the Open Source Content Management System Award.
These guys have some keys things going for them:
  • They've got what appears to be a lean approach to business.
  • They know how to effectively crowd-source, keeping their overhead low.
  • They are rewarding both the authors as well as the open source projects.
  • Their titles continue to grow in diversity and depth.
  • The have an outstanding staff.
Oh, and I really like the user account management in their website! When I log in, I see a list of owned books, source code links for them, clear/clean UI, very easy to navigate. I can't emphasize this enough to vendors, service providers, etc.: if you want a loyal user base:
  1. make a good product that lasts a long time;
  2. make simple and great tools that enhance the experience of those products, that truly improve the experience of your users.

All in all, Packt really appear to be leaders in publishing innovation, taking lessons learned from the frontier of open source software and applying that to the older industry of publication production. I would encourage folks to evaluate Packt for themselves: if you like what you see, support them in readership and authorship :-)

I, for one, will continue to review titles that appeal to me personally and that I think others would enjoy as well. I have two books in the queue and three pending blog posts for the following titles:
And who knows, if I feel like writing a technical book at some point, you may see me in the Packt catalog, too ;-)


Syndicated 2011-05-23 14:40:00 (Updated 2011-05-23 20:57:50) from Duncan McGreggor

Call for Testing: nVidia Cards in Ubuntu Natty

I was supposed to write this blog post early yesterday morning, since the first results from community testing are going to be examined today... but we're still going to need on-going data. So not all is lost :-)

We're working very hard with chip vendors to make sure folks are getting the best experience possible running Unity in the forth-coming release of Ubuntu (Natty). Jean-Baptiste Lallement has posted to the QA mail list, asking for committed volunteers to test the nVidia drivers in Unity on a weekly basis. You can read his email here:
Jean-Baptiste links to detailed instructions in his email. The QA Tracker for this effort is here (but please be sure to read his email and follow the instructions that he links to):
We look forward to hearing from you!


Photo Credits: jackyalcine (slightly modified)

Syndicated 2011-03-16 13:33:00 (Updated 2011-03-16 13:36:24) from Duncan McGreggor

Uncle Canonical Wants U!

you and uTouch, that is. And more!

Do you love Ubuntu? Are you an HCI freak? Are you an X hacker, kernel driver maintainer, Linux input enthusiast, Qt or GTK application developer, C/C++ hacker?

Do you enjoy being part of online technical communities? Are you actively involved in open source projects? Do you enjoy advocating for software?

Do you love test-driven development and thirst for high-quality open source software running on devices with touch interfaces?

Does the idea of working from home in your own time-zone, on cutting-edge, strategic projects at Canonical have you sitting on the edge of your seat?

If so, then please send me your resumé/CV! I'm looking for a few brilliant engineers as we grow our Product Strategy teams (DX, Design, and others).

Syndicated 2011-01-21 14:08:00 (Updated 2011-01-21 15:09:28) from Duncan McGreggor

Canonical and Codethink at Bostom GNOME Summit

Today is the second day of the Boston GNOME Summit, and the second day of Canonical providing morning sustenance for the hackers here. Codethink and Canonical coordinated these efforts, with Codethink sponsoring food later today. It warms my heart that we can do this sort of thing.

Yesterday Cody Russell and I held a session about getting a gesture API into GTK 3.x. There were a great many questions about the uTouch framework, how we're handling multi-touch in the absence of MT support in X (coming in XInput 2.1), and what sort of dependencies would be needed (none! if GEIS is present on the system, gesture support will be added at build-time). At the end of the session, there was a consensus for Cody to present his plans to the GTK developers list and then to start getting branches reviewed for merge. We're hoping to make it for GTK 3.2.

In this vein, Cody and I have been hacking on libgrope for GTK compatibility, and this is serving as the sandbox for the GTK 3 gesture API development. My efforts have been focused on creating the GTK 2 Python C extension for grope. Given that the last time I coded C was in 1989 (and then a bit later in the mid-90s, when I had to hack a slackware driver to get ethernet working), this has been quite an effort. However, after a night and morning of hacking, I've got a handle on C extensions and am using the example code I wrote as the basis for pygrope. I've even managed to rope Barry Warsaw into reviewing the C extension code for us, to be sure we're not doing anything too crazy :-)

The Python C extension will be of immediate use to us in our test harness for gestures and exercising the stack. We will be creating a GTK app for recording user gestures for later playback and inclusion in test suites.

Syndicated 2010-11-07 16:54:00 (Updated 2010-11-07 17:19:22) from Duncan McGreggor

Probabilistic Input for uTouch?


Well, it seems to be the season for a flurry of multi-touch posts. Guess that's helped along by the release of uTouch in Maverick and next week's Ubuntu Developer Summit multi-touch buffet :-)

One of the talks that John, Mark and I enjoyed greatly at UIST was Julia Schwartz's presentation on "A Framework for Probabilistic Input". Julia's an HCI PhD student at Carnegie-Mellon and works in their exciting dev lab. The UIST paper was written by Julia, Professor Hudson, Professor Mankoff, and Andrew Wilson (the latter of Microsoft Research).

One of the reasons I was personally so deeply appreciative of the paper was that when we were building the uTouch framework, Henrik Rydberg and Chase Douglas brought up issues around input uncertainty, and started proposing ways that might be employed to counter this. Getting plugged into folks who are working on this actively and thoroughly is phenomenal.

Since UIST 2010, the uTouch team has been in contact with Julia, sharing ideas and asking questions. Today we had a call with her and Professor Scott Hudson; as such, we have now started exploring possible avenues of development for probabilistic input support in uTouch. Scott and Professor Jen Mankoff will be attending part of UDS this year, and we've set up a session where they can share their research with us and engage in discussions, Q&A, etc., about it, and explore ways in which we can start moving forward on this in Ubuntu (and Linux in general).

The UIST talk slides and related paper are available here:

Syndicated 2010-10-19 18:10:00 (Updated 2010-10-19 18:42:16) from Duncan McGreggor

A Visit with System76


Earlier today, I had the pleasure of visiting Carl Richell and part of the System76 crew in their Denver offices today. Pictured to the left is their very sweet Starling NetBook. I became an instant fan, due to the sleek good looks, a fantastic keyboard, and a flawless installation of Ubuntu. Carl also showed me the Starling EduBook, which I completely fell in love with. There's a charter school in Colorado that bought a whole mess of these guys, and the kids at school adore them... and how could they not? A rugged, easy-to-use Linux netbook with Edubuntu installed on it? Total win.

Before getting a device, personnel, and facilities tour, Carl and I talked shop: uTouch, the future of multi-touch in Linux, Unity, Ubuntu on a plethora of devices. You know, the usual good stuff. I asked him what he'd like to see in Ubuntu that he feels would be necessary to totally rock out the tablet experience. His list of top picks echoes the sentiments of many people with whom I have had similar conversations. In no particular order, the list goes something like this:
  • fully-working auto-rotate
  • a great on-screen keyboard
  • browser, music, video, photo, and document apps -- all with a user interface designed for touch
  • the ability to deliver and play games
  • a sweet note taking app that integrates with email
  • TV remote control support
Much of this is already scheduled for discussions in UDS sessions next week :-)

Carl's excited about UDS and the continued conversations that will take place there. As am I. But I also can't stop thinking about that Starling NetBook... I'm going to be replacing my ailing AspireOne with System76's gorgeous offering...

Syndicated 2010-10-18 20:04:00 (Updated 2010-10-19 05:17:32) from Duncan McGreggor

16 Oct 2010 (updated 19 Oct 2010 at 02:06 UTC) »

Multitouch and Qt


It's been 11 days since the Qt announcement of new gesture support, and I wanted to blog about it right away... but alas, now will have to do. The folks at Qt have been working on multi-touch support for a while now. They blogged about gestures, multi-touch, Mac support, Windows support, and then at UDS in Brussels (May 2010), they shared their 4.8 plans for multi-touch with the Ubuntu community.

Until recently, there has been no MT stack for Linux. The great news is that the folks at Qt are very interested in getting Qt to work with uTouch. Stephen Bregma has been working on the GEIS API that toolkits will have the option of taking advantage of, and we were delighted to hear from Zeno and Denis that the Qt API they have envisioned and planned is very similar to GEIS, and should make for an excellent match. They are going to be talking with the community about this at UDS two weeks from now, in fact :-)

In support of Qt's commitment to multi-touch and gestures, I wanted to encourage folks to take a look at their post about Qt Quick, Qml, and Gestures. The source code is now available for viewing, and we've started to dive into it ourselves, and it seems that others are as well (I know some GTK guys who are double-checking their own plans by looking at what Qt has done so far).

Also, if you haven't taken Qt Creator for a drive yet, do so; it's an impressive GUI editor/IDE for Qt, and I've really enjoyed it so far. You can enable GUI visual design for Qml projects by going to the "Help" menu and selecting "About Plugins..." after which, you will need to check the box next to "QmlDesigner" (under "Qt Quick"). Also, a nice cherry on top: the Qt Quick design interface looks stunning with the Ambiance theme in Ubuntu -- the color scheme is a perfect match :-)

Syndicated 2010-10-16 20:17:00 (Updated 2010-10-19 01:35:42) from Duncan McGreggor

16 Oct 2010 (updated 16 Oct 2010 at 19:08 UTC) »

Q


Last week I had a nice email exchange with a good friend of Ubuntu, Professor Michael Terry at the University of Waterloo. We met at UIST 2010, but he and Ivanka Majic have been conferring about design and usability in Ubuntu for a while. Delighted with UIST in general and specifically with conversations Mark, John, and I had with Michael and one of his students, we invited them to UDS in Orlando at the end of October.

Coming from an academic institution (and an HCI lab in particular), Micheal had some questions about UDS, how to prepare, and the ways in which it might be different from various academic conferences. I asked him if it would be alright to share our conversation with the wider open source, academic, and professional communities, many of whose members will be attending UDS in Orlando for the first time. He was only too glad our conversation might benefit others :-)

I've edited the content slightly for a blog format (and for improved clarity), but it remains in essence unchanged:

Q: Since we're all kind of new to UDS, could we pick your brain a bit? :-) As we plan for attending, we're trying to envision how to best use UDS.

A: UDS is very practical in spirit, so it's actually fairly straight-forward to make good use of it. The purpose of attendees is to:

  1. Engage with developers, community members, users, etc., on well-defined topics for software in Ubuntu, the software that builds Ubuntu, Ubuntu itself, the community, or the prominent tools and technologies that are build on Ubuntu.
  2. Assemble and execute. After each discussion, each topic should have enough information and feedback such that the direction forward in any given project is clear. Next steps can be taken immediately (whether that's actual development, coordination, etc.).
The enormous amount of discussion that takes place there is recorded (some sessions with video, all with shared notes), so very often folks formalize this information as a spec.

For a list of the wide range of categories covered at UDS, check out this page (still in progress): http://uds.ubuntu.com/tracks/

To give you more of a sense of things:
  • There are lots of rooms, each with two projected screens: an IRC channel for that physical room, and a network-shared communal notes screen.
  • Sessions are about 50 minutes long, with breaks every few sessions.
  • Large monitors are placed in the halls with the schedule for the day displayed, so that folks can more easily find the sessions/rooms they want to be in.
  • There are topical plenaries for two hours after lunch that take place in a auditorium so that all who want to attend, can.
In other words, it's very active :-) Lots of moving about. Lots of intense discussion in short sessions.

Q: What is an ideal outcome from your perspective (and from our perspective)?

A: The ideal outcome is consensus on the discussed topics, unblocking all involved, and moving forward with a shared vision.

Q: What kind of work or goals do we want to accomplish while we're there?

A: In general, you want to attend the sessions that are meaningful to you, share your views during the discussion, and hopefully convince those present of the necessity of what you envision :-) If your vision needs adjustment, then UDS is the perfect place to get it tweaked and reach a mutual agreement with community members about a form suitable for an action plan.

Q: You just saw us in our "native" environment -- an academic conference; how is qualitatively different from such conferences?

A: Yes, that sort of scenario is a prototypical academic environment: disseminating of memes for processing and adoption in a particular field. The essence of that exists in the open source world: meme's are very important to us, but often implicit in nature; they arise as generalizations of practical experiences with implementation. However, they are only the first step (or a supporting factor for other steps).

The primary focus of the attendees at UDS is pragmatic: "Let's do X." As such, UDS attendees partake in a meme-disseminating event, the object of which is to generate project plans, task lists, direction changes, etc., within each given project (be it software, governance, or others).

Q: Any ideas/guidance on how to think about and plan for UDS?

A: Hopefully what I wrote above should give you enough of an intuitive feel for the environment that you'll have a good idea of what you can do... but just in case, I'd focus on doing the obvious, like putting together notes/supporting material for the sessions that you are interested in. In addition, though, you want to spend some time thinking about how to engage session attendees such that they are motivated to attend the session(s) and speak up while attending.

Well, that's all there is to this Q & A. I hope folks new to UDS will find this conversation useful.

We look forward to seeing Micheal and the rest of you at UDS!

Syndicated 2010-10-16 16:41:00 (Updated 2010-10-16 18:10:09) from Duncan McGreggor

14 Oct 2010 (updated 3 Nov 2010 at 21:05 UTC) »

Ubuntu 10.10 Multi-touch Video

As many are aware, we released our maverick Maverick a few days ago. Part of what comes with Ubuntu 10.10 is the new uTouch stack. We been having lots of really great talks in the public IRC channel (#ubuntu-touch, Freenode.net) and on the general multi-touch mail list (subscription info at the bottom of that page). More and more folks are trying it out, experimenting, and contributing.

As part of the "Maverick Movies" initiative, fellow employees Gerry Carr, John Lea, and Neil Patel worked on getting this little gem produced (embedded to the left; here's the full-sized version). Gerry has written an excellent blog post about it here.

This video shows off most of the touch capabilities that were integrated into Unity for Maverick. Neil Patel (fellow Big Lebowski fan) and John Lea will be working very closely together during Natty to expand this feature set to take more advantage of the gesture capabilities of uTouch. Simlarly, Henrik Rydberg will be working with them to enhance the uTouch gesture engine. And all of us will be working on the newest addition to the uTouch family that Mark mentioned in his blog post: a gesture language. More on that later :-)

For right now, let's check out this video! For the impatient, the target list of gestures in Unity is available in a gestures guidelines document, lovingly put together by John Lea and Mark. As one might expect, there's a lot there. If you skip to section 5, you'll be able to get a nice visual overview of most of the gestures with some descriptive text. For those who chose to watch the video first, here's what you saw:
  • single taps (i.e., a touch "mouse click")
  • a window grab (three-finger touch, let one up)
  • moving the window (three-finger touch, let one up, move it around)
  • drag up to maximize
  • drag up and right (or left) to fill the right (or left) half of the screen
  • un-maximize (use the drag gesture on the maximized window)
  • bring up the dash (4-tap)
  • bring up all windows for one app (three-pinch)
  • bring up all windows (three-pinch again)
Have fun playing with Unity on your touch devices! There's lots more to come...


Syndicated 2010-10-13 13:45:00 (Updated 2010-11-03 21:03:07) from Duncan McGreggor

253 older entries...

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!