Search Results: "tar"

14 February 2010

Gregor Herrmann: RC bugs 2010/05, 2010/06

again a short overview about my RC bug activities: mostly pkg-perl related again, but at least a few other things, too ....

Russell Coker: I Just Bought a new Thinkpad and the Lenovo Web Site Sucks

I ve just bought a Thinkpad T61 at auction for $AU796. My Thinkpad T41p has cooling problems which I have previously described[1]. It s also started to rattle a bit when I hold it upside down since I took it apart so I guess I didn t do a great job at trying to fix it (probably the fan is getting obstructed). Now it has developed some screen problems where the screen back-light will periodically turn off and stay off until I press and release the lid-close button (to turn the screen off and on again), this is apparently the symptom of a broken inverter [2]. I was quoted $160 to fix the inverter and $250 to replace the entire screen by laptop.com.au (a very reliable laptop sales and repair company that I ve dealt with before) [3]. Also the system has the red screen problem where intermittently the screen turns reddish so paying $250 for a replacement screen is worth considering. I decided not to do this as I have seen refurbished Thinkpad T41p systems on sale for about $400 and spending $160 now and possibly $250 later on a $400 system didn t seem like a good idea. One thing that has annoyed me about my Thinkpad for a long time is the lack of PAE support in the Pentium-M CPU which makes it impossible to run Xen [4], so upgrading to a newer system will allow me to use virtualisation for the purpose of fixing bugs in Debian/Unstable among other things. As I want a Trackpoint it seems that a Thinkpad is the best option (Thinkpads are also great in many other ways). So really all want is a new Thinkpad with an equal or higher resolution screen, more than 1.5G of RAM (what I ve currently got) and at least PAE (but ideally hardware virtualisation for KVM) as rumor has it that ACPI doesn t work well with Xen and also Xen has a history of being a little unreliable at the best of times. I m after a portable desktop replacement system, so I m not after an X series or anything else light either. Even though the new prices on Thinkpads are generally more than I want to pay I first checked the Lenovo web site. It sucks in a magnificent way. First there were some basic site navigation issues, such as the fact that I often can t click my middle mouse button on a link to open it in a new tab (I get some sort of Javascript error) it seems that the Lenovo web team didn t consider the possibility that I might want to have the details of different series of Thinkpad open in different tabs for the purpose of comparison. But the kicker is the fact that most Thinkpads don t have the screen resolution displayed! It seems to me that one of the most important factors in purchasing a laptop is the screen resolution and Lenovo generally don t provide it! The Ideapad is described as having a resolution of 1024*600 (a netbook not a laptop), the Thinkpad Edge has 1366*768 (not that good), and the R400 and R500 are WXGA which is anything between 1280*720 (sucky) and 1366*768 (slightly less sucky). So it seems that the low end models have technical details which could allow a potential customer to reject them, while the high end models don t have technical details needed to justify the purchase price! Fortunately a friend who works for IBM was able to find me the necessary information, this site allows you to enter the part number of any Thinkpad and receive a reasonably complete set of specifications (including display resolution) [5]. With the information on that site I was able to successfully bid on the single Thinkpad in a Lenovo auction of refurbished systems that had a resolution that was satisfactory. The fact that the Lenovo auctions of refurbished systems also lack the details is another think that Lenovo do wrong. In this case I started bidding one minute before the auction closed and had to push the price up by $125 to win it. Given the number of auctions that Lenovo runs world-wide they would probably benefit from fixing their web site just to get the occasional Thinkpad price increased by $125. Not to mention the number of people who are discouraged from buying new Thinkpads because they can t get information on what they might be paying for.

Julien Blache: forked-daapd: Remote support, more to come

A few weeks ago, I ve added support for Remote, Apple s iPhone application for controlling iTunes remotely. Here, support means Remote can be paired with forked-daapd and can be used to browse the library. And that s it, for now. At this point, there won t be much visible activity on forked-daapd for some time. I m working on a couple of things, but they take time and they require a lot of new code. So, for a couple weeks now, I ve been working on that. I have some code outside forked-daapd that is starting to work well, but it s not there yet, far from it. Then it ll have to be integrated into forked-daapd, which means a lot of new code there too. Bug fixes will still happen in the meantime, and some smaller new features may also appear before the Big Thing . So if you find or encounter bugs, feel free to report them still. If you have patches or ideas you want to discuss, feel free too. As I wrote to a couple people by mail already, good things come to those who wait or contribute. With all that, I ve updated the Debian packages, given that there won t be important changes for a while; I hope they re useful to some of you out there. Note that I m making an amd64 binary package available alongside the source package; it s built on a current Debian unstable system, but if that s not suitable for you, in terms of dependencies or architecture, you can trivially build a suitable binary package from the source package. As a reminder, I have packages of the ANTLRv3 C runtime too. I ve also added antlr-3.1.3.jar there, in case you need it and can t find it at the upstream download site.

Russell Coker: Which People are Stupid on the Internet?

