Search Results: "tar"

7 March 2011

Alexander Reichle-Schmehl: Debian honoured with LNM award for Outstanding Contribution to Free Software

Those who followed the live stream or read our News already knew it: Debian has been honored with the Linux New Media Award in the Categories "Best Open Source Server Distribution" and Outstanding Contribution to Open Source/Linux/Free Software. Especially the second one, considered to be the "kings class" of the LNM awards, is a great honour. While it is called the Linux New Media award, the decision of whom to honor with them isn't done by the company themselves, but by a bigger jury, consisting of over 300 representative community members, developers, journalists and companies. Deciding in a secret vote1. To the best of my knowledge, there's nothing similar. So one can truly say, we weren't awarded by a company, but by the entire Free Software community! Congratulations to everyone involved! For our Outstanding Contribution to Open Source/Linux/Free Software award, we also had the special pleasure, to receive our presentation speech from Karsten Gerloff, president of the Free Software Foundation Europe, who found words, I can hardly explain myself. As it might take some time for the video of the award ceremony to be published and several people already asked for it, you'll find the text of the speech below. Still, you might want to watch the video for a special surprise by Karsten:
I'm here to congratulate the Debian project. Debian has recently taken a nearly unprecedented step, one that many people thought would never come to pass: The project has updated its website design. Today, Debian receives the Linux New Media Award for its outstanding contribution to Free Software. I could hardly think of a more fitting recipient for such an award. Debian is coming of age, literally. In August, the distribution will turn 18. Debian offers great technology. It's stable. Really stable. It's highly flexible, and performs well in lots of different roles. IT supports more different architectures than almost anything else out there. It runs on pretty much anything. The package management is great. It makes a highly complex system of almost 30,000 packages extremely simple to configure and use. Debian started out as a true pioneer. When the project was created in 1993, the whole concept of a distribution wasn't too well established. Ian Murdock announced the project thus:

"Debian Linux is a brand-new kind of Linux distribution. Rather than being developed by one isolated individual or group, as other distributions of Linux have been developed in the past, Debian is being developed openly in the spirit of Linux and GNU. [...] Debian is being carefully and conscientiously put together and will be maintained and supported with similar care." At a recent conference, the current Debian project lead, Stefano Zacchiroli, gave a talk titled Who the bloody hell cares about Debian? Turns out that many people do indeed. Debian is the GNU/Linux distribution that has the most derivatives based on it currently 128, if Distrowatch.com is to be believed: Ubuntu, Knoppix, gNewSense, and many more. And those distributions again have their own derivatives. None of these could function without Debian. Lots of people rely on Debian. That makes it all the more important that Debian is so reliable. The Debian project gives us Free Software that is both rock-solid and exciting. But the greatest thing about Debian is not the fact that it delivers great software. Other distributions do that, too. The big thing about Debian is the *idea* of Debian: The idea that a massive Free Software project can be totally independent. Debian shows how it's possible to build a highly reliable operating system without a formal body. The project has created some pretty complex structures to run itself, as a do-ocracy, based on consensus and running code. This is important. We are currently debating how Free Software projects can best be governed in the long run. How do we make sure that a project's users can always enjoy the freedom they deserve? How can we structure a project in a way that makes it immune to a hostile takeover? Oracle's acquisition of Sun has shown that these are important question. A Free Software license, preferably one like the GPL that protects freedom in the long run, is an important first step. But a Free Software project consists of much more than code. While uncounted people and companies are earning good money with Debian, the Debian project itself can't be bought simply because there is noone you could buy it from. Debian has been doing vendor independence long before it was cool. What I love most about Debian is that like few other big projects, Debian has the idea of freedom at its core. Debian's Free Software guidelines are a central manifesto for software freedom. The Debian Social Contract does not mention a single package or program. But it is without a doubt one of Debian's most important pieces of documentation. In Debian, quality is the focus of everyone's attention. But those who work on the Debian system know that great software is worth nothing without Freedom. With the release of Squeeze, the latest stable version, in February, Debian has taken the important step of offering a completely free kernel, with no binary blobs. This is a first for a major distribution in recent times. Debian is giving its users Freedom by default. And this Freedom for users and developers on a massive scale truly is Debian's outstanding contribution, not just to Free Software, but to the information society. On behalf of the Free Software Foundation Europe, I would like to thank everyone in Debian for their work, and congratulate them on this award. It's well deserved. Keep up the good work!

1: I forgot to mention one small, but important detail: The voting period for the jury ended on December 23, 2010, so long before Squeeze was released. So we can be quite sure, that the Jury didn't followed the Squeeze-Hype with their decision, but really thinks, we did something great :)

Craig Small: JFFNMS at RC2, ncurses at 5.8

