Search Results: "ron"

15 January 2009

Julien Blache: Antec PSU suck

How not to start your day, from the all-hardware-sucks department. For years, I ve been struggling to keep my machines quiet. I ve miserably failed for years, and pretty much gave up once I realised that the quiet parts I was looking for just did not exist. Last year, I finally found what I was looking for: I ve been very happy with this hardware for both my workstation and my filer. Well, until today. No need to mention that this hardware is not exactly cheap, but the price is right for the quality. So, wake up today, do random things, grab my TomTom, unplug it from the workstation it s sucking its power from, do things, plug it back in the USB port so it won t draw its battery. This is how it went: Check machine temp, PSU temp, attempt to restart PSU, check UPS, check cables, replace power cable and bypass UPS. Admit defeat for this round and accept the PSU as dead. Pull out the machine, rip out the fscking damn PSU. Grab the tools, crack the PSU open. Notice bulging and leaking capacitors. Yes, this PSU is anything but cheap, yet it uses el-cheapo chinese capacitors. Antec, you suck, big time. For the past decade everybody in the industry has known that el-cheapo chinese capacitors manufactured after 1999 are total crap, using an electrolyte that isn t actually one because its formula was stolen by industrial spies who got totally PWNED and ended up stealing a bad formula. (If you need a reference, google for singing capacitors . Note that singing capacitors can also happen with good parts used in a crappy electronic design. Like that 100 Mbps D-Link switch over there, or that Sony-Ericsson mobile phone charger. Hmm. Not everybody can hear it, I do.) A healthy, young capacitor should not bulge nor leak. A capacitor that leaks, bulges or sings is a crappy capacitor and needs to be replaced with a quality part ASAP. I ve been routinely replacing such capacitors on my older motherboards (manufactured between 1999 and 2001) in the past years. I ve not had the problem in ANY of my el-cheapo PSU, and did not replace any capacitor in any of them to date. Fortunately, the machine did not suffer any further damage, nor did the TomTom. Everything is up and running again with a spare PSU. I m now going to replace the fscking capacitors on this PSU, replace the fuse, probably R&R a couple of high-voltage transistors too (they have a tendency to fry before the fuse blows out) and get it back up and running. Then I ll do the same with the other PSU in the filer, because that machine has 8 disks attached, so draws more power and hence is much more vulnerable. Fuck you Antec.

Roland Mas: Call for translations for GForge

Stuff happens quietly on the GForge front, but after some time we decided we're getting bored with not releasing. Since we seem to have run out of major problems in the codebase, the long-awaited GForge 4.7 release is probably round the corner. And so, since GForge migrated from its own in-house translation system to the more conventional gettext API, I'd like to take the opportunity to issue a call for translations, knowing that potential translators won't be too disturbed by unusual tools and formats. You can grab the current state of the translations from the GForge repository browser. Or, for more long-term involvement, checkout the code through Subversion or through Bzr (my gateway branch is available from bzr.debian.org. Current statistics are as follows: Results as patches to our patch tracker or the gforge-devel ML please. (Note to Debian-related readers: this translation work will be directly useful on Alioth when we upgrade it.)

MJ Ray: FS-4400 Satellite PVR

You may remember that I m quite a satellite TV fan, having installed it in 2004 and compiled a FAQ. Over the holidays, I replaced my 4-year-old Digiquest receiver (terrible website) with a FortecStar FS-4400 PVR from Maplin. I d love to build a MythTV but how am I ever going to build such a small, quiet receiver for anything like that price? The FS-4400 s decoder gives a dribblingly clear picture and (one firmware upgrade later) the recorder works flawlessly. I can even watch other channels on the same transponder while recording. It has a couple of small niggles (the file manager that appears every damn power-on, the pidgin English on-screen displays and it s too easy to activate the motor), but it seems pretty good value on the whole. Now I ve a dilemma. I put a 4Gb USB stick into it, just to see how I got on with the recording. I like it, but 4Gb is enough for only 2 or 3 hours and I don t want to get into swapping sticks around like video casettes. I still don t know what s where on half my tapes. I ve seen a few places report things like Solid State Drives Getting Ready to Take Over (by Jaymi Heimbuch) with much larger capacity just around the corner, but the best rate I found today is around 1 Gb/pound for SSDs up to about 32Gb, compared to nearly 10 Gb/pound for USB-powered hard disks from around 300Gb. On the flip side, SSDs are silent and I don t know how noisy or power-hungry the HDDs are. How would you play this? By the way, if you care about UK TV, BERR.gov.uk is consulting about reducing Sky s control of itv - what s to consult about? Sky s doing all they can through the courts to drag their feet, but we need to put the independent back into independent television! Tell them by Friday 23 January 2009, please.

Russell Coker: Old PDA vs New Mobile Phone for PDA use