I don t think that the answer is everyone or even everyone other than my geeky friends , but obviously it is a large number of people. Many people apparently type facebook into Google and try to login to the first thing that they see, if it happens to not be Facebook then they whine this became known after a Google search for facebook login happened to not return the Facebook login page as the first link [1]. This blog post claims that they are not stupid [2] the specific claim is that URLs etc are just too complex. I disagree, if my mother and my mother-in-law can both do better than that then I think that we should expect that a significant portion of retirees can do so and we should also expect that younger people will do better than older people. In a more specific sense, when I was in primary school I was taught the Dewey Decimal System aka Dewey Decimal Classification. With the DDC a primary school student can look up the location of a book in the library index system (cardboard files when I was at school) and then know where to find it. After looking up a book on one occasion no-one would want to repeat the effort so the sensible thing to do is to write down the DDC index to any interesting book. The same mental processes can be used for dealing with URLs, someone might find Facebook etc through Google on the first occasion but they can then use browser bookmarks and written notes for traveling to track the URLs that interest them. I think we should expect that a typical adult nowadays should be able to complete any task that would be expected of a 10yo when I was young, and I don t think it s unreasonable to call an adult stupid if they can t compare to a 10yo from the early 80 s! As a specific example, while 10yo children were given assignments to look up various books in the DDC I think that an adult can be expected to work out the value of an index on their own young children should be expected to require a little more training than adults! Some people will claim that it s not stupidity but ignorance. What exactly is supposed to have prevented these people from learning? Have the primary school libraries stopped teaching the DDC and most other things related to storing written knowledge? Is there supposed to be such an utter lack of computer skills in the general population that anyone who wants to learn will be unable to do so? I m sure that there are plenty of retirees who could seek advice from my mother or my mother-in-law if they wanted to learn about such things. NB I m not making any general comment about gender specific computer skills here, my father and my father-in-law don t seem to use the Internet much and they aren t the ones to complain to me when things break so I can t assess their skills. I am talking about four individuals and the only generalisation that I am making is that 2/4 retirees I know well seem to have good Internet skills and therefore I expect there to be a reasonable number of retirees who successfully use the Internet. The Making Light analysis and discussion of the issue has a lot of good points (Making Light does in fact make light ) [3]. But does have some claims that I find really strange, one example concerns a woman who misunderstood the way the up/down buttons work to call an elevator. Misunderstanding the buttons is one thing, but she also shared her knowledge of elevators with others, presumably she had more than a few people try to correct her and she ignored their advice. I think that someone who ignores advice from a variety of people, ignores advice that can easily be tested (just push the elevator buttons and observe what happens), and then goes around sharing their wrong ideas seems to have clearly crossed the line separating cluelessness from stupidity. One of the Making Light comments references the Clients From Hell blog a summary of strange, stupid, and amusing requests that clients have made to web design companies [4]. It seems to me that there are two noteworthy categories of anecdote on that site. One is requests that demonstrate ignorance of the work, such as requesting something significant and complex to be done in an hour. The other is requests that demonstrate contempt for the people doing the work, such as offering to pay $10 per hour. Misjudging the time taken to complete work is forgivable if someone has the skill to accurately estimate the time required then they would be able to do the work and wouldn t be asking for a quote for someone else to do it. Demonstrating contempt for someone that you are about to hire is stupid no matter how or why it s done. Clients From Hell also documents people who have requests that are obviously silly, it s understandable that someone might expect a blurry image to be sharpened as done on CSI , but wanting use image editing to reveal the face of a person who was facing away from the camera is simply assigning magical powers to the computer the fact that this sort of thing is done in shows such as Star Trek says a lot about the shows in question and their viewers. Often car metaphors are used for computers, you can be a good driver without knowing the details of how a car works but you do have to know how the pedals, switches, and steering wheel work as well as the meanings of the various dials. You can be competent at using the Internet without knowing much about bits, bytes, assembler code, or how a CPU works but you do need to know how the controls work and this means knowing how to type a URL. The basic operations of browsing the web require considerably less skill than driving a car and less skill than is commonly used in operating the telephone system (including PABX systems, mobile phones, and international calls). Anyone who is unable (not unwilling) to drive a car or make any phone call other than a local direct call and yet is reasonably intelligent could be used as an example of how an intelligent person could be unable to understand some aspects of technology, I don t think that there are many people in that situation it s difficult to find an adult in Australia who can t drive a car. Finally while it s reasonable to be uninterested in some things, it s not reasonable to be interested in doing something without wanting to learn how to do it properly. If typing facebook.com is so difficult that it exceeds someone s level of interest in the service then they shouldn t complain if they find that they can t access the service. Really typing facebook.com into the address bar of a web browser is easier than starting the engine of a car with a manual transmission, it s easier than filling the fuel tank of a car with the correct fuel, or figuring out when a car is due for service. Now there are serious security issues revealed by this event. I m sure that lots of people use similar methods to access their online banking etc. I just did a quick Google search for online banking with Australian banks, and I noticed that a few of the search results have adverts from rival banks. So it seems quite plausible that someone could trick Google into thinking that they run a bank (there are many thousands of banks in the world), run adverts competing against established banks, and phish the people who click on them. I wonder whether the best solution would be for the banks to test the security of their customers. Then any customer who gets phished by the bank s anti-fraud division would receive increased bank fees for the next few years and the rest of us who are less risk to the bank could receive lower fees. The current situation seems to be that my bank fees are partly determined by the need to recoup the money that the bank loses from customers who just use Google to find their bank s web site. I would rather not pay for the stupidity of such people. In the end all security comes down to people issues, technology just helps people do the right thing. I believe that one of the groups of stupid people on the Internet are those who believe that the Internet should be made safe for people who want to know nothing about it not even the basic library skills that are taught to primary school students.

13 February 2010

Ingo Juergensmann: BackupPC - messing around with backups

I'm using BackupPC to make backups from one computer to another. Usually no big deal, but between the two machines there's a VPN connection across two dialup connections and 450 km air line. So, there is a maximal usuable bandwidth of about 1 Mbps between both locations. The problem was now: host A (the machine which is backupped) was initially backupped by host B (the machine running BackupPC) when host B was still located right beside host A. In the meantiime host B has been moved to its remote location and there I excluded one or the other directory in the following backup. Now I wanted to include them again, thinking that BackupPC is clever enough to realize that those directories are already in the backup #0.

Sadly, BackupPC seems to just compare the latest full backup without considering the partial backup, that was filled during the last 14 days over the 1 Mbps link. So BackupPC began to pull all the 200 GB of data again, although it already got roughly 180 GB in the partial backup. The cause for the partial backup was a longer connection timeout between the two dialup hosts.

Because I don't wanted to pull all 180 GB again and again and again, I looked for another solution for the problem. And it is quite simple. Given are a full backup #0 and another backup #7. #0 is the initial, complete backup before the relocation. Backup #7 is the backup after the relocation where I omitted some directories that contains 200 GB of data. Backup #8 is the partial backup. What I now did was this:



BackupPC will now base its freshly started full backup on the directory contents of backup directory 9. When the backup finished, you can delete that backup directory #9 again. This works quite well for me and the transfer with rsync. Maybe there are other methods dealing with that problem. Feel free to leave some comments.

Mike Hommey: When will Iceweasel 3.6 come ?

