Search Results: "will"

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.

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?

Wouter Verhelst: FOSDEM Devroom schedule

I just mailed the schedule for the FOSDEM '09 Debian Devroom to the -events-eu mailinglist. Also note that Bdale Garbee will be doing a Debian keynote talk on saturday morning.

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

Joerg Jaspert: New FTP Assistant, Call for help

Like a short while ago, we just added another member to our Ftpteam as you can read in my latest d-d-a mail. As you can also read, we are having another DD as a trainee and possible further addition (at least I hope it will turn out to be one!), and we are also asking for more volunteers. Read that mail if you want to find out more. :)

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)

Jose Carlos Garcia Sogo: Postfix+TLS+SASL in Debian HowTo recovered

Once of the most visited pages in my site was the Postfix+SASL+TLS for Debian Sid and Sarge Howto, who I wrote 3 years ago. As I hosted it in my old home server, when it broke it went offline, and though there are still some copies around the net, there are a lot of referals still directing traffic to tribulaciones.org.
Now I have recovered it and it is now available here. I will write an .htaccess file to redirect people to the new place and, with some more time, I will review it to see if there are some changes needed for Lenny.
Enjoy! UPDATED 14/01/2009: I have added promised .htaccess file, so every link to old URL (http://www.tribulaciones .org/docs/postfix-sasl-tls-howto.html) will work again.

Martin Michlmayr: HP mv2120 is sold in Europe as the HP mv5020

We added Debian support for the HP Media Vault mv2120 this summer and it works very well. While this NAS device is easily available in the US, I have unfortunately not been able to find it in Europe so far, which obviously limits the number of people who will run Debian on it. Yesterday I learnt that the mv2120 is sold in Europe under the name HP Media Vault Pro mv5020 (GX666AA). I found some shops in the UK that sell the mv5020 but I assume it's also available in other parts of Europe.

12 January 2009

Jonathan McDowell: Life with the Google/T-Mobile G1

I've previously mentioned my desire for a new smartphone. I'd been eyeing the G1 since its release, with the main factor stopping me from going ahead the need for a T-Mobile contract. They don't have any 3G coverage north of Belfast that I've seen and I'm very happy with my 20/month O2 Simplicity contract and don't have any need to pay twice that. Luckily Katherine decided to get me one for my birthday, and after some confusion involving it going to Norwich (always remember to update your Paypal delivery address as well as the card address when you move home, folks. Oh, and your Amazon wishlist address too; it's different than your primary address and I've been bitten by that myself in the past) it turned up the weekend before Christmas.

I have a UK spec T-Mobile G1. First step was to get it unlocked for use on O2. I used Unlock G1 - they weren't the cheapest, but I'd seen them recommended on a few G1 news sites and they had a helpful guide on their site about activating without a T-Mobile SIM. They claim a code within 2 business days. I ordered at 19:30 UTC on a Saturday night and had a code by 21:00 that worked first time.

Once the O2 SIM was working I needed to check if the phone was easily rootable. I typed reboot and was rewarded with a rebooting phone. I had the RC7 UK firmware release, which still had the bug. I followed the android-dls.com guide to keeping root and upgraded to the RC8 release. With that out of the way I could start to actually have a play.

The screen is lovely. I'm used to the high res E70 screen and have been disappointed at the number of phones that only do 320x240. 480x320 is probably the minimum I'd want (if I can't manage an 80 character wide SSH session I'm not really interested) though obviously if HTC ever get round to a Touch Pro with Android I might be tempted... Touch aspect is perfectly responsive, as is the interface in general - while I don't use a phone that much day to day my mobile is the only number I give out so it tends to be the only phone I use. This means that the ability to make/receive calls/sms is the most important feature for me (it's odd having to say this, but I know people who've claimed to love phones but on further probing reveal it's a great PDA but dire for calls and they have to carry something else for that). The G1 performs admirably for my needs.

