Search Results: "ana"

20 October 2006

Martin F. Krafft: Shopping for computer parts in Z rich

Here in Z rich, I miss Munich for numerous reasons; one of those is that I can't just go to nb Computer for all my computer part needs. At that store, you get top quality stuff with excellent advice for competitive prices. There is no comparable store in Z rich, only "discounters" without any chance of receiving advice or being able to look at/touch/try things before you buy them. While no sensible mind would purchase e.g. a harddrive at Media Markt, Interdiscount, or Rediffusion (no links, they're not worth it), digitec looks more promising. However, I am no longer their customer. Yesterday, a drive I had bought from them in February failed, so I tried to get information on the warranty exchange procedure. I have since sent 3 mails, filled out the contact form, and tried 14 times to call their (expensive) hotline, where I'd usually be kicked out after 10 minutes or so. At their branch, they told me I had to get in touch with customer service first. This is not acceptable. Screw you, Digitec. Another store, PCP.ch is a totally different story. Unlike Digitec, I cannot just walk to the store and pick up stuff I preordered online, I'd have to drive about 40 minutes. However, their product line is very attractive, the prices seem alright, and I've never had a problem getting in touch with them. The current tendency in central Europe is "cheaper cheaper", the commercials promoting stinginess all over the place. Obviously, as the margin decreases for the shops who are trying to keep up with the downward trend, they cannot engage in any fair dealing or obligingness any longer. What people in Z rich do not seem to realise and it surprises me, especially in Z rich is that some folks, including myself, would be all too happy to pay a little more if in return we'd get reliable service. I am not even going to ask for a shop like nb Computer, who manages to give reliable service and keeps the prices down at the same time. If your reputation is widely known to be exactly that, you can also earn a living. NP: Emiliana Torrini / Love in the Time of Science Update: Adrian replied with two pointers to stores I'll have to check out. Thanks!

Martin F. Krafft: Loop-mounting partitions from a disk image

Every now and then, I have a disk image (as produced by cat, pv, or dd) and I need to access separate partitions. Unfortunately, the patch allowing partitions on loop devices to be accessed via their own device nodes does not appear to be in the latest (Debian) 2.6.18 kernels the loop module does not have a max_part parameter, according to modinfo. So this time I sat down to come up with a recipe on how to access the partitions, and after some arithmetic and much swearing at disk manufacturers, and especially the designers of the msdos partition table type, I think I have found the solution, and the urge to document it for posterity. It's all about the -o parameter to losetup, which specifies how many bytes into the disk a given partition starts. Getting this number isn't straight forward. Well, it is, if you know how, which is why I am writing this. Let's take a look at a partition table, with sectors as units:
$ /sbin/fdisk -lu disk.img
You must set cylinders.
You can do this from the extra functions menu.
Disk disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
      Device Boot      Start         End      Blocks   Id  System
disk.imgp1   *          63       96389       48163+  83  Linux
disk.imgp2           96390     2056319      979965   82  Linux swap / Solaris
disk.imgp3         2056320    78140159    38041920    5  Extended
disk.imgp5         2056383     3052349      497983+  83  Linux
disk.imgp6         3052413    10859939     3903763+  83  Linux
disk.imgp7        10860003    68372639    28756318+  83  Linux
disk.imgp8        68372703    76180229     3903763+  83  Linux
disk.imgp9        76180293    78140159      979933+  83  Linux
The first few lines is fdisk complaining not being able to extract the number of cylinders, since it has to operate on a file which does not provide an ioctl interface. The first important data are the units, which are stated to be 512 bytes per sector. We take note of this value as the factor for use in the next operation. Let's say we want to access the 7th partition, which is 10860003 sectors into the disk, according to the fdisk output. We know that each sector is 512 bytes, so:
10860003 * 512 = 5560321536
Passing this number to losetup produces the desired result:
# losetup /dev/loop0 disk.img -o $((10860003 * 512))
# file -s /dev/loop0
/dev/loop0: Linux rev 1.0 ext3 filesystem data
# mount /dev/loop0 /mnt
[...]
# umount /mnt
# losetup -d /dev/loop0
If the partition really holds a normal filesystem, you can also let mount set up the loop device, and manage it automatically:
# mount -o loop,offset=$((10860003 * 512)) disk.img /mnt
[...]
# umount /mnt
And since there's aparently no means to automate the whole process for an entire disk, I hacked up plosetup. Enjoy:
# plosetup lapse.hda .
I: partition 1 of lapse.hda will become ./lapse.hda_p1 (/dev/loop0)...
I: plosetup: skipping partition 2 of type 82...
I: plosetup: skipping partition 3 of type 5...
I: partition 5 of lapse.hda will become ./lapse.hda_p5 (/dev/loop1)...
I: partition 6 of lapse.hda will become ./lapse.hda_p6 (/dev/loop2)...
I: partition 7 of lapse.hda will become ./lapse.hda_p7 (/dev/loop3)...
I: partition 8 of lapse.hda will become ./lapse.hda_p8 (/dev/loop4)...
I: partition 9 of lapse.hda will become ./lapse.hda_p9 (/dev/loop5)...
# ls -l
total 0
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p1 -> /dev/loop0
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p5 -> /dev/loop1
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p6 -> /dev/loop2
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p7 -> /dev/loop3
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p8 -> /dev/loop4
lrwxrwxrwx 1 root root 10 2006-10-20 13:25 lapse.hda_p9 -> /dev/loop5
# plosetup -c .
# ls -l
total 0
(this post is dedicated to Penny for no other reason than the tunes I am listening to right now) NP: Fly My Pretties / The Return of Fly My Pretties Update: Be careful about the $((...)) style arithmetic. dash manages to overflow at 32bit. zsh and bash seem to get it right. If in doubt, use perl or a calculator.