That is a question I hear more and more, and I felt it had to be answered publicly. Short answer: when it s ready. The current target for Squeeze is 3.5, for various reasons, but the main is that it shares the same Gecko version as Iceape (SeaMonkey) and Icedove (Thunderbird), which means that while the security team (or myself) will have to update these three for security updates, they will share patches. So 3.6 is less a priority than having 3.5 in shape for the release. Last week, I wrote on a mailing list post that I was expecting 3.6 to come this week. Well, that was before I discovered the sad reality about the state of the current version. But 3.6 is still on the radar. I already went through all the patches we apply on 1.9.1, and rebasing should now be straightforward. Most of the 3.5 failures have now also been addressed: sparc and powerpc were fixed first, and I am now (re-re-re -re)building on arm for, I hope, the last time. Unfortunately, mips is still missing, and without a porterbox, I can t do much. I tried, some time ago, in qemu, but there is no way I m going to wait 50 hours for a build again ; it was already painful on a real arm box (where it takes 90 minutes just to link libxul.so). Anyways, 2 patches stolen from upstream and 5 patches sent (or almost sent for the one currently under validation) later, we should be down to one release architecture failing instead of four. Which is already good. On the other hand, a new 3.5 upstream release, with security fixes, is planned for next tuesday, which means some time will have to be spent for stable updates, too. So, in the next few days, expect that I ll be working on stable security updates, then unstable updates, including the three architectures fix, and then work on 3.6 will continue. Which means we can hope for a 3.6 release in experimental by the end of next week, or the following one, in the worst case. Update: *sigh* 4 patches on arm is not enough :(. At least this time I think I m done with xptcinvoke and xptcstubs. Update:In the end, 2 patches and disabling the JIT compiler did the trick on arm. The 2 other patches were actually addressing bugs that only existed because the JIT is doing something wrong with the stack alignment.

11 February 2010

Robert Collins: Using UEC instead of EC2


So, we wanted to move a Hudson CI server at Canonical from using chroots to VM s (for better isolation and security), and there is this great product Ubuntu Enterprise Cloud (UEC basically Eucalyptus). To do this I needed to make some changes to the Hudson EC2 plugin and thats where the fun starts. While I focus on getting Hudson up and running with UEC in this post, folk generally interested in the differences between UEC and EC2, or getting a single-machine UEC instance up for testing should also find this useful. Firstly, getting a test UEC instance installed was a little tricky I only had one machine to deploy it on, and this is an unusual configuration. Nicely though, it all worked, once a few initial bugs and misconfiguration items got fixed up. I wrote up the crux of the outcome on the Ubuntu community help wiki. See 1 Physical system . The particular trap to watch out for seems to be that this configuration is not well tested, so the installation scripts have a hard time getting it right. I haven t tried to make it play nice with Network Manager in the loop, but I m pretty sure that that can be done via interface aliasing or something similar. Secondly I needed to find out what was different between EC2 and UEC (Note that I was running on Karmic (Ubuntu 9.10) so things could be different in Lucid). I couldn t find a simple description of this, so this list may be incomplete:
  1. UEC runs an old version of the EC2 API. This is because it hasn t implemented everything in the new API versions yet.
  2. UEC defaults to port 8773, not port 80 (for both the EC2 and S3 API s)
  3. The EC2 and S3 API s are rooted differently: at AWS they are at /, for UEC they are at /services/Eucalyptus and /services/Walrus
  4. UEC doesn t supply a SSL API port as far as I can tell.
  5. DescribeImages has something wonky with it.
So the next step then is to modify the Hudson EC2 plugin to support these differences. Fortunately it is in Java, and the Java community has already updated the various libraries (jets3t and typica) to support UEC I just needed to write a UI for the differences and pass the info down the various code paths. Kohsuke has let me land this now even though it has an average UI (in rev 27366), and I m going to make the UI better now by consolidating all the little aspects into a couple of URL s. Folk comfortable with building their own .hpi can get this now by svn updating and rebuilding the ec2 plugin. We ve also filed another bug asking for a single API call to establish the endpoints, so that its even easier for users to set this up. Finally, and this isn t a UEC difference, I needed to modify the Hudson EC2 plugin to work with the ubuntu user rather than root, as Ubuntu AMI s ship with root disabled (as all Ubuntu installs do). I chose to have Hudson reenable root, rather than making everything work without root, because the current code paths assume they can scp things as root, so this was less disruptive. With all that done, its now possible to configure up a Hudson instance testing via UEC nodes. Here s how:
  1. Install UEC and make sure you can run up instances using euca-run-instances, ssh into them and that networking works for you. Make sure you have installed at least one image (EMI aka AMI) to run tests on. I used the vanilla in-store UEC Karmic images.
  2. Install Hudson and the EC2 plugin (you ll need to build your own until a new release (1.6) is made).
  3. Go to /configure and near the bottom click on Add a new cloud and choose Amazon EC2.
  4. Look in ~/.euca/eucarc, or in the zip file that the UEC admin web page lets you download, to get at your credentials. Fill in the Access Key and Secret Access key fields accordingly. You can put in the private key (UEC holds onto the public half) that you want to use, or (once the connection is fully setup) use the Generate Key button to have a dedicated Hudson key created. I like to use one that I can ssh into to look at a live node YMMV. (Or you could add a user and as many keys as you want in the init script more on that in a second).
  5. Click on Advanced, this will give you a bunch of details like EC2 Endpoint hostname . Fill these out.
  6. Sensible values for a default UEC install are: 8773 for both ports, /services/Eucalyptus and /services/Walrus for the base URLs, and SSL turned off. (Note that the online help tells you this as well).
  7. Set an instance cap, unless you truely have unlimited machines. E.g. 5, to run 5 VMs at a time.
  8. Click on Test Connection it should pretty much instantly say Success .
  9. Thats the Cloud itself configured, now we configure VM s that Hudson is willing to start. Click on Add right above the List of AMIs to be launched as slaves text.
  10. Fill out the AMI with your EMI e.g. emi-E027107D is the Ubuntu 9.10 image I used.
  11. for remote FS root, just put /hudson or something, unless you have a preseeded area (e.g. with a shared bzr repo or something) inside your image.
  12. For description describe the intent of the image e.g. DB test environment
  13. For the labels put one or more tags that you will use to tell test jobs they should run on this instance. They can be the same as labels on physical machines it will act as an overflow buffer. If no physical machines exist, a VM will be spawned when needed. For testing I put euca
  14. For the init script, its a little more complex. You need to configure up java so that hudson itself can run:
    cat >> /etc/apt/sources.list << EOF
    deb http://archive.ubuntu.com/ubuntu/ karmic multiverse
    deb http://archive.ubuntu.com/ubuntu/ karmic-updates multiverse
    deb http://archive.ubuntu.com/ubuntu/ karmic-security multiverse
    EOF
    export http_proxy=http://192.168.1.1:8080/
    export DEBIAN_FRONTEND=noninteractive
    apt-get update
    echo "buildd shared/accepted-sun-dlj-v1-1 boolean true"   debconf-set-selections
    apt-get install -y -f sun-java6-jre
    
    Note that I have included my local HTTP proxy there just remove that line if you don t have one.
  15. Click on Advanced, to get at the less-common options.
  16. For remote user, put ubuntu , and for root command prefix put sudo .
  17. For number of executors, you are essentially choosing the number of CPU s that the instance will request. E.g. putting 20 will ask for an extra-large high-cpu model machine when it deploys. This will then show up as 20 workers on the same machine.
  18. Click save :)
  19. Now, when you add a job a new option in the job configuration will appear tie this job to a node . Select one of the label(s) you put in for the AMI, and running the job will cause that instance to start up if its not already available.
