Search Results: "tar"

27 March 2008

Aigars Mahinovs: More of a good thing?

There is one particular aspect of Microsoft’s document format going through ISO process that I had a hard time to find a counter-argument against: “Well it is better to have multiple open formats, isn’t it?”. Last night when I was presenting in a Document Freedom Day event, I finally got one. When multiple standards exist in the same area, two options can exist:
  1. Cooperative standards - providing similar functionality in different ways that can coexist in the same medium without a significant overhead. An example of this are the credit cards - they have multiple ways that the card information can be transferred to the bank: visual writing down of the data, imprint, magnetic strip and the chip. Any of these ways can be used and all of the are equally valid;
  2. Conflicting standards - providing the same functionality in incompatible ways. The example here is the power adaptors - the form of the power plug is an open and public standard (AFAIK), but so many of them exist in different places that it creates all sorts of problems both for companies producing electronic equipment and for frequent travellers.
What Microsoft proposes is much worse than the power plug mess, because the power plug standards are at least restricted by region. But imagine going to another country and having to be ready that you hotel could have any one of 8 power plug types at random. And while electricity is rather easy to convert looselesly, complex documents are far more .. complex. It is like having to buy 8 different power bricks for each of your electrical devices to be prepared for all possible voltages, frequencies, waveforms, polarities and whatnot. Having more than one ISO document standard in a horrifying idea for any programmer that will have to ever work on software that will need to support both of them - twice the work for no etra benefit whatsoever. If Microsoft can prove (in technical terms) that their file formats present capabilities that Open Document can not, then the only sane way to implement those in the ISO format is to add those capabilities as an extension of the existing Open Document format and not to reinvent the wheel. Microsoft also has a habit of pointing to JPEG and PNG being “competing”. Well, they are not - those are complimentary standards, because JPEG is designed for compression of photographic details while PNG is designed for the compression of bitmapped vector images. Something like DejaVu could be seen as a superset of the two formats. So, if you ever need an argument against more standards - remember about the power plugs.

Jan Wagner: security: policyd-weight 0.1.14-beta-6etch1/0.1.14.15-1