Joerg Jaspert: BSP in Vienna

Yeah, I’m probably a bit late, but well, I don’t care. I finally managed to get the pictures up I took during the BSP and the few days more that I have been in Vienna. Not all of them are good, but it’s enough to keep the memory alive.

19 October 2006

Joachim Breitner: Turnkey Linux for Internet Caf s

While thinking how to spread Free Software in Ghana more effectively I noticed some important factor: Internet caf s. On the one hand they are for most people the first contact to comuters (in contrast to Europe or US, where it's probably the family or school computer), so getting Linux on there would make a difference. On the other hand, for them a Linux system is a very viable choice: Cheap per computer (although in Ghana the argument reads legal , not cheap ), provides good software for the usual internet caf s user s needs (browsing, word processing, chatting) and is very suitable to be locked down and run safely.There are a lot of internet caf s in Ghana, at least in the Accra Region, but most of the people that run these are not he most advanced computer users, so they just go the seemingly simple road: Windows on clients and servers, and probably some software like CyberCafe, also pirated, for the accounting and the computer lockdown.My idea this evening was: Would it be possible to create something like Skolelinux, just for internet caf s? A CD that the owner of the caf just puts in what s meant to be the server and boots, answers a few questions, and a second CD for the clients where he does not have to answer any questions, and what he gets is a complete system with approximately these features:If such a distribution already exists, I d like to hear about it. If not, it might be an interesting project for the Linux Accra User Group or OpenGhana.org. If successful, this might help Free Software gaining mind share in developing countries big time. Of course I m also very interested in comments from those who read this through planet.openghana.org.

Tollef Fog Heen: Releasing Ubuntu

So, the Ubuntu release candidate was released today. As a release manager, it's a fascinating process. First the development where there is relativetly little central control: People work on their specs and my job as a relase manager is to roll new alpha/snapshot releases every couple of weeks. Those are lightly tested (does it boot and install on at least one machine?) and if a derivative or an architecture isn't ready, well, then it isn't ready. Beta, the release candidate and the release are completely different beasts. We have test plans, people are assigned tests and so on. In addition, we have a freeze which in total lasts about a week for beta, two weeks for release. Every upload has to be hand-checked and approved. As the release grows nearer, the bugs have to be more severe in order for an upload to be approved and in the end it's more or less a full commitment "we have this, we have tested this thoroughly and there is no way we can do a full test and still release on schedule". At some point, it gets scary. There is just one command left to run; sync-mirrors. No arguments, just the command. I pushed the button, and we are now live.

Andrew Pollock: [tech] Asterisk and MythTV integration

After much more work than was necessary, I managed to get Asterisk to blat on the TV the caller ID information of an incoming call. Next I need to see if I can pause the TV, and resume it when the call ends. The MythTV side just needed to be configured to listen on the UDP notify port, the XML templates and whatnot were already there for it (I think installed by MythPhone), so all I had to do was get Asterisk to run this script when a call came in:
#!/usr/bin/perl
use Asterisk::AGI;
use IO::Socket;
# Set this to the broadcast address for your network
$netbroadcast = "172.16.0.255";
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
my $num = $input 'callerid' ;
my $name = $input 'calleridname' ;
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime();
$date = sprintf("%02d/%02d/%4d %d:%02d:%02d",$mday,$mon+1,$year+1900,$hour,$min,$sec);
$sock = IO::Socket::INET->new(PeerPort  => 6948,
                              PeerAddr  => $netbroadcast,
                              Proto     => udp,
                              Broadcast => 1 ) or die "Can't bind : $@\n";
print $sock <<EOT;
<?xml version="1.0"?>
<mythnotify version="1"><container name="notify_cid_info"><textarea name="notify_cid_line"><value>Unused</value></textarea><textarea name="notify_cid_name"><value>NAME: $name</value></textarea><textarea name="notify_cid_num"><value>NUM : $num</value></textarea><textarea name="notify_cid_dt"><value>$date</value></textarea></container></mythnotify>
EOT
close $sock;
exit(0);
That was accomplished by just adding an AGI(mythcid.agi) application call to one my existing extensions that handled incoming calls. Future enhancements will involve displaying who the caller wants to speak to after they've selected the appropriate response from the menu we give most callers. The Asterisk::AGI Perl module was a bit hard to track down. I've made a 2 second (dh-make-perl) Debian package of it, available here. If I get sufficiently motivated, I'll consider cleaning it up and uploading it to Debian.

Wouter Verhelst: nVidia

I know, I just ranted about it. However, it would seem that the Xorg driver can do more with the video card in my laptop than would appear at first sight. If I plug a VGA monitor to the mini-DVI output of my PowerBook and start X, then the nv(4) driver seems to detect it. Behold the diff:
--- Xorg.0.log.not-connected	2006-10-19 14:49:07.000000000 +0200
+++ Xorg.0.log.connected	2006-10-19 14:49:51.000000000 +0200
@@ -11,7 +11,7 @@
 Markers: (--) probed, (**) from config file, (==) default setting,
 	(++) from command line, (!!) notice, (II) informational,
 	(WW) warning, (EE) error, (NI) not implemented, (??) unknown.
-(==) Log file: "/var/log/Xorg.0.log", Time: Thu Oct 19 14:42:00 2006
+(==) Log file: "/var/log/Xorg.0.log", Time: Thu Oct 19 14:42:46 2006
 (++) Using config file: "xorg.conf"
 (==) ServerLayout "Default Layout"
 (**)  -->Screen "Default Screen" (0)
@@ -444,7 +444,7 @@
 (II) NV(0): Probing for analog device on output A...
 (--) NV(0):   ...can't find one
 (II) NV(0): Probing for analog device on output B...
-(--) NV(0):   ...can't find one
+(--) NV(0):   ...found one
 (II) NV(0): Probing for EDID on I2C bus A...
 (II) NV(0): I2C device "DDC:ddc2" registered at address 0xA0.
 (II) NV(0): I2C device "DDC:ddc2" removed.
@@ -452,7 +452,46 @@
 (II) NV(0): Probing for EDID on I2C bus B...
 (II) NV(0): I2C device "DDC:ddc2" registered at address 0xA0.
 (II) NV(0): I2C device "DDC:ddc2" removed.
-(II) NV(0):   ... none found
+(--) NV(0): DDC detected a CRT:
+(II) NV(0): Manufacturer: MAX  Model: 178e  Serial#: 2006
+(II) NV(0): Year: 2000  Week: 13
+(II) NV(0): EDID Version: 1.0
+(II) NV(0): Analog Display Input,  Input Voltage Level: 0.714/0.286 V
+(II) NV(0): Sync:  Separate
+(II) NV(0): Max H-Image Size [cm]: horiz.: 36  vert.: 27
+(II) NV(0): Gamma: 2.76
+(II) NV(0): DPMS capabilities: StandBy Suspend Off; RGB/Color Display
+(II) NV(0): redX: 0.632 redY: 0.329   greenX: 0.272 greenY: 0.604
+(II) NV(0): blueX: 0.142 blueY: 0.062   whiteX: 0.280 whiteY: 0.311
+(II) NV(0): Supported VESA Video Modes:
+(II) NV(0): 640x480@60Hz
+(II) NV(0): 640x480@75Hz
+(II) NV(0): 800x600@75Hz
[...more data about the monitor goes here...]
The nv(4) manpage also contains this bit:
       Option "CrtcNumber" "integer"
              Many graphics cards with NVIDIA chips have  two  video  outputs.
              The  driver attempts to autodetect which one the monitor is con 
              nected to.  In the case that autodetection picks the wrong  one,
              this  option  may be used to force usage of a particular output.
              The options are "0" or "1".  Default: autodetected.
... but when I set that to 1 in the Section "Device" of my xorg.conf, it still uses the internal monitor of my laptop. Am I missing something?

Kai Hendry: Where was I?


School children learning about Free software
I feel a little stupid for my last post about my unstable machine. It was the hardware to blame and my hard drive finally crashed during a Linux conference in Mendoza, Argentina. Typical. At the conference there wasn´t much new for me and I regret that I didn´t get organised enough to give a talk about the Web and WHATWG stuff. Though I did manage to meet good people and talk about some topics that are of interest to me. As usual the fabulous friendly CafeLUG geeks from Buenos Aires were there, led by the wonderful DD Marcela. I also met an inspiring guy from Cordoba who founded a successful software company that works with free software. His brother gave a great talk about it at the conference. I really love to see Free software power people to start a business. Oh and about my thinkpad X40 hard drive replacement. With the help of another new friend Fredrico from Mendoza, we called up IBM in Buenos Aires and arranged a new hard drive and a battery within 5 days! I didn´t know if my machine was under warranty still, phew. Unfortunately IBM called the next day saying they didn´t have any stock and the wait from the US is about 2 weeks. Since I have no idea where I will be in two weeks (ok, probably Sao Paulo, Brazil) I cancelled that request and now I have found a free Windoze (hopefully not trojaned) terminal just over the Andes, in Santiago Chile. Tough life!

Kai Hendry: Where was I?


School children learning about Free software
I feel a little stupid for my last post about my unstable machine. It was the hardware to blame and my hard drive finally crashed during a Linux conference in Mendoza, Argentina. Typical. At the conference there wasn’t much new for me and I regret that I didn’t get organised enough to give a talk about the Web and WHATWG stuff. Though I did manage to meet good people and talk about some topics that are of interest to me. As usual the fabulous friendly CafeLUG geeks from Buenos Aires were there, led by the wonderful DD Marcela. I also met an inspiring guy from Cordoba who founded a successful software company that works with free software. His brother gave a great talk about it at the conference. I really love to see Free software power people to start a business. Oh and about my thinkpad X40 hard drive replacement. With the help of another new friend from Mendoza, we called up IBM in Buenos Aires and arranged a new hard drive and a battery within 5 days! I didn’t know if my machine was under warranty still, phew. Unfortunately IBM called the next day saying they didn’t have any stock and the wait from the US is about 2 weeks. Since I have no idea where I will be in two weeks (ok, probably Sao Paulo, Brazil) I cancelled that request and now I have found a free Windoze (hopefully not trojaned) terminal just over the Andes, in Santiago Chile. Tough life!

Christian Perrier: Should I apologize?

(update with stupid formatting errors fixed) Yes, partly. Julien implictely asks for apologies in his recent blog posting. Because I usually don't like to let conflict rot, I tried thinking about it and draw conclusions. I still think that the attitude of people who started the incident at the JDLL has been really bad and gives a poor image of the Debian project. This is what I intended to explain to the Mozilla representative in my mail. I definitely feel the need to explain that Debian is anything but a monolithic project and when I feel that this project is hurted by the attitude of some of its members, yes I feel the need to correct people's feelings. This mail was sent before Julien sent more explanations, privately and publicly, to me when he read my blog posting. I have to admit that Julien explanations have been clear and detailed and give another light on that story. So, maybe after reading them, I would not have sent that very mail he obviously violently reacts about, or it would have been worded differently. For this, yes, I apologize, Julien. On that very action, I haven't been as wise as I thought. I indeed failed the exact same way I think you guys failed. Probably because I was deeply hurted by seeing someone I've crossed in the french free software community for nearly 15 years (Daniel Glazman) having such a poor opinion of the project that counts the most for me. Does this change what I think? Probably not. Yes, it is a bit paternalistic to think that part of our community is unecessarily childish in its way to express its opinions. *This* is what IMReallyNSHO hurts the project and this deeply lowers the credibility of Debian in the overall community and, I'm afraid, more especially in our country. So, no, I will not apologize for my opinions and, yes, I claim some experience in conflicts solving, negotiation handling and managing the public image of the work I'm involved in. The general conclusion of all this is certainly that I should really have kept my current stance: focus on technical stuff and avoid wasting time, and maybe hurt the project, in "political" discussions. So, please Julien, consider this: is that really fair for people who appreciate your work as well as those who share your ideas, to lower your involvment because you have a conflict with another person? With no doubt, your work in Debian has received deep respect by a vast majority of our fellow Debian contributors. So is the work by Joss, who is probably among the persons I disagree the most with in our French community and who dislikes myself the same way you do. So what? Is that fair to hurt the project because you've been hurted by one of its members? I don't think so and I really hope that people whose opinions you have more respect for than mine will convince you to reconsider that stance. OK, this will sound paternalistic again, so I should probably stop by now. That blog posting is likely be the last non technical until we release Etch. And, as I don't like discussing technical stuff in blogs, it will probably be the last one until we release Etch.

Russell Coker: blogs and bug tracking

I believe that adding blogging technology to bug tracking systems (such as the Debian BTS and the Red Hat Bugzilla) offers significant benefits for users and developers.

It seems that there is only one significant difference between the features offered by blog software and the features required by bug trackers, blog entries are owned by the person making the post (the owner of the blog) and BTS entries are owned by the package owner. This is a minor technical difference, adding the ability for anonymous users (or users who have authenticated via an email address or other method) to create new entries in a blog owned by someone else is a minor feature change. Once the entry is created only comments would be accepted, and comments could be made in the usual manner with moderation etc.

The benefits of using blogging software (or extending current BTS systems) would be to have RSS feeds of bug reports and comments on bugs, include a single feed of all bug reports (IE blog entries) and updates (IE comments on blog entries) for a single blog (IE package) - this functionality doesn't seem to be common in blog software but surely will be soon.

This would allow Planets of recent bug reports in distributions or in areas. EG a SE Linux planet installation could syndicate the bug feeds for packages in Fedora and Debian as well as other sources of SE Linux information. The SE Linux bug feeds could include all bugs with the selinux tag in all blogs on the BTS, thus a single Planet configuration could easily cover all new development and debugging.

Another configuration possibility would be to have a single blog for all bugs in a distribution and to have tags for each package, this would become messy though as tags have to be used for issues that are not specific to packages (EG a "selinux" tag would list bugs in all packages that relate to SE Linux).

Tags could be changed by any user (possibly with some restrictions), and there could be special tags for release-critical bugs or for bugs in different stages of QA (for example the Red Hat Enterprise Linux approval process could be managed by adding certain restricted tags to the bug - this would also allow getting a feed of all bugs that have passed certain approval milestones). This would make it easy to get a list of all bugs in a certain approval category.

Current BTS systems such as the Debian BTS and the Red Hat Bugzilla could be extended to syndicate content. As they already have web interfaces and support automatically sending updates by email it should be easy to add the basic level of such support to them. But it might give a better result to go the other way and modify a multi-user blog system such as Wordpress-MU to have extra features for bug management.

BTS systems typically have bug ID numbers that increase sequentially while blog software typically gives something like http://blog.example.com/YYYY/MM/blog-entry-name.html when it's often more convenient to have something like http://bug.example.com/number. Of course it would not be difficult to have a little database that allows creating sequential numbers to map to arbitrary URLs in a similar manner to tinyurl.com. This could be either integrated into blog software (so that it says "bug #1234 has been created" or be available on demand (click a link to get a sequential number assigned). Incidentally using characters and digits for the short name of the bug (as done by tinyurl.com) would allow four characters to represent 1679616 bugs, this is enough for all bugs in the Debian and Red Hat bug databases combined. With tinyurl type technology there is nothing preventing us from having a single system creating unique IDs for all bugs in all distributions of Linux with a four character index (which is easier to remember than the 6 sigit numbers used in Debian and Red Hat at the moment).

I realise that most blog software will store the entries in a database which has sequential numbers assigned. So doing a database lookup to convert a human-readable URL into a sequential index when we have just done another database lookup to convert a sequential index into a human readable form is inefficient, but that's the way of things, computers do things inefficiently so that humans can work in ways that are efficient for them.

Note that throughout this post I refer to the Planet aggregation system, but really any of the aggregation systems can be used. One of the benefits of this is that people can use mailing lists, Google's reader, Planet, or any other reader they wish with the feeds. RSS feeds can be read by many programs and the user gets to choose which works best for them.

18 October 2006

Ben Hutchings: Ich lerne die deutsche Sprache

For some years I've been meaning to learn more German than I remember from my GCSE and the little I've managed to absorb from [info]tea_cantata and others speaking it around me. I am repeatedly embarrassed by my inability to join in conversation when we visit Nattie's relatives in Germany. In fact I've made some attempts to learn from books and tapes, but with little effect. Nattie finally persuaded me to sign up for an evening AS (half an A-Level) German course starting this term. It's tough going with only one lesson (2.5 hours) per week though I believe I'm making some progress. I don't have much of a problem with grammar, and my pronunciation seems to be as good as anyone in the class, but I continue to find myself frustrated in being unable to think of the words to express what I mean to say. I think my vocabulary may be relatively poor, but this is compounded by my difficulty in working around the lack of a word for the concept I mean to express. This also applies to English, but I have a large enough vocabulary that this is much more rarely a problem. In addition, some of the topics of conversation or question are so broad that I would have trouble formulating an intelligent comment in English, let alone one in German. Maybe I should just say something dumb that I don't really believe purely as linguistic practice, but I don't feel comfortable doing that.

Aigars Mahinovs: Did I miss anything?

Catching up on blogs, emails and Debian mailing lists I see that nothing really important has happened while I was off-line: the dunc-tank caboodle escalated and died down when the majority voted that it was not worth the commotion, some people got upset at some other people and decided stop working on Debian because of that, Mozilla went even more bonkers about its trademarks. The dunk-tank scandal ended just like I thought it would. As one could imply from my eternal unstable concept, I do not see making releases as a the main thing that Debian contributes to the society - it is more about the integration and cross-empowerment of all the packages that Debian has. In that context, making a release is a not the most important job in Debian, but it need to be done from time to time. Release management combines technical and social challenges - there is not much of novelty in it (I imagine). So, from this perspective, there is nothing bad in money being paid to do this mundane and hard work, if we really, really need to release in a specific time frame (IMHO the only reason to release Debian in 2006, as opposed to 2008, is the Lars tattoo bet). If we return to “release when its ready” paradigm and aim for about one release every 2-3 years (and I see nothing really wrong with that) then paying release manager will not be needed. Money is about getting things done on a schedule. It does not make things good (or bad). It does not make thing important (or not). It make things go by the schedule (unless you pay by the hour). It is the obvious solution to releasing Debian in December. Now two questions need to be answered - will it work? and do we really want to release in December? The second thing - in any group of 1000 people anyone can easily find a lot of people that he would not love/not respect/disagree with/disregard/hate and be unable to work with. It is no reason to stop working on Debian, unless one does it only to be universally loved. It is inevitable that we will need to learn to do what we like to do without paying attention to the irritations. And about the trademarks - in Debconf 5 in Helsinki I was giving a talk at the Debian Day, just after I helped to win the first big fight against software patents in EU, and Branden (who was GPL at the time) asked me what do I think Debian should do about its trademarks. Both then and now I strongly think that trademarks and any other litigation inducing concepts (except enforcement of GPL) have no place whatsoever in free software. I think Debian should lead the way and give up the “Debian” trademark. And Mozilla should follow the lead. So what if there is a pron site “Debian chicks”? You will not solve that with litigation anyway (at least not in a year or two) and why should we really care? So what if some one make a distro and calls it SuperDebian? If someone will really think that it is related to Debian but better (especially despite warnings to the contrary), then that someone will really deserve to get the trojan planted in that distro. And again, against a well prepared criminal, litigation will not help much. So, did I miss anything?

Christian Perrier: Should I apologize?

Yes, partly. Julien implictely asks for apologies in his recent blog posting. Because I usually don't like to let conflict rot, I tried thinking about it and draw conclusions. I still think that the attitude of people who started the incident at the JDLL has been really bad and gives a poor image of the Debian project. This is what I intended to explain to the Mozilla representative in my mail. I definitely feel the need to explain that Debian is anything but a monolithic project and when I feel that this project is hurted by the attitude of some of its members, yes I feel the need to correct people's feelings. This mail was sent before Julien sent more explanations, privately and "a href="http://blog.technologeek.org/2006/10/15/29">publicly, to me when he read my blog posting. I have to admit that Julien explanations have been clear and detailed and give another light on that story. So, maybe after reading them, I would not have sent that very mail he obviously violently reacts about, or it would have been worded differently. For this, yes, I apologize, Julien. On that very action, I haven't been as wise as I thought. I indeed failed the exact same way I think you guys failed. Probably because I was deeply hurted by seeing someone I've corssed in the french free software community for nearly 15 years (Daniel Glazman) having such a poor opinion of the project that counts the most for me. Does this change what I think? Probably not. Yes, it is a bit paternalistic to think that part of our community is unecessarily childish in its way to express its opinions. *This* is what IMHO hurts the project and this deeply lowers the credibility of Debian in the overall community and, I'm afraid, more especially in our country. So, no I will not apologize for these opinions and, yes, I claim some experience in conflicts solving, negotiation handling and managing the public image of the work I'm involved in. The general conclusion of all this is certainly that I should really have kept my current stance: focus on technical stuff and avoid wasting time, and maybe hurt the project, in "political" discussions. So, please Julien, consider this: is that really fair for people who appreciate your work as well as those who share your ideas, to lower your involvment because you have a conflict with another person? With no doubt, your work in Debian has received deep respect by a vast majority of our fellow Debian contributors. So is the work by Joss, who is probably among the persons I disagree the most with in our French community and who dislikes myself the same way you do. So what? Is that fair to hurt the project because you've been hurted by one of its members? I don't think so and I really hope that people whose opinions you have more respect for than mine will convince you to reconsider that stance. OK, this will sound paternalistic again, so I should probably stop by now. That blog posting is likely be the last non technical until we release Etch. And, as I don't like discussing technical stuff in blogs, it will probably be the last one until we release Etch.

Aigars Mahinovs: Finally back

All the time since the Debian I18N conference in Extremadura I was moving around, staying in temporary places having temporary accesses to restricted Internet connections. Finally yesterday I got everything back - a permanent place to stay and a good permanent and unrestricted Internet connection there. Now I just need to compensate for the productivity loss that it is causing me :) P.S. There have been two bugfix releases of SBackup since my last blog post about it - bugs such as “having no regexes skips all files” and “always do incremental upgrades because we can not count” are fixed. Priority of SBackup process is reduced and configuration files are managed explicitly.