Since about 2002 I have been using a iPaQ [1] for taking notes while on the move. I have a pair of H3950 iPaQs that were given to me for the purpose of some software development work. As modern mobile phones have telephony as a small part of their feature set I think it s worth comparing a 2002 iPaQ with a 2009 mobile phone in terms of the note taking functionality. I have just got myself an LG U990 Viewty mobile phone [2]. It has a screen resolution of 240*320 which is the highest resolution that is remotely common for a mobile phone - and the same resolution as my 2002 model iPaQ. The LG KC910 Renoir has a resolution of 240*400 and seems to be the only phone that my carrier provides which has a higher resolution. The iPhone [3] has a resolution of 480*320. So it seems that the most expensive modern mobile phone that is available in Australia has a screen resolution that is only twice that of a 2002 PDA. I believe that in Japan you could buy a PDA with a higher resolution than 240*320 in 2002. My iPaQ is running Linux, so I can do whatever I want with it. I have a bar at the bottom of the screen with icons to launch, I configure it with the programs that I need most often and they are always one click away. While with my mobile phone I always have two large icons for paid services from my telco and I can t add icons for the things that I want. My iPaQ has a virtual keyboard that can be displayed in portrait or landscape mode. The above pictures show it in the portrait mode which allows the greatest area of screen space for text. The landscape mode is good for entering long lines of text even though the total number of words that can be displayed on screen is smaller. The size of my iPaQ is 134mm in height, between 77 and 84mm in width (it tapers) and 15.9mm thick without it s protective sleeve. The protective sleeve (shown in the second picture) adds about another 5mm to the width and thickness. My iPaQ is 1.76* the volume of my Viewty phone and at 184g vs 112g is 1.64* the mass. With it s sleeve on it is about 2.4* the volume. It s larger but with the sleeve it s a lot more solid, a touch-screen is very fragile so putting a touch-screen device in your back pocket without a sleeve is not a viable option. So I now own a mobile phone that has more storage, RAM, and CPU power than my iPaQ, but is less useful for the basic task of writing small documents and seems to have no facility for drawing diagrams. Most recent mobile phones have the ability to record voice (my Viewty can store 34 hours on it s internal storage and supports mini-SD cards for extra storage). But my Viewty lacks the ability to pause voice recording so if I wanted a series of notes during a meeting I would get a series of short voice recordings rather than a single file with many items. The todo list is also fairly poor in the Viewty, so even disregarding the poor keyboard on the touch-screen it would compare badly to the iPaQ. So it seems that an iPaQ that is almost seven years old when running Linux and the GPE Palmtop Environment [4] with with default configuration handily beats one of the latest and greatest mobile phones for all areas of common functionality. If the Viewty had it s source code available I would be tempted to contribute some patches (even if it was not free software). Finally, before someone suggests an Android [5], Greenphone [6] or other phone that s relatively open and programmable, I wanted a phone that had a good camera (by phone standards) and came essentially for free on an affordable contract. Maybe in two years time (when my current contract ends) there will be such a phone on offer. Mobile phones aren t THAT important to me, so while I would like to encourage the development of open telephony platforms it s a much lower priority than about a dozen free software projects. I expect that in the future something like an Android will become a great mobile phone with great PDA functionality. But for the moment I ll use an iPaQ and a Viewty.

Kapil Paranjape: Securing Synchronisation with unison (Mostly Wrong)

There are a number of documents about how to permit ssh access to run rsync or unison for remote synchronisation by an appropriate configuration of the authorized_keys file. Of these the best two are probably those by St phane Kattoor and Christian 'Greek0' Aichinger. Joey Hess also explains some of the pitfalls. The problem is the familiar one: to limit the file-system hierarchy accessible. The humble chroot is a natural way to implement such restrictions which is probably what led "Greek0" to suggest the use of dchroot. This is indeed a fine solution ... except, how does one implement it if one is not root on the server machine? WARNING: The rest of this entry is wrong as was pointed out by Joey Hess. See the update at the bottom. The package fakechroot by Piotr Roszatycki provides a way out. The problem I had was as follows: A recent enough version of fakechroot (version 2.8 worked) allows one to do make use of environment variables as follows:
LD_PRELOAD=libfakechroot.so
LD_LIBRARY_PATH=/usr/lib/fakechroot:/usr/lib64/fakechroot:/usr/lib32/fakechroot:/usr/lib:/lib
FAKECHROOT=true
FAKECHROOT_VERSION=2.8
FAKECHROOT_EXCLUDE_PATH=/bin:/lib:/usr
export LD_LIBRARY_PATH LD_PRELOAD
export FAKECHROOT_EXCLUDE_PATH FAKECHROOT FAKECHROOT_VERSION

After this setup one can run
HOME=/ chroot $HOME/some/dir /usr/bin/unison -server