This Tuesday Robert Felber released a new upstream version. It is a (local) security bugfix (and some minor fixes) which was reported on Sunday by Chris Howells to the Debian Security Team (as well as to other vendors). Today DSA-1531 was released. Right from the DSA:
“… created its socket in an insecure way, which may be exploited to overwrite or remove arbitary files from the local system.” So please update you systems if you use this package asap. While we are at policyd-weight… there is one bug open (#471645) where I’m unsure if I want to fix it, cause only stable is effected and the problem can be solved by providing a adjusted array of rbl in the config file. Should I ask for inclusion directly into stable? But it’s a really minor issue. Or try to get 0.1.14.15 uploaded to volatile? I’m really unsure and suggestions are welcome.

Jeff Bailey: It's time to place "Guess the cost!"

So for those of you following along, you'll notice that I've just had surgery in the most expensive place in the world. Luckily for me, Google (my employer) has an amazing set of health care packages, so I haven't had to be concerned with total financial destruction.

But how close would it have come?

That's the game we're about to play! I invite you, dear reader, to make a bid on how much you think the 4 days in hospital including the surgery, will cost.

Here's some info to help you along:

* Two days and one night of angiogram, embolism, general anesthetic, and chapstick cost ~$67,000 (The stick of chapstick was $17, apparently. Gotta love itemised billing.)

* One day of prep to make sure that the above day wouldn't kill me was $750

* A friend of mine at a different hospital had aorta replacement surgery for $250,000. She apparently had a longer hospital stay and a longer surgery, but with fewer surgeons.

* I was in the hospital for 4 days.

* The surgery was ~7 hours long (We think they started at 11, they forgot to phone Angie when they started)

* There were at least 3 surgeons involved, plus physicians assistants, etc.

Winner gets one of (next time I see them, and assuming i'm physically able) one of (their choice):

* Back rub
* Reasonably good glass of nicest port available at reasonably-close-by bar (Let's say not to exceed $25 for the glass)
* Dinner at some vegan-friendly place.

Let the bidding begin! Bidding closes when I receive the bill.

Filip Van Raemdonck: Disconnected

Last week has been a stressful one, for reasons I'll come back on later.
This week had started better, but since yesterday my Internet connection stopped working[1] (for the same reasons). It isn't when until such thing happens that you realize how dependent you've really become on it, even for simple matters as looking up contact information.

[1] So this and the previous post were written from my with my parents-in-law.

Jordi Mallach: Interview in El Pa s

Today's edition of El Pa s, the most read Spanish newspaper, celebrates the 10th anniversary of it's weekly technology section Ciberpa s with a special edition which takes a look back at the last 10 years of computing, and also looks forward to what the future will bring us. Merc Molist interviewed Carlos Atar s, my mate at Softcatal Jordi Mas and myself, on what happened during the last 10 years of Free Software and where we are heading. The paper edition features a *gasp* half page picture of me laying on the grass, but is otherwise identical to the online version. I need to add, this feels a bit strange. :) It's the first time I see myself refered to as just Mallach , but I realise I'm getting old...

26 March 2008

Jeff Bailey: Update of the moment

Hey - here's an update:

* I'm off the steroids. Last one was last Friday, spent the weekend enjoying the withdrawal symptoms, and already enjoying the benefits, like my skin is clearing up even more, I'm starting to get my voice back, and I'm less inclined to be angry at the vacuum cleaner when it runs into me. Angie tells me I'm a lot more fun to have around. Which is encouraging when one is totally dependent on another person for food. =)

* I seem to have gotten sick. It took me a bit to figure this one out, but the withdrawal symptoms seemed to be going on longer than expected. Then Angie started showing signs of them, after Leif was fussy for a day. Blech. =( Which explains why I can be cold under covers when the thermostat claims that it's 74 F (No idea in civilised measurements, sorry). Hopefully this passes quickly. Time for lots of breathing and napping. Like I could be sleeping any more during the day.

* My energy levels are getting better. I saw Andrew Pollock at noon today when he returned a CD to me, and he commented that from my walking you can barely tell I had surgery 3 weeks ago. Except for how slowly I'm going. And the full body turn in order to look to see if cars are coming when I cross the road. And the huge production to step up onto the sidewalk. A 5 minute walk no long requires me to sleep for 2 hours. Can't say the same for a 10 minute walk yet, though.

* Staples are out! I have two more days of antibiotics because the incision is still red and giving off more heat than they'd like so I'm back in next Tuesday for another checkup. Last week, the surgeon wasn't surprised by the healing rate given that the steroids are an immunosuppressant, though. So hopefully next Tuesday I get a clean bill of health and then just have to wait 2 weeks before getting some movement restrictions lifted and starting PT. And tomorrow I'll have a shower without fetish^WPlastic Wrap all over the incision. I can't shower unassisted yet, though, since getting most of my body would count as "reaching"

* Short-term disability finally approved my claim. For 6 weeks anyway. Then they want me to return to work or get better justification from my surgeon. I'm sure he'll be all professional, but I'd love it if the letter read "My client takes 10 minutes to get out of bed. He takes vicodin every 4 hours, and my nurse just recommended Oxycodone so that he can sleep more than 2.5 hours at a stretch. What do you think?"

* We have the biopsy results. And like every other biopsy result, we have... Inconclusive! Whee! At least they're no longer using the word "Sarcoma", but instead have settled on Osteoblastoma. But there's a catch - there are two types of Osteoblastoma, Aggressive and not. (I'm sure there's technical terms, but I'm tired and didn't catch them). The inconclusive bit is whether it's aggressive or not. During surgery, however, they treated it as aggressive because they didn't have the information and did what they'd do to minimize the chance of it coming back by taking out lots of extra tissue. I still get to see an Oncologist, in case there's something interesting through all of this still to learn.

* Otherwise, schoolwork extensions are all approved, our new bank likes us and is doing good things. Coworkers are popping in and saying hi, so I'm not feeling totally isolated. Heinlein is less good the fewer drugs I'm on. Or maybe it's because I'm reading "Friday".

Things are still getting better every day, even through all the sickness and such. I'm trying to catch up with people on Jabber. I still can't lift the laptop, so IRCs out until I figure out where I put the charger to the N810. It's somewhere out of reach, so as far away as the moon as far as I'm concerned.

I also want to take a moment to say thanks to Sandy and Jamu for their visits here - We're trying to arrange for people to visit us on the weekends and help us return the place to a clean state, with Kit starting the visits this coming weekend. Angie's got her hands full with Leif, and I get the joy of sitting in the corner wishing I could be useful. The result is that the house slowly falls apart over the course of a week, and hopefully weekend visitors will help us keep some measure of sanity here.

Peace and love, all.

Tks,
Jeff Bailey

Joey Hess: my anti-platform: followup

A year ago I posted an anti-platform with some things I wanted to work on over the next year or three. This is a followup to see what, if anything, has been accomplished. constantly usable testing CUT generated some discussion in the project, but I've done nothing toward it myself. The only real progress in this area over the last year has been increasing improvements in the testing security team, and the release team, both of which I'm not currently active in. deprecating www.debian.org This continues to happen organically, for example, Debian Weekly News stopped and http://wiki.debian.org/DeveloperNews took its place. Aside from pointing out that this is happening, I haven't done much to push it. double the archive sync frequency again Sadly, this has not happened yet. automated whole system testing HP donated a test machine, which I set up to run emulated tests of installations of i386, amd64, s390, mips, and mipsel. (Arm and armel should be added soon.) I don't always manage to keep all the tests working at all times by myself, but they have been valuable. developer (virtual) machines My test machine spits out disk images for 5 architectures that have debian pre-installed on them, but due to hosting issues I have not been able to share those images with others yet. find the next nslu2 I was pretty sure this would be OpenMoko's Neo phone, but I have only briefly had access to one, and it's not clear it will be easy enough to get the hardware to make it worthwhile to target it. Meanwhile, tbm has found a more nslu2-like next nslu2, the QNAP Turbostation NAS device, and there's work underway to fully support it from d-i onwards. Others have also worked on running Debian on various related AP hardware, including the ASUS WL-500g and Linksys WRTSL54GS, using OpenWRT to boot Debian. There's instructions and downloads on a wiki page. It would be good to get this fully supported without the hacks.

Nico Golde: streaming from your fileserver using mpd and icecast

My mobile music player is often missing the files I want to hear right now if I'm under way because my music collection is too big to fit on it.
Long time ago I used gnump3d which seems to be unmaintained in Debian for quite some time and then I often listened to some live streams, network connections are available nearly everywhere.
But I always wanted my own live stream with music I want to hear. There are several solutions out there for this task but they all require the creation of a playlist before the streaming starts.

Fortunately mpd provides the possibility to define different output targets and also one for streaming to a shoutcast or compatible server like icecast.

So after apt-get install mpd icecast2 (on a Debian box) you have to edit /etc/mpd.conf
There is not much to do, be sure to set music_directory to the place your music is located and the configure the output part.
Add the following to your mpd.conf and adapt some values:
  1. audio_output {
  2.         type "shout"
  3.         name "foobar stream"
  4.         port "8000"
  5.         host "localhost"
  6.         format  "44100:16:2"
  7.         mount "/stream.ogg"
  8.         password "somepass"
  9.         quality "2"
  10.         user "source"
  11. }

The type defines that this output will be streamed to a shoutcast target. The name will be displayed by the client you use to play your stream. 8000 is the port icecast2 will listen on host "localhost" (in this example the icecast2 server is on the same host). format specifies the audio format of the stream, the first number is the sample rate in Hz, the second number is the number of bits per sample and the last number defines the number of channels (2 is stereo here). Those values should work for most of you. mount specifies the path under which the stream is available later from the server root, in this example http://localhost:8000/stream.ogg.
quality defines the ogg encoding "quality". You can also specify the bitrate instead of it. The user and password values are used to authenticate mpd at the source input for icecast2.

There seems to be a bug in the 0.13 release (which is also in Debian) of mpd that prevents this from working. I don't know the details about this bug but adding
  1. audio_output {
  2.         type "alsa"
  3.         name "fake out"
  4.         driver "null"
  5. }
fixes it.

Make sure to set START_MPD=true in /etc/default/mpd to enable mpd.
That's all that needs to be done for mpd.

The next step is to edit /etc/icecast2/icecast.xml.
The default configuration nearly ready to use. Configure the authentication part:
  1. <authentication>
  2.       <source-password>somepass</source-password>
  3.       <admin-user>admin</admin-user>
  4.       <admin-password>someadminpass</admin-password>
  5. </authentication>

The source password is the one we specified in the mpd configuration. This is needed to authenticate mpd with icecast. source is the default user name icecast uses here. Additionally we define an admin-user that can be used to add users to icecast later because we want to protect the stream by a username and a password.
Then set
  1. <hostname>you.somehost.org</hostname>
.
This hostname is used to generate URLs in icecast that a user receives.

Because we want a very simple authentication for the stream we need to add some options for the mount (/stream.ogg):
  1. <mount>
  2.     <mount-name>/stream.ogg</mount-name>
  3.  
  4.     <max-listeners>1</max-listeners>
  5.     <authentication type="htpasswd">
  6.             <option name="filename" value="/etc/icecast2/htpasswd"/>
  7.             <option name="allow_duplicate_users" value="0"/>
  8.     </authentication>
  9.     <on-connect>/home/icecast/bin/stream-start</on-connect>
  10.     <on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
  11. </mount>

I think the xml tags are pretty much self-explanatory. Keep in mind to set the filename to a location the icecast daemon has access to, that's why I used /etc/icecast2. Then you can add users with htpasswd or using the web interface on port 8000 and add a user there.

The last thing to do is to adjust the <alias source="/" dest="/status.xsl"/> setting. Change status.xsl to auth.xsl people need to authenticate if they connect to the web interface before seeing the stream information.

Now you can login via ssh on your home server and use your favorite mpd client to configure playlists on the fly, I use ncmpc for this. Of course the authentication is not secure, people who sniff your traffic can see your login data.
One thing to keep in mind is to restart mpd after restarting icecast otherwise mpd will hang and not continue to stream, this seems to be a bug.

After routing through your NAT, you should be able to play your stream via http://you.somehost.org:8000/stream.ogg.

Benjamin Mako Hill: Unhappy Birthday Interview

Unhappy Birthday -- a website that tries to educate the public and encourage folks to snitch on their friends for singing the (copyrighted!) Happy Birthday song in public places -- is perhaps the most widely read thing I've ever written. It's been seen by millions and I continue to get hate mail several times a week. Last Sunday, the nationally broadcast CBC show WireTap aired an pseudonymous in-character interview with me about the site where I pretended to be a copyright high-protectionist. I think it turned out pretty well. You can listen to it on the unofficial WireTap podcast. My interview starts at a bit more than 10 minutes into the show.

MJ Ray: National Issues / President Sarky

French President Nicholas Sarkozy is about to arrive at Windsor Castle and I heard the following comment this morning:
Quote
"The French want their president to be working hard underneath, but look graceful, like a swan.  They worry that Sarkozy is a swan upside-down, appearing to thrash about, but going nowhere and drowning."
Well, ignoring the generalisation, it still made me smile.

25 March 2008

Romain Francoise: dcmd now in devscripts

In case anyone out there is using my dcmd script, I'll note that it's now included in devscripts (starting with version 2.10.20). The devscripts version doesn't behave differently when called as dscp or drsync, I have the following aliases to get the old behavior:
alias dscp='dcmd scp'
alias drsync='dcmd rsync -av'
As always, feedback welcome.

Ond&#345;ej &#268;ert&iacute;k: SymPy accepts Google Summer of Code applications

SymPy is a pure Python library for symbolic mathematics. Last year SymPy had 5 excellent students and this year we are accepting students again.
Why should you apply? And why to SymPy?

Well, let me give you some reasons:



Read also the current status and motivation of SymPy and it's relation to Sage. If you want to apply, all the necessary information is on our wiki page.

Nevertheless, if you decide SymPy is not for you, but still you'd like to do GSoC project in a similar area, there are other good options too - one is SciPy/NumPy, the other is Sage. Unfortunately Sage was not accepted as a mentorship organization, but it has several good projects too, some of which you can do for example under the umbrella of the Python Software Foundation.

One of them is improving the Sage notebook. If you've never seen that - download Sage, start it (./sage), type "notebook()" and a nice Mathematica like notebook will popup in the browser. It allows collaborative editing ala Google Docs and many other things. If you'd like to work on it, reply to the email on sage-devel.

Jonathan McDowell: Hacking the Wii

I hacked my brother's Wii this weekend. It was fairly painless (and pointless at present). All you need is a copy of Zelda: Twilight Princess (which I don't have, hence using my brother's Wii for this) and an SD card. You use the Twilight Hack as a Zelda saved game, which then causes a buffer overrun when you try to talk to the first character in the game. This is exploited to load a boot loader which loads and runs a boot.elf file off an SD card in the Wii's memory card slot. Pretty easy to do. There's not a lot out there at present. Wiibrew seems to be the main hub of activity. I tried the GameCube Linux Proof of Concept Linux port; once they add USB support it might actually be useful as that'll open up mass storage and input via a keyboard. There's a Sega Genesis emulator on Wiibrew which isn't too bad, but I found it a bit temperamental at reading ROM images. Still, it's a start and it's pretty nifty that you can do this without having to modify your Wii in any way. I expect more groovy homebrew will appear as the hardware of the Wii gets better mapped out.

Martin F. Krafft: Looking for an environmental charity

I am looking for a charity to receive regular donations. I would like to support the environment and wildlife, rather than people directly, and the World Wildlife Fund immediately comes to mind. While I ve been supporting the fund s work for two years now, I feel a bit uneasy about its size. It seems plausible that they can leverage synergies much more effectively, but large organisations also burn through heaps of money just to be able to do what they want to do. In addition, I feel the whole organisation is too professional and anonymous. The same applies to Greenpeace. With none of this do I intend to discredit the work of the WWF or Greenpeace! They re just not what I am looking for. I have previously donated to a charity in China, but the troubles and efforts involved with this were too much. And while China certainly needs a lot of help and support in rethinking their environmental policies, it s not like central Europe or other parts of the world couldn t put money to good use in this sector as well. So what I seek for is a small charity who operates in a niche and to whom regular donations, even if small, make a difference. EuroNatur looks promising. I d love to have more choice though. If you know of any, please let me know. NP: Barclay James Harvest: Eyes of the Universe Update: Micah Anderson pointed me to the Rainforest Action Network and Ron Lee introduced me to the Sea Shepherd Conservation Society, started by Greenpeace co-founder Paul Watson, who resigned from the Greenpeace Foundation (in 1977) because of disagreements with the emerging bureaucratic structure of the organization . I have contacted both and asked for their annual reports and whether they have experience with tax-deductible donations from Central Europe. Update: Karen O Sullivan suggests the Jane Goodall Institute and the International Fund for Animal Welfare. I ve written to them as well.

23 March 2008

David Moreno Garza: "I guess I am talking more about the fuss involved, and the paranoia around GPG-zealots, like there..."

I guess I am talking more about the fuss involved, and the paranoia around GPG-zealots, like there are many in Debian. GPG is not the holy grail, it s a tool which doesn t actually fit the real world (you have to be a hacker to use it, basically), it s misunderstood in many ways (see keysigning), and yet, it s a great way to waste your time with it for minimal security benefit.

- Martin F. Krafft, on the debian-private mailing list; accepted to be quoted publicly off-list.

Christoph Berg: debcheckout saves the day

I have a small set of config files and cfengine scripts that I want to deploy on every machine I own. Of course, the Debian way is to put them into a package, and install that. So far so good. Problems arise when trying to maintain this package on several different $HOME directories - depending on where I am when I want a change. Using $vcs (svn in this case) works, but I'd also like source packages. Only that I occasionally forget where I put the repository. Or uploading new source packages is too tedious. The later problem was solved by a cute combination of dput and reprepro. My .dput.cf has targets that rsync the package over to my server, and automatically install the packages into the repository there. For the repository problem, Stefano Zacchiroli's debcheckout comes to the rescue. Vcs-Svn: in debian/control points to my svn+ssh:// repository. Instant "DWIM" checkouts! (To actually make this work, the latest cfengine tweaks add deb-src lines for my local repository that were previously missing.)

Steve Kemp: Make anyone cry today?

I've spent a lot of hours over the weekend stripping out markup on my personal website, so that I can regenerate it from a templating system. My template-compiler is horribly hacky, but it produces reasonably good results from simple input files. The only motivation for this was to finally transition my site to a consistant layout, and allow me to easily change the layout again in the future. I looked over WML, htmlpp, and a few other static web-compilers before writing my own tiny processor. I guess most of them are more powerful than mine, but similarly more complex to get started with. I'll share the code if there is any interest. (Primarily it is template expansion of a body, optional per-page menus, and per-page HTML header inclusion.) The only significant thing that has changed in my website is a tiny RSS feed of updates (also compiled!) and the removal of many sections from the top-level menu. (For example my body piercing section has been obsolete for years. It is still present, but I see no point in advertising it. Better resources exist.. The plus side is that I've managed to do all this whilst watching "Dead Like Me" over the Easter weekend. Both series from start to finish. Good show.. Obquote: 10 Things I Hate About You

Julien Blache: TomTom: Internet standards do not apply

In June last year, I bought a TomTom GPS device. Their use of Linux on the device was a clear plus in their favour, but it was only that, given that overall they’re the best devices available. Unfortunately, the TomTom HOME software that is needed to manage the device is not as good as the device itself. An account on their website is needed for updates and the online shop, and as I usually do, I used an email address in the form jb+something@jblache.org. That’s a trick most of us use to trace back the origin of spam, usually revealing that some company sold its customer database. I’ve been doing that for years. I was quite happy that the website did not reject the address as being invalid; that’s something that happens everytime the random web developer maintaining the site decides to start “validating” email addresses, for some value of email addresses. For the following 8 months I’ve been using this address as the account login (don’t really have the choice, anyway) with the TomTom HOME software. Last month, the v2 of the said software was finally made available for Mac OS X. Where the v1 used to accept my email address, the v2 would now reject it. You guessed it, Joe Random developer decided to start validating email addresses in TomTom HOME. I reported the regression (and here, something must be said about their infamous support website), with pointers to the relevant RFCs. In the following email ping-pong, they managed to: Last but not least, their last reply was: “we found that the standard does not apply to us. Please change your email address for a valid one.” Now, I’m left wondering: does the GPS standard apply to TomTom devices? I truly hope so.

Enrico Zini: Italian National Anthem

Italian National Anthem Christian mentions that he likes the Italian National Anthem, although not the words. No Italian in their right mind likes the words; luckily we are generally not forced to learn them, so we can allow ourselves to not give a damn about it. Which is our general strategy to deal with all the insanity we get every day. What's the point of a nationalist anthem anyway, when the people who care most about the country are wishing for the Germans to invade us? Anyway, here's my attempt at national anthem lyrics that suck less, for the benefit of those, like Christian, who like the music but not the words.
Fratelli d'Italia
L'Italia s' desta,
Chi cazzo sto Scipio
Che ci han messo in testa.
Non c' la Vittoria
che porge la chioma,
Siam schiavi di Roma
E del Vatican.
Scongiuri alla sorte
Si rischia la morte
Si spera di no.
Noi siamo da secoli
Calpesti, derisi,
Perch siam mafiosi
ladroni e collusi.
Si rischia di nuovo
di aver Berluscone
Dell'emigrazione
Gi l'ora suon .
Scongiuri alla sorte
Si rischia la morte
Si spera di no.
Uniamoci, amiamoci,
l'unione, e l'amore
Ridanno alla gente
Il suo buonumore;
Giuriamo far sesso
sul suolo nat o:
Chiaviamo, perd o,
Chi dice di no?
Scongiuri alla sorte
Si rischia la morte
Si spera di no.
Dall'Alpi a Sicilia
Noi ti condoniamo,
Ogn'uom di Bettino
Ha il core, ha la mano,
I bimbi d'Italia
Fan calcio balilla,
Bastardo chi frulla
Gancin non si pu .
Scongiuri alla sorte
Si rischia la morte
Si spera di no.
I nostri politici
Son tutti venduti:
Si sente dall'Austria
L'odor dei rifiuti.
Lavora in Italia,
Il nero, il Polacco,
In nero, perbacco,
Io lo pagher .

Scongiuri alla sorte
Si rischia la morte
Si spera di no.

Neil Williams: Porting a C package from libgnomevfs to GIO and GVfs.

(Note: this is a long post)
Package: deb-gview
Use of GnomeVFS: "Individual package files or packages referenced in a changes file can be viewed from local or remote filesystems using GNOME VFS."
Main changes: src/dvarchive.c but also src/main.c.
Port Status: Complete and tested.
Prerequisites
Do not run any code before completing this step
You must ensure that gvfs, gvfs-bin and gvfs-backends are all installed and operational before running any of your modified code. Thereby hangs another tale. The application itself probably needs to depend on both gvfs and gvfs-backends. gvfs-bin provides test binaries like gvfs-info.
You need to ensure that the following command operates correctly:
$ gvfs-info http://www.google.com
display name: /
edit name: /
type: unknown
size: 0
attributes:
standard::display-name: /
standard::edit-name: /
standard::content-type: text/html
id::filesystem: type='http',uri='http://www.google.com',mount_prefix='/'

Note that this is run as the normal user, not under sudo and not as root. - that just complicates things. If you find that this works with sudo but not without, read the bug report against gvfsd.
If you get this output:
$ gvfs-info http://www.google.com
Error getting info: The specified location is not supported

read the bug report, find and kill the borked gvfsd process and ensure that gvfs-backends is installed before attempting any other gvfs* commands (including via your modified source code).
Starting
  1. Online copy of the GIO docs. online copies of the GVfs docs. I mainly use Anjuta where both sets of the docs are available via libglib2.0-doc >= 2.16.1 and devhelp or via your localhost using dwww.

  2. #include <gio/gio.h> to replace #include <libgnomevfs/gnome-vfs.h>.
    (May sound obvious now but examples are not that frequent in the GIO docs as part of libglib2.0-0.)

  3. The GIO docs do give some info on porting variables:

    • GnomeVFSHandle * vfshandle; became GFile * ghandle; GInputStream * stream; in deb-gview

    • Extra variables needed for deb-gview: GVfs * vfs; GError * result; GFile * gfile; GFileInfo * ginfo;. GError itself is not new but it can catch you out in the port because so many GIO/GVfs functions can use it and you find yourself using g_clear_error(&error) a lot or GLib will complain about trying to replace data in a GError.


  4. Separate path and URI handling - GIO and GVfs have separate filename/path handling for paths on a local filesystem and paths on remote filesystems and the two cannot be mixed. This was a big source of bugs during the port (it may be a UTF-8 issue) and in the end I went for a gboolean flag in the context that this particular viewer was handling a file from a remote filesystem (e.g. http://localhost/incoming/deb-gview_0.2.0_amd64.changes, http://ftp.debian.org/debian/pool/main/e/emdebian-tools/emdebian-rootfs_0.9.1_all.deb or http://incoming.debian.org/foo_version.changes) and not from a local path (e.g. /opt/debian/deb-gview/deb-gview_0.2.0_amd64.changes or ../../debian/deb-gview/deb-gview_0.2.0_amd64.deb). Personally, I found g_file_is_native to be unsuitable for this purpose and as I had a "user-entered" path available, I simply use if ((g_str_has_prefix (path, "..")) (g_str_has_prefix (path, "/"))) but YMMV, depending on how you obtain the path itself.
    Keep track of the type of input file when handling GFile - g_file_get_path will fail if passed a GFile that needs g_file_get_uri and vice-versa. These failures output messages to the console so they are relatively easy to track but not only will the call fail but the GFile itself is likely to get corrupted, leading to other bugs and messages to the console. g_vfs_get_file_for_path(vfs, path) and g_vfs_get_file_for_uri(vfs, path) (which obtain the GFile from GVfs in the first place) also fail if passed the wrong type of path.
    In some situations, g_file_get_parse_name can be used to get a "normal" char* representation of the path to the GFile but I was only able to use this in specific circumstances and only when the path and URI handling flag was implemented.
    This all complicates the port because gnome_vfs_make_uri_from_input did not have this separation issue.

  5. Checking if a file exists - if (!g_file_query_exists (gfile, NULL)) may seem easy but unless issues with the URI and path are handled cleanly, this simple check will fail even though the file exists. The problem arises because GFile appears to mangle a URI with a path function and vice-versa. The GFile ends up with an invalid path and hence there is no valid file to check so the query fails - but without indicating that it's actually an internal error in GFile rather than a valid path that simply does not exist.

  6. Reading files in one go - vfsresult = gnome_vfs_read_entire_file (vfstext, &changes_size, &contents); gets replaced with g_file_load_contents (cfile, NULL, &contents, &changes_size, NULL, &result); (note the order swap between the size and the buffer to use). Once read, the buffer can be handled as before. This is one of the easier changes in the port, once the above issues are all cleared up. On the other hand, GIO and GVfs do appear to handle relative paths more easily than GnomeVFS.

  7. Checking VFS is active -
    vfs = g_vfs_get_default ();
    if (g_vfs_is_active(vfs))

  8. Reading files as a stream - result = gnome_vfs_read (vfshandle, readbuffer, skip, &bytesread); becomes bytesread = g_input_stream_read (stream, readbuffer, skip, NULL, &result);. Fairly straightforward as long as you use:
    if (result)  
    g_warning("Error: %s", result->message);
    g_clear_error (&result);
    (or something equivalent to get the error message to the user), every time you use &result.
    vfs_uri = gnome_vfs_uri_new (gnome_vfs_make_uri_from_shell_arg (filename)); becomes filestream = g_file_read (deb->ghandle, NULL, &result); (there's that &result again).

  9. Checking the stream remains open.
    stream = (GInputStream*)filestream;
    if (g_input_stream_is_closed (stream))
    return FALSE;

  10. Seeking inside the stream - YMMV but seek never appeared to work well for me in VFS so I had to read into a dump instead.
    gpointer dump; 	        
    dump = g_new0(gchar, seek);
    result = gnome_vfs_read (deb->vfshandle, dump, seek, &bytesread);
    g_free (dump);

    In GIO, seek is much easier: g_input_stream_skip (stream, seek, NULL, &result); - just handle that &result again. :-)

  11. Closing the stream - gnome_vfs_close (vfshandle); becomes g_input_stream_close (stream, NULL, &result);.

  12. Getting information on files - if ((vfsinfo->type != GNOME_VFS_FILE_TYPE_REGULAR) (vfsinfo->size == 0)) becomes
    ginfo = g_file_query_info (ghandle, G_FILE_ATTRIBUTE_STANDARD_SIZE, G_FILE_QUERY_INFO_NONE, NULL, &result);
    if (0 == g_file_info_get_attribute_uint64 (ginfo, G_FILE_ATTRIBUTE_STANDARD_SIZE))

    dv_show_error (DV_ERR_NO_FILE, parent);
    return;

    (dv_show_error is a user-facing error report func) and, yes, there is a g_clear_error(&result); later.


Summary
This took me quite a bit of time and the bug in gvfsd was a significant hindrance so ensure that you test with gvfs-info before thinking there is a bug in your code. (Also remember that if you are reading files from http://incoming.debian.org/ then those files will disappear once each day when the cron job moves them into the pool. :-) ) I recommend developing and testing against http://localhost/ during the port.
The GIO docs are relatively thin (especially for GVfs) and that is not just because GIO is still new. Starting a new application using GIO and having a working GIO/GVfs setup in place already would be much easier so new applications will work. As ever, the problems really show up when trying to port an application that has already worked around the various GnomeVFS bugs and now has to both remove those workarounds and implement one or two other changes for GIO.
Ensure your application has Depends: gvfs-backends - until the bug in gvfsd is fixed, it would be unwise to put gvfs-backends in Recommends: because that will almost inevitably result in any user without Recommends: enabled passing a call to GVfs at least once without an available backend, resulting in a broken gvfsd process and a completely broken application until the user either kills the process or logs out and logs back in. Even identifying that issue in a bug report is not straightforward - hopefully the bug report and this post will help. (Yes, depending on how you configure the ported application, it is entirely possible for this broken gvfsd process to break all file operations in your application, even local ones.) Unfortunately, there is no call (currently) to take down GVfs - you can only test to see if it is already active and that check is not sufficiently intelligent to detect the broken gvfsd process.
Subjectively, GIO does appear smoother than GnomeVFS and maybe faster. Now I need to get on and try to port other applications to GIO.....

Next.

Previous.