Wouter Verhelst: Wanted: some systray applications

There are a few things that I'd like to have in my fd.o-compatible system tray, but that do not seem to exist at this time (either that, or I haven't been looking too carefully): Anyone know of such a thing?

Daniel Burrows: ACLU & tagged-URL emails

I recently got on an ACLU mailing list that they use to send out requests to sign on-line petitions and so on. Today, while skimming over another one of these "alerts", I noticed something amusing. The email contains several links to the ACLU site, requesting that users sign a petition opposing a recent nasty piece of legislation; for instance,


Please help broadcast our message across the nation: Sign our "This
November, I'm Voting My Values" pledge:
http://action.aclu.org/site/R?i=5dopkpJQPaNbn4A_kyuMzA..


and


To do that we must make civil liberties one of the top issues as
people head to the polls next month. Sign our "This November, I'm
Voting My Values" pledge.
http://action.aclu.org/site/R?i=ByYHnSn7ZbByadWPVPRB0X..


Note that these are from the textual version of the email; in the HTML version, the URLs are linked from the "Sign our ... pledge" text.

See anything there? That's right: each of the "sign the pledge" links goes to a different URL! Since someone had to go to the effort of making all these links go different places, I have to wonder whether an ACLU server is collecting statistics on how many paragraphs each user read before they clicked the link, and analyzing these stats to target and refine their marketing campaigns. I suppose this sort of thing is standard practice these days, but it's still a bit ... odd ... to see one of the main organizations that advocates for privacy perhaps engaging in this sort of clandestine information-gathering.

