Skip to content

Linux

Linux Journal Readers' Choice Awards

The Linux Journal has recently published the 2009 Reader’s Choice Awards.

GNOME was voted, by readers, as the “Favorite Desktop Environment” garnering 53% of the votes, with KDE in second place at 30%.

From the article:

During the past year, GNOME has reached majority rule status, with 53% of you electing it your favorite desktop environment. This trend is despite the breakneck development of KDE 4 during the past year. Although GNOME garnered only a few more votes than it did in 2008, KDE’s vote count slipped as you’ve warmed to Xfce, Fluxbox and Enlightenment. The long and influential coattails of Ubuntu can only make any presidential candidate green with envy.

Flattering words indeed!

Contrast that to the 2004 Readers’ Choice Awards:

Favorite Desktop Environment

  1. KDE

  2. GNOME

  3. Window Maker

For several years now, KDE and GNOME have finished first and second, respectively, with an ever-increasing distance between the two. This year, KDE received two votes for every one GNOME received. Window Maker holds on to the number three spot, beating XFce by a single vote. No one said “they all suck” this year, and the only write-in voter who expressed frustration said he might try to write his own environment.

(Emphasis mine).

I think the GNOME community should be very proud of the progress made within GNOME, which is reflected in these vote totals.

(Thanks to Claus on the marketing list for pointing out the latest Readers’ Choice awards).

Meet Snowy, Tomboy's best friend

Tomboy was one of the first GNOME products I contributed code (documentation) to. It also is one of my all time favorite apps and one I can’t do without on a day to day basis. Whether it’s jotting down ideas I don’t want to forget, to-do lists, or organizing the release plan for the next GNOME Journal, I always have a bunch of notes open.

A few weeks ago, I finally got around to trying to sync my notes via sshfs on my desktop and laptop. And, to be frank, it was a pain in the butt, and not documented well. It’s working, but I don’t think it’s working quite right yet.

Which is why I couldn’t be more excited for Snowy. Snowy is a web application for synchronizing, viewing, sharing, and editing your Tomboy notes online. Snowy will power the Tomboy Online service, and in addition to syncing your own notes online, let you also share and edit with friends.

Best of all, Snowy will be Affero GPL licensed – so if you want to run your own Snowy server and sync your notes there, you can! (It’s similar to identi.calaconica is the open source software that powers identi.ca, and you could run your own microblog server on laconica if you wanted to).

I recommend reading Sandy Armstrong’s (lead developer of Tomboy) blog post on Tomboy and Snowy (including an early screenshot), and Brad Taylor’s (lead developer of Snowy) blog post introducing Snowy. (And the title of this blog post is stolen right from Brad’s mouth).

More to come!

GNOME.org revamp

After lots of stops and starts over the last few years, which really isn’t worth recapping, the GNOME web team is moving forward with a new www.gnome.org.

After lots of chatter on the gnome-web mailing lists the last couple months, Lucas organized a meeting, a set of tasks to be completed, and the timeline.

Personally, I’m helping with the content team – do we have the right pages for the new www.gnome.org? Is the sitemap correct with how those pages flow? From there we’ll work on adding the content, and then editing.

Want to help? This is a great area to jump in and help – you don’t have to know how to code, just help us write some paragraphs!

Join the GNOME Marketing mailing list and get involved!

GUADEC!

I’m going to GUADEC this year!

In all my travels, I’ve visited almost all 50 states in the U.S., but I’ve never travelled internationally. Now in the span of 30 days, I’ll be visiting both Canada and Europe – and both are related for GNOME events. And I’d like to say a big thank you to GNOME for helping subsidize my travel to both events.

The initial GUADEC schedule was posted this morning, and I’m excited (and nervous) that Stormy’s and my Birds of a Feather session on GNOME marketing was accepted! (Thursday, 10:00 a.m.). I was hoping to fly back home Friday morning, but now I need to find a way to stay to see Davyd‘s talk on Documentation Friday morning.