Note that Hudson will try to use java from s3 if you don t install it, but that won t work right for a few reasons I ll be filing an issue in the Hudson tracker about it, as thats a bit of unusual structure in the existing code that I m happier leaving well enough alone :) .

Joachim Breitner: Diploma Thesis Finished

Earlier today, I went to a local copy shop and had my diploma thesis printed. This afternoon, I will hand it in. The title is Loop subgroups of Fr and the images of their stabilizer subgroups in GLr( ) and discusses a group-theoretical result. I assume that very few readers care about the content of the thesis, but maybe some are interested in a few assorted LaTeX hints. I m also publishing the full TeX source code, maybe someone can make use of it. Less chatty varioref I m using the varioref package, in conjunction with the cleveref package. This provides a command \vref fig:S3S4l which will expand to, for example, to Figure 1 on page 11 . But if the referenced figure is actually on the current page, the next page, the previous page or the facing page (in two-side layouts), it will say so: Figure 1 on this page. This is very nice, but I assume that the reader of my thesis is able to find Figure 1 when it is visible, i.e. on the current or facing page. One can remove the referencing texts with the commands \def\reftextfaceafter , \def\reftextfacebefore and \def\reftextcurrent . But because varioref puts a space between Figure 1 and this text, we will get a superfluous space even before punctuation. The remedy is the command \unskip, which removes this space again. So I use in my preamble:
\def\reftextfaceafter  \unskip %
\def\reftextfacebefore \unskip %
\def\reftextcurrent    \unskip %
Palatino and extra leading I chose the Palatino font for my thesis, using the mathpazo package. Various sources (such as the KOMA-Script manual) suggest to use 5% extra leading:
\linespread 1.05 
Counting figures independently from chapters I don t have too many figures and tables in my thesis, and I want them to be numbered simple 1, 2, ... By default, LaTeX would say 1.1, 1.2, 2.1, ... This can be fixed using the remreset package and these commands:
\makeatletter
\@removefromreset figure chapter 
\renewcommand \thefigure \arabic figure 
\@removefromreset table chapter 
\renewcommand \thetable \arabic table 
\makeatother
No widows and club lines LaTeX already avoids these, but I wanted to get rid of them completely. This can be done with:
% Disable single lines at the start of a paragraph (Schusterjungen)
\clubpenalty = 10000
% Disable single lines at the end of a paragraph (Hurenkinder)
\widowpenalty = 10000 \displaywidowpenalty = 1000
Struck table lines I had to typeset tables with some lines struck, and I could not find a ready command for that. I used the following definition, based on the code for \hline. Note that it probably does not adjust well to other font sizes and needs to be adjusted manually:
\makeatletter
\def\stline %
  \noalign \vskip-.7em\vskip-\arrayrulewidth\hrule \@height \arrayrulewidth\vskip.7em 
\makeatother
Title page in one-sided layout According to the KOMA manual, the title page as set by LaTeX is not meant to be the cover of a publication, and therefore has to be set with the margins of a right page i.e. a larger right margin and a smaller left margin. But when printing cheaply, one often just put a transparent sheet on top of the print, so the title page is the cover. You can convince KOMA that you are right by using
\KOMAoptions twoside=false 
\begin titlepage 
...
\end titlepage 
\KOMAoptions twoside=true 
Not flushing the page for chapter heads LaTeX would put the list of algorithms on a new right page. I found this a waste of paper for my few algorithms, and preferred to put the list right after the table of contents. You can override the LaTeX behavior using:
\tableofcontents
 
\let\cleardoublepage\relax  % book
\let\clearpage\relax  % report
\let\chapter\section
\listofalgorithms
 
This code also reduces the size of the heading to that of a section. The same trick also works with \chapter. Math in headings vs. PDF bookmarks LaTeX with the hyperref package creates nice PDF bookmarks from your chapter and section titles. Unfortunately, PDF bookmark names can only be plain strings, while the titles in the document might contain some math symbols. You can make both happy with \texorpdfstring:
\section Stabilizer subgroups in \texorpdfstring $\GL_r(\Z/2\Z)$ GL\_r(Z/2Z) 
Setting lines for the signature The diploma thesis contains a small note which I have to sign, saying that I created it on my own etc. Below that, I put two labeled lines for date and signature, using the tabbing environment:
\begin tabbing 
\rule 4cm .4pt \hspace 1cm  \= \rule 7cm .4pt  \\
Ort, Datum \> Unterschrift
\end tabbing 

Alexander Reichle-Schmehl: [Updated] RC-Bug statistics for Squeeze, calendar week 6:

Back in the Lenny release cycle, I published some statistics of the release critical bugs. As we are (try to) get nearer to a freeze of Squeeze I think it's time to start that again. But first, a small explanation follows, what these numbers actually mean. If you look at our official bug tracking system currently lists 750 release critical bugs affecting the next stable release. While this number is kind of true, it is not accurate to use it to measure the state of the release. The unofficial rc bug thingy at bts.turmzimmer.net is quite more powerful to actual get some interesting numbers, as you can ignore specific kinds of bug and filter them properly. Note, that at the very end of the detailed list of the bugs you get the total number. With that interface you can for example filter them by different distributions. For example it currently lists 650 rc bugs in total for any distribution, but if you filter for squeeze bugs, you get only 518. That's a different number as the official bug tracker shows; I'm not entirely sure why, but a part of that difference is that both the official and the unofficial web pages are only synced periodically. Should someone be able to give a good explanation about the differences, please step forward ;) But let's play more: You can filter for bugs valid in squeeze-only, but not in sid. These bugs are already fixed in sid, but the packages haven't yet migrated to squeeze. Currently that are 94 bugs. We can furthermore ignore bugs only in sid; when squeeze is unaffected, we just don't migrate the broken package from sid to squeeze. The number that is most interesting for contributors is the number of bugs affecting both, sid and squeeze, as these are the ones which really need to be fixed as no fix is known, yet. So filtering for bugs for both we are down to 424 at the moment. But of these 424 remaining release critical bugs, we can still ignore some (for now). For example bugs concerning packages in non-free or contrib (9 currently) won't stop us from release, will they? There are also many bugs marked as pending (32), meaning that the maintainer is aware of the bug has a fix prepared and is just waiting with the upload a moment. Some of this bugs have already a patch (64), but no one reviewed it and uploaded it by now. You'll also see that you can ignore merged bug reports (47). That are bug reports reporting the very same bug several times. Finally there are bug fixes already uploaded to the so called delayed queue (6). This are bug fixes which where uploaded by someone else than the real maintainer, but to give the maintainer a chance to act on himself or to comment, the upload is delayed by some days before it will actually hit the archive. Currently 6 bugs are fixed by uploads to delayed. 17 bugs are claimed meaning that someone already said he will take care of this bug (but they are not finished, yet). You could also ignore the bugs invalidated by today's britney bug category, representing bugs which will vanish after the next migration of packages from sid to freeze, but as we are only looking at rc bugs in both sid and squeeze, this number will always 0 ;) That leaves bugs somehow other marked as fixed which are bugs (39) where I honestly have no Idea what they are... If someone can explain them, please do so ;) Here is a small tabular showing the above numbers:
Total:650
Affecting Squeeze:518
Squeeze-only:94
Unfixed bugs remaining in Squeeze:424
Of these 424 bugs...
... are pending32
... are patched:64
... are duplicates:47
... are in Non-free or contrib:9
... are claimed by someone:17
... are fixed in the delayed queue:6
... are somehow marked as fixed:39
Or in other words:
Release critical bugs left in squeeze, when ignoring all these:
260 That's a pretty number, isn't it? There are only 260 bugs left which need our immediate attention :) But that is a rather optimistic view of the situation. We e.g. assume that all bugs having a patch are really fixed by the patch. We also ignored, that some bugs in squeeze are already fixed in sid, but the package can't migrate because the package in sid contains a new bug. (Which happens to release wizard Marc Brockschmidt quite often.) So if we take off the purple classes and take a more pessimistic view (release mangers must be pessimists to ensure high quality packages ;) we count the bugs in squeeze and ignore only those bugs, which are: With this release managers views, 424 bugs remain to be fixed somehow before we can release. As far as I know, we can freeze once that number is reliable under 300. So we better get working ;) When asked, what is the thing mostly needed to help the release, I was told: mips porter!
As you might have read we have some problems with the mips and mipsel architectures. It seems we have all the hardware we need, but it doesn't work very reliable. I have been told, that over 300 packages are only waiting to be build on mips* architectures. So if you can help us in that regard, please contact our mips porter mailing list. Update: Andreas Barth just told me, that he already send a couple of mails to the mips list describing the problem and asking questions. Answers to these questions would be most welcome and accpeted gladly.

Michal &#268;iha&#345;: Preparing for Google Summer of Code 2010