[EDIT: In case it's not clear from the above, I don't know and I'm not suggesting that anything nefarious is going on; I just thought this was a funny idea and wanted to share it with people. My brain is weird that way, but sometimes not everyone gets the joke, so I thought I'd add this postscript here to make it clear. :-) ]

Steve McIntyre: LiMux - bringing Debian to Munich's local government

As promised yesterday in my report about the Munich BSP, I'd like to talk some more about LiMux, the project being run within the City of Munich to replace all of their desktop Windows systems with Linux. The team kindly offered us the use of their offices in central Munich as a base for the BSP last weekend, and on Sunday afternoon they gave us a demonstration and answered lots of our questions. The following is from my (known-faulty) memory...

Jan-Marek, LiMux and Florian Jan-Marek and Florian talked us through their setup. They're using FAI to automate installation of systems, along with LDAP to store lots of configuration information and GOsa as a user-friendly front-end to that configuration. They've integrated these to enable some very clever management features so that all aspects of the city-wide system can be maintained from one central point. As new machines are introduced onto the network, they can be configured into one class or another: simple desktop clients up to so-called "depot" servers, used as seeds for further clients. Individual user profiles can be tweaked, giving users access to new applications as they are needed. Shared resources like network storage and printers are set up automatically from the LDAP database. Access to USB storage devices can be controlled on a per-device, per-user basis for security. That's quite an impressive feature list. Most of the work has been in configuration and systems work rather than custom packages on the clients themselves - the vast majority of the packages installed come straight from the standard Debian archive, with some backports (like a newer version of KDE). Building on top of standard packages means that they have access to a huge amount of Free Software without having to do all of the work themselves. A small team (10-ish at the moment, growing to 100 or so in the future) can effectively deploy and manage desktops and associated servers for a huge number of users - they're expecting to be supporting on the order of 30,000 systems 2 years from now. The team have just recently made their first stable release and are starting to roll it out across the city, one department at a time. There are the familiar issues involved in the deployment, of course. For example, users don't want to help test pre-release versions to help nail bugs, but then complain loudly when they find bugs in the first release. And in such a large project to migrate from predominantly Windows (NT4!) desktops to KDE on Linux, a major part of the effort needed is in user training. There is quite a bit of support and custom work needed to convert people's MS Office macros over to working on top of OpenOffice. And there are still quite a number of users who will remain using Windows for specific applications that still don't have Linux equivalents yet. Apparently the "Wine Cellar" group will help on that front. *grin* In terms of collaborating with Debian, the LiMux team are expecting to help in a few ways. As bug reports are filed against their applications (apparently very few so far), they'll be pushed upstream along with (hopefully) fixes for them. They will also be devoting some full-time developer effort to security work; it would be good for both sides if this effort can be shared.