The built in apps are good too. The browser is much better than the E70. I don't know if that's the bigger screen (though the resolution isn't much different) or a faster processor, but browsing on my mobile is a much more realistic proposition now. I've only played briefly with the iPhone browser and I wouldn't say the G1 was any better, but it's certainly good. Calendaring is functional too and copes with multiple Google Calendars as you'd hope. Shame it doesn't deal with anything else, but for the moment this suits my needs. I haven't used it for email; I prefer to ssh to my colo box and run mutt. Contacts are mostly ok, though I have a few gripes I'll mention later.

I haven't felt the need to install many apps. The connectbot ssh client was an obvious one and is pretty nice (main missing feature is UTF-8 and there's a feature request for it raised already). I've installed a few games off the Android Market, as well as Barcode Scanner (does what you'd think) and CellFinder (displays your location and which mobile cell you're using; it's a bit scary how few O2 masts there seem to be near my house). Installation from the market has been a breeze and it's nice to be able to flick through what's available. With my E70 it was always a real pain to go and hunt down Symbian apps (especially when S60 3rd Edition was new) and install them.

Before I start on my gripes, let me clarify that I am very happy with this phone. I wanted something with a keyboard that was functional and this fits the bill. It's a definite improvement over my E70 and I feel it's much more responsive than any of the recent Windows Mobile devices I've encountered. Also the battery life hasn't proved to be an issue - from articles I'd read I'd expected to have difficulty getting a day out of it, but in general I can easily get 2 and have had 3. Maybe my usage patterns aren't as heavy as everyone else, but that's fine for me (I remember my 9000i Communicator which really was a case of having to charge it every night).

The first issue I hit was the contacts system. Google have tied this into GMail and it really seems to have been a last minute thought process, perhaps along the lines of "Where can we stick this? Oh, hang on, people have email contacts, how about there?". Trying to move my contacts over from my E70 I was surprised to find that there's no way to import a vCard. The only option is CSV. WTF? I'm not saying vCard is perfect, but it's pretty much what we have as a standard method of contact interchange. I ended up writing some Perl to crudely parse the vCards and output CSV. I shouldn't have had to.

Then again, maybe the issue is that Google know their contacts system is a bit lacking. You'd think a company with online calendaring and contacts would be able to cope with things like birthdays, tying them together between contacts and displaying them in your calendar, wouldn't you? They can't. I can't see any way to store a birthday or anniversary with a contact. Nor a home page. The contacts system is the one area that the E70 outshines the G1.

