Search Results: "ema"

18 February 2008

Romain Francoise: All in the little things

This week's Emacs has a (small) new feature which I find pretty neat; when you search for a string that cannot be found, the failing part gets highlighted in the prompt:



Since isearch is the most efficient way of moving around (at least for long distance jumps) in Emacs buffers, being able to correct typos immediately is essential and this tiny change helps a lot!

(Oh, and there's also a new M-x emacs-uptime command. Just so you know.)

Stefano Zacchiroli: galax in debian

Galax in Debian version 0.9.9 in experimental / NEW Executive summary: Galax (a fast XQuery implementation with support for static typing) is now in Debian. After my introductory post on XQuery and how to use it in Debian I've got motivated again in finishing the Debian packaging of Galax. (Or was the motivation coming from the fact that Saxon-B is terribly slow and also the annoying thought that one has to pay for extra-optimizations and static typing?) Galax, on the contrary, is really fast, Schema-aware, and supports static typing out of the box (you won't discover too late that you've added an integer to a string-valued node). Galax is now (almost) in Debian: yesterday I've uploaded version 0.9.9 to experimental, but of course it will need to pass through NEW before being available to the public. In the meantime it is available from my repository, here's the needed sources.list line:
deb http://people.debian.org/~zack/debian unstable main

in case you wanna look at the source package you can do one of:
$ dget http://people.debian.org/~zack/debian/pool/galax_0.9.9-1.dsc
$ debcheckout svn://svn.debian.org/svn/pkg-ocaml-maint/trunk/packages/galax/trunk

Getting started with Galax Mini howto for evaluating XQuery queries with Galax:
# aptitude install galax
$ cat sample.xq 
<bookshelf>
  for $book in doc('books.xml')//book
  where
    some $surname in $book/author/last
    satisfies $surname eq "Stevens"
  return <title>   xs:string($book/title)   </title>  
</bookshelf>
$ head -n 7 books.xml 
<bib>
  <book year="1994">
    <title>TCP/IP Illustrated</title>
    <author><last>Stevens</last><first>W.</first></author>
    <publisher>Addison-Wesley</publisher>
    <price>65.95</price>
  </book> 
$ galax-run sample.xq   xmllint --format -
<?xml version="1.0"?>
<bookshelf>
  <title>TCP/IP Illustrated</title>
  <title>Advanced Programming in the UNIX Environment</title>
</bookshelf>

The galax-doc package contains much more documentation of course ... I m going to FOSDEM, the Free and Open Source Software Developers  European Meeting
PS this evening I'll travel to Paris, where I'll be for a week, moving to FOSDEM for the week-end. Drop me a note if you want to get in touch for beer/keysigning/whatever.

Remi Vanicat: Who is playing with my cpufreq parameter?

I’ve a problem for some time: something seem to be changing my cpu frequency behind my back, and I don’t know what is doing it. It happen when the computer is doing cpu intensive mostly non interactive thing, as watching certain .avi with some codec. The change of cpufreq is relay a problem because then the cpu became to slow to decode the film at the speed I need to see it. So, what happen ?
If I use the ondemand governor, it seem that it will eventually believe that I do not demand cpu anymore, slow down to 800Mhz, and one cannot look at the film anymore…
If I use the userspace governor, setting the frequency to the max available value, well, the frequency will eventually change to something smaller. It will even lower the max frequency… Worst still, cpufreq setting won’t change to what I want if I ask for it:
# cpufreq-info && echo && cpufreq-set --max 2GHz && cpufreq-set -f 2GHz && LC_ALL=C cpufreq-info
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: powernow-k8
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 1.80 GHz, 1.60 GHz, 800 MHz
  available cpufreq governors: userspace, powersave, ondemand, conservative, performance
  current policy: frequency should be within 800 MHz and 1.20 GHz.
                  The governor "userspace" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
cpufrequtils 002: cpufreq-info (C) Dominik Brodowski 2004-2006
Report errors and bugs to linux@brodo.de, please.
analyzing CPU 0:
  driver: powernow-k8
  CPUs which need to switch frequency at the same time: 0
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 1.80 GHz, 1.60 GHz, 800 MHz
  available cpufreq governors: userspace, powersave, ondemand, conservative, performance
  current policy: frequency should be within 800 MHz and 1.20 GHz.
                  The governor "userspace" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
Not only my setting have been changed, But they won’t change back to what I want. I have to wait sometime, before demanding cpufreq-set to change my setting if I want them obeyed.

Russell Coker: Oracle Unbreakable Linux

Matt Bottrell writes about the Oracle Linux offerings presented at LCA 2008 [1] The one thing that Oracle does which I really object to is the “unbreakable” part of their advertising. They have pictures of penguins in armour and the only reasonable assumption is that their system is more secure in some way. As far as I am aware they offer no security features other than those which are available in Red Hat Enterprise Linux, CentOS, and Fedora. The unbreakable claims were also made before Oracle even had their own Linux distribution, which gave them even less reason for the claims. If someone is going to be given credit for making Linux unbreakable then the contributors list for the SE Linux project [2] is one possible starting point. Another possibility is that credit could be given to Red Hat for introducing so many security features to the mainstream Linux users before any other distribution. In terms of improving the security of databases it’s probably best to give credit to Kaigai Kohei and the PostgreSQL team for Security Enhanced PostgreSQL [3]. I believe that NEC also deserves some credit for sponsoring Kaigai’s work, I am not sure whether NEC directly sponsored his recent work on SE-PostgreSQL but they certainly sponsored his past work (and are credited on the NSA web site for this). Oracle’s Linux distribution is based on CentOS and/or Red Hat Enterprise Linux (RHEL). The situation with RHEL is that the source is freely available to everyone but binaries are only available to people who pay for support. CentOS is a free recompile of RHEL and a good choice of a distribution if you want a server with long-term support and don’t want to pay Red Hat (I run many servers on CentOS). While Matt gets most things right in his post there is one statement that I believe to be wrong, he writes “One of the craziest statements I heard during the talk was that Oracle will only support their products running under a VM if it’s within Oracle VM“. My knowledge of Xen causes me to have great concerns about reliability. My conversations with MySQL people about how intensive database servers are and how they can reveal bugs in the OS and hardware are backed up by my own experience in benchmarking systems. Therefore I think it’s quite reasonable to decline to support software running under someone else’s Xen build in the same way as you might refuse to support software running under a different kernel version (for exactly the same reasons). Matt however goes on to make some very reasonable requests of Oracle. The demand for native packages of Oracle is significant, I can’t imagine official Debian package support appearing in the near future, but RPM support for RHEL etc would make things easier for everyone (including Oracle). A better installation process for Oracle would also be a good thing. My observation is that most Oracle installations are not used for intensive work and use database features that are a sub-set of what MySQL offers. I’ve seen a few Oracle installations which have no more than three tables! The installation and management of Oracle is a significant cost factor. For example I used to work for a company that employed a full-time Oracle DBA for a database with only a few tables and very small amounts of access (he spent most of his time watching videos of fights and car crashes that he downloaded from the net). Adding one extra salary for a database is a significant expense (although the huge Oracle license fees may make it seem insignificant).

17 February 2008

Biella Coleman: On ARPA s 50th Anniversary

ARPA just turned 50 and Ronda Hauben, long time author on the politics and culture of the net, has written a nice reflective piece on the significance of the organization of ARPA. Challenging the idea that military roots had dug into the organizational logic of the ARPA institution and especially the ARPAnet, she instead provides the following narrative:
The organizational structure of ARPA made possible the creation of the
computer science research office within ARPA begun by Licklider. That
office has demonstrated the importance of the support for basic
research in the field of computer science. The IPTO supported a
general area of research, one with a far reaching impact. The
achievements of this research office were not specific defense related
applications, nor were the goals narrowly aimed at defense specific
applications. If this reality is not recognized, however, it is
possible to mistakenly attribute significant computer science
achievements to defense specific objectives. A common and widespread myth exists that the Internet has grown out of
a defense specific objective, i.e. from the goal to create a computer
network that could survive a nuclear war. This is a striking example
of how a false narrative can spread and gain public credence. This false narrative finds its roots in the failure to understand that
ARPA was not an agency created for defense specific applications, but
to support the basic research which would lead to new concepts and
ideas.

Biella Coleman: The HealthCare Issue (with something on OLPC)

I have not heard of them until last week but I like their name, Frog Design, and they have an issue dedicated to Health Care including an intriguing article The Paradox of Choice
A capitalist case for universal health care.
For those just into tech, they also have a piece by OLPC.

Neil Williams: Monitoring long running processes via ssh

I'm trying to work out how to monitor a remote script - in this case a mass build script. The script itself is trivial - a simple for loop in perl. It calls a script from emdebian-tools that calls a variety of other scripts and programs.
What's the best way for me to monitor that script from another machine on the network?
Yes, 'ps wax' is usable but not particularly friendly - the script has to work its way through a list of packages that need building. I want to know which package is being built at the time and the 'ps' output does show this information but only if you recognise parts of the build process for particular packages.
I thought about getting the script to output the current package name to some file in /var/ but that seems a bit of a hack (it's a userspace command and should not need to use sudo or require particular permission setups). Sending email is overkill. A file in /tmp/ is possible, true, but that means adapting the script itself. I'd like a solution that could work with (almost) any package, including binaries, without altering the source code. I've also thought of running the script within screen but then when the machine is in the middle of a compilation, it isn't easy to work out which package is actually being built just from the gcc output, plus there is the continual problem that screen doesn't support scrollback.
I have a feeling this is a potential reinventing the wheel problem so I'm looking for ideas.

Update:
The closest process output I can use is ps wfh which at least collates all the processes started by the top level script into one tree. I've worked out why the info I wanted was not being shown - the call from perl was exec() not system(). Doh! Ne'er mind. ps wfh will be enough for what I need - but I will need to adapt the wrapper after all. Thanks to all those who posted comments.

Neil Williams: Monitoring long running scripts via ssh

I'm trying to work out how to monitor a remote script - in this case a mass build script. The script itself is trivial - a simple for loop in perl. It calls a script from emdebian-tools that calls a variety of other scripts and programs.
What's the best way for me to monitor that script from another machine on the network?
Yes, 'ps wax' is usable but not particularly friendly - the script has to work its way through a list of packages that need building. I want to know which package is being built at the time and the 'ps' output does show this information but only if you recognise parts of the build process for particular packages.
I thought about getting the script to output the current package name to some file in /var/ but that seems a bit of a hack (it's a userspace command and should not need to use sudo or require particular permission setups). Sending email is overkill. A file in /tmp/ is possible, true, but that means adapting the script itself. I'd like a solution that could work with (almost) any package, including binaries, without altering the source code. I've also thought of running the script within screen but then when the machine is in the middle of a compilation, it isn't easy to work out which package is actually being built just from the gcc output, plus there is the continual problem that screen doesn't support scrollback.
I have a feeling this is a potential reinventing the wheel problem so I'm looking for ideas.

Martin F. Krafft: The Penny & Martin adventure: phase 2

Following the first phase, the second and final phase of the Penny and Martin adventure ended last Friday at Wellington airport. I am now 11 500 metres high on my way from Bangkok to Zurich, looking back at seven days on the New Zealand South Island, another in Wellington, and a night in Melbourne. Here s the summary of the 2200km we travelled, with selected photos inline. Penny has more pictures in her Flickr album. My New Zealand beer top-ten, in reverse order: Monteith s Original, Monteith s Black, Mac s Great White, Monteith s Golden, Monteith s Celtic, Monteith s Pilsener, Emerson s Pilsener, Mac s Hop Rocker, Emerson s 1812 India Pale Ale, and (drum-roll): Mac s Sassy Red. Yum! The Emerson beers get no links because the brewery website uses Flash. Thanks, Penny, for a fabulous two weeks! NP: The Flower Kings: Back in the World of Adventures

Martin F. Krafft: Places in Melbourne

On my way home from New Zealand, I spent a (Friday) night in Melbourne. Peter, Donna, Andrew, and Mark, all of whom I knew from LCA 2008, came out and helped me get away from the after-work-craze that filled centre city. Thanks to them, I found (and refound) a couple of places worth noting: NP: The Phoenix Foundation: Happy Ending Update: Joel points out that the Australia on Collins shopping centre on 260 Collins street has free wireless

16 February 2008

Ben Armstrong: Bits from the Debian Eee PC team

In the past few months in the Debian-EeePC team, a number of interesting things have been happening. Progress has been made to ensure the Eee’s drivers get merged upstream. Chris Snook from Red Hat has taken over atl2 upstream and has started merging it with the atl1 driver to make a unified atlx driver that will be suitable for inclusion in the kernel. As well, there is continued progress on the madwifi driver, with a patch now included to support version 2.6.24 of the Linux kernel. In the meantime, the Debian Eee PC Install HowTo has been under constant revision, even gaining recently the beginnings of translations in French and German. ACPI, another important piece of infrastructure for the Eee, is now supported in lenny and sid through Eric Cooper’s eeepc-acpi kernel module. This is a fork of the asus-acpi module renamed so that it won’t conflict with the in-tree version. It turns out that asus-acpi is deprecated, having been replaced by asus-laptop. Eric has been in touch with the asus-laptop maintainer to ensure the Eee-specific bits are merged so that we can eventually retire our forked version. There still remains at the top of our Todo list the issue of ACPI scripts to go with the kernel module. Having at first considered patching acpi-support, we have decided instead to start with Eric’s own scripts which will be packaged shortly for Debian. This gives us more freedom to tinker before considering submitting patches to more general laptop support packages like acpi-support. Finally, after Brendan M. had to send his Eee back to Asus for repairs, work stopped for a while on the custom debian-eeepc installer. Fortunately, he just got his system back from the shop as good as new and has returned with renewed vigor to that task. He has produced a new version of the installer which we are now testing. Thanks to the efforts of numerous users and developers who are being added to our ranks daily, we expect by the time Lenny releases we will be well on our way to providing a pure Debian solution for the Eee. Whether or not everything needed for the Eee is in Lenny at that time remains to be seen. We need to allow for how long it takes to get new drivers into the kernel. But if we miss the release, we will certainly provide backports and look forward to full support in the following release.

15 February 2008

MJ Ray: No Good FOSS Membership Management Web App?

A not-for-profit club has asked me to recommend a web-based membership manager that can do two main tasks:-
  1. email members when their renewal date is approaching;
  2. control access to some web pages.
(In addition, they want a web forum, but that doesn't need to be connected and they're fairly easy to find.) I'm somewhat surprised to say that I haven't found a good free software one. There's CiviCRM, but it's under an activated Affero GPL and I don't see why this non-software club should be a distributor (which is why I don't see activated-Affero software as free software). There's eZpublish (as used by FSFE) but it looks like overkill for this task and will cause more problems than it solves. Other FOSS organisations seem to be using bespoke apps. The VCS FOSS ICT wiki page is pretty bare. What would you recommend? Where should I be looking? Who to ask? If I have to write one, I'll try to make it reusable.

Andrew Pollock: [life] Worst. Recovery. Ever.

I wonder if things could go any worse if we actively tried? So despite going back to see the cardiologist on Monday afternoon, concerned about there possibly being still some sort of infection, and being told there wasn't, on Thursday morning, the top part of the incision was looking swollen. It looked even more so by the evening when I got home from work, and Sarah emailed a photo to the cardiologist, and he agreed it didn't look too crash hot, so he phoned a prescription for another, longer course of antibiotics through to the pharmacy, but too late to get filled last night. By bedtime it was looking even more ready to blow, and sure enough, around 1am (it's always 1am) it erupted everywhere. Fortunately (for me), I missed all the gory details, but I think there was a fair bit of fluid built up in there. So we went back to the clinic this morning, and they decided that they needed to open up part of the incision to let it drain and heal properly. They took another swab to run another culture, and then got a physician's assistant to take to her with a scalpel. I've seen my poor wife go through too many painful things in the last six months. Today's was no better. Most of the problem was the local anaesthetic injections, but watching them open up the incision again wasn't much fun either. No one should have to go through as much shit in a short time as what Sarah has had to. It's just not fair. She now has a gaping hole in her chest with some gauze packed in it, which has to be changed twice a day (by lucky old me). The idea is to let it heal from the bottom up, rather than the top down, as it seems an abscess had formed in the wound, and that was were all the trouble was. So by leaving it all open, it can drain properly, and heal from the bottom up. $DEITY only knows what sort of mess it's going to make of the incision area, but we can deal with that later. They reckon it'll take another 4-6 weeks to heal. I'm really hoping now that with it draining, and another course of antibiotics, Sarah will be in much less pain. I just did the evening gauze change. Fun. The opening in the incision is longer than I remembered them making this morning. It's about an inch long, and a centimetre deep, and there's a small hole in the bottom that presumably leads to the "interior". It's not as bad looking as I thought it might be. Packing the gauze in didn't seem to hurt Sarah too much, which is just as well. This really is the pits. I really hope this is the end of this, and the infection goes away for good, and the incision heals quickly. In terms of recovery, this is a pretty major setback in my opinion. From now on, we won't be relying on the cardiologist for surgical opinions, we'll be insisting a member of the surgical team checks Sarah out.

Stefano Zacchiroli: XQuery and XSLT 2.0 with Debian

XQuery 1.0 and XSLT 2.0: news and how to use them in Debian (long post about the second generation of the XSL family and how to use the related languages in Debian)
The 2nd generation of the XSL family At the beginning of 2007, W3C released a family of interrelated specification: XPath 2.0, XSLT 2.0, XQuery (1.0). The 3 specifications are based on the very same underlying data model which (finally!) supports typed values and exploits them to some extent, for example permitting some form of static type checking in XPath and XQuery. Types usually come from XML Schema, with both built-in and user-defined types supported. A brief overview of the 3 specifications and what they change in the state of the art follows. XPath 2.0 XPath 2.0 basically consists in XPath 1.0 + 3 new macro features. The first one is a revamp of those language features which are dealing with types, in order to better integrate them with the new typed data model. XPath now has operators to check whether a value belongs to a given type (so yes, type information are kept at run time), and to cast them from one type to another. The basic new type constructor is now the sequence, which replaces the old node-set solving many annoying issues, such as the impossibility of having a node ordering other than document order. The second feature is the improvement of standard library of functions which was ridiculously small in XPath 1.0; it is much better now. Additionally, 2nd generation languages (XSLT 2.0 and XQuery) now support the ability to define functions which will then be visible to inner (XPath) expressions, pushing yet forward the possibilities of plain old XPath. Functions can now also declare types in their signatures (for their arguments and return value) and untyped arguments will be automatically casted to them upon invocation. Hence, even if you are not using an implementation which assigns types to your XML trees, once you "enter" the typed world calling a typed function (almost all standard library functions are decently typed) you will be able to stay there avoiding annoying casts everywhere. Finally XPath 2.0 has turned into a powerful purely functional language and is now powered by constructs like conditionals, for-each loops, existential/universal quantifiers, and existentially-quantified comparison operators for sequences. Here is a complex expression to hwet your appetite (or scare you away ...), comments come as (: smiley faces :)
for $book in /bookshelf//books
return
  if ((every $author in $book/authors/author
       satisfies $author/nativeLang eq "it_IT")
      and $book/lang eq "it_IT")
  then $book
  else ()
(: think about the trouble of writing this in XSLT/XPath 1.0 ... :)

XSLT 2.0 XSLT 2.0 is what I would call a "bug fix release" of XSLT 1.0 + the routinary reworking of the language to deal with typed values, which is not sensibly different than what has been done for XPath 2.0. The fixed "bugs" are several, starting from the annoying issue of result tree fragments. They are basically tree snippets that in XSLT 1.0 you were able to generate for future use. Unfortunately they were not thaaat reusable, given that you were not even able to navigate them with XPath operators! Now the specification is much more clear and distinguishes final result trees from ordinary variables, which can now contain sequences of (navigable) tree nodes. Another important "bug" fixed is the new ability to output multiple documents with a single XSLT stylesheet: it marks the end of stupid extra post processing to be added in pipeline to a XSLT processor. Other minor "bugs" fixed are a limited amount of backtracking capabilities among imported templates, regular expression support directly in the language, and powerful grouping constructs on the lines of SQL's GROUP BY (but much more powerful). Here is a template snippet exploiting the latter feature:
<xsl:for-each-group select="*" group-starting-with="h1">
  <div>
    <xsl:apply-templates select="current-group()" />
  </div>
<xsl:for-each-group>

XQuery XQuery is the end of the chains imposed by XML-based syntaxes. Why the heck one has to use an XML syntax (as in the above snippet) only because she is manipulating XML tress is one of the mysteries of XML technologies which have always been floating around in my head. XQuery is the (supposedly) SQL equivalent for databases of XML documents, but is actually much more than that. I depict it in my head as the XML manipulation language with a syntax I can finally stand. Technically it is XPath 2.0 (say 80% of the whole language) + some extra ingredients (say 20%); so remember that every XPath 2.0 expression is also a XQuery expression. The main extra ingredient is the so called FLWOR expression (to be read: "flower expression", which in addition to the "smiley faces" used for comments gives a "back to 1968"-flavour to the language .... erm FLWOR/flower/flavour, no pun intended). A FLWOR expression is very similar to SQL's SELECT-FROM-WHERE: it lets you generate a tuple stream by iterating on sequences (F: for clauses), binding expression values to names (L: let clauses), filter out tuples which do not satisfy a required condition (W: where clause), order the survived tuples (O: order by clause), and finally return a sequence built using the residual tuple stream (R: return clause). The other interesting extra ingredient is the ability to build the XML snippets you want to manipulate. Within XQuery you do that using plain XML syntax (the only place where a sane-minded programmer actually wants to see it!) which also supports a classical interpolation mechanism to embed expressions which will be evaluated inside XML snippets, and also the other way around. A canonical XQuery example is:
for $t in doc("books.xml")//title,
    $e in doc("reviews.xml")//entry
where $t = $e/title
return <review>  $t, $e/remarks  </review>
(: braces denote the escaping context where XQuery expressions will
   be evaluated inside snippets; plain XML syntax is used for the
   other way around :)

But remember: XQuery for XML is much more than SQL for RDBMS, thanks to the implicit templating mechanism implemented by interpolation, and thanks to several language features fostering modularity (user-defined functions, library modules, XPath 2.0 standard library, ...) you can basically do with it any kind of XML manipulation you can imagine. I don't think I will ever write myself any other single line of XML output in DOM or XSLT ...
Cool, how can I use it in Debian? ... if only this stuff were decently supported in the open source world. Last time I checked, the author of most parts of the GNOME toolchain for dealing with XML (libxml2, libxslt, ...) was not intentioned to implement XSLT 2.0, not even mentioning XQuery. This comes as no surprise, the whole GNOME XML toolkit is written in C, and XSLT 2.0 / XQuery have reached a level of complexity and formal specification which usually entails a higher level approach. So on the GNOME side we are stuck. The other open source implementations of XSLT 2.0 / XQuery I'm aware of are Saxon and Galax. Saxon is an XSLT 2.0 and XQuery implementation written in Java, which is unfortunate per se. Additionally, it is also unfortunate that it is only partially open source. Indeed, Saxon is split into SaxonB (for "basic") which is open source under the Mozilla Public License and SaxonSA which is commercial. While SaxonSA is a fully conformant, XML Schema-aware processor, with support for static typing, SaxonB is a basic-conformant processor with no type-aware features and actually much less optimized than SaxonSA. This is annoying. (Much more annoying is the fact that SaxonSA's author is the only editor of the XSLT 2.0 specification and that instead of his mail address the specification includes an URL pointing to the website selling SaxonSA ...) Galax is an open source (IBM CPL / Lucent license) OCaml implementation of XQuery which is not fully conformant to the specification (though it gets quite close) which is type-aware and implements static typing. The only XQuery / XSLT 2.0 implementation available in Debian at the time of writing is SaxonB. The binary package is libsaxonb-java, kudos to Michael Koch and the Debian Java Maintainers for having packaged it (and to have stood some annoying pings of mine :-) bug #408842). To execute XQuery code you just have to aptitude install libsaxonb-java, prepare a query.xq file containing your query, and then execute something like:
CLASSPATH=/usr/share/java/saxonb.jar \
java net.sf.saxon.Query query.xq

note that the information in README.Debian are still referring to old Saxon versions, see bug #465894 which proposes a more up to date README.Debian. Similarly, to perform a XSLT 2.0 transformation you have to do something like:
CLASSPATH=/usr/share/java/saxonb.jar \
java net.sf.saxon.Transform -ext:off -s:input.xml -xsl:style.xsl -o:output.xml

Do not remove the -ext:off flag when processing untrusted stylesheets!, see bug #465885 for the reason. I've written some handier (1-liner) shell script helpers which remove the need of invoking java manually. They are attached to bug #465894 and I've proposed their addition to the saxonb package. Using them the above invocations become:
saxonb-xquery query.xq
saxonb-xslt -ext:off -s:input.xml -xsl:style.xsl -o:output.xml

Galax in Debian ... well, since long time I've been planning to package it (the ITP has been filed some months ago: bug #447984) and the authors sent me a newer version than what is available online to gather feedback before the long overdue final release. Unfortunately I've been lagging behind in finishing the packaging (which is tricky due to the need of binding libraries to several different languages: OCaml is native, but there is also Java for example). Hopefully this post will give me some renewed motivation for finishing the work ...
References
Acknowledgements Thanks to godog for his helpful comments.
Update: the helpers I've proposed have been accepted into the official package, I've also made available their manpages. Also the pending changes to README.Debian has been accepted. Kudos again to Michael Koch for his quick feedback on my patches!

Benjamin Mako Hill: Free Culture Elections

Recently, Students for Free Culture -- a non-profit organization dear to my heart -- elected its new board. Several months ago, the group voted to hold its elections using the same preferential election method system that Debian uses. To help make their election easier I agreed to support them with a new set of features in Selectricity aimed at more structured organizational decision-making. Currently Selectricity is more geared toward more informal QuickVotes. From a democratic and voting technology perspective, the election was a huge success. With 16 voters and 13 candidates, a traditional plurality or "first past the post" election would have been a poor match for their group -- the 16 first-place votes were very split among the candidates. The results also show one very polarizing candidate who won the plurality but was in the bottom third of most preferential rankings! The use of Selectricity helped SFC select a board who better represented the preference of their group than they would have otherwise. Exciting stuff! You can read more on the Free Culture website or on the Selectricity blog. Thanks are due both to the previous SFC board who took the risk on the technology and to all of the candidates and voters! I'm currently integrating feedback and improvements based on the SFC election and will open the feature up the public in the next couple weeks. If you want hear about this when it happens, you should subscribe to the Selectricity Blog or drop an email to team@selectricity.org.

MJ Ray: Current Issues / Transport: if you tolerate this, then your green space will be next...

Looks like the Bristol Airport-M5 Link Road is in the news again.  See the Mercury news story

Meeting at Wrington on 26 February.  One of the proposed routes is through Wrington Vale.  It's disappointing that the shuttle bus services from Weston-super-Mare and Nailsea (both possible connections to the M5 and rail services from the south-west) are still pretty terrible and there seems to be few improvements in the airport's masterplan.  As a result, there's this demand for road-building and it looks like The Powers That Be may build the road instead of managing the demand.  Ouch.

In more positive transport news, there's lots of new cycle route improvements (parking, signs, bugfixes, bypasses and blessedly few new-build cycle farcilities) listed in http://www.n-somerset.gov.uk/cairo/docs/doc16354.htm

MJ Ray: The Phone Coop: Annual Meeting

agmphoto Saturday 2 February 2008 was the annual meeting of the Phone Coop (agent link). I travelled to Chipping Norton for it and took a few abbreviated notes, which I've expanded slightly here. Ask questions if you want, but it's already fading in my memory:- Local Loop Unbundling workshop: 20 years of calls for it. 1999 ofcom announced 01 eu announced. 05 threat to breakup BT. 06 openreach split. By 2007-04 there were 2million unbundled. Distribution points and cabinets. Exchange may make even cheaper faster video. TPC LLU should launch this summer. Should take minutes to transfer. Equivalence problems - want evidence of when BT is preferred. Alarm lines: coop unable to take some. Broadband workshop: at year 2000 launch was a .5M service for GBP 40pcm. Now charge represents use. The coop has 4 ADSL specialists and it accounts for 15pc of income. Bought in three parts: tails are the links to the customers, bandwidth is then 155 or 622M fused 60m base plus extra. Home contention is 50:1, business is 20:1. Available in bundles. My.phone.coop offers a usage view with only a day's delay - might be a first for retail broadband. Ambassadors workshop: Harness cooperative difference. Customers can help to get more customers. Possibly give half our local adverts to our phone agency. Interaction with agent scheme unknown yet. Someone asked about running cinema ads. AGM: intros apologies evaluations mugs window stickers 1b 565m mins. Directors report record sales and growth. Profit again. Service progress: 2nd of 19 in Which surveys. Sven is new manager. Midcounties. Sustainability fund. Finances. Highest dividend. Sales mix changed kind rental growth. Costs down 200k. 9k postage saving. Record balance sheet. Recruiting membership manager and secretary. Currently 6735 members. Negotiating .5k sales acquisition - no info to members yet as commercially sensitive. Shortlisted for green business awards on 12 march. Questions: Mobiles? high volume only economic. What is cws? Cooperative Wholesale Society, part of the Cooperative Group. Member profile. Coop purchases. Diversity. Southern acquisitions? Regulator Dependent. Name. Biodiesel. Satisfaction, corp members, large corp custs. Miles travelled. Walking payments. Group promotion of AOL is annoying. Third party card discouraged? Member-account links. Larger affinity. Works bus. 1 against scrutineer. Directors spend on average 4 hours a week on the coop.

13 February 2008

Biella Coleman: Health Care Probes

This is just one problem with a profit logic ruling our health care. It is good to see this investigation start but it feels a little like a kitten fighting a 100 pound gorilla. A little to little and too late.

Biella Coleman: Pace yourself

Drinking caffeine slowly and in low doses may get your further.

Bernhard R. Link: IPv6 strikes again

If you ever wondered, why exim4 needs so long to start when you have no net access, though you were sure that configured as satellite for a smarthost it should have nothing to lookup as the smarthost in in /etc/hosts, you might just have forgotten to put a
     disable_ipv6 = true
   
in your exim4.conf. (I'm not sure, but that might also help to actually deliver mail to hosts which also have ipv6 addresses on servers with outgoing smtp when you forgot to blacklist the ipv6 module).

Next.

Previous.