Tux in
the office! It was quite striking to see Tux, the Linux penguin, as a visible logo in local government offices! The team have clearly made some excellent progress on this exciting project, and I'm sure that I can speak for all of Debian in wishing them the best of luck in the future. I'll be watching with interest...

17 October 2006

Russell Coker: combining two domains in SE Linux

To get the maximum value out of my writing when I am asked a question that is of general interest in private mail I will (without in any way identifying the person or giving any specifics of their work) blog my reply. I hope that not only will this benefit the general readers, but also the person who originally asked the question may benefit from reading blog comments.

The question is "I wonder whether I can define a domain which is a union of two existing domain, that is, define a new domain X, which has all the privilege domain Y and Z has got".

There is no way to say in one line of policy "let foo_t do everything that bar_t and baz_t can do" (for reasons I will explain later). However you can easily define a domain to have the privileges that two other domains have.

If you have bar.te and baz.te then a start is:
grep ^allow bar.te baz.te sed -e s/bar/foo/ -e s/baz/foo/ >> foo.te
Then you need to just define foo_t in the file foo.te and define an entry-point type and a suitable domain_auto_trans() rule to enter the domain.

There are other macros that allow operations that don't fit easily into a grep command, but they aren't difficult to manage.

The only tricky area is if you have the following:
domain_auto_trans(bar_t, shell_exec_t, whatever1_t)
domain_auto_trans(baz_t, shell_exec_t, whatever2_t)