I miss an onscreen keyboard more than I thought I would (ie at all). I understand this should be coming in the next release, which will make things like quick replies to SMSes much easier (there's no point opening the keyboard for a "Nearly there" response).

The use of only a single APN for internet access and MMS is a bit troublesome; I haven't managed to get this to work properly with O2 - either I have fully working 'net or fully working MMS with only web seeming to work. I haven't played with the settings very much though and I spent 7 months without MMS even enabled on my O2 account, so it's not high priority. Also something I understand is being fixed upstream.

I'd like a way to see the next calendar event on my home screen. I may just be missing how to do this, but it was a nice feature on the E70.

I haven't played much with the camera, but I get the impression it's pretty typical of the average mobile phone; ie not great. Not a problem for me, but don't expect this to replace a compact digital camera.

While I accept this phone isn't for everyone I think it's pretty much what I'm looking for in terms of what's on the market today. There's nicer hardware out there, but a large part of what makes this phone is the Android software. I look forward to seeing new phones in the coming year making use of it, hopefully leading to a decent selection by the time I need a new phone again. :)

Theodore Ts'o: Wanted: Incremental Backup Solutions that Use a Database

Dear Lazyweb, I m looking for recommendations for Open Source backup solutions which track incremental backups using a database, and which do not use hard link directories. Someone gave me a suggested OSS backup program at UDS, but it s slipped my memory; so I m fairly sure that at least one or more such OSS backup solutions exist, but don t know their names. Can some folks give me some suggestions? Thanks!

horizontal separator There are a number of very popular Open Source backup solutions that use a very clever hack of using hard link trees to maintain incremental backups. The advantage of such schemes is that they are very easy to code up, and it allows you to easily browse incremental backups by simply using cd and ls . The disadvantage of such schemes is that it creates very large number of directories blocks which must be validated by an fsck operation. As I ve discussed previously, this causes e2fsck to consume a vast amount of memory; sometimes more than can be supported by 32-bit systems. Another problem which has recently been brought home to me, is how much time it can take to fsck such file systems. This shouldn t have come as a surprise. Replicating the directory hierarchy for each incremental backup is perhaps the most inefficient way you could come up with for storing information for an incremental backup. The filenames are replicated in each directory hierarchy, and even if an entire subtree hasn t changed, the directories associated with that subtree must be replicated for each snapshot. As a result, each incremental snapshot results in a large number of additional directory blocks which must be tracked by the filesystem and checked by fsck. For example, in one very extreme case, a user reported to me that their backup filesystem contained 88 million inodes, of which 77 million of them were directories. Even if we assume that every directory was only a single block long, that still means that during e2fsck s pass 2 processing, 77 million times 4k, or 308 gigabytes, worth of directory blocks must be read into memory by e2fsck s pass 2. Worse yet, these 308 GB of directory blocks are scattered all across the filesystem, which means the time to simply read all of the directory blocks so they can be validated will take a very, very, long time indeed. The real right way to do implement tracking incremental backups is to use a database, since it can much more efficiently store and organize the information of what file is located where, for each incremental snapshot. If the user wants to browse an incremental snapshot via cd and ls , this could be done via a synthetic FUSE filesysem. There s a reason why all of the industrial-strength, enterprise-class backup systems use real databases; it s the same reason why enterprise class databases use their own data files, and not try to store relational tables in a filesystem, even if the filesystem supports b-tree directories and efficient storage of small files. Purpose written-and-opimzied solutions can be far more efficient than general purpose tools. So, can anyone recommend OSS backup solutions which track incremental backups using some kind of database? It doesn t really matter whether it s MySQL, Postgresql, SQLite, so long as it s not using/abusing a file systems hard links to create directory trees for each snapshot. For bonus points, there would be a way to browse a particular incremental snapshot via a FUSE interface. What suggestions can you give me, so I can pass it on to ext3/4 users who are running into problems with backup solutions such as Amanda, Backup-PC, dirvish, etc.? Update: A feature which a number of these hard-link tools do right is that they do de-duplication; that is, they will create hard links between multiple files that have the same contents, even if they are located in different directories with different names (or they have been renamed or their directory structure reorganized since they were originally backed up) and even if the two files are from different clients. This basically means the database needs to include a checksum of the file, and a way to look up to see if the contents of that file have already been backed up, perhaps with a different name. Unfortunately, it looks like many of the tape-based tools, such as Bacula, assume that tape is cheap, so they don t have these sorts of de-duplication features. Does anyone know of non-hard-link backup tools that do de-dup and which are also Open Source?

Wouter Verhelst: Hackergochi 'meme'

Christian, you forgot my (not so) recent hackergochi redo :-) Anyway, the picture I took of you back in Argentina isn't great hackergochi material; it cuts off part of your chin and the top of your head, which will get you a very very ugly hackergochi if you try to use it. Trust me been there, done that. In addition, it's very likely that you like the picture because of the somewhat dark background, even if only subconsciously; by turning it into a hackergochi, you cut out that background, so the appeal of the picture gets lost somewhat. Since you won't be at FOSDEM, I can't offer to take another picture of you. And since the picture you refer to is mostly great because of the lighting (which will no doubt be completely different, it freezing right now over here and everything) and the lens I used (which wasn't mine, but belonged to someone else; I just borrowed it for a few hours), I seriously doubt that I'll be able to get a picture that's in any way similar to the one you seem to like so much. Having said that, taking a good hackergochi picture isn't too hard; just think of a few basic things while taking it. If you're not happy with any of the pictures you already have, then take a new one! The following might help you with that: After that, just cut out the head and add a dropshadow. Even if you're not very familiar with The Gimp, that shouldn't take you a very long time; andn The Gimp is fun enough to play with anyway. Hints: Look for 'scissors select'; the dropshadow is in 'filters' -> 'light and shadow' -> 'dropshadow' Good luck :-)

Wichert Akkerman: TinyMCE and jQuery0

If you ever used TinyMCE and jQuery in a project chances are that you have seen this error:
tinyMCE is not defined
This might be browser dependent: I see this in Firefox, but Safari has no problems at all. At times this can be bad enough that Firefox will block loading the page, refuses to reload it and needs to be restarted. Doing a few searches revealed that others have noticed the same problem, but I could not find an answer. It turns out the solution is simple: you have to scope your javascript properly. This breaks:
 $(document).ready(function()  
    tinyMCE.init(....);
 
but this works fine:
(function($)  
    tinyMCE.init(....);
 )(jQuery);

11 January 2009

Michal &#268;iha&#345;: Say good bye to python-gammu

python-gammu has been here for more than five years and now it is gone! Well not really, I only integrated it into regular Gammu sources, what is anyway logical place where it belongs. Especially when looking on last releases, which were anyway bound together. The fact that several past releases have to happen together for both python-gammu and Gammu is not the only reason for merge. The other two major reasons are cross-compilation and testing. Besides this, with merged source, it will be easier for some distributions to deploy newer Gammu to released products. For testing I definitely could use some python based test framework, but I'd like to have all test results in a single place and I didn't find something what would easily integrate some python test framework with some dashboard and also would be capable of doing C testing. Also current CTest/CDash combo used in Gammu really fits my needs for good overview what is going on in daily tests, so I preferred to stay with current system. Cross-compilation support is really missing in distutils and I was using set of hacks to make it properly produce binaries for Windows on Linux. With current CMake based setup, all this is just matter of providing Python instance to use. On the downside, I can not really drop distutils usage, as they will still be needed for creating binary installer for Windows, unless I'll find some clever way how to do this in CMake (which I really doubt).

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: Debian Multimedia and SE Linux

I have just had a need to install packages from Debian-Multimedia.org to correctly play .3gp files from my mobile phone (the stock Mplayer in Debian would not play the sound). As part of getting this to work in a way that I like I rebuilt some packages so that shared objects would not demand an executable stack and added them to My SE Linux Etch repository [1]. The liblzo2-2 package is in Debian so I filed bug report #511479 against it. Not that I expect it to be fixed for Etch now that Lenny is about to be released. But it s good to have the data in the bug tracking system for the benefit of all interested people. The lame and xvidcore packages are only in the Debian Multimedia archive. I ve sent email to the maintainer with patches. Not sure if he will accept them (again it s not a good time for filing bug reports about Etch), but there s no harm in sending them in. The lame package also required execmod access, but I don t have enough time to devote to this to fix it. For background information about execmod see my previous post [2]. See my previous post about executable stacks for more background information [3]. The next thing to do is to test this out in Lenny, hopefully I ll get time to work on this tomorrow.

Wouter Verhelst: FOSDEM 2009: Debian talk schedule almost ready

Lessons learned: using the phrase third, final, and slightly desperate is an excellent way to motivate people into reacting to your Call for Talks. I've even had to reject some people now, unfortunately. Maybe next year, I'll use that phrase in my first call for talks. Then again, maybe not. Anyway, of course that does mean that there are no slots available anymore. If you wanted to hold a talk in the Debian devroom, you've had plenty of opportunity and will now have to wait until next year. There are still some minor loose ends that need to be filled in (of course there are always people who will wait until the very last moment to send mails they need to send... including me), but once that's done, I'll announce the schedule on the -events-eu mailinglist, and probably here too. And if you're worried that the word 'desperate' perhaps got us some boring talks in the end, don't be; the talks that are on the schedule are, I hope, all very interesting. Watch this space! So, things left to do, in no particular order: That's it for now, I guess. Back to your regularly-scheduled flamewar.

Julian Andres Klode: What have you done this week?


Well, I wrote 2599 lines of documentation. More detailed I wrote 2599 lines of documentation from Thursday to Sunday. In total, the jak branch of python-apt now has a diffstat (compared to debian-sid) of: Changes: 113 files changed, 5845 insertions (+), 2763 deletions(-) Partly responsible is Ben Finney, whose patches I merged. I also closed 7 bugs not relevant anymore in current versions of python-apt. This is the changelog to from debian-sid to jak:
python-apt (0.7.9~exp2) experimental; urgency=low
  * apt/*.py:
    - Almost complete cleanup of the code
    - Remove inconsistent use of tabs and spaces (Closes: #505443)
    - Improved documentation
  * apt/debfile.py:
    - Drop get*() methods, as they are deprecated and were
      never in a stable release
    - Make DscSrcPackage working
  * apt/gtk/widgets.py:
    - Fix the code and document the signals
  * Introduce new documentation build with Sphinx
    - Contains style Guide (Closes: #481562)
    - debian/rules: Build the documentation here
    - setup.py: Remove pydoc building and add new docs.
    - debian/examples: Include examples from documentation
    - debian/python-apt.docs:
      + Change html/ to build/doc/html.
      + Add build/doc/text for the text-only documentation
  * setup.py:
    - Only create build/data when building, not all the time
    - Remove build/mo and build/data on clean -a
  * debian/control:
    - Remove the Conflicts on python2.3-apt, python2.4-apt, as
      they are only needed for oldstable (sarge)
    - Build-Depend on python-sphinx (>= 0.5)
  * aptsources/distinfo.py:
    - Allow @ in mirror urls (Closes: #478171) (LP: #223097)
  * Merge Ben Finney's whitespace changes (Closes: #481563)
  * Merge Ben Finney's do not use has_key() (Closes: #481878 )
  * Do not use deprecated form of raise statement (Closes: #494259)
  * Add support for PkgRecords.SHA256Hash (Closes: #456113)
 -- Julian Andres Klode   Sun, 11 Jan 2009 20:01:59 +0100
This will again close 7 bugs. But the most important part is to actually have the complete documentation (OK, some descriptions are missing, but all classes,functions,methods,attributes,data should be there now). I still need to rearrange parts of the documentation and add some descriptions to some pieces, but all in all I am satisfied with what I have done this week. Take a look at the documentation: http://people.debian.org/~jak/python-apt-doc/apt/, it received documentation for 9 new classes today. I also added an entry to the DeveloperNews page on wiki.debian.org. Posted in Debian

Gregory Colpart: Set up IPv6 in Xen domU with nat-mode

I have a Xen dom0 with nat-mode and IPv6 enabled. Set up IPv6 in Xen domU is like a classical IPv6 network: add IPv6 addresses on vif interfaces on dom0 and IPv6 addresses on domU (manually or with radvd on dom0). The only tip is how adding IPv6 addresses on vif interfaces which are dynamically created by Xen. Here is my dirty hack to do it on /etc/xen/scripts/vif-nat file:
        [ "$dhcp" != 'no' ] && dhcp_up
        +# Add IPv6 addresses
        +[ "$vif_ip" = '192.168.0.1' ] && ifconfig "$vif" add 2001:6f8:143d:1::101:1234/64
        +[ "$vif_ip" = '192.168.0.2' ] && ifconfig "$vif" add 2001:6f8:143d:2::101:1234/64
        ;;
    offline)
Where $vif_ip is the IP address from domU configuration : vif=['ip=192.168.0.1]. I think the best solution is adding ipv6 option to domU configuration. I will consider to open a wishlist bug for that.

Next.

Previous.