After some reports back about jffnms 0.9.0rc1 I have now updated it to rc2. Thanks for all who gave me information about how it worked in YOUR setup. I cannot be sure but I d say the second RC will be the last until the release itself. Sven has also given me the nod and ncurses 5.8 migrated into unstable. We ve had one report that the new version of ncurses might not play well with stfl (see #616711 ) but generally speaking it should work ok. Finally, congratulations to the debian project on winning two categories at the Linux New Media Awards. It was especially good to hear the presentation by Karsten Gerloff who is president of the Free Software Foundation Europe. ncurses bug update It seems that the ncurses bug is more serious and is to do with newwin() function in the library. If you get crashes when a program starts and its linked to ncurses 5.8 (even if it is not a Debian system) you may have this problem. It doesn t happen to all ncurses programs, as the stfl example code and mutt work ok. Y9VW3CNYRFF6

6 March 2011

Eugene V. Lyubimkin: cupt: 2.0.0~beta1

Cupt v2 has reached a beta stage.

Main news of Cupt v2 comparing to Cupt v1 are grouped here.

Notable changes since 2.0.0~alpha3:



Full changelog is available in debian/changelog, as usual.

binary packages for i386, source package and README

Lars Wirzenius: Keep companies honest

Bradley Kuhn writes about the phrase "open core". In summary, avoid that phrase and use clearer, unambiguous terms instead. He also touches upon the practice of projects requiring copyright assignment before accepting contributions. Like Bradley, I dislike the practice. If a corporation requires me to assign copyright to them, so that they have power to change the license, I need to be paid in a currency that helps me pay rent. The only reason they need the power to change the license is to make the code proprietary, for the purpose of extorting users for money. If they get money, I want money. On the other hand, if I don't assign them copyright, I have a bit of power myself, and I can use that to keep them honest. If enough people do that, the corporation would have to rewrite all the code to make sure they have copyright on all of it, and can license it in a proprietary way. There's another kind of copyright assignment, which the FSF uses: the FSF gets copyright, but the contract with them guarantees that they'll not violate the freedom of the code. In return, the contributor gets relieved from the burden of having to deal with license violators, and can rely on the FSF to do that instead. This is an acceptable bargain to me, even though I haven't contributed enough to GNU projects to do a copyright assignment. There may be other entities than the FSF doing the same thing. I have not seen any others, though, so on the whole I consider copyright assignment as a way to trick me. With the exception of the FSF, copyright assignment smells dishonest to me.

Mike Hommey: A good reason to keep patched source in $VCS

There are a lot of different workflows to maintain Debian packages under a Version Control System. Some people prefer to only keep the debian directory, some the whole source. And in the latter category, some prefer the source tree to be patched with Debian changes, while others prefer to keep it unpatched and exclusively use debian/patches. It turns out the former and the latter don t work so well in one specific case that any package may hit some day ; and that day, you realize how wrong you were not tracking the entire patched source. That happened to me recently, though instead of actually going forward and switch to tracking the patched source, I cheated and simply ditched the patch, because I didn t strictly need it. In all fairness, this is not only a case against not tracking patched source, but also a case of the 3.0 (quilt) source format being cumbersome. In my specific case, I cherry picked an upstream patch modifying and adding some test cases related to a cherry-picked fix. One of the added test cases was a UTF-16 file. UTF-16 files can t be diff ed nor patch ed except in the git patch format, but quilt doesn t use nor support that. The solution around this limitation of 3.0 (quilt) format is to include the plain modified file in the Debian tarball, and add its path to debian/source/include-binaries. On the VCS side of things, it means you have to modify the file in the source directory, and fill debian/source/include-binaries accordingly. Wait. Modify the file in the source directory ? But the other files aren t ! They re tracked by patches ! So here you are, with all of your modifications exclusively in debian/patches except one.

Gintautas Miliauskas: Trip to Bay Area coming to an end

My trip to the Bay Area is coming to the end. It has been surprisingly productive. Here's some things I have done in the nearly two weeks I have been here:

While I am getting a little travel-weary, I know I will be sad leaving this place.



    5 March 2011

    John Goerzen: Visiting Purdue

    Terah went to college at Purdue University, and always enjoyed basketball games there. I ve not been much of a sports fan, but have enjoyed watching Purdue games with her on TV. Terah has been wanting to see a game in person for awhile, so a couple of weeks ago, we went. It was a really fun weekend! When we planed the trip, we had no idea that the Purdue-Ohio State game was going to be such a big one. We walked over from the Union Club Hotel where we were staying on the Purdue campus. People were streaming towards Mackey Arena from all directions. Once inside, it was already loud and buzzing people cheering, the band playing. I ve never experienced anything quite so loud. The game started out badly for Purdue; they were down a few points up front. The entire game was a close one, and the crowd sometimes got so loud that nothing else could be heard not even the band or the announcer. When it became clear at the end that Purdue won the game, the people behind me and apparently 12,000 others began screaming at the top of their lungs. My hearing did eventually return to normal. So did my throat, which had gotten rather sore from from cheering myself. This was our first road trip since I got my amateur radio license. I had a lot of fun visiting with people as we drove. I talked to a retired railroad engineer that used to take an amateur radio with him in his locomotive. As he went through a certain town where he had friends he liked to talk with on the radio, he d get their attention by blowing CQ in Morse code with the train s whistle. Some people in Kansas City had us laughing as we passed through. In Missouri, I talked with some farmers and a World War II vet. In Champaign, IL, I visited with a retired Unix systems administrator that had spent decades working with Unix operating systems. Our hotel was connected to the Purdue Memorial Union, a large and historic building. Besides having some ice cream at the Sweet Shop one evening, we also spent a bit of time exploring it. I noticed that the Purdue Amateur Radio Club was having a testing session in there. We walked past once it was underway, and one of the students was not very busy. I introduced myself and asked if we could see their shack. It was neat to see all the equipment some of it quite old in the room that they must have been using for decades. Terah, of course, had ideas for visiting a number of her favorite places while we were there. We visited Arni s and Bruno s, both pizza places. Bruno s happens to be a Swiss pizza place, so much to my surprise, I had Wienerschnitzel there, which was excellent. We ate a (week late) Valentine s dinner at Bistro 501. On our way back, we also chatted with various people on the radio, though not quite as much. We got helpful suggestions for which route to take, and stopped at the excellent Bobby D s Merchant St. BBQ in Emporia, KS for supper. The boys had also enjoyed their weekend with grandparents, but were glad to see us back. They were particularly interested to see a lot of train videos from Youtube with me the next day.

    Amaya Rodrigo: Indignez vous (II)

    Spend millions visiting space TWICE, take Amazon referal money from non profit... priceless!

    Take Amazon referal money from non profit... priceless!

    From skitterman.wordpress.com/2011/03/02/business-oppor<wbr></wbr><wbr></wbr>tunity-in-ubuntu/#comment-364:
    Mark, with his wealth, could have set up any model of organisation. He chose a for-profit one. As such, the conflict of loyalty necessarily must become ever more pronounced as that profit is sought.
    Thanks to a former friend for pointing me to these two people who could express this better than me.

    David Welton: Manipulating ckeditor data with jQuery

    I'm working on a project that utilizes CKeditor and need to manipulate the data it contains. Since I'm familiar with jQuery and it's fairly efficient at doing that sort of thing, rather than figuring out how CKeditor manipulates things internally, I wanted to, at least to get started, access things in jQuery. There isn't a lot of information out there on the best way to do that. Here's what I figured out - it seems to work pretty well:
        var editor = theeditor();
        var contents = $("<div id='specialwrapperthing'>" + editor.getData() + "</div>");
        .... hack away with jQuery ....
        editor.setData(contents.html());
    Basically, you just wrap up what the editor hands you in terms of the data, hack away on it, and then put the HTML back into the editor.

    Mike Hommey: More graphs for the Debian Bug Tracking System

    I have been maintaining Debian Bug Tracking System graphs for a few years, now, though not very actively. They initially were available on people.debian.org/~glandium/bts/, but there have been some recent changes. A while ago, I started experimenting with brand new graphs on merkel.debian.org/~glandium/bts/, and when merkel was announced to be dying a few months ago, I got in touch with the QA team to know what to do with them, and it was decided we d put them on qa.debian.org. I unfortunately didn t follow up much on this and only recently actually worked on the migration, which took place 2 weeks ago. The result is that the graphs have officially moved to qa.debian.org/data/bts/graphs/, and links on the Package Tracking System have been updated accordingly. There is now also an additional graph tracking all open bugs in the BTS, across all packages: Today, I added a new feature, allowing to consolidate data for multiple arbitrary packages in a single graph. Such graphs can be generated with the following URL scheme (please don t over-abuse of it):
    http://qa.debian.org/data/bts/graphs/multi/name0,name1,name2,etc.png
    As an example, here is a graph for all the bugs on the packages I (co-)maintain:
    http://qa.debian.org/data/bts/graphs/multi/dehydra,diggler,iceape,iceweasel,libxml2,libxslt,livehttpheaders,mozilla-dom-inspector,nspr,nss,pyxpcom,venkman,vmfs-tools,webkit,xulrunner,zfs-fuse.png
    And here are the bugs affecting Mozilla-related packages:
    http://qa.debian.org/data/bts/graphs/multi/iceape,icedove,iceowl,iceweasel,nspr,nss,xulrunner.png
    I guess the next step is to allow per-maintainer consolidation through URLs such as
    http://qa.debian.org/data/bts/graphs/by-maint/address.png
    Update: per-maintainer consolidation has been added. (Hidden message here: please help triaging these bugs)

    Lars Wirzenius: DPL nomination period for 2011

    The nominations for Debian Project Leader elections for 2011 are open. As always, I'm tempted to nominate myself, but after thinking about it, I again conclude that I shouldn't. If I did nominate myself, there's a couple of things I'd like to push for. The DPL position is inherently a political one, which is why nothing in the list above is technical. On the other hand, I want to concentrate my Debian time on doing stuff that is fun, and right now that means writing code. I want to write code for Debian.

    4 March 2011

    Jo Shields: Protip: parallel-installing Mono versions in an APT-happy way

    If you ve ever gotten tired of waiting for a new Mono release to appear, and taken matters into your own hands by compiling your own copy of Mono, you ve likely faced the problem of missing libraries. That s weird, it says it can t find gtk-sharp, but I have that package! This happens because every version of Mono on your system has what s called a Global Assembly Cache a location where all system-wide assemblies lives. So when you run an app like Tomboy, it loads its libraries such as GTK# from the GAC belonging to the Mono runtime being used. Ordinarily, this is in /usr/lib/mono/gac on a Debian/Ubuntu system. When you have your parallel Mono, it doesn t share a GAC as a result, libraries in your main distro GAC are not available in your DIY GAC, as they were never registered in there. Typically, the advice is to either start compiling every lib you need into a non-standard place too however, here s a better idea. Why not make Apt take care of not only your system s GAC but additional GACs too? We actually have structures in place to handle this, so it s not as hard as you think (merely relatively unknown). This guide does NOT take startup scripts into account it s your problem to ensure you re using the correct mono command to run your copy of MonoDevelop or Tomboy or whatever. You should probably learn about update-alternatives and $PATH for this. Oh, and this guide will BREAK HORRIBLY if you try to uninstall system mono completely. Don t try it. Setup step 1: preparation Don t install parallel Mono into /usr/local. I don t care what happens to you if you do. Use some random folder in /opt, usually a per-build prefix like /opt/mono-2.10 Setup step 2: duplicating existing magic Open a terminal, and copy /usr/share/cli-common/runtimes.d/mono to a new filename, e.g. /usr/share/cli-common/runtimes.d/mono-2.10 Setup step 3: tweak duplicate magic Open your copied file in an editor, and change the name value on line 27ish (e.g. from Mono\n to Mono (parallel 2.10 install)\n ). Then change the two places in the file, on lines 64ish and 120ish, from /usr/bin/gacutil to /opt/mono-2.8.2/bin/gacutil or equivalent. Setup step 4: apply magic to existing packages Run /usr/share/cli-common/gac-install mono-2.10 (or whatever filename you picked for your runtimes.d entry) as root. This will instantiate your parallel GAC(s). From now on, every GAC library you install or uninstall will happen to every single runtime in runtimes.d. To go back to how things were before, with only a single Mono runtime: Uninstall step 1: empty out parallel GAC Run /usr/share/cli-common/gac-remove mono-2.10 (or whatever filename you picked for your runtimes.d entry) as root. This will remove all packaged entried from your parallel GAC(s). Uninstall step 2: remove magic Delete your file from runtimes.d

    Dirk Eddelbuettel: RcppArmadillo 0.2.14 and 0.2.15

    A few days ago Conrad Sanderson released version 1.1.6 of his Armadillo templated C++ library for linear algebra. Accordingly, I made a new release 0.2.14 of RcppArmadillo, our Rcpp-based integration into R which included a few local fixes. However, while I updated SVN at the R-Forge project I didn't update the final tarball so Armadillo 1.1.6 wasn't in it. That is corrected in the 0.2.15 upload which is now on CRAN and its mirrors. The short NEWS file extract for both releases follows, also containing Conrad's entry for 1.1.6. A few minor tweaks were added but no user-visible changes:
    0.2.15  2011-03-04
        o   Upgraded to Armadillo Version 1.1.6    Baby Carpet Shark 
             * fixed size matrices and vectors can use auxiliary (external) memory
             * .in_range() can use span() arguments
             * subfields can use span() arguments
    0.2.14  2011-03-02
        o   Support Run-Time Type Information (RTTI) on matrices by setting the
            state variable vec_state in Row and Col instantiation, with thanks to
            Conrad Sanderson for the hint
        o   fastLm code simplified further by instantiating the Armadillo matrix
            and vector directly from the SEXP coming from R
        o   inst/doc/Makefile now respects $R_HOME environment variable
    
    And courtesy of CRANberries, here are the diffs to.2.14
     ChangeLog                                                   14 -
     DESCRIPTION                                                  8 
     inst/NEWS                                                   10 
     inst/doc/RcppArmadillo-unitTests.pdf                     binary
     inst/doc/unitTests-results/RcppArmadillo-unitTests.html     10 
     inst/doc/unitTests-results/RcppArmadillo-unitTests.txt      39 +-
     inst/include/armadillo_bits/Col_meat.hpp                    51 +++
     inst/include/armadillo_bits/Col_proto.hpp                    3 
     inst/include/armadillo_bits/Cube_meat.hpp                   52 +++
     inst/include/armadillo_bits/Cube_proto.hpp                   7 
     inst/include/armadillo_bits/Mat_meat.hpp                    51 +++
     inst/include/armadillo_bits/Mat_proto.hpp                   12 
     inst/include/armadillo_bits/Row_meat.hpp                    51 +++
     inst/include/armadillo_bits/Row_proto.hpp                    3 
     inst/include/armadillo_bits/arma_version.hpp                 6 
     inst/include/armadillo_bits/config.hpp                       9 
     inst/include/armadillo_bits/field_meat.hpp                 220 ++++++++++++++--
     inst/include/armadillo_bits/field_proto.hpp                 20 +
     inst/unitTests/runit.RcppArmadillo.R                        16 +
     19 files changed, 521 insertions(+), 61 deletions(-)
    
    and to the previous release 0.2.13, respectivel
     ChangeLog                                                   14 ++++++
     DESCRIPTION                                                  6 +-
     inst/NEWS                                                   11 +++++
     inst/doc/Makefile                                           15 +++++--
     inst/doc/RcppArmadillo-unitTests.pdf                     binary
     inst/doc/unitTests-results/RcppArmadillo-unitTests.html     18 ++++----
     inst/doc/unitTests-results/RcppArmadillo-unitTests.txt      34 ++++++++--------
     inst/include/RcppArmadillo/Col_meat.h                       24 ++++++-----
     inst/include/RcppArmadillo/Row_meat.h                       19 ++++----
     src/fastLm.cpp                                              15 ++-----
     10 files changed, 94 insertions(+), 62 deletions(-)
    
    More information is on the RcppArmadillo page. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page.

    Michal &#268;iha&#345;: Fun with MinGW64 and ODBC

    The test suite for recently added ODBC support in Gammu was consistently failing on Win64 platform (all others were just fine). It took me some time to figure out why. The reason is SQLLEN type, which is in some sort special, that generated code for it is broken. All started with pretty much standard retrieving value from ODBC result:
    SQLLEN size;
    SQLRETURN ret;
    /* Figure out string length */
    ret = SQLGetData(res->odbc, 1, SQL_C_CHAR, NULL, 0, &size);
    if (!SQL_SUCCEEDED(ret))  
        return NULL;
     
    /* Did not we get NULL? */
    if (size == SQL_NULL_DATA)  
        return NULL;
     
    /* Allocate buffer for string */
    out = reallocate(out, size + 1);
    
    The first problem was comparing of size against SQL_NULL_DATA. It simply always failed even if size did contain -1 (what is actually value of SQL_NULL_DATA). Yesterday, I've come out with typecasting magic that worked fine for this case. However what I've missed is that even reallocate is failing with this parameter. No matter what the size would be, it would return NULL. Typecasting again did help here. Hey, should not be compiler clever enough to typecast this for me? It turns out that in case of MinGW64 it is not. Anybody has suggestion why? At the end I ended up with pretty ugly duplicating of the variable just to avoid mixing it up in future changes (as would happen with typecasting everywhere). I'd really like to know why my assumptions are wrong in this case.

    Filed under: English Gammu 0 comments Flattr this!

    Craig Small: Apache and incomplete redirection messages

    As part of moving my site around, I needed a bunch of redirects so that http://enc.com.au/docs/linuxload.html now becomes http://enc.com.au/2010/07/manually_calculating_process_times/ because its now controlled by WordPress. so I used the RedirectPermanent feature of mod_alias to do it with lines like:
    RedirectPermanent /docs/linuxload.html /2010/07/manually_calculating_process_times/
    So you come in on /docs/linuxload.html and redirect to the blog entry, simple really! It actually works, kinda, but the log files fill with things like:
    [Fri Mar 04 14:40:17 2011] [warn] [client 172.16.242.1] incomplete redirection target of '/2010/07/manually_calculating_process_times/' for URI '/docs/linuxload.html' modified to 'http://enc.com.au/2010/07/manually_calculating_process_times/
    What is going on? Why won t Apache just be quiet and be happy? The reason is in the Redirect Directive documentation on the 2.0 mod_alias page:
    Also, URL-path must be a fully qualified URL, not a relative path, even when used with .htaccess files or inside of <directory> sections.
    But I m running Apache 2.2 and the 2.2 mod_alias page says:
    The new URL should be an absolute URL beginning with a scheme and hostname, but a URL-path beginning with a slash may also be used, in which case the scheme and hostname of the current server will be added.
    That s it, you two choices: Changing the above config snippet to use absolute paths fixed it.
    RedirectPermanent /docs/linuxload.html http://enc.com.au/2010/07/manually_calculating_process_times/

    3 March 2011

    Thorsten Glaser: (Free)BSD vs. Linux

    Warning: this is a rant against BSD (specifically FreeBSD , but don t let me get started on DragonFly, who think it s wise to drop all shells except ash from the base system and rely on pkgsrc yay let s compile a dozen packages just to get a shell with tab completion, not to mention boxen with no network access for the task although others seem to go into that direction too ; you know, there s BSD, and then there s FreeBSD ) don t like, don t read. If you want to change something in the BSD world, you gotta fork your own BSD no other way around the thickheads. Ok, back then, I ran into a particularily thick one, but others tend to not be much better. Users share the thickness. If you want to change something in the GNU/Linux world, just make a package, have someone upload it, prod (or pay, Hanno got a Radler) people to do it, or just upload it yourself. At the BSD booth at FOSDEM, despite me bringing the Windows Mobile 6 Professional devive, strictly for Geocaching mind you, Macintosh boxen had a share of more than 50% I didn t manage to tip the scale. At the Debian booth, almost everyone had a I want to buy a new laptop some day, but it just keeps on working and doesn t break pre-Lenovo IBM laptop. No hyping of Google either. (Last year s CLT saw BSD people advocating pro-Schily the guy with the broken encoding in his name shockingly.) Honestly, tcsh, FreeBSD people? Sorry. While I agree that there is merit on having the same script and interactive shell, as someone has pointed out (copy-paste examples into the command line), there s those zsh users who use mksh or GNU bash for scripting. Or just POSIX shell. And that s with an interactive shell which can be used for scripting. On the other hand, the C shell (both csh and tcsh) cannot. And what s with pretending the accent gravis is non-combining, called backtick (such a thing does not exist); and advocating it? Sorry, if your csh/tcsh doesn t handle the POSIX $( ) you should just drop it. (By the way, there is a convention that example command lines are prefixed with % for csh and $ for sh (or # but we write $ sudo instead, these days). Use it. Or leave it. If you have examples that substitute another process output, be specific.) It s funny to see how one person tries to defuse my arguments against csh by telling me it s just an interactive shell , while the other argues that people copy-paste between them, to which that was my response. Read the thread! And please, get your facts right. I would prefer that the standard shell be at least Bourne-compatible. You don t want Bourne ( ^ instead of for pipes), you want POSIX. That GNU bash is called the Bourne-Again Shell in one of their usual semi-bad puns doesn t help the global perception of such things any. Also, the root shell and /bin/sh are disjunct. (Plus, why change the root shell, use sudo(8), plain and simple.) ObNote: in jupp (should I package that for Debian, btw? rather upload, packages are ready ) the key is used as pr fix for Ctrl-X ( X) or to directly enter numerical (decimal, octal, sedecimal/hexadecadic) ASCII, 8-bit or Unicode codepoints. Yay!
    And even the FSF has seen the light; for a few releases already, GCC uses ' ' instead of ' for quoting in messages, even without locales. Great job there! (LC_MESSAGES=en_GB.UTF-8 usually works, too, though.) ObDisclaimer: I have an (yes, Google ) Alert on the word mksh , so I know when it s being discussed. This obviously includes certain fora. Also, I m a shell implementer and bound to know a certain amount of details. Plus, mksh s build script runs with pretty much any Bourne/POSIX/Z Shell which has functions and not too many bugs. I wrote it. Go figure. No lowly trolling. FWIW, mksh(1) has the cat(1) builtin both because Android has no cat(1), and as speed hack. Almost all other shells have worse speed hacks, like a printf(1) builtin. And recently, builtins have become direct-callable, so this actually reduces the overall system footprint. (Its inclusion also provides for some other possibilities, internally.) And as two final side notes, if you haven t seen this: determine which shell we are run under (CVS) and I still offer a prompt conversion service (send me any GNU bash or oksh $PS1 and I ll send that to you in mksh(1) syntax optionally with adjustments/improvements, like cwd uses only up to 1/3 of screen width).

    Rapha&#235;l Hertzog: People behind Debian: Christian Perrier, translation coordinator

    Christian is a figure of Debian, not only because of the tremendous coordination work that he does within the translation project, but also because he s very involved at the social level. He s probably in the top 5 of the persons who attended most often the Debian conference. Christian is a friend (thanks for hosting me so many times when I come to Paris for Debian related events) and I m glad that he accepted to be interviewed. He likes to speak and that shows in the length of his answers :-) but you ll be traveling the world while reading him. My questions are in bold, the rest is by Christian. Who are you? I am a French citizen (which is easy to guess unless you correct my usual mistakes in what follows). I m immensely proud of being married for nearly 26 years with Elizabeth (who deserves a statue from Debian for being so patient with my passion and my dedication to the project). I m also the proud father of 3 wonderful kids , aged 19 to 23. I work as team manager in the Networks and Computers Division of Onera the French Aerospace lab , a public research institute about Aeronautics, Space and Defense. My team provides computer management services for research divisions of Onera, with a specific focus put on individual computing. I entered the world of free software as one of the very first users of Linux in France. Back in the early 1990 s, I happened (though the BBS users communities) to be a friend of several early adopters of Linux and/or BSD386/FreeBSD/NetBSD in France. More specifically, I discovered Linux thanks with my friend Ren Cougnenc (all my free software talks are dedicated to Ren , who passed away in 1996). You re not a programmer, not even a packager. How did you come to Debian? I m definitely not a programmer and I never studied computing (I graduated in Materials Science and worked in that area for a few years after my PhD). However, my daily work always involved computing (I redesigned the creep testing laboratory and its acquisition system all by myself during my thesis research work). An my hobbies often involved playing with home computers, always trying to learn about something new. So, first learning about a new operating system then trying to figure out how to become involved in its development was quite a logical choice. Debian is my distro of choice since it exists. I used Slackware on work machines for a while, but my home server, kheops, first ran Debian 1.1 when I stopped running a BBS on an MS-DOS machine to host a news server. That was back in October 1996. I then happened to be a user, and more specifically a user of genealogy software, also participating very actively in Usenet from this home computer and server, that was running this Debian thing. So, progressively, I joined mailing lists and, being a passionate person, I tried to figure out how I could bring my own little contribution to all this. This is why I became a packager (yes, I am one!) by taking over the geneweb package, which I was using to publish my genealogy research. I applied as DD in January 2001, then got my account in July 2001. My first upload to the Debian archive occurred on August 22nd 2001: that was of course geneweb, which I still maintain. Quite quickly, I became involved in the work on French localization. I have always been a strong supporter of localized software (I even translated a few BBS software back in the early 90 s) as one of the way to bring the power and richness of free software to more users. Localization work lead me to work on the early version of Debian Installer, during those 2003-2005 years where the development of D-I was an incredibly motivating and challenging task, lead by Joey Hess and his inspiring ideas. From user to contributor to leader, I suddenly discovered, around 2004, that I became the coordinator of D-I i18n (internationalization) without even noticing :-) You re the main translation coordinator in Debian. What plans and goals have you set for Debian Wheezy? As always: paint the world in red. Indeed, this is my goal for years. I would like our favorite distro to be able to be used by anyone in the world, whether she speaks English, Northern Sami, Wolof, Uyghur or Secwepemcts n. As a matter of symbol, I use the installer for this. My stance is that one should be able to even install Debian in one s own language. So, for about 7 years, I use D-I as a way to attract new localization contributors. This progress is represented on this page where the world is gradually painted in red as long as the installer supports more languages release after release. The map above tries to illustrate this by painting in red countries when the most spoken language in the country is supported in Debian Installer. However, that map does not give enough reward to many great efforts made to support very different kind of languages. Not only various national languages, but also very different ones: all regional languages of Spain, many of the most spoken languages in India, minority languages such as Uyghur for which an effort is starting, Northern Sami because it is taught in a few schools in Norway, etc., etc. Still, the map gives a good idea of what I would like to see better supported: languages from Africa, several languages in Central Asia. And, as a very very personal goal, I m eagerly waiting for support of Tibetan in Debian Installer, the same way we support its sister language, Dzongkha from Bhutan. For this to happen, we have to make contribution to localization as easy as possible. The very distributed nature of Debian development makes this a challenge, as material to translate (D-I components, debconf screens, native packages, packages descriptions, website, documentation) is very widely spread. A goal, for years, is to set a centralized place where translators could work easily without even knowing about SVN/GIT/BZR or having to report bugs to send their work. The point, however, would be to have this without making compromises on translation quality. So, with peer review, use of thesaurus and translation memory and all such techniques. Tools for this exist: we, for instance, worked with the developers of Pootle to help making it able to cope with the huge amount of material in Debian (think about packages descriptions translations). However, as of now, the glue between such tools and the raw material (that often lies in packages) didn t come. So, currently, translation work in Debian requires a great knowledge of how things are organized, where is the material, how it can be possible to make contribution reach packages, etc. And, as I m technically unable to fulfill the goal of building the infrastructure, I m fulfilling that role of spreading out the knowledge. This is how I can define my coordinator role. Ubuntu uses a web-based tool to make it easy to contribute translations directly in Launchpad. At some point you asked Canonical to make it free software. Launchpad has been freed in the mean time. Have you (re)considered using it? Why not? After all, it more or less fills in the needs I just described. I still don t really figure out how we could have all Debian material gathered in Rosetta/Launchpad .and also how Debian packagers could easily get localized material back from the framework without changing their development processes. I have always tried to stay neutral wrt Ubuntu. As many people now in Debian, I feel like we have reached a good way to achieve our mutual development. When it comes at localization work, the early days where the everything in Rosetta and translates who wants stanza did a lot of harm to several upstream localization projects is, I think, way over. Many people who currently contribute to D-I localization were indeed sent to me by Ubuntu contributors .and by localizing D-I, apt, debconf, package descriptions, etc., they re doing translation work for Ubuntu as well as for Debian. Let s say I m a Debian user and I want to help translate Debian in my language. I can spend 1 hour per week on this activity. What should I do to start? Several language teams use Debian mailing lists to coordinate their work. If you re lucky enough to be a speaker of one of these languages, try joining debian-l10n-<yourlanguage> and follow what s happening there. Don t try to immediately jump in some translation work. First, participate to peer reviews: comment on others translations. Learn about the team s processes, jargon and habits. Then, progressively, start working on a few translations: you may want to start with translations of debconf templates: they are short, often easy to do. That s perfect if you have few time. If no language team exists for your language, try joining debian-i18n and ask about existing effort for your language. I may be able to point you to individuals working on Debian translations (very often along with other free software translation efforts). If I am not, then you have just been named coordinator for your language :-) I may even ask you if you want to work on translating the Debian Installer. What s the biggest problem of Debian? We have no problems, we only have solutions :-) We are maybe facing a growth problem for a few years. Despite the increased welcoming aspects of our processes (Debian Maintainers), Debian is having hard times in growing. The overall number of active contributors is probably stagnating for quite a while. I m still amazed, however, to see how we can cope with that and still be able to release over the years. So, after all, this is maybe not a problem :-) Many people would point communication problems here. I don t. I think that communication inside the Debian project is working fairly well now. Our famous flame wars do of course still happen from time to time, but what large free software project doesn t have flame wars? In many areas, we indeed improved communication very significantly. I want to take as an example the way the release of squeeze has been managed. I think that the release team did, even more this time, a very significant and visible effort to communicate with the entire project. And the release of squeeze has been a great success in that matter. So, there s nearly nothing that frustrates me in Debian. Even when a random developer breaks my beloved 100% completeness of French translations, I m not frustrated for more than 2 minutes. You re known in the Debian community as the organizer of the Cheese & Wine Party during DebConf. Can you tell us what this is about? This is an interesting story about how things build themselves in Debian. It all started in July 2005, before DebConf 5 in Helsinki. Denis Barbier, Nicolas Fran ois and myself agreed to bring at Debconf a few pieces of French cheese as well as 1 or 2 bottles of French wine and share them with some friends. Thus, we settled an informal meeting in the French room where we invited some fellows: from memory, Benjamin Mako Hill, Hannah Wallach, Matt Zimmermann and Moray Allan. All of us fond of smelly cheese, great wine plus some extra p t home-made by Denis in Toulouse. It finally happened that, by word of mouth, a few dozens of other people slowly joined in that French room and turned the whole thing into an improvized party that more or less lasted for the entire night. The tradition was later firmly settled in 2006, first in Debconf 6 in Mexico where I challenged the French DDs to bring as many great cheese as possible, then during the Debian i18n meeting in Extremadura (Sept 2006) where we reached the highest amount of cheese per participant ever. I think that the Creofonte building in Casar de C ceres hasn t fully recovered from it and is still smelling cheese 5 years after. This party later became a real tradition for DebConf, growing over and over each year. I see it as a wonderful way to illustrate the diversity we have in Debian, as well as the mutual enrichment we always felt during DebConfs. My only regret about it is that it became so big over the years that organizing it is always a challenge and I more and more feel pressure to make it successful. However, over the years, I always found incredible help by DebConf participants (including my own son, last year a moment of sharing which we will both remember for years, i think). And, really, in 2010, standing up on a chair, shouting (because the microphone wasn t working) to thank everybody, was the most emotional moment I had at Debconf 10. Is there someone in Debian that you admire for their contributions? So many people. So, just like it happens in many awards ceremonies, I will be very verbose to thank people, sorry in advance for this. The name that comes first is Joey Hess. Joey is someone who has a unique way to perceive what improvements are good for Debian and a very precise and meticulous way to design these improvements. Think about debconf. It is designed for so long now and still reaching its very specific goal. So well designed that it is the entire basis for Joey s other achievement: designing D-I. Moreover, I not only admire Joey for his technical work, but also for his interaction with others. He is not he loudest person around, he doesn t have to .just giving his point in discussion and, guess what? Most of the time, he s right. Someone I would like to name here, also, is Colin Watson. Colin is also someone I worked with for years (the D-I effect, again ) and, here again, the very clever way he works on technical improvements as well as his very friendly way to interact with others just make it. And, how about you, Rapha l? :-) I m really admirative of the way you work on promoting technical work on Debian. Your natural ability to explain things (as good in English as it is in French) and your motivation to share your knowledge are a great benefit for the project. Not to mention the technical achievements you made with Guillem on dpkg of course! Another person I d like to name here is Steve Langasek. We both maintain samba packages for years and collaboration with him has always been a pleasure. Just like Colin, Steve is IMHO a model to follow when it comes at people who work for Canonical while continuing their involvment in Debian. And, indeed, Steve is so patient with my mistakes and stupid questions in samba packaging that he deserves a statue. We re now reaching the end of the year where Stefano Zacchiroli was the Debian Project Leader. And, no offense intended to people who were DPL before him (all of them being people I consider to be friends of mine), I think he did the best term ever. Zack is wonderful in sharing his enthusiasm about Debian and has a unique way to do it. Up to the very end of his term, he has always been working on various aspects of the project and my only hope is that he ll run again (however, I would very well understand that he wants to go back to his hacking activities!). Hat off, Zack!I again have several other people to name in this Bubulle hall of Fame : Don Armstrong, for his constant work on improving Debian BTS, Margarita Manterola as one of the best successes of Debian Women (and the most geeky honeymoon ever), Denis Barbier and Nicolas Fran ois because i18n need really skilled people, Cyril Brulebois and Julien Cristau who kept X.org packaging alive in lenny and squeeze, Otavio Salvador who never gave up on D-I even when we were so few to care about it. I would like to make a special mention for Frans Pop. His loss in 2010 has been a shock for many of us, and particularly me. Frans and I had a similar history in Debian, both mostly working on so-called non technical duties. Frans has been the best release manager for D-I (no offense intended, at all, to Joey or Otavio .I know that both of them share this feeling with me). His very high involvment in his work and the very meticulous way he was doing it lead to great achievements in the installer. The Installation Guide work was also a model and indeed a great example of non technical work that requires as many skills as more classical technical work. So, and even though he was sometimes so picky and, I have to admit, annoying, that explains why I m still feeling sad and, in some way, guilty about Frans loss. One of my goals for wheezy is indeed to complete some things Frans left unachieved. I just found one in bug #564441: I will make this work reach the archive, benefit our users and I know that Frans would have liked that.
    Thank you to Christian for the time spent answering my questions. I hope you enjoyed reading his answers as I did. Subscribe to my newsletter to get my monthly summary of the Debian/Ubuntu news and to not miss further interviews. You can also follow along on Identi.ca, Twitter and Facebook.

    7 comments Liked this article? Click here. My blog is Flattr-enabled.

    2 March 2011

    Jonathan Wiltshire: Privacy specialists should hire security specialists

    I was interested to hear about a company here in the UK called ALLOW Ltd., offering marketing database management under a we ll get you off lists, then pay you to go back on at your pleasure basis. That sounds a fair deal to me, so I decided to sign up for it.
    Our technology is built using some of the best and most secure tools in the industry. We have partnered with infrastructure providers who handle some of the most sensitive data in the UK (such as medical and financial records). Both the digital and physical security measures we have implemented are amongst the strongest available anywhere. This includes full encryption of all data at all times, full implementation of secure socket layers, security certificates and physical restriction of access to the data, our servers and our offices. Our systems have been fully penetration tested (that means we ve asked people to try and break in).
    (There are other suitable assertions in various places they even have a set of principles about safeguarding data.) Unfortunately, this promise is rather undermined in several ways after noticing the first couple, I did a little digging to see what else was exploitable. Here s the final part of the joining process, where you choose a username and password combination: The text I ve cropped too eagerly says Choosing a secure password is an essential part of protecting your personal information , or thereabouts. I duly chose a complex password that fitted the requirements, and to my surprise it was rejected. I tried another, and it was rejected; then a third and a fourth. By trial and error I worked out what was going on: 1. The password must contain only the listed special characters, not just include one of them. That s a bit of a problem, because even assuming a basic ASCII set, 15 characters are unavailable to users; 80 are left, so that s about a 15% fall in the available combinations*. Not a good start. More concerning is the presence of a security question field. It s used for resetting the password in the event losing it, but this technique for recovery has long been ridiculed the shared secret is often common knowledge amongst friends, and sometimes (as in this case) the available questions are fairly easy for an attacker to find the answer to in public records or solicit from the victim without arousing much suspicion: 2. The security questions available include First pet s name and worse, First school name . It s pretty pointless enforcing stringent password requirements, and then bypassing them with something so susceptible to a dictionary attack. I was pleased to find that failing to log in to an account more than a few times results in a temporary lockout, which should deter casual brute force attacks. But I wanted to know how that security question would be used, so I forgot my password and followed the links to reset it. Here s the form: Actually the first form, not shown here, initially just asks for a username, giving an error message if it isn t registered, and here s another problem: 3. The password reset process confirms the existence, or non-existence, of a given username half the credentials required to log in to any visitor. I d be prepared to take a bet that most users will choose What was the name of your first school? as a security question. The first pet you have is often at such a young age you can t remember it clearly; the name of the street you grew up on might change a couple of times if you moved house. But first school I attended? I ll never forget that, so it makes most sense to use as a backup password . It s also the best one for an attacker to try and find out from public sources. But that aside, as you can see the password is not generated at random and communicated to the real account holder out-of-band, in the manner of many other sites. Instead: 4. A new password is immediately set to a value already known by the attacker. Once inside, an attacker can also change the security question or answer, or both, so you can t even regain your account by telephoning the company unless you can convince them you re genuine, in which case the security question was a total waste of time anyway. I awarded some marks for notifying the user by email that the password has been changed, but immediately docked them again because bingo! You re now a victim of identity theft! Let s assume you ve been locked out, the security question has been changed and you want your account back. ALLOW don t let you telephone them; you either have to dig around and find an address to send an email, which we all know can be intercepted, or (and you re encouraged to) contact them through a form on the site. You ll probably include some personal details, because you want to convince them of your real identity; indeed, two of the options on the form are I ve got a question and Something doesn t work . I sent my findings through this very form, under the latter heading, and to my surprise: 5. Despite promises of full encryption of all data at all times, full implementation of secure socket layers , the contact form is transmitted to ALLOW in the clear, with no protection whatsoever. So now anyone listening in your connection knows all about you too: your ISP, any of the peers along the route, the deep packet inspection advertisers if your ISP is less than reputable, and the neighbour who connects to your wireless and slips you a fiver every month for the privilege. Nice work, privacy specialists. (For the record: * please feel free to correct my maths. It was never my strongest subject.
    Comments
    Privacy specialists should hire security specialists is a post from: jwiltshire.org.uk Flattr

    Kai Wasserb ch: Downloading entire YouTube playlists

    Downloading videos from YouTube isn't a problem thanks to tools like clive. But fetching all videos of a playlist was always a little bit tricky. There is clivescan, but it requires user intervention and needs Tk. Other tools have focused on feed parsing, so in case you have a playlist feed you can then download all (listed) videos. But none of the tools offered me a simple way to download all videos in a playlist from the command line. That's when I started writing ytplaylistfetcher, a simple shell script aiming to parse a YouTube playlist, extract all unique video ids and pass the list on to clive for downloading. By now ytplaylistfetcher is pretty much complete and there aren't many changes ahead (unless YouTube changes its page layout again, e.g. back to multi-page playlists). At the moment ytplaylistfetcher can handle the three common playlist link formats. If you've encountered another format or found a playlist link that doesn't work, let me know. ytplaylistfetcher has just one limitation in my opionin (but one I can live well with): it is limited to YouTube playlists. But that isn't a severe drawback in my opinion, as I rarely receive playlist links to other video hosting platforms (at least none where a simple wget call doesn't solve the problem. This little script show-cases one reason, why I like Linux so much: there is always an easy way to extend existing functionality.

    Steve Kemp: I updated my redis-based filesystem

    In July last year I made a brief post about a simple filesystem I'd put together which used Redis for the storage. At that time I thought it was a cute hack, and didn't spend too much time with it. But recently I found a use for it so I cleaned it up, synced up the C client for Redis which I used and generally started to care again. If it is useful you can now find it online: The basic idea is the same as it was before, except I did eventually move to an INODE-like system. Each file/directory entry receives a unique identifier (integer) - and then I store the meta-data in a key based off that name. This means for a file I might have keys, and values,like this:
    KeyValue
    INODE:1:NAMEThe name of the file (e.g. "passwd").
    INODE:1:SIZEThe size of the file (e.g. "1661" )
    INODE:1:GIDThe group ID of the file's owner (e.g. "0")
    INODE:1:UIDThe user ID of the file's owner (e.g. "0")
    INODE:1:MODEThe mode of the file (e.g. 0755)
    To store these things I use a Redis "SET" which allows me to easily iterate over all the entries in each directory. ObQuote: "They fuck up, they get beat. We fuck up, they give us pensions. " - The Wire

    Next.

    Previous.