As every domain_auto_trans() needs to have a single target type those two lines conflict so you will need to decide which one you want to merge. This is the reason why you can't just merge two domains. Also the same applies for file_type_auto_trans() rules and for booleans in some situations.

Russell Coker: clean energy

There are many people claiming that nuclear power will solve all the ills of the world. However this does not seem to be possible. Firstly you have to consider the hidden costs of nuclear power such as deaths from the mining industry (ingesting uranium ore is a really bad thing) and the difficulty in disposing of radioactive waste. But rather than concentrating on the bad aspects of nuclear power (which are well documented) I will concentrate on some of the viable alternatives.

Wind power is a really good option, particularly for countries such as Australia that have a low population density and a large land area. The Chinese government is investing heavily in wind power, I think it's safe to assume that it's not because they are great environmentalists but because they simply need more energy than they can get from other sources and that they have strategic reasons for not wanting to rely on Australian coal and uranium or Arabian oil. Most energy sources have some drawbacks, but wind power has no side effects and isn't going to kill birds either (birds have evolved the ability to detect and avoid predatory birds, they can easily avoid large fixed objects such as fans from wind farms).

Two other good options are wave and tidal power. These are better than river based hydro-electricity because there is no need to create dams that remove forests. Wave and tidal power are both very predictable which is an advantage when compared to wind power which is less predictable. One solution to the unpredictability of wind power is to couple it with a river based hydro-electric system which can provide electricity when there is less wind. A hydro-electric system to compensate for days that are less windy would need a much smaller dam than one that is designed to provide the main power source.