and the unison server1 will only be able to view /bin, /lib, /usr and $HOME/some/dir; the latter will be mapped to /. (One needs to set the $HOME variable to something sensible for unison to function.) One should not be tempted to create subdirectories of $HOME/some/dir containing only the "relevant" portions of the system directories for unison. The reason is that those files will be created as me and so could be overwritten by unison. The creation of a suitable entry in authorized_keys to use this is an easy exercise! UPDATE: As Joey Hess has noted:
Taking a program, be it fakechroot or unison, that was never designed with security in mind, and trying to use it as a security barrier, is an open invitation to pain.
I had thought about the problem of uploading static-linked binaries and had imagined that it had been overcome. However, the basic facts in this case are:

  1. For those trying this out at $HOME with some terminal command like /bin/sh instead of /usr/bin/unison a suggestion is to add /dev to the FAKEROOT_EXCLUDE_PATH variable so that you have access to your terminal. Be aware that giving remote access to /dev may have unintended consequences!

Dirk Eddelbuettel: littler 0.1.2

Version 0.1.2 of r (pronounced littler) was just rolled up. This version adds two new command-line switches: As usual, our code in our svn archive, on my r page, and in the local directory here. A fresh package is in Debian's incoming queue, and Jeff's littler page at Vanderbilt should reflect the new release soon too.

14 January 2009

Gunnar Wolf: Hyperdimensional strings

I am stunned no more people have been bitten by this. Or at least, the Intarweb has not heard about it. Censorship perhaps? I haven't researched more into the causes, but anyway...
I was pushing a project I have had lingering for some time from Rails 2.0.x to 2.1.x (yes, 2.2 is already out there, but 2.1 is the version that will ship with Lenny) - The changes should not be too invasive, as it is a minor release, but there are some quite noticeable changes.
Anyway... What was the problem? Take this very simple migration:
  1. class CreatePeople < ActiveRecord::Migration
  2. def self.up
  3. create_table :people do t
  4. t.column :login, :string, :null => false
  5. t.column :passwd, :string, :null => false
  6. t.column :firstname, :string, :null => false
  7. t.column :famname, :string, :null => false
  8. t.column :email, :string
  9. t.column :pw_salt, :string
  10. t.column :created_at, :timestamp
  11. t.column :last_login_at, :timestamp
  12. end
  13. end
  14. def self.down
  15. drop_table :people
  16. end
  17. end

The problem is that PostgreSQL refuses to create a hyperdimensional string field. I offer this here to you, line-wrapped by me for your convenience.
  1. PGError: ERROR: syntax error at OR near "("
  2. LINE 1: ...serial PRIMARY KEY, "login" character varying(255)(255) NOT ...
  3. ^
  4. : CREATE TABLE "people" ("id" serial PRIMARY KEY,
  5. "login" character varying(255)(255) NOT NULL,
  6. "passwd" character varying(255)(255)(255) NOT NULL,
  7. "firstname" character varying(255)(255)(255)(255) NOT NULL,
  8. "famname" character varying(255)(255)(255)(255)(255) NOT NULL,
  9. "email" character varying(255)(255)(255)(255)(255)(255) DEFAULT NULL NULL,
  10. "pw_salt" character varying(255)(255)(255)(255)(255)(255)(255) DEFAULT NULL NULL,
  11. "created_at" timestamp DEFAULT NULL NULL, "last_login_at" timestamp DEFAULT NULL NULL)

Beautiful. Now I can store strings not only as character vectors, but as planes, cubes, hypercubes, and any other hyperdimensional construct! Are we approaching quantum computers?
What is really striking is that... I found only one occurrence on tha net of this bug - one and a half years ago, in Ola Bini's blog. No stunned users looking for the culprit, no further reports... Strange.
Still, the bug was fixed in Rails 2.2 about half a year ago, although not in revisions of earlier versions. I will request the patch to be applied to earlier versions as well. Sigh.

Axel Beckert: Sedating irssi's nick highlight for microblogging messages

My favourite IRC client is irssi. I like it so much that I even use it for all my instant messaging needs. The gateway of choice between irssi and mostly Jabber is Bitlbee. I also microblog on identi.ca, a free (free as in AGPL) microblogging service based on laconi.ca. In comparsion to the non-free and proprietary Twitter microblogging, identi.ca has all the features which Twitter turned off already again. For me the most important feature of Twitter was tweeting via XMPP (aka Jabber). Since Twitter turned off that feature, Twitter increasingly fast became unimportant for me. Identi.ca still has this feature and cultivates it further. So usually don t visit the identi.ca website that often anymore but get the microblogging stream of my friends via XMPP and Bitlbee directly into my irssi. Although this is very convenient, it has one big disadvantage: In comparison to an IRC channel, not only notices directed to me personally but every incoming notice beeps, because Bitlbee sends them either as /MSG or prepends my nick name. For normal IRC communication /MSG should beep, and you can t make exceptions for that so easily in irssi. I asked on #bitlbee (OFTC) and on #irssi (IRCNet). On #irssi funnily the first answer was I tried that yesterday, no success from Shrike. So I m not alone, although Shrike uses Jaiku and not identi.ca. Then I had the idea to get Bitlbee to not prepend my nick name for all those identi.ca notices which go into the &bitlbee channel but I didn t find a way to configure this in Bitlbee. But Shrike found a way to do this with already existing irssi plugins: The trigger.pl plugin (available e.g. in Debian s irssi-scripts package or on scripts.irssi.org) can add triggers which replace parts of the message. So the following three lines helped me to reduce the noise microblogging causes in my irssi:
/script load trigger
/trigger add -publics -masks 'identica!update@identi.ca' -channels '&bitlbee' -regexp "^XTaran: " -replace ''
/trigger save
And on the command line I just needed a symlink to automatically start the trigger plugin on irssi startup:
ln -vis /usr/share/irssi/scripts/trigger.pl ~/.irssi/scripts/autorun/
So now again only the important messages beep. :-)