In related GUADEC news, we at the GNOME Journal are publishing a GUADEC special edition. Are you going to GUADEC? Have an interesting idea for an article – maybe from a talk you want to attend to learn about (and share about with the GNOME Journal audience!) or someone you might want to interview face to face while at Gran Canaria? Let us know, more info is available here.

I’ll be seeing you in July in Gran Canaria.

GNOME Journal Issue 14 released!

Just in time for your weekend reading pleasure, for the first time since December 2007, a new GNOME Journal has been published!

Articles featured include:

I’m especially proud of this issue, as it is my first herding cats as release coordinator. I’ve written an article and edited others before, but this is my first one as a major contributor to the team.

What are you waiting for? Go read it now!

GNOME Updates

Lots of stuff going on in the world of GNOME for me!

Attended a few meetings last week with GNOME related projects.

This past Sunday, April 19th, the Documentation team met for the first time in a while. Shaun gave an update on the status of Mallard, the new markup language for GNOME Docs; a possible change to how we license docs; an introduction to Pulse and some brainstorming on new ways to bring guides to users.

On Tuesday, the Tomboy team met to discuss the road to a 1.0 release. More exciting though is the news on the work being done around syncing for Tomboy, including a potential online syncing service for users. As someone who’s lazy, and not that technical, but owns multiple computers that use Tomboy, I’m very excited about the potential a syncing service has. (And if you want to help update the Tomboy end user website, please let me know!)

Related to the Documentation news though, I’m happy to announce I’ll be attending the first ever Open Source Documentation conference, Writing Open Source, in June in Owen Sound, Canada. The GNOME Foundation is graciously covering my lodging, and three other GNOME Documentation team members, including Shaun, will be there. In addition to the tracks on Friday, there is an unconference on Saturday, and we will be having a documentation hackfest on Sunday. The hackfest might also be the first public unveiling of Mallard as we start working on all new documentation for GNOME 3.0.

I booked my flight and paid for the conference this weekend, now comes the hard part – the waiting until June.

KVM & Virtual Machine Manager in Foresight

Foresight has long been a proponent of KVM over other virtualization technologies such as Xen or Virtualbox.

If you, like me, aren’t a guru on the command line and prefer using a GUI, Virtual Machine Manager is available in the Foresight repositories. If you’ve used Virtualbox or VMWare, you’ll find virtual-manager very familiar. The only downside (for some), is that you will need a modern processor that supports Intel VT or AMD-V.

Let’s get started:

In this example, we will use an ISO of a Linux distribution. Go ahead and download an ISO of a Linux distro you’d like to try out.

From a command line install the tools you’ll need:

sudo conary update virt-manager libvirt

You’ll want to install it from the command line, as PackageKit has a bug that it doesn’t pull in libvirt:runtime for some reason. (FL-2050)

Start the service:

sudo service libvirtd start

Go to Applications -> System Tools and choose Virtual Machine Manager.

PolicyKit will prompt you for your password. Enter it and Virtual Manager will start.

Click on localhost.

Then click File -> Add Connection and click Connect.

Click New in the bottom right hand corner. You will be prompted to enter the name of your new Virtual Machine.

You will now be present with 5 steps to create your Virtual Machine:

Step 1: Enter the name of VM you wan to create

Step 2: Click on “Use ISO Image” and then “Browse” and chose the ISO you downloaded earlier. Then from the drop down boxes choose Linux, and in the second drop down box you can check if the distro you’re trying is available.

Step 3: Choose how much RAM and how many CPUs the VM can use

Step 4: The defaults should work – choose to enable storage, and how much hard drive space the VM can use. (I’ve learned that hard drive space is important – these VMs need more than you think they will!)

Step 5: The defaults should work here as well, but you can click on Advanced Options if you want to change the Networking options. I’ve never had to change anything here, and Networking has worked out of the box.

And that’s it! Now under “localhost” double click the name of the VM you created, and it will boot up, just like a computer was booting up. You’ll install the Linux distro, just like you would on to a hard drive. One thing I’ve noticed, is that after an installation, it needs to reboot. My experience is the VM shuts down, rather than rebooting, but just starting it up again, the VM will boot up th eOS after your install.