The next issue is how to power vehicles (on air, land, and sea). Advocates of nuclear power often talk about hydrogen powered cars. However while hydrogen has a good ratio of energy to weight it is not very dense, so the energy density for volume is much less than petrol. Combining Prius technology with
hydrogen in an internal combustion engine still won't give the distance per tank of fuel as petrol does. Hydrogen with fuel cells in an all electric vehicle might allow you to drive the same distance as a non-hybrid car on petrol, but probably won't compare to the range of a hybrid Diesel vehicle.

Bio-Diesel is a good option for fuelling cars. Diesel engines give greater efficiency than Otto cycle (the most common car engine) or Atkinson cycle (as used in the Prius) engines. Not only is bio-Diesel renewable but it also produces exhaust that is less toxic than that which is produced from fossil fuels. See the VeggieVan site for more details on bio-Diesel. The toxic fossil fuels are linked to health problems in airline hostesses, AFAIK there has been no research on the impact of car exhaust on pedestrians.

One thing to note about bie-Diesel is that you can do it right now. According to a British TV documentary all you have to do is filter oil that was used for frying food (they used oil from a Mexican restaurant) and mix it with a small amount of ethanol and it's ready to use in your car. As restaurants currently have to pay to dispose of old frying oil this should be good for everyone!

Bio-Diesel could work for powering planes, there is already research in progress on this issue, but there are problems related to the viscosity of bio-Diesel at low temperatures. Maybe a blend of bio-Diesel and bio-Ethanol would work. Ethanol freezes at -114.3C and should lower the freeze temperature of bio-Diesel.

Bio-Diesel would of course work really well for ships. Supplying the amount of fuel that current ships need would be difficult. Some analysis shows that the deck area of a ship can collect enough sunlight to supply ~10% of the power needs of the ship. The Orcelle is a design for a totally clean ship that runs on solar, wind, and wave power. However with the proposed design the solar panels will not be angled effectively for collecting sunlight as they will be on sails. I think that there is a lot of potential in having a design based around sails, wave and solar power for generating electricity, and also a Diesel engine running on bio-Diesel fuel for supplying extra power when required (EG when sailing at night in calm weather). Building a ship that uses only wind, solar, and wave power would probably be significantly more expensive than the current Diesel design. Building a ship that uses 10% Diesel and 90% wind, solar, and wave power might be a lot cheaper.

There are lots of ways of producing the energy we need to maintain our current standard of living. If our government was to spend as much money researching them as it does protecting petroleum reserves then the problem would be solved.

Next.

Previous.