David Welton: The "Gig" Economy?

This article talks about the rise of people working part-time, doing various 'gigs': http://www.thedailybeast.com/blogs-and-stories/2009-01-12/the-gig-economy/full/ Perhaps her intended audience is not interested in "dull" things like economics, but even someone like me with just a smattering of reading in economics can't help but think of Coase and his Theory of the Firm when reading it. The question is: why do firms exist? Why isn't the economy composed of a huge network of independent contractors? If markets and prices and such work so well, why do these big, monolithic companies, which internally, are not 'free markets' exist? His answer is, greatly simplified, "transaction costs". From the article:
Every time the boss turns around asking for a key member of staff to join today s frantically convened cost-cutting strategy meeting the reply comes back, It s not Sam s day to come in and he s the one working on it. Julia can come, though. Julia? What she got to do with it? Yeah, well, we ll have to bring her up to speed.
In other words, while there is a savings from not having Sam present every day, there is also a cost associated with it, which includes having had to look for and interview Sam to do some work, and bargaining over a price for Sam's services, and then "bring him up to speed". You have to do those things with regular employees too, but you have to do them less often with people who stick around for years. So if one wanted to look, in a less anecdotal way and slightly more scientific way, about whether the US, or other countries, are turning into "gig economies", one could do worse than look at the transaction costs associated with utilizing contractors as opposed to permanent employees. If those costs have fallen (it may be easier to find people, thanks to the internet, for example), perhaps it is more efficient to have more contractors and fewer full time employees and so the equilibrium will tilt in that direction. Of course, another explanation might simply be that the economy is bad, and companies don't have the budget to take on more people, so they get by with what they can in the short term. In terms of the social costs and benefits to a "gig economy"... well, that discussion is best left for other sites, as it's a big, long, complex one with lots of politics and economics and eventually boils down to everyone's own view of how the society they live in ought to look, which is very much outside the scope of this journal.

David Welton: Hosting, Commodities, and "The Cloud"