To use the mouse, just click your mouse inside the virtual machine. To regain control of your mouse, press control and alt and your mouse will work normally inside Foresight again.

Here is a screenshot of Virtual Machine Manager running while the GNOME Dev Kit loads (note I have created VMs for the Dev Kit and the betas of Fedora 11 and Ubuntu 9.04:

GNOME Dev Kit

This screenshot shows the GNOME Dev Kit and Fedora 11 running side by side (One interesting thing about running Fedora is that i don’t have to release the mouse via ctrl-alt, it’s automatic within the OS. I’m not sure why, maybe it’s because Virtual Machine Manager is developed by Red Hat?):

Virtual Machines

If you have a modern processor, the hard drive space, and some memory to spare, I highly recommend Virtual Machine Manager. It makes creating and running different operating systems a breeze.

Writing GNOME Docs, Part III (Let's write some code!)

I’ve been chronicling my learning on writing documentation for GNOME. In Part I, I covered getting up to speed on GNOME documentation and the tools available; and in Part II I wrote about picking a project that you want to help, getting involved, and setting up your environment and finding updates that need to be made.

Now it’s time to apply those needed updates to the documentation and write some actual code in Docbook.

As the Tracking Documentation Status page on LGO mentions, there are a few different ways writers can update a doc, including getting the relevant content in, but not updating all of the markup; writing the chapter headings to capture sections that need to be updated, but not adding the content yet; or working through the document step by step updating the content and markup.

I do the latter – I work sequentially through the document updating the markup and content. As I mentioned in Part II, I use Tomboy to capture my research on what updates the document needs, such as new features or bugs filed in Bugzilla.

Let’s start at the beginning of a document and work our way through it. I’m going to assume you’ll pickup the Docbook markup as you go, or have some familiararity with it. When I first started working on the Foresight User Guide a year and a half ago, I had no experience with it either. I would not claim I know it well at this point either – most of my experience comes from doing what we are about to do – just editing existing documentation, or at least using that as a base.

In Part II, you checked out the Tomboy source code out of GNOME Subversion. In your favorite text editor, open the Tomboy help file located in $/home/source/tomboy/help/C/tomboy.xml

Working through tomboy.xml section by section:

Description

<code markup="none">&lt;abstract role="description">&lt;/abstract></code>

Find the above code snippet in tomboy.xml. This is the description of the project. Why is this important you may ask? Did you know that all of GNOME’s help files are also available online at http://library.gnome.org/users/ ?

If you click on that link and scroll down under “Utilities”, you will find Tomboy, and it’s description:

Tomboy Notes Manual

Tomboy is a simple desktop note-taking application, with some powerful built-in features to help you organise your ideas.

As part of Bug 500803, the above description needs to be updated, and this is the section where that change will be applied.

In the xml file, you will see:

<code markup="none">&lt;abstract role="description">
  &lt;para>Tomboy is a simple desktop note-taking application, with some powerful built-in features to help you organise your ideas.

</para> </abstract>

Change the text inside the <para></para> tags to:

<br /> <abstract role="description"> <para>Tomboy is a simple desktop note-taking application, with many features designed to help organize ideas, such as spell checking, highlighting, auto-linking URLs, lists, font stylizing, quick access with a table of contents for notes, and plug-ins to extend Tomboy's capabilities. </para> </abstract><br />

Bug fixed!

Pulse Compatibility

Let’s make the Tomboy docs compatible with Pulse. As mentioned in Part I, familiarize yourself with the Status Tracking. Update the status by adding this block of code, as show in this example. This will add a status to the document, that Pulse can show, that lets other documentation writers know that the document is in the process of being updated, needs a review, or has been finalized.

Copyright & Author Information

Next, take credit for the work you’re doing – add your name to the copyright and author information. This is helpful to other doc writers as well, especially if you don’t have commit access, that other doc writers can reach out to you if they have a question with the last changes made. After the last tag, update with your name and year:

<code markup="none">&lt;copyright>&lt;br />
  &lt;year>2009&lt;/year>&lt;/p>

<p> <holder>Paul Cutler</holder><br /> </copyright>

Same under the <authorgroup> </authorgroup> tag, this time also including your email address:

  <code markup="none">&lt;author>&lt;br />
    &lt;firstname>Paul&lt;/firstname>&lt;/p>

<p> <surname>Cutler</surname></p> <p> <affiliation><br /> <orgname>GNOME Documentation Project</orgname></p> <address><email>pcutler@foresightlinux.org</email></address> <p> </affiliation><br /> </author>

For the GNOME 2.26 cycle, I mostly added documentation to make the Tomoby docs reflect that it now works on both GNOME and Microsoft Windows. (Yes, I had to document an app to run on Windows! Who would have ever thought I’d be saying that…)

I’m not going to detail the markup of the changes I made; hopefully you’ll pickup Docbook’s syntax by editing changes inline in the document. (If you’re really curious, you can see the changes here in Bugzilla – the + denotes lines I added, and the – are lines I removed.) The above changes are changes you almost always want to make each time you update GNOME documentation.

As you document features for the application, think back to Part I, and revisit the GNOME Style Guide. Think about your audience, and focus on tone. Each documentation writer has their own strengths, whether that is tone, spelling, grammar, docbook markup, etc. Focus on your strengths and let the peer review process help you with the other areas.

Next is one of the most important parts – review your changes! Let’s fire up the xml file in Yelp, the GNOME Help Browser. To do this, Yelp has to call the file from the absolute path. For example, yelp tomboy.xml will not work.

yelp /home/yourusername/source/tomboy/help/C/tomboy.xml

And it should start. If Yelp starts, but doesn’t display anything, and an error pops up, close Yelp, and look at your console output. The console will tell you what line the syntax error is occurring that needs to be fixed. When I was first learning Docbook by writing the Foresight User Guide, I would spend twenty to thirty minutes trying to debug where I made an error. It can be frustrating, but you’ll find it.

Check your grammar, your tone, capitalization, and spelling. I will run two instances of Yelp side by side – the version I created / edited, and the actual help file for the application. (Run the application and hit F1 to bring up the help). I will compare the original against the changes I made.

When you’re comfortable with the changes, and Yelp displays everything correctly, it’s time to create a patch to submit those changes. You are probably like me and don’t have commit access to GNOME. Don’t worry though – keep working on GNOME docs and submitting patches and before you know it someone will recommend you be added.

As mentioned in Part II, the GNOME SVN wiki page has the details:

svn diff [filename] > [patch]

For Tomboy, I did:

svn diff tomboy.xml > docs-cross-platform.patch

I then updated Bug 576487 by choosing “Create a New Attachment” in Bugzilla, and filled out the form, noting the changes this patch made to tomboy.xml. I also let Sandy, one of the lead Tomboy developers, know in IRC that the patch was submitted and need a developer review and committed. You may also want to drop an email to the projects list to let them know the patch was submitted.

With that complete, it’s also recommended to have 3 peer reviews done by the GNOME Documentation team. I sent an email to the Docs list with a link to my bugs asking for peer reviews of my documentation changes.

As of this writing, I’m waiting to hear back from both my peers on the Docs team and Sandy on the Tomboy team. I’m sure there will be some changes that need to be made, as I’m nowhere close to knowing everything about how to write documentation, but I’m learning.

Once those changes are made, and the reviews are complete, the status will need to be changed to “candidate”. At that point, the GNOME Doc Team leaders will review it one more time, and with their approval, the document will be updated to “final” and committed! And you have officially helped to give back to the GNOME community and make GNOME better.

As I mentioned earlier, this may not be the best way for everyone, or the official way of doing things, but this is what works for me as I work on updating GNOME documentation. I hope you found this helpful, and feel free to leave me a comment below with your thoughts or questions.

Writing GNOME Docs, Part II

So you’ve decided you want to contribute to GNOME and write some documentation. In Part I, I wrote about the steps I went through to prepare to write GNOME documentation and picking a project.

In Part II, we will take a look at the final preparation stage, including checking out the project’s source code via GNOME Subversion and finding documentation that needs updating. I am still fairly new to the process myself, but these are some of the steps I take in writing documentation.

Part III will cover updating the Docbook XML file, reviewing your changes and submitting a patch with the updated docs.

Now that you’ve picked a project to work on, I recommend subscribing to the project’s mailing list, and, if they have one, hang out in their IRC channel. A list of all GNOME mailing lists is here, and be aware of the GNOME Code of Conduct when sending an email to a list.

Personally, I recommend letting the project or lead developer(s) know you want to help out. This is helpful for a couple of reasons, including:

  • If you, like me, are new to contributing to GNOME, you probably don’t have SVN access to commit your changes. A developer on the project, or a member of the GDP if you’re working on a project the GDP can commit, will have to submit your changes to the project.
  • You might have a question on how a feature works, and want clarification. If you’ve introduced yourself, other project members will understand why you’re asking.
  • Help is always appreciated! You have nothing to worry about – almost all projects will welcome you with open arms. Especially doc writers, as it sometimes considered unglamorous work.

As I mentioned in Part I, I’ll be working on the Tomboy documentation, and I sent an email to the list letting the developers know, and asking if there were any areas of the docs that also needed changes or updates. (The Tomboy mailing list is generating a 404 error when I try and click on my email which can be found here).

In a terminal, create a directory where you will to checkout the source code of the project too. GNOME uses Subversion, and will be moving to git in the future. The GNOME Wiki has a great page on using Subversion. Move to the directory where you want the source code, and per the GNOME SVN wiki page, checkout the project:

svn co http://svn.gnome.org/svn/[module]/trunk [module]

For Tomboy, I would do:

<br /> svn co http://svn.gnome.org/svn/tomboy/trunk tomboy

The Tomboy source code is now checked out to the “tomboy” directory in the directory I’m currently in. For the purpose of this example, we will assume you checked out the source code to $/home/source/tomboy

Now it’s time to find some documentation that needs updating. Good sources to find documentation updates include:

  • Projects’s Bugzilla
  • Reviewing the projects current documentation
  • Project’s release announcement of new features
  • Mailing list

I recommend starting by doing a query in the project’s Bugzilla (bug tracker) and see if any users have filed bugs or requests against the project’s existing documentation.

Log in to GNOME Bugzilla, and click the “Browse” button in the top menu. On the Browse page, click on the drop down menu next to “Browse:” and click on the project you want to view, and “Show product”. You will be taken to the project’s Bugzilla page, which provides an overview of the number of bugs, type, and severity, among other information.

In the search box towards the top, you will see “project:Tomboy” already entered (or the project you chose), after that type documentation and hit search. The results will show any bugs that have a keyword of documentation, and you can browse through any open bugs to see if there are any changes that need to be added to the project’s documentation.

You will want to keep notes of any bugs you come across, or changes and updates the documentation file needs. Ironically, Tomboy is a great tool for this, and even supports the ability to drag and drop a GNOME Bugzilla link from your browser into Tomboy and converts it to an easy to use link.

I also recommend reviewing the project’s current documentation. Open the application, and hit F1 to bring up the help in the GNOME Help Browser (Yelp). With GNOME being on a 6 month release cycle, it may be possible that new features were added without being documented, which is why it’s also helpful to see if there was a Release announcement that outlines those new features.

Review the sections in the documentation, and compare to the behavior of the application. Do they match? If not, it might be useful to ask the developers in IRC or on the mailing list to double check, and make a note that the documentation needs to be updated to reflect those changes. This process can be time intensive, which is why you may want to start working on documentation with an application you’ve used and are familiar with.

If you introduced yourself on the project’s mailing list, the community members may have pointed out some areas that need updates as well.

Hopefully this has helped in getting you ready to (finally!) update the documentation. In Part III, I’ll cover updating the documentation’s Docboox / XML file and submitting your changes to the project.