It might be quite premature, but in phpMyadmin we've started our preparations for this year Google Summer of Code. This is basically just one of followups to the team meeting at FOSDEM, where we decide to apply again this year, but to try as hard as we can to be standalone project and not hidden inside of MySQL. We're grateful for participation in their project, however we feel it would be easier to manage if we're standalone project. So if you are a student who might be interested in participating, you can already browse our ideas list (this time PHP coding skills are not strictly necessary as I've given there a documentation improvements also) or come with your ideas and follow our student checklist, to see what you can do to get accepted (in case we're accepted to GSoC).

Asheesh Laroia: Google and University email

Should universities switch away from hosting their own email and join the Google bandwagon? Adi Kamdar wrote to the Students for Free Culture discussion mailing list linking us to a Yale Daily News article discussing an "almost-definite" switch for Yale to Google Apps for Education. Adi asked for thoughts, so here are mine.

Privacy One interesting thing about the Gmail option is that, when deployed for all students, students have no choice but to let Google read their official email. Some students might take part in activism that they want to shield from Google, a corporation with its own interests, or the attackers that attempt to break into Google's systems (see the recent attacks from crafty pro-Chinese-government hacktivists). Before a switch to Gmail, each student could choose if Google was the kind of company they wanted to share their email with. After a switch to Google Apps, the choice is made for them. But this highlights a different issue: Before a switch to Google, students have no choice but to let university administrators read their official email. That's not necessarily optimal, either. Others have pointed out in this thread that this option comes with legal advantages with regard to privacy law. At least that's some consolation. It's still true that students can encrypt their email and make it difficult for any eavesdropper to figure out the bodies of their emails. But that's no use for hiding the identities of the people with whom they communicate -- no email crypto I know hides email addresses.

Software freedom and open standards This is juxtaposed against another difficult situation: Matt Senate wrote about the sucky Squirrelmail system that Berkeley uses (used?) for webmail. The fact that SquirrelMail is Free Software is small consolation for Matt. From his perspective, because it's a hosted web application, he has no more freedom than he would have with Gmail. At least Berkeley's IMAP server followed standards! That's more than we can say for the Gmail IMAP server, which is famous for basically supporting just enough IMAP for Microsoft Outlook to work. But standards compliance is small consolation. If the university email server "properly" supports IMAP, but isn't fast or doesn't provide the new extensions that make threading or search speedy, it's not much relief to know that you can use any client you want to slowly read your email.

Internet history Truth be told, University-hosted Internet services are based on what you might call the original Internet perspective. The Internet began as a network of networks. A University was a network island unto itself, running its own email, news, and Ethernet services. When inter-network connection was available, you can email people at other institutions. When it wasn't, well -- the Internet is a useful tool, but it's down right now. "Don't worry," the admins might tell you, "you can still read your email with PINE." It used to be that inter-network connectivity was icing on top of the "real" network a person used. Today, inter-network connectivity is the whole point of a network connection. How embarrassing for each individual network! To test if our connections are working, we skip right over the local content and point our web browsers at a search engine. Users today aren't satisfied to read their email from imap.institution.edu and read USENET news-- they thirst for real-time access resources available beyond the university. Students weren't interested in the J-Stream service I helped set up at Johns Hopkins; instead they mostly posted and watched videos at YouTube. They don't really care if the the student-oriented wiki is based on campus or instead halfway across the globe (say, in Japan). The original Internet was based on autonomous networks and opt-in routing. But eventually, all the networks opted in. Users drive everything, and when they don't get what they want, they vote with their feet. Companies like Facebook and Google stand ready and armed to provide shockingly-efficient services to millions of users who choose them. You could say that with today's network, the autonomy shifted from the network to the users. The nice thing about University-run services is that students can organize and ask for changes, as Fred pointed out. And for people like me, there's something nice about knowing the person who runs your email system. But if your busy university staff doesn't have time to investigate an email server with fast full-text indexing, you might wish for change. Having the university tear down its internal services is a progression toward seeing its network as simply transit. Imagine the loss of pride. It used to be that the university personally ran a system for helping users get what they wanted. As it becomes simply transit, the staff are just greasing the cogs of a larger, invisible machine that's easy for users take for granted. Some netizens like me hold email as sacred, a beautiful institution based on standards and a decision to interoperate. When your university switches to Gmail, I'll be sadder, but maybe what you'll get is professors who can spend more time with students and less time configuring desktop software.

Trade offs Every university has a choice: Pay hundreds of thousands to millions of dollars a year for dedicated staff to run an in-house email system, or let Google do it. Think for a moment of what good could come from those dollars when put to use in other ways for students. Your school could start a switch to all-organic food. It could start paying more of its employees a living wage. Imagine the travel funding for student activities that can come from hundreds of thousands a year well-spent. It could run a massive used textbook clearinghouse to help students avoid pouring their dollars into the textbook industry. And now cry with me. What I've asked you do is to consider sacrificing institutional autonomy for cold, hard cash. That's to say nothing of the ecological benefits or the productivity increases possible from having Google's paid experts run this part of the computing system.

Conclusion Is an official Google email system much different than the reality most students I know live, which is configuring their student email address to forward to gmail.com? For those of us who would be sadder with one more push toward centralizing email with Google -- for those who see it as the behemoth whose size threatens the decentralization that used to be the core of the Internet -- I ask you to think positive. "See the profit from your loss." I have no conclusions for you, just niggling questions.

10 February 2010

Mike Hommey: Iceweasel upgrade homepage, a week later

When users upgrade Firefox, they are shown a special web page after restart. As this was obviously very Firefox oriented, this was disabled in Iceweasel. Until a week ago. A week ago, I created a (quite raw) web page that users of Iceweasel 3.5.6-2 would see after they install or upgrade. The idea behind this page was suggested by Moritz Muehlenhoff during my BoF at DebConf 9, and consisted of displaying a call for help message in a splash screen. What most looked like this in Iceweasel is the Firefox feature mentioned above. I unfortunately wasn t able to implement it until now. So, a week after these pages were put online and Iceweasel 3.5.6-2 was uploaded, even though I can t say it s a huge success, it at least led to some movement: More than 12000 users (still growing) saw the pages, out of which almost 1800 (roughly 15%) followed the link for a new logo. While there was no contribution for a new logo yet, there has already been several translations contributions for the web pages, in german, spanish and italian. Next iceweasel upload will consequently send users to a localized version of the web page when it exists. The server logs also allow to have some figures on the usage of localized versions of Iceweasel, but as this is based on user agent strings, it is not totally accurate, though somehow interesting:
  1. english: 58.3%
  2. german: 15.2%
  3. french: 7.9%
  4. spanish: 3.8%
  5. italian: 2.7%
  6. polish: 2.5%
  7. japanese: 2.2%
  8. russian: 2.1%
  9. portuguese: 1%
  10. czech: 0.6%
Another interesting figure is that apparently 2.4% of users haven t upgraded xulrunner-1.9.1 and are not using version 1.9.1.6 with their Iceweasel 3.5.6. I m afraid of what this can mean for stable security updates, although, as being security updates, they may be followed better. Somewhere around 7% of users have, at some point, changed their user agent string to include Firefox in it, because web sites suck. This is a very interesting figure because despite that being quite significant, we haven t got that many complaints (I m not saying there weren t, but I would have expected more, considering the amount of users involved). Fortunately, this was changed recently, so all these users could reset their user agent string. And last but not least, except amd64 and x86 users, we saw 14 powerpc users and 7 arm users.

MJ Ray: SPI February 2010

The meeting agenda is already posted for tonight s (Wednesday s) SPI board IRC meeting which will be at 2000 UTC (an hour earlier than last month, back at usual time). It s another pretty lean meeting and I don t know why. Last month s comments suggested SPI needs better marketing, which has come up in the comments here before. There s a wish to switch the SPI website to git and ikiwiki which would allow more members to contribute. As I understand it, anyone can set up the git repository and ikiwiki, then announce it to spi-general (or spi-www) and start to port the website. I ll probably get there eventually (after porting Cooperatives-SW and NSCycle websites to django), but if you have a bit of time and would like to help this democratic free and open source software charity, please beat me to starting and tell me where to find your work!

9 February 2010

Martin F. Krafft: Baffling Exchange

I found out yesterday that my university s Microsoft Exchange Server account stopped forwarding my mail on 8 December 2009. As a result, mail accumulated there and remained unseen. Dear examiners, paper authors, supervisors, sponsors, participants, and peers who responded to my calls and cries related to my PhD thesis. I am terribly sorry that you were subjected to this. You replied usually within a few days, but I still sent you reminder after reminder in the weeks to follow. You must have thought that I was a real dork. Please forgive me. I really appreciate your patience! I filed a ticket with my university s IT service provider, which got closed the next day with it should now work again . That wasn t going to cut it for me, so I reopened the ticket, asking for an explanation. Next, I received an apology with a bit of speculation. After a bit of research, it seems that the reason was to be found in the inconsistency of being an external staff member (i.e. an e-mail address outside of the Active Directory domain), but still having an account on the server. On 8 December 2009, the server was upgraded with a service pack. This caused Exchange to go a little manic on the housekeeping. After all, why would anyone ever want to forward their e-mail elsewhere, and still have an account? Well, I certainly don t want an account, and yet I have to have one: Microsoft has bought their ways into the university and spread their germs all across, I need credentials to be able to access shared files, print, browse the library, or search the phone book. However, considering that UL s Outlook Web Access instance does not let users of decent browsers search their mailboxes (a premium feature reserved for users of Internet Exploder), one cannot manipulate more than a page-full of e-mails at a time, bounce messages, or do many of the other operations that make dealing with large amounts of e-mail possible, and because Exchange mail if it doesn t get lost in the first place sucks in so many other ways, I certainly prefer my mail to be handled by a real mail server with a proper mail filter (writeup in progress). Maybe the Exchange service pack was simply designed to get rid of outcasts like me who don t buy into the low-Microsoft-quality vendor lock-in? We ll never know, thanks to the proprietarity of their software (and the fact that the university service provider apparently does not keep logs of changes). NP: AC/DC: Back in Black

Dirk Eddelbuettel: Rcpp 0.7.5

A new release of our Rcpp R / C++ interface classes is now out, the version number is 0.7.5. It comes on the heels of the release 0.7.4 and keeps with our semi-frantic schedule of releases every ten or so days going. The package is now on CRAN and Debian, and mirrors start to get the new versions. As before, my local page provides more details and Romain's blog is always worth watching too. The changes are summarised below in the NEWS file snippet, more details are in the ChangeLog as well.
0.7.5	2010-02-08
    o 	wrap has been much improved. wrappable types now are :
    	- primitive types : int, double, Rbyte, Rcomplex, float, bool
    	- std::string
    	- STL containers which have iterators over wrappable types:
    	  (e.g. std::vector<t>, std::deque<t>, std::list<t>, etc ...). 
    	- STL maps keyed by std::string, e.g std::map<std::string>
    	- classes that have implicit conversion to SEXP
    	- classes for which the wrap template if fully or partly specialized
    	This allows composition, so for example this class is wrappable: 
    	std::vector< std::map<std::string> > (if T is wrappable)
    	
    o 	The range based version of wrap is now exposed at the Rcpp::
    	level with the following interface : 
    	Rcpp::wrap( InputIterator first, InputIterator last )
    	This is dispatched internally to the most appropriate implementation
    	using traits
    o	a new namespace Rcpp::traits has been added to host the various
    	type traits used by wrap
    o 	The doxygen documentation now shows the examples
    o 	A new file inst/THANKS acknowledges the kind help we got from others
    o	The RcppSexp has been removed from the library.
    
    o 	The methods RObject::asFoo are deprecated and will be removed
    	in the next version. The alternative is to use as<foo>.
    o	The method RObject::slot can now be used to get or set the 
    	associated slot. This is one more example of the proxy pattern
    	
    o	Rcpp::VectorBase gains a names() method that allows getting/setting
    	the names of a vector. This is yet another example of the 
    	proxy pattern.
    	
    o	Rcpp::DottedPair gains templated operator<< and operator>> that 
    	allow wrap and push_back or wrap and push_front of an object
    	
    o	Rcpp::DottedPair, Rcpp::Language, Rcpp::Pairlist are less
    	dependent on C++0x features. They gain constructors with up
    	to 5 templated arguments. 5 was choosed arbitrarily and might 
    	be updated upon request.
    	
    o	function calls by the Rcpp::Function class is less dependent
    	on C++0x. It is now possible to call a function with up to 
    	5 templated arguments (candidate for implicit wrap)
    	
    o	added support for 64-bit Windows (thanks to Brian Ripley and Uwe Ligges)
As always, even fuller details are in the ChangeLog on the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page

Russell Coker: Web Site Validation

Over the last few days I ve got this blog and my documents blog to conform to valid XHTML according to the W3C validation service [1]. One significant change that I made was to use lower-case for HTML tags. For about 15 years I ve been using capitals for tags to make them stand out from content and my blogs are the latest in a long line of web sites with that. Naturally I wasn t going to correct 900 posts manually so I ran a series of SQL commands such as the following on my database server (where X is the Wordpress table prefix): update X_wp_posts set post_content = replace(post_content,'<PRE>','<pre>'); But make sure you have a good backup of your database before running SQL search and replace commands on your blog data. After running such commands about 90% of my blog posts conformed, so I only needed to edit about 90 posts to correct things. This process gave some real benefits. One issue is that an apostrophe in a URL must be quoted, otherwise some browsers will link to the desired URL and some will link to a truncated URL. Fixing a couple of variations of this problem resulted in some broken links being fixed. Another issue is that you can t have paragraphs (<p> tags) within list items, fixing this made some of my posts align correctly it was a tricky fix, in some cases I had to use <br/> to break up text in a list item and sometimes I replaced lists with different sections delimited by <h3> headings (which apparently is rumored to give better SEO). It would make a really nice Wordpress feature to be able to do W3C validation as part of the publishing process, ideally an attempt to publish or schedule a post would result in a message saying saved as a draft because it s not valid XHTML if the checks failed. The source to the W3C validation software is significantly larger than Wordpress [2], but it seems to me that there are two main types of Wordpress installations, small ones for personal use (which tend to be on fairly idle servers) and big ones that have so much traffic that the resource usage of validation would be nothing compared to the ongoing load. As there seems to be no way of validating my posts before publication my best option is the W3C button I now have on my blog. This allows me to validate the page at a click so while I can t entirely avoid the risk of publishing a post with invalid XHTML I can at least fix it rapidly enough that hardly anyone will notice. It also seems like a useful feature to have aggregators like Venus [3] check for valid HTML and not display posts unless they are valid. It s not a feature that could be enabled immediately (I m sure that if you click on this link to the W3C validation service [1] from a Planet feed you will see lots of errors and warnings), but once bloggers have time to fix their installation it would allow preventing some of the common annoyances of Planet installations. It s not uncommon on popular Planets to have unmatched tags in a post which results in significant amounts of the content being bold, underlined, in italics, or for the greatest annoyance struck-out. I know that this may be a controversial suggestion, but please consider why you are blogging if you are blogging for the benefit of your readers (which seems to be the case for everyone other than sploggers) then it seems that the readers will benefit more by not having a broken post syndicated than they would benefit from having it syndicated and thus messing up the display of many following posts. The next thing on my todo list in this regard is to do some tests of accessibility. The work that I have done to pass the XHTML validation tests has helped to some degree if nothing else the images now all have alt= descriptions, but I expect that it will be a lot of work. The Wordpress Codex has a page about accessibility, I haven t read all of it yet [4]. Does anyone have any recommendations for free automated systems that check web sites for accessibility? What would be ideal is a service that allows different levels of warnings, so instead of trying to fix all problems at once I could start by quickly fixing the most serious problems on the most popular posts and finish the job at some later date.

Stefano Zacchiroli: RC bugs of the week - issue 20

RCBW - #20 With a couple of days of delay, here are this last week squashes, by yours truly: The delay is due to FOSDEM, it's hard to squash bugs when you are: (1) having fun (best FOSDEM ever, if you ask me), (2) connected with very poor network connectivity (let's say: FOSDEM-quality network). Also, there are just 6 squashes, but last week there were 8, so ... :-) (I know, I suck). Among the main highlights of the week, I just want to cite Mehdi Dogguy: he was with me at JFLA 2010 last week and I've managed to grab him into the "RCBW tunnel". With a handful of well-targeted NMUs, he has fixed about 10 RC bugs in the few days of the conference. He is too shy to blog about that, but since I'm evil, I'm disclosing it here :-P Welcome on board, Mehdi! (now you're doomed: you must continue doing that!)

Robert Collins: Is a code of silence evil?


Looking at using google apps for my home email, as I want to be able to have my home machines totally turned off from time to time. Found this interesting gem in the sign up agreement (which I have not yet agreed to :P ):
11. PR. Customer agrees not to issue any public announcement regarding the existence or content of this Agreement without Google s prior written approval. Google may (i) include Customer s Brand Features in presentations, marketing materials, and customer lists (which includes, without limitation, customer lists posted on Google s web sites and screen shots of Customer s implementation of the Service) and (ii) issue a public announcement regarding the existence or content of this Agreement. Upon Customer s request, Google will furnish Customer with a sample of such usage or announcement.
This is rather asymmetrical: If I agree to the sign up page, I cannot say I am using google apps , but google can say Robert is using google apps . While I can appreciate not wanting to be dissed on if something goes wrong, this is very much not open! A couple of implications: Everyone seeking support for google apps in the apps forums is probably in violation of the sign up agreement; we can assume that anyone having a terrible experience has been squelched under this agreement. Le sigh.

Francois Marier: Excluding files from git archive exports using gitattributes

git archive provides an easy way of producing a tarball directly from a project's git branch.

For example, this is what we use to build the Mahara tarballs:
git archive --format=tar --prefix=mahara-$ VERSION / $ RELEASETAG bzip2 -9 > $ CURRENTDIR /mahara-$ RELEASE .tar.bz2
If you do this however, you end up with the entire contents of the git branch, including potentially undesirable files like .gitignore.

There is an easy, though not very well-documented, way of specifying files to exclude from such exports: gitattributes.

This is what the Mahara .gitattributes file looks like:
/test export-ignore
.gitattributes export-ignore
.gitignore export-ignore
With this file in the root directory of our repository, tarballs we generate using git archive no longer contain the selenium tests or the git config files.

If you start playing with this feature however, make sure you commit the .gitattributes file to your repository before running git archive. Otherwise the settings will not be picked up by git archive.

Kees Cook: rng-tools with TPM

In Ubuntu, I uploaded an rng-tools that supports the RNG in TPM devices (my patch is waiting in Debian). This hardware is available on a bunch of systems, including several Thinkpads and the Intel Q35, Q45 and newer main boards. While most TPM RNGs aren t really heavy-duty hardware RNGs, they are at least a mild source of randomness. I ll be using an entropy key eventually, but for now, the TPM can supplement my collected entropy. /etc/default/rng-tools:
HRNGDEVICE=/dev/null
RNGDOPTIONS= hrng=tpm fill-watermark=90% feed-interval=1
After it s been running a bit:
Feb 8 19:10:51 linux rngd[13143]: stats: bits received from HRNG source: 6180064
Feb 8 19:10:51 linux rngd[13143]: stats: bits sent to kernel pool: 6166144
Feb 8 19:10:51 linux rngd[13143]: stats: entropy added to kernel pool: 4624608
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2 successes: 309
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2 failures: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Poker: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Runs: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Long run: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Feb 8 19:10:51 linux rngd[13143]: stats: HRNG source speed: (min=5.207; avg=6.145; max=6.200)Kibits/s
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS tests speed: (min=66.925; avg=75.789; max=112.861)Mibits/s
Feb 8 19:10:51 linux rngd[13143]: stats: Lowest ready-buffers level: 0
Feb 8 19:10:51 linux rngd[13143]: stats: Entropy starvations: 308
Feb 8 19:10:51 linux rngd[13143]: stats: Time spent starving for entropy: (min=3150263; avg=3178447.994; max=3750848)us
And now the kernel entropy pool is high:
$ echo $(cat /proc/sys/kernel/random/entropy_avail)/$(cat /proc/sys/kernel/random/poolsize)
3968/4096

Next.

Previous.