Anyone connected to the world of IT has been bludgeoned over the head with "cloud" news lately, to the point where the term has become vague and mostly a buzzword. There is, however, something behind the phenomenon, described in Nick Carr's book The Big Switch, with more computing power being centralized at large data centers where economies of scale come into play. I had an interesting chat with Marco D'Itri a while back, about hosting and commodities. It's clear that there is some commoditization going on, but he maintains that hosting is not a commodity. I've been thinking about it and the conclusion I've come to is that some parts of the business are certainly commodities: disk space, memory, bandwidth, and processor cycles. Those things, are, ultimately, what we want to buy when we buy 'hosting'. However, the bits and pieces between that, and people who build on top of those services (i.e. someone who runs a web site) are not really a commodity, yet. Customer service, for instance, might vary a great deal between providers. What will happen in that space, will we see a baseline price for the commodities, and hosting resellers built on top of that that offer different levels of service? I do think that the "mom and pop" hosting type of situations will gradually disappear in favor of larger data centers that can take advantage of economics of scale, though. Also, as I've written about in the past, in Web Hosting - A Market for Lemons, there are some serious information asymmetry issues - how do you know the people providing your service are serious? How do you know they're using good components that wont' break often, rather than cheap junk that will lead to frequent outages? If you have the resources, you can build a system like Google's, where it doesn't matter what fails, it just works around it, but the basic tools that most of us are working with right now aren't that high level. I was reminded of the information asymmetry issue by this article, written by the Dreamhost folks, Web Hosting's Dirty Laundry, which describes how they caught a 'review' site trying to get money from Dreamhost for positive reviews, which is interesting in light of the lemon problem. Wikipedia has some criteria for a lemon market here: http://en.wikipedia.org/wiki/The_Market_for_Lemons#Criteria, which include the following:
Deficiency of effective public quality assurances (by reputation or regulation and/or of effective guarantees / warranties
If it's difficult to get real, honest, impartial reviews of hosting services, that is a push in the direction of 'lemons'. Of course, it's not impossible to get this information, but it seems that a lot of us still go by "hearsay" - what others we know use and report to be ok. To compare it with another product, I'd probably ask around to friends prior to purchasing a new car, but whatever I get is likely to work ok, even if it's not the absolute best. On the other hand, the wrong hosting provider might be very much a "fly by night" operation that leads to a lot of downtime, so I'm far more likely to listen to what other people have to say, and be far more cautious about buying "any old thing". Opinions? Comments? Thoughts? Where do you see this industry going?

David Welton: The "Gig" Economy?

This article talks about the rise of people working part-time, doing various 'gigs': http://www.thedailybeast.com/blogs-and-stories/2009-01-12/the-gig-economy/full/ Perhaps her intended audience is not interested in "dull" things like economics, but even someone like me with just a smattering of reading in economics can't help but think of Coase and his Theory of the Firm when reading it. The question is: why do firms exist? Why isn't the economy composed of a huge network of independent contractors? If markets and prices and such work so well, why do these big, monolithic companies, which internally, are not 'free markets' exist? His answer is, greatly simplified, "transaction costs". From the article:
Every time the boss turns around asking for a key member of staff to join today???s frantically convened cost-cutting strategy meeting the reply comes back, ???It???s not Sam???s day to come in and he???s the one working on it. Julia can come, though.??? ???Julia? What she got to do with it???? ???Yeah, well, we???ll have to bring her up to speed.???
In other words, while there is a savings from not having Sam present every day, there is also a cost associated with it, which includes having had to look for and interview Sam to do some work, and bargaining over a price for Sam's services, and then "bring him up to speed". You have to do those things with regular employees too, but you have to do them less often with people who stick around for years. So if one wanted to look, in a less anecdotal way and slightly more scientific way, about whether the US, or other countries, are turning into "gig economies", one could do worse than look at the transaction costs associated with utilizing contractors as opposed to permanent employees. If those costs have fallen (it may be easier to find people, thanks to the internet, for example), perhaps it is more efficient to have more contractors and fewer full time employees and so the equilibrium will tilt in that direction. Of course, another explanation might simply be that the economy is bad, and companies don't have the budget to take on more people, so they get by with what they can in the short term. In terms of the social costs and benefits to a "gig economy"... well, that discussion is best left for other sites, as it's a big, long, complex one with lots of politics and economics and eventually boils down to everyone's own view of how the society they live in ought to look, which is very much outside the scope of this journal.

David Welton: Hosting, Commodities, and "The Cloud"

Anyone connected to the world of IT has been bludgeoned over the head with "cloud" news lately, to the point where the term has become vague and mostly a buzzword. There is, however, something behind the phenomenon, described in Nick Carr's book The Big Switch, with more computing power being centralized at large data centers where economies of scale come into play. I had an interesting chat with Marco D'Itri a while back, about hosting and commodities. It's clear that there is some commoditization going on, but he maintains that hosting is not a commodity. I've been thinking about it and the conclusion I've come to is that some parts of the business are certainly commodities: disk space, memory, bandwidth, and processor cycles. Those things, are, ultimately, what we want to buy when we buy 'hosting'. However, the bits and pieces between that, and people who build on top of those services (i.e. someone who runs a web site) are not really a commodity, yet. Customer service, for instance, might vary a great deal between providers. What will happen in that space, will we see a baseline price for the commodities, and hosting resellers built on top of that that offer different levels of service? I do think that the "mom and pop" hosting type of situations will gradually disappear in favor of larger data centers that can take advantage of economics of scale, though. Also, as I've written about in the past, in Web Hosting - A Market for Lemons, there are some serious information asymmetry issues - how do you know the people providing your service are serious? How do you know they're using good components that wont' break often, rather than cheap junk that will lead to frequent outages? If you have the resources, you can build a system like Google's, where it doesn't matter what fails, it just works around it, but the basic tools that most of us are working with right now aren't that high level. I was reminded of the information asymmetry issue by this article, written by the Dreamhost folks, Web Hosting's Dirty Laundry, which describes how they caught a 'review' site trying to get money from Dreamhost for positive reviews, which is interesting in light of the lemon problem. Wikipedia has some criteria for a lemon market here: http://en.wikipedia.org/wiki/The_Market_for_Lemons#Criteria, which include the following:
Deficiency of effective public quality assurances (by reputation or regulation and/or of effective guarantees / warranties
If it's difficult to get real, honest, impartial reviews of hosting services, that is a push in the direction of 'lemons'. Of course, it's not impossible to get this information, but it seems that a lot of us still go by "hearsay" - what others we know use and report to be ok. To compare it with another product, I'd probably ask around to friends prior to purchasing a new car, but whatever I get is likely to work ok, even if it's not the absolute best. On the other hand, the wrong hosting provider might be very much a "fly by night" operation that leads to a lot of downtime, so I'm far more likely to listen to what other people have to say, and be far more cautious about buying "any old thing". Opinions? Comments? Thoughts? Where do you see this industry going?

13 January 2009

Simon McVittie: Compiling against uninstalled versions of libraries

Developers seem to do a lot of fighting with bleeding-edge libraries installed in a --prefix, so I thought I'd share how I develop telepathy-glib (a library) and telepathy-gabble (a program using that library). ~/Collabora/telepathy/tpglib on my laptop is a git clone of telepathy-glib.git, branched using the process I documented on http://telepathy.freedesktop.org/wiki/Git, which is basically: ~/Collabora/telepathy/gabble is a git clone of telepathy-gabble.git, using the same process. In my Gabble checkout, I used to configure like this:
cd ~/Collabora/telepathy/gabble
./autogen.sh \
TP_GLIB_CFLAGS="-I$ HOME /Collabora/telepathy/tpglib" \
TP_GLIB_LIBS="$ HOME /Collabora/telepathy/tpglib/telepathy-glib/libtelepathy-glib.la"
This would make libtool link Gabble against the copy of telepathy-glib built by my bleeding-edge git checkout, without ever needing to install it. This allowed me to try out my latest telepathy-glib changes with Gabble's more extensive regression tests, which was a great win. It also meant I could develop Gabble branches that required a not-yet-released telepathy-glib, and all without touching my system copy of telepathy-glib (the one I use to run Empathy and talk to people - which is the packaged version from Debian unstable or experimental). The reason I could do this is that I laid out the telepathy-glib source tree in The Right Way , which is: if a header is designed to be used via #include <my-library/foo.h>, then it goes in a my-library/ directory in the source tree, and includes other headers (even from the same project) with #include <my-library/other.h>. This means you can just add the top directory of the source tree to your include path (which automake does by default) and the right thing will happen. (Actually, this is a slight simplification of the truth: because telepathy-glib contains generated headers, you have to add the top directory of the build tree to your include path too, if you want to support out-of-tree builds. Which, of course, you do.) Other projects that do this correctly include GLib and Avahi. Avahi is a particularly interesting example because it has numerous libraries in the same tarball (including avahi-common, avahi-core, avahi-glib and avahi-gobject, which form a dependency chain). Projects that don't do this correctly include telepathy-mission-control (which is on my hit list for further swamp-draining) and libtelepathy (which is obsolete). Today I committed a patch to telepathy-glib, inspired by GStreamer, to generate telepathy-glib-uninstalled.pc. The presence of this patch simplifies the process further, to:
./autogen.sh PKG_CONFIG_PATH=$HOME/Collabora/tpglib/telepathy-glib
This has the same benefits as setting TP_GLIB_CFLAGS and TP_GLIB_LIBS, but is easier to remember, and is more future-proof against changes to telepathy-glib. It only works because pkg-config has a special case for this situation - if you ask for the package "foo", pkg-config will always look for foo-uninstalled.pc before foo.pc. (Edited 2009-01-13: putting environment variables on the ./configure or ./autogen.sh command line like ./autogen.sh PKG_CONFIG_PATH=foo is better than putting them in the environment like PKG_CONFIG_PATH=foo ./autogen.sh, since it works around Debian bug #398901 and bugs like it)

Romain Beauxis: (not) Being tolerant.

I usually like to discover other cultural usages and try understand what I feel chocking from my cultural point. Not for THIS. I strongly believe this kind of stupidity should be removed as soon as possible. It is an insult to humanity. And the better way to put bareers between people. White British, White Irish or Mixed Black African and White and Mixed Black Caribbean and White. What a bullshit !!!!

Christoph Haas: NFS: sec=sys or ruin your day

And once again I was bitten by problems on my Debian laptop mounting directories from the file server via NFS. After a Debian dist-upgrade I couldn t login to KDE any more. Shell login worked somehow but I quickly found out I could neither read nor write any files there. Apparently an ls -al showed me the right permissions (not just unmappable numeric UIDs or something of that kind) and an id -a confirmed that my LDAP PAM configuration still worked. But reading or writing any file just lead to Permission denied . I m not sure if it was an update in the nfs-common package in Sid. But I had the same problem before and it took me hours until I finally figured out that Debian s NFS seems to use non-standard defaults. Namely the sec parameter when mounting the NFS share. According to the Solaris documentation the default is sec=sys which means that NFS uses the locally acquired UIDs and GIDs. Like /etc/passwd, NIS or LDAP/PAM. But on Debian it seems to default to sec=krb5 or something. As I have close to no idea how to set up Kerberos and don t want to (and talking to other people hardly anyone has used Kerberos either) I figured that it s not really a sane default. I didn t even ask for NFSv4 - just NFSv3. Perhaps I undeliberately set some /etc/default/nfs-common configuration setting wrong or whatever. It was just strange. So I set sec=sys in the options of the NFS share of my /etc/fstab and the problem was fixed. Actually I wonder what network file systems other people use in a Debian environment. NFS somehow feels antiquated to me anyway.

12 January 2009

Steve Kemp: Death is... whimsical... today.

I'm not sure how you can pre-announce something in a way that cannot be later faked. The best I can imagine is you write it in a text file and post the size / hash of the file.
steve@skx:~$ ls -l 10-march-2009
-rw-r--r-- 1 steve users 234 Jan 12 21:40 10-march-2009
steve@skx:~$ sha1sum 10-march-2009
99d1b6d625ed4c15a3be2be5fec63c17941c370d  10-march-2009
steve@skx:~$ md5sum 10-march-2009
1a0e68b8fbb3b0fe30e5b4a9413ceeec  10-march-2009
I don't need anybody to keep me honest, but I welcome interesting suggestions on more neat ways to pre-confirm you have content that hasn't been changed between being written and being released...? I guess you could use GPG and a disposible key-pair, and then post the secret key afterward, but that feels kinda wrong too. Update of course you could post the detached signature. D'oh. Shamir's Secret Sharing could be another option - posting just enough pieces of the secret to make recovery possible with the addition of one piece that was witheld until the later date. Jake wrote a nice introduction to secret sharing a couple of years ago. ObFilm: L on

Michal &#268;iha&#345;: Cygwin in Wine?

As some people complained that Gammu does not build under Cygwin, I decided to setup a test environment. And of course I'm not going to use real Windows, that would not allow me to use it effectively, so let's do it in Wine. I currently have 1.1.12, which is in Debian packages (in experimental), so I blindly downloaded Cygwins installer, started it and (even if Wine complained quite loudly about not supported things) it installed without a single problem! So let's try to compile Gammu in it. First attempt fails, because Cygwin symlinks do not work in Wine. But there is an easy workaround - just copy as.exe and ld.exe instead of symlinks and now even the compiler works. Rest is surprisingly without any problems, so I can nicely get test results to Gammu dashboard. Kudos to all people who make this work.

11 January 2009

Daniel Burrows: A diagram of the apt system

There's a lot of folklore in the Debian community about how apt works. Unfortunately, a lot of it is also just plain wrong. For instance, I often hear people confidently say things like aptitude is a frontend to apt-get (it isn't). These misconceptions are understandable -- all the programs that use apt perform the same tasks, many of them imitate each other's interfaces, and they all share common code. It's easy to assume that they must all be invoking apt-get under the hood. In the interest of clearing up some of this confusion, I've created some simple diagrams of what uses what in the apt system. apt is large and complicated, so these diagrams can't be complete, but I hope they at least clear up the basic relationships between the different pieces of software. This diagram shows how apt, dpkg, and some popular frontends are related to one another (also available as a pdf). Simple apt diagram In order to keep things simple, the above diagram is limited to a very cursory description of how the system components are bound together. The other diagram I've built shows a few more technical details about the structure of libraries, programs that invoke one another, etc (also available as a pdf). Complex apt diagram In order to make these diagrams manageable, I had to throw out a great deal of information. If you have a question that these don't answer and if I have time, I'd be happy to take a stab at diagramming some other aspects of apt. [EDIT]: I've updated the diagram in response to a request to indicate where packagekit will reside, when and if it is completed. My understanding is that they are basically writing yet another apt frontend, but there's an intermediate library that translates to some least-common-denominator API so the frontend can be identical on all package systems.

Russell Coker: Video Camera for Shared Movies

I have never felt inclined to create content for Youtube due to the low resolution of the display and the fact that only one format is supported (Flash which is totally non-free). The existence of blip.tv has inspired my interest in creating videos for distribution on the net. blip.tv has higher resolution than Youtube and supports multiple formats. Currently the multiple format support is limited to allowing users to upload whatever they want and then Flash (FLV) will be provided for download in addition to the original file(s). So for example I could upload MPEG4 and Quicktime movie files for the same content which would result in three download options (MPG, MOV, and FLV). It would be nice if they could support more formats as the default (maybe support transcoding to OGG), but it s certainly a lot better than Youtube. So the question then is how to create content. One option that I plan to use is Istanbul - the GNOME desktop session recorder [1]. It will record everything that happens on the desktop (or a section of the desktop) to an OGG file while also optionally recording audio input. This allows the creation of tutorials for performing various tasks on the computer. Another option is to do animation, either completely computer generated or by combining a set of JPEG files into an animation file. This doesn t interest me to the degree necessary to make me invest the necessary time. But the most common way of producing video content is via a camera. So the question becomes what camera to get. My current camera is a Sony Cyber-shot DSC-T5 [2]. It is a 5.1 mega-pixel camera with 3* optical zoom and supports 640*480 resolution movies at up to 30 fps. The quality of photos and video that it produces seems to be quite good, I don t have any particular problem with the camera that I want to address by purchasing a new one, so a major aim of buying a new camera was the fact that it s a few years old and something better must be available at a low price! I asked for advice about this on my local LUG mailing list. One piece of advice that was offered by several people was to use a Digital Video camera with Firewire output to record quality video. They spoke about common digital cameras as point and shoot with the acronym P&S - which seems to be used as a term of abuse by people who are really into cameras. If using a DV camera with Firewire support (which is apparently a really important feature) then apparently Kino [4] is the program to use to capture the raw video data. While the advice in regard to a digital video camera sounds good I m not going to take it. Such DV cameras start at about $300 and appear to be physically larger. While a larger camera (with a larger lens) will give better quality pictures and higher frame rates with lower levels of ambient light I am planning to do my serious video recording in a controlled environment with reasonable lighting. Really I m not THAT serious about video recording, so I don t plan to spend $300 or more - I ll accept the lower quality as a trade-off for lower price and greater convenience. I have seen an advert for a camera described as a DC-777 at a good price from DirectBuy.com.au [3]. The camera in question is one that has no reviews anywhere on the net and seems to be a re-badged version of someone else s camera. It initially sounded quite good with 11mega-pixel resolution, but the fine print shows that it has a 7MP CCD and uses interpolation to get a higher resolution. Also the movie capability is 640*480 at 30fps (the same as my Sony). So the benefit of using the DC-777 would be the rotating display which can face the same direction as the lens thus allowing someone who is making a video of themself to see what they are creating. This doesn t seem to be $200 worth of benefit, but the camera might be a reasonable deal for someone who doesn t already have a decent P&S digital camera. Another interesting piece of advice I received from my local LUG was that the amount of time taken to get a good image (which determines the shutter speed on a good camera or the maximum frame rate for video) is determined in part by the size of the elements in the CCD. So with all other things being equal a camera that supports higher resolution will require longer exposure. For my use the benefit of higher resolution photos is often for the purpose of cropping pictures of objects that were too far away to allow completely zooming in. 3* optical zoom (as implemented in my current camera) is a limit when photographing objects that are far away in good light conditions (in poor light it s often a factor of the lens size). In the past when looking at digital cameras I would make the resolution of the picture the prime criteria - with the idea that bigger is better. But now it seems that the smart thing to do is to make optical zoom the prime criteria for general purpose camera use. Also having a larger lens is a significant benefit, but as the overall volume of the camera is going to be roughly proportional to the radius of the lens cubed it can t get that big without some serious compromises on portability. Obviously an SLR [5] offers significant quality benefits. But if you are unwilling to spend so much money a good result can be obtained by what are sometimes called Big Zoom Digital cameras. These are cameras with a body shape that resembles a SLR, they vary in size between the P&S cameras and SLRs, and have fixed lenses that are significantly larger than those of P&S cameras. I gave such a camera to a relative for Christmas and I was very impressed by the quality of pictures and movies that it produced. I chose a Kodak camera with 12* optical zoom which was quite impressive (unfortunately the 15* model had sold out). One of the benefits of a Big Zoom Digital camera over a DSLR is that as there is no option to replace the lens there is also no possibility to get dust inside the camera (which is apparently a problem with SLR cameras). For my own use I plan to stick with my Sony Cybershot. I can t get anything significantly better for an amount of money that I am prepared to spend, and I also don t really want a larger camera. So I think I ll buy a tripod (or maybe two tripods of different sizes), that should deliver a real benefit for my photography without costing much. Update: One thing I forgot to mention is the film speed rating (AKA the ISO number) [6]. A higher ISO number means that the camera can take faster pictures in less light. The Wikipedia page reports that camera manufacturers are permitted to interpret the ISO scheme in several different ways, so they can essentially just make stuff up. Probably the best that can be said for the ISO number is that any camera which advertises it is aimed at more serious users and is therefore likely to be of higher quality. I m sure that if I was to spend $700 or more then I would get a camera with an advertised ISO number that actually means something, but I don t have any plans to ever do that. Matt made a good comment that the quality of the glass matters. For an SLR you can consider the lens quality independently of the quality of the rest of the camera. But for cheap cameras it s just a matter of the entire package.

Patrick Schoenfeld: Syncing mails

Okay, so I had a simple job to be done. I have two mail accounts: A private mail account and a company mail account, which has two folders containing private mails. I want to synchronize these folders to my private account. Which is the right tool to choose? I thought that one way would be to fire up a graphical mail user agent, like lets say Thunderbird, setup the accounts and simply move the mails between them. But this has some implications, like:

So I decided that I needed some small tool, that UN*X admins are used to have. After a small apt-cache search, I found two tools:
I installed both and looked at them. For the impatient, a spoiler: I decided to use imapsync.
I had a quick look at imapcopy and it did not have a proper manpage.
Instead it refers to the built-in help (imapcopy -h) which is not useful either and to examples in /usr/share/doc.
After that I had look at imapsync. It comes with a pretty good manpage and a pretty good built-in usage information. Appearently I rate it very important that either the manpage or the built-in help are good enough to get started with a tool. Certainly I know that tools exist where a manpage is simply not enough, but I guess a tool to sync imap folders is not one of them.

After studying the manpage for about 2 minutes I was ready to construct a command line and give it a --dry try. This parameter lets me see what the tool would do if I would ommit it. That one looked good and so I gave it a shot. It then started to work. It has two flaws.
  1. Unfortunately it does not indicate its progress and the normal messages are not a good help either, because they contain numbers that actually do not refer to mails in one of the mailboxes (they are soon literally higher as the number of mails in both mailboxes) and I do understand what it is referring to.
  2. It sometimes crashed at random locations with random messages. I didn't look deeper into it, because restarting the script helped and therefore I cannot speak of a easy reproducible problem. In 3000 mails it happened about 1-2 times, so not a great deal but still annoying.
Anyway, it did the job, which took some time, because of my bandwith.

Next.

Previous.