Search Results: "pm"

30 June 2010

Dirk Eddelbuettel: Rcpp 0.8.3

A new version 0.8.3 of Rcpp is now CRAN and in Debian. It comes about three weeks after the 0.8.2 release. And even though we promised to concentrate on documentation, it contains a raft of new features: The main thing here is Rcpp sugar for which we also have a new (seventh !!) vignette Rcpp-sugar. As a quick example, consider this simple C++ function that takes two vectors from R and creates a new one conditional on the relative values:
export "C" SEXP foo( SEXP xs, SEXP ys)  
    Rcpp::NumericVector x(xs), y(ys);
    int n = x.size();
    Rcpp::NumericVector res( n );
    double xd = 0.0, yd = 0.0 ;
    for( int i=0; i<n; i++) 
        xd = x[i];
        yd = y[i];
        if( xd < yd ) 
            res[i] = xd * xd ;
          else  
            res[i] = -( yd * yd);
         
     
    return res ;
 
Now, if you use R, you really want to writes this more compactly. And now you can, thanks to Rcpp sugar:
extern "C" SEXP foo( SEXP xs, SEXP ys) 
    Rcpp::NumericVector x(xs), y(xs);
    return ifelse( x < y, x*x, -(y*y));
 
Same great taste, but much less filling! More details are in the Rcpp-sugar vignette. Doug Bates is already a fan of this and is employing it in the lme4a development version of the well-known lme4 package. The full NEWS entry for this release follows below:
0.8.3   2010-06-27
    o	This release adds Rcpp sugar which brings (a subset of) the R syntax
        into C++. This supports : 
         - binary operators : <,>,<=,>=,==,!= between R vectors
         - arithmetic operators: +,-,*,/ between compatible R vectors
         - several functions that are similar to the R function of the same name:
        abs, all, any, ceiling, diff, exp, ifelse, is_na, lapply, pmin, pmax, 
        pow, sapply, seq_along, seq_len, sign
        
        Simple examples :
        
          // two numeric vector of the same size
          NumericVector x ;
          NumericVector y ;
          NumericVector res = ifelse( x < y, x*x, -(y*y) ) ;
        
          // sapply'ing a C++ function
          double square( double x )  return x*x ;  
          NumericVector res = sapply( x, square ) ;
        
        Rcpp sugar uses the technique of expression templates, pioneered by the 
        Blitz++ library and used in many libraries (Boost::uBlas, Armadillo). 
        Expression templates allow lazy evaluation of expressions, which 
        coupled with inlining generates very efficient code, very closely 
        approaching the performance of hand written loop code, and often
        much more efficient than the equivalent (vectorized) R code.
        
        Rcpp sugar is curently limited to vectors, future releases will 
        include support for matrices with sugar functions such as outer, etc ...
        
        Rcpp sugar is documented in the Rcpp-sugar vignette, which contains
        implementation details.
    o   New helper function so that "Rcpp?something" brings up Rcpp help
    o   Rcpp Modules can now expose public data members
    o   New classes Date, Datetime, DateVector and DatetimeVector with proper
        'new' API integration such as as(), wrap(), iterators, ...
    o   The so-called classic API headers have been moved to a subdirectory
        classic/ This should not affect client-code as only Rcpp.h was ever
        included.
    o   RcppDate now has a constructor from SEXP as well
    o   RcppDateVector and RcppDatetimeVector get constructors from int
        and both const / non-const operator(int i) functions
        
    o   New API class Rcpp::InternalFunction that can expose C++ functions
    	to R without modules. The function is exposed as an S4 object of 
    	class C++Function
As always, even fuller details are in Rcpp Changelog page and the Rcpp page which also leads to the downloads, the browseable doxygen docs and zip files of doxygen output for the standard formats. A local directory has source and documentation too. Questions, comments etc should go to the rcpp-devel mailing list off the R-Forge page

28 June 2010

Aurelien Jarno: Debian and the ARM hype

Thanks to the versatility of the Linux kernel, Debian has always been known for supporting a large number of architectures. It has also often been criticized for that as it is said to slow down the development of Debian. Among these architectures, the ARM one was considered dead a few years ago, and some people wanted to get rid of it. Today all major distributions now have an ARM port, one of those distributions being even based on Debian. It seems Debian was right. Now that Android has been ported to MIPS, we may see more and more MIPS based devices. Will the same scenario happen again?

Russell Coker: Can you run SE Linux on a Xen Guest?

I was asked Can you run SELinux on a XEN guest without any problem? . In a generic sense the answer is of course YES, Xen allows you to run Linux kernels with all the usual range of features and SE Linux isn t a particularly difficult feature to enable. I do most of my SE Linux development and testing on virtual machines and until recently I didn t have any hardware suitable for running KVM, so in the last few years I ve done more SE Linux testing on Xen than on non-virtual machines. My SE Linux Play Machine [1] (which will be online again tomorrow) is one SE Linux system running under Xen. But the question was asked in the context of my blog post comparing the prices of virtual hosting providers [2], which changes things. Both Linode and Slicehost (the two virtual hosting providers that my clients use) provide kernels without SE Linux support, the command grep selinux /proc/filesystems (which is the easiest way to test for SE Linux support) gives no output. I am not aware of any other virtual hosting company that provides SE Linux support. If anyone knows of a virtual hosting company that runs Xen or KVM virtual machines with SE Linux support then please let me know, I ll write a blog post comparing such companies if there are some. For the people who work at ISPs: If your company supports SE Linux virtual machines then I would be happy to review your service, just give me a free DomU for a couple of weeks so I can test it out. If your company is considering offering such virtual machines then I would be happy to have a confidential discussion about the issues that you will face, while I am available for paid consulting work in this area I am more than happy to spend an hour or two helping a company that s going to help support my favorite free software project without expecting to be paid. But I have to note that if a dozen hosting companies happen to want advice I won t be able to provide two hours of free advice to each of them. I think that there is an unsatisfied market demand for SE Linux virtual machines. I don t expect all virtual hosting companies to support it in the near future, but this will make it more profitable for those that do. If for the sake of discussion we assume that 5% of sysadmins who are making purchasing decisions regarding virtual servers really want to have SE Linux support and if 5% of virtual hosting companies were to offer such support, then those hosting companies would almost double their market share as a result of supporting SE Linux. It s the usual economic factors relating to small companies that profit from providing good support for the needs of a minority of customers.

27 June 2010

Martin-&#201;ric Racine: How much does Free Software influence my career prospects?

Funny how life brings those A-HA moments in the least probable of circumstances. Take my career's development, for instance. I'm currently taking a training to become a government bureaucrat. During this training, each student goes through a thorough skill assessment to help the trainer select an appropriate training place in some government office. Asides from covering the obvious aspects of formal education and employment history, we also reviewed achievements and accumulated skills. My A-HA moment came as a result of our trainer asking me to completely rewrite my CV to match some known template. Additionally, she requested that I emphasize my technology background more. I countered by pointing out that the word "technology" tends to mean "engineer" to the average employer and yet I've have always been in Product Management or Business Development, which are more Sales-oriented roles than anything else, hence why I emphasize the Sales aspect and deflate the technology aspect in my CV. Still, while she conceded that difference in emphasis, she insisted that having worked in technology probably influenced my skills or my preferred workflow in one way or another. At the moment, I simply could not think of how it might have. Boy, was I wrong! Where do I begin? First of all, it dawned onto me that I simply cannot claim to know Microsoft Office anymore. Until recently, my Open Office skills were easily applicable to Microsoft Office, because Open Office borrowed a lot of concepts from its Microsoft counterpart. However, following the recent redesign of Microsoft Office, I found that I cannot navigate my way around Microsoft Word's menus anymore. While this new user interface paradigm indeed removes a lot of clutter, it also hides too many features in less than obvious places, which resulted in me concluding that I simply have to downgrade my Microsoft Office skills to medium. Given the progressive conversion of several Finnish agencies and ministries to Open Office, I'm not in such an uncomfortable position but, then again, other agencies and ministries fiercely cling on to their Microsoft licenses and have recently upgraded them. As such, should my practical training take place in one of those offices, I would essentially be unable to perform at my job. Redeeming factor: a friend who only knows Microsoft products faced similar frustrations last year when she got back from her summer vacations, after she realized that their network administrator had upgraded her workstation. It took her the whole autumn before she felt comfortable using Word again. Another aspect of working in Free Software that influences my workflow: telecommuting and teleworking. As anyone working on Free Software projects knows, teams tend to be distributed around the globe, which means that there's always someone somewhere pushing a commit or answering bug reports, at any given time of the day. Simultaneously, work quickly becomes location-independent and flexible schedules are the norm; whatever and wherever works for a given developer, as long as the work gets done. Without anyone really noticing, this work methodology has permeated the whole technology ecosystem, even at fortune-500 companies. Employees come in and out of the office at whichever time suits them, while others choose to work from home and only show up whenever face-to-face meetings are called. Others even adopt a nomad lifestyle, constantly roaming the globe for adventures and connecting to the office network via VPN, from the comfort of their hotel room or from a friend's couch, on the other side of the globe. In my case, having twice worked for Estonian companies while living in Finland, it meant taking the ferry twice a week to visit the office. This brought in more benefits than one might initially think: first of all, the quick walk between the metro station and the harbor in Helsinki meant that I arrived on the ferry with blood pumping adrenaline and fully alert. Being on the ferry gave me 2 hours of quiet time to grab my first coffee and plan my day. Getting out of the ferry in Tallinn meant another quick walk, this time between the harbor and the tramway. By the time I arrived at the office, I had exercised twice and planned all my workday. It's probably the most productive that I've ever been in my whole career. Additionally, I was frequently on the road, meeting customers and following on sales leads, which meant that I got to close many deals using my laptop in my hotel room. As our CEO used to joke, "I have no idea where in the world Martin- ric is today but, just as long as the purchase orders keep on pouring in, it's all the same to me." As a result of this reflexion, I had to explain to our trainer why I am extremely well-suited to government jobs that require a lot of traveling and where Free Software is used on the desktop and, vice-versa, extremely unsuited to back-office jobs where whatever Microsoft products of the day are the norm. I've had to put particular emphasis on what Open Office is all about, because many homeworks were supposed to be submitted in Microsoft Word format. While Writer indeed offers the option to import and export Microsoft formats, it doesn't come with any WYSIWYG guarantee, which is why I took on the habit of sending her PDF documents. Sadly, this did not always work out so well, especially in cases where the intention was to forward selected parts of a document to third-parties. Conclusion: working in the Free Software industry, even in non-engineering roles, indeed has a strong influence on someone's choice of methodology, tools and workflow. In some cases, it can even disqualify someone from making certain career choices. Who would have thought?

25 June 2010

Anand Kumria: Beginning Django Development

Oddly, I have had four different people ask me about the best way to begin a Django project or setup their system to make it easy to develop with Django. Since I've now given my response via email so many times, I figure I might as well broadcast it and hopefully this will help others as well My assumptions: What we will do is create a private binary directory and another Python modules. Then take a checkout of the two most important Django projects, and make them work. First: create your user
$ sudo adduser newbie
$ ssh localhost -l newbie
$ whoami
newbie
Then we want to create some local bin and lib directories. First the binary directory $ mkdir ~/bin # On Ubuntu/Debian, this will automatically be in your PATH the next time you login And now a local directory for our various libraries
$ mkdir -p ~/lib/python
$ echo "PYTHONPATH=~/lib/python:" >> ~/.bashrc
$ echo "export PYTHONPATH" >> ~/.bashrc
This will add that directory to our Python path. If you happen to also use another language you can put things into ~/lib/ruby, ~/lib/perl as appropriate
$ mkdir ~/Projects
$ cd ~/Projects
Here is where we will store copies of upstream software. What is the reason for using the repositories rather than packages? This allows us to checkout specific versions to match what our clients might be using. Or test things against newer versions of the upstream project. First, let's setup Django. I tend to use git by default, especially if the upstream is using Subversion. If they are using Mercurial or Bazaar, I use those directly.
$ git svn clone -s http://code.djangoproject.com/svn/django/
Initialized empty Git repository in /home/newbie/Projects/django/.git/
Using higher level of URL: http://code.djangoproject.com/svn/django => http://code.djangoproject.com/svn
r1 = 5cda37203ffa6ea83da2958a95c377984482877f (refs/remotes/trunk)
	A	django-docs/images/flatfiles_admin.png
	A	django-docs/images/users_changelist.png
	A	django-docs/model-api.txt
	A	django-docs/build.py
	A	django-docs/db-api.txt
	A	django-docs/writing-apps-guide-outline.txt
	A	django-docs/templates.txt
r2 = b8249ac45e2154933b9649fd8181d5769e31c9fc (refs/remotes/trunk)
	A	django/utils/feedgenerator.py
	A	django/utils/datastructures.py
[...]
r13399 = f3902c67a3b8788de2145899e435a394c512b455 (refs/remotes/releases)
	M	tests/regressiontests/m2m_through_regress/tests.py
r13400 = cd72207306a5a4eecdf07f65c109f37c8317ed81 (refs/remotes/trunk)
$
Now we have Django, push it into our python path
$ cd ~/lib/python
$ ln -s ~/Projects/django/django/
$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>> django.VERSION
(1, 2, 1, 'final', 0)
Now, let's do the same for South. South is a database migration helper for Django. These are the two things you want to have in any Django at a minimum. There are also plenty of other amazing things like haystack, piston, satchmo, etc. You can follow the same recipie for them too.
$ cd ~/Projects
$ hg clone http://bitbucket.org/andrewgodwin/south/
destination directory: south
requesting all changes
adding changesets
adding manifests
adding file changes
added 802 changesets with 1340 changes to 183 files (+1 heads)
updating to branch default
143 files updated, 0 files merged, 0 files removed, 0 files unresolved
$ cd ~/lib/python
$ ln -s ~/Projects/south/south
$ python 
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import south
>>> south.__version__
'0.7.1'
Finally, we want to be able to create Django projects. There is a great helper called django-admin that will do this. Let's put it into our path
$ cd ~/bin
$ ln -s ~/Projects/django/django/bin/django-admin.py
$ hash -r
That last statment will cause your interpreter to re-read PATH and make anything new available for execution. Now, you should go ahead and create your projects. There are a variety of ways to do this. However what I like to do is keep Django applications separate from the Django project. That way, they can easily be re-used if required. So, for a project called 'foo', we might have
$ mkdir -p ~/Work/foo
$ cd ~/Work/foo
$ mkdir foo.example.com
$ mkdir templates
$ mkdir media
$ mkdir <individual apps>
For each individual app, put them into the Python library. And you then have your re-usability from within Django. For a application called 'bar', you would do:
$ cd ~/Work/foo
$ django-admin.py startapp bar
$ cd ~/lib/python
$ ln -s ~/Work/foo/bar
And now, in your Django foo.example.com setting.py's file you can put 'bar' as one the installed applications and things will Just Work Obviously there are many way to slice this particular mango, but I've found that this works pretty well for me. You can spruce it up by revision controlling each directory in your project (I do) and also take advantage of things like virtualenv and Fabric to make deploying just as easy as developing. But I'll leave those topics until a later date

Roland Mas: FusionForge news, June 2010

Another month, another update, but nothing spectacular to be announced in FusionForge-world. We're still working on finishing the transition to the new configuration system, we're testing the migration to a simpler and more flexible set of Apache configuration files, and work is in progress on the RPM packaging. And so on. Possibly the most newsworthy item is the FusionForge presence at next month's Libre Software Meeting in Bordeaux (the RMLL in French). I'll do a FusionForge, one year and a half later talk summarising the status and progress of FusionForge, and there'll also be a *forge devroom where we'll mingle with people interested in all kinds of software forges. Come see us if you're around!

24 June 2010

David Bremner: Yet another tale of converting Debian packaging to Git

racket (previously known as plt-scheme) is an interpreter/JIT-compiler/development environment with about 6 years of subversion history in a converted git repo. Debian packaging has been done in subversion, with only the contents of ./debian in version control. I wanted to merge these into a single git repository. The first step is to create a repo and fetch the relevant history.
TMPDIR=/var/tmp
export TMPDIR
ME= readlink -f $0 
AUTHORS= dirname $ME /authors
mkdir racket && cd racket && git init
git remote add racket git://git.racket-lang.org/plt
git fetch --tags racket
git config  merge.renameLimit 10000
git svn init  --stdlayout svn://svn.debian.org/svn/pkg-plt-scheme/plt-scheme/
git svn fetch -A$AUTHORS
git branch debian
A couple points to note: Now a couple complications arose about upstream's git repo.
  1. Upstream releases seperate source tarballs for unix, mac, and windows. Each of these is constructed by deleting a large number of files from version control, and occasionally some last minute fiddling with README files and so on.
  2. The history of the release tags is not completely linear. For example,
rocinante:~/projects/racket  (git-svn)-[master]-% git diff --shortstat v4.2.4  git merge-base v4.2.4 v5.0 
 48 files changed, 242 insertions(+), 393 deletions(-)
rocinante:~/projects/racket  (git-svn)-[master]-% git diff --shortstat v4.2.1  git merge-base v4.2.1 v4.2.4 
 76 files changed, 642 insertions(+), 1485 deletions(-)
The combination made my straight forward attempt at constructing a history synched with release tarballs generate many conflicts. I ended up importing each tarball on a temporary branch, and the merges went smoother. Note also the use of "git merge -s recursive -X theirs" to resolve conflicts in favour of the new upstream version. The repetitive bits of the merge are collected as shell functions.
import_tgz()  
    if [ -f $1 ]; then
        git clean -fxd;
        git ls-files -z   xargs -0 rm -f;
        tar --strip-components=1 -zxvf $1 ;
        git add -A;
        git commit -m'Importing ' basename $1 ;
    else
        echo "missing tarball $1";
    fi;
 
do_merge()  
    version=$1
    git checkout -b v$version-tarball v$version
    import_tgz ../plt-scheme_$version.orig.tar.gz
    git checkout upstream
    git merge -s recursive -X theirs v$version-tarball
 
post_merge()  
    version=$1
    git tag -f upstream/$version
    pristine-tar commit ../plt-scheme_$version.orig.tar.gz
    git branch -d v$version-tarball
 
The entire merge script is here. A typical step looks like
do_merge 5.0
git rm collects/tests/stepper/automatic-tests.ss
git add  git status -s   egrep ^UA   cut -f2 -d' ' 
git checkout v5.0-tarball doc/release-notes/teachpack/HISTORY.txt
git rm readme.txt
git add  collects/tests/web-server/info.rkt
git commit -m'Resolve conflicts from new upstream version 5.0'
post_merge 5.0
Finally, we have the comparatively easy task of merging the upstream and Debian branches. In one or two places git was confused by all of the copying and renaming of files and I had to manually fix things up with git rm.
cd racket   /bin/true
set -e
git checkout debian
git tag -f packaging/4.0.1-2  git svn find-rev r98 
git tag -f packaging/4.2.1-1  git svn find-rev r113 
git tag -f packaging/4.2.4-2  git svn find-rev r126 
git branch -f  master upstream/4.0.1
git checkout master
git merge packaging/4.0.1-2
git tag -f debian/4.0.1-2
git merge upstream/4.2.1
git merge packaging/4.2.1-1
git tag -f debian/4.2.1-1
git merge upstream/4.2.4
git merge packaging/4.2.4-2
git rm collects/tests/stxclass/more-tests.ss && git commit -m'fix false rename detection'
git tag -f debian/4.2.4-2
git merge -s recursive -X theirs upstream/5.0
git rm collects/tests/web-server/info.rkt
git commit -m 'Merge upstream 5.0'

23 June 2010

Stefano Zacchiroli: Debian consultancy for the European Framework Programme

on the interaction of FOSS communities with EU research projects The 7th Framework Programme (or FP7) is a well-known European program to fund research projects and promote the creation of the European Research Area. For some European countries, FP7-funded projects are so important that they can make the difference between an institution that has the resources to pursue its research & teaching activities and an institution that doesn't, which will then have hard time surviving. As part of FP7 and its previous editions, the European Commission (EC) has been funding research into FOSS for a while now, with different degrees of "FOSS-involvement". Some projects routinely use FOSS products, some fund the development of relevant FOSS projects (e.g. PyPy), some try to address shortcomings of specific communities (e.g. EDOS and Mancoosi, on which you surely are aware of my bias ...), some others try to remove barriers to FOSS adoption in various contexts (e.g. FLOSSinclude). A nice overview of EU-funded FOSS projects is available as a leaflet. As with all project funding initiatives: having a project funded does not mean it will be successfully. By analogy: the fact that the project (proposal) mentions FOSS does not mean it will be successful in interacting with FOSS communities. Luckily, the EC is well aware of existing difficulties and is now seeking input from FOSS communities to understand how to better interact with them, from the standpoint of FP7 research projects. That is why last week I've joined, upon invitation and as a Debian representative, a meeting at the EC in Brussels on the above topics. At the table we were about a dozen people, including representatives of ongoing research projects (both from academia and large industries), EC commissioners, ... and Debian (i.e. yours truly). Beside joining the brainstorming, what I've brought to the table are some thoughts on best and worst practices on the interaction between research projects and FOSS communities, answering to some working questions. There is probably little to see in the slides for people belonging to FOSS communities, as all suggestions would seem fairly obvious (e.g.: do not invent/use yet another FOSS license, do not jail people into specific forges, do not expect people to work at your place, etc.). Still, I assure you that most of them were not obvious for EC commissioners and that they have been very much interested in hearing Debian feedback, which is perceived has having no other interest than serving Free Software. I'm personally very proud of the fact that Debian was there, as a purely community-driven project run by volunteers, whose opinion is clearly valued by an important program as FP7 is. Various possible next steps have been discussed: from drafting guidelines that will help reviewers in evaluating the commitment of project proposals to FOSS communities, to create a scenario-based license chooser based on the needs of FP7 projects. While I did not volunteer to take part in all such initiatives, I'll keep you posted of advancements.

21 June 2010

Scott Kitterman: Hello Planet Debian

This is the obligatory Hello world post. I m a developer both in Ubuntu and Debian. In Debian most of my work has been in the Python world where I co-maintain python-defaults and python3 defaults as well as several modules, extensions, and applications. I ve been contributing to Debian development for about 3 years now and recently became a DD.
Just so this post won t be completely free of technical content
Most of you will have heard that Python 2.6 is now the default in Sid. Once this transition is complete and migrated, the Python system that s planned for Squeeze will be in place (I know this is a topic that is very dear to some people, but I don t care to discuss the history of it in my blog and won t approve comments in that direction).
Of more technical interest, I think, is that the core system around Python 3 is starting to appear. The current version of Debian Python Policy begins to address Python 3 issues for the first time and we now have a supported and default Python 3. There is more work coming between now and freeze time to more completely define how the Debian Python 3 system should work. While many upstreams don t support Python 3 yet, we want to provide a solution that makes it easy for maintainers to provide Python 3 packages where they do.

20 June 2010

Stefano Zacchiroli: debian meeting guidelines RFC

How to have a (Debian) summit without turning into a secret cabal It seems rather uncontroversial that sponsoring various kinds of Debian meetings (conferences, sprints, BSPs, etc.) is a good way to spend, actually invest, Debian money. Historically, that has not always saved the Debian community from muttering about "cabal-ish" meetings in very few specific occasions. (No, there is no cabal, in case you wonder.) I've always believed in the good faith of people and I don't think that we have ever had "secret meetings" on purpose. Nevertheless the question of how to have meetings in a community-compatible way is a sound one. Answering properly to such a question is something that it's harder than what it might seem at first sight (at least for me). In particular, organizers have to carefully balance the high efficiency that meetings offer (e.g.: communication bandwidth is higher than when working remotely, people have less distractions, more enthusiasm, more fun!, etc.) with the risk of cutting out the rest of the community which cannot attend the meeting, for whatever reason. Note also that since Debian is not a company, we cannot just require that everybody who is interested attend the meeting. As DPL, I'm starting to get quite some requests for meeting sponsorship, and that's just wonderful: it means that we have thrilling groups of people that are eager to get together and hack to improve Debian! Still, in doing so, we should all try to minimize the above risk; that's why I've started to apply the following Debian meeting guidelines, as a kind of prerequisite for sponsoring.
  1. Before the meeting: the meeting should be announced to the most relevant public mailing list(s); ideally, the tentative agenda of the meeting should be included in the announcement.
    That will enable people interested in the meeting topics to provide their inputs and more generally to know what is going on.
  2. During the meeting (preparation): expenses should be minimized, as a form of respect for all people that donate to Debian. Since we value their contributions, we do our best not to waste them. (TTBOMK, we've always done that, but making it explicit won't hurt.)
  3. After the meeting: meeting minutes should be sent to the most relevant public mailing list(s), usually to d-d-a for meetings that cover topics of general development interest.
    As an obvious consequence, minutes should be taken during the meeting; it is a bit of extra burden, but the risk of leaving the rest of the community in the dark is just not acceptable a community as wide and diverse as ours.
  4. In general, think about communication, e.g.: (micro)blog about the meeting, contact press/-publicity to prepare a news item about it, enable others to attend virtually on IRC or other media, etc.
For now, the above is just a brain dump.
Now, what do you think? Are the above reasonable demands? What else should we ask for?
Feel free to leave a comment or mail me about that.

Andrew Pollock: [life] First Father's Day

Father's Day in the US has always been a weird one for me. I've been pottering through the day oblivious, when a friend who is a father will tell me that they've been thinking of me especially today because of our loss. Then I'm reminded that Father's Day is in June and not September. I wonder what the deal is with that? It seems very few countries observe it on the first Sunday in September. Weird. Zoe hits the 7 week mark tomorrow, and I return to work. Boy is that going to be a shock to the system for all of us. The 7 weeks of paternity leave has been absolutely wonderful. Google's Paternity Leave benefit is now firmly my number one favourite employee benefit. Co-workers had complained that taking it all at birth was a bit of a waste, because all the baby does is sleep, but it's definitely been worthwhile taking it all now. Because we've been predominantly bottle feeding with pumped breast milk, I've been able to be very involved with the feeding, and I've been able to do a lot of the running around helping Sarah, so I wouldn't have done it any other way. It's also been great to watch Zoe grow and develop. She's interactive enough at this age, and it's just great to cuddle with her, or share a nap with her. On the sleeping front, things are a bit all over the place. She definitely gets fussy in the evenings, at around 5pm to 7pm. Often we have trouble getting her to go back to sleep after a feeding around this time. Sometimes the trouble can extend past the 10pm to midnight feeding. She sleeps magnificently during the day, and travels fairly well. She sleeps quite well in her car seat, and stays asleep in it when we're at a cafe or restaurant. We had our first overnight trip while Sarah's Mum was visiting. We went down to San Simeon to take her to Hearst Castle. It was fun having Zoe in a hotel room with us. Whenever she fussed during the night, we'd just grab her and bring her into bed with us. She spent quite a lot of time in our bed asleep on our chests. It was very sweet. It was like a little baby vacation. Zoe also had her first outing to the California Academy of Sciences, and we managed to spend about 5 hours there without any major meltdowns from anybody. It was absolutely fantastic having Sarah's Mum here for 4 weeks too. She's great to have around. She was a big help in cleaning up the back yard significantly, and generally helping out around the house. It was great having her take care of the 7am feeding when Sarah and I were both zonked out from overnight interruptions. It was also nice not to have to think so much about how dinner was going to materialise. My parents have decided they will come and visit in September, which is excellent, as they won't have to wait until February to meet Zoe. One of the other nice things about the Google Paternity Leave is that you keep accruing vacation time while you're on it, so I should have enough vacation time to take a couple of weeks off while they're here, as well as in February when we go back to Australia for Sarah's residential school at the University. The next big event will be Zoe's vaccinations at 8 weeks. Hopefully that will be as uneventful as possible.

Francois Marier: Reducing website bandwidth usage

There are lots of excellent tools to help web developers optimise their websites.

Here are two simple things you have no excuse for overlooking on your next project.
HTML, XML, Javascript and CSS filesOne of the easiest ways to speed up a website (often to a surprising degree) is to turn on compression of plaintext content through facilities like mod_deflate or the Gzip Module.

Here's the Apache configuration file I normally use:
<ifmodule>AddOutputFilterByType DEFLATE text/html text/plain text/css text/javascript text/xml application/x-javascript application/javascript
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch "MSIE 6" no-gzip dont-vary
BrowserMatch ^Mozilla/4\.0[678] no-gzip</ifmodule>
ImagesAs far as images go, the following tools will reduce file sizes through lossless compression (i.e. with no visual changes at all):
(An alternative to optipng is pngcrush.)

Note that the --strip-all argument to jpegoptim will remove any EXIF/comments tags that may be present.

16 June 2010

David Paleino: Bash-Completion 1.2 released

After more than 9 months from the previous release, the Bash Completion Team is proud to announce the release of bash-completion 1.2! In this release, we dropped support for bash < 3.2. We're sorry, but we cannot stop development just to support versions that old. By now, everyone should have a version fulfilling our requirement. As usual, lots of completions have been added: we're now at 168 files in our contrib/ directory (1.1 had 145, and 1.0 had 44 -- but most completions in 1.0 were bundled in the main file). Now bash_completion only contains helper functions, and basic filename-based completions. Everything has moved to contrib/! This release also saw the contribution of many external people, despite the fact that our bugtracker on Alioth doesn't seem to work too well (problem with attachments, anyone?). Anyhow, you're invited to register and start filing bugs as you find them :). Apart from the usual team members (Ville Skytt , Freddy Vulto, the newcome Leonard Crestez and me), we've had contributions from (in no particular order): Ted Stern, Jeremie Lasalle Ratelle, Rapha l Droz, Adrian Friedli, Ildar Mulyukov, Neville Gao, Austin English, Igor Murzov, Mario Schwalbe and Mark van Rossum. Thank you people for helping us! For completion developers: we added new helper functions. Most notably, it's now possible to get the current and the previous "word" just by calling:
_get_comp_words_by_ref cur prev
instead of (up to 1.1):
cur=$(_get_cword) prev=$ COMP_WORDS[COMP_CWORD-1]
Also, we have a new helper to deal with completion with colons, __ltrim_colon_completions(). See the comment in bash_completion for its documentation. You'll find more helpers directly in bash_completion. We're still far from having a distributable API documentation, so please forgive us. Enjoy the new bash-completion! -- David

Russell Coker: Carpal Tunnel Getting Better

Three months ago I wrote about getting Carpal Tunnel Syndrome [1]. A few weeks after that I visited the specialist again and had my wrist brace adjusted to make it a little less uncomfortable. The specialist also gave me some quick ultra-sound treatment and then said that if it didn t get better in a month or two then I should just get a referral to a surgeon! I didn t have a bad case, some people have their hand muscles atrophy. My hand strength was measured as 50Kg in my left hand (the one with CTS) and 52Kg in my right hand. The greater strength in my right hand is probably more due to the lack of left-handed tools and sporting equipment than any muscle atrophy. This is slightly better than the physical standards for the Victoria Police (just over 50Kg average for both hands) [2] and a lot better than the Australian Federal Police physical standards of 45Kg for the dominant hand and 40Kg for the non-dominant [3]. Really my hand strength should have been recorded as 490Newton and 510Newton respectively, medicine is the science of healing, in all aspects of science the Newton is the measure of force. Over the past few months my hand seems to have recovered a lot while wearing the wrist-brace 24*7. I ve just started going without the wrist-brace during the day and it seems to be OK. I m currently planning to wear the wrist brace at night for a year or two as it s the only way to ensure that my hand doesn t end up on a bad angle when I m asleep. At this stage it seems that I ve made as close to a full recovery from CPS as is possible!

14 June 2010

John Goerzen: Camping with 2 Boys

Friday I took the day off for us to go camping. Due to the birth of Oliver, our last time camping was in 2008. Back then, Terah had asked me what I wanted for father s day, and I suggested camping. Except when she was pregnant last year (and then Oliver was little), we have sort of had a standing plan to go camping twice a year: around father s day and my birthday. She says that s way more camping in a year than anyone needs. Anyhow, Jacob doesn t remember the last time we went camping; he was not quite 2 at the time. I explained that we would sleep in tents, and he d get one just his size. He laughed at that. Then I explained that he would get a bag to sleep in, and he thought that was hilarious. He kept talking about tents and even more so about sleeping bags until he actually got to be in one. It seems like each time we go camping, we wind up somewhere else. We ve camped at Kanoplis Lake and Marion Park and Lake in the past few years. But this time we went to Cedar Valley Reservoir near Garnett, KS. It was a nice place to be, with some wilderness camping areas far from any RV hookups (though right next to a gravel driveway where we could park). Almost as soon as we got out of the car, Jacob found a partially-burned stick left in a fire ring. So of course his hands were black pretty quick. He kept track of that stick the whole time we were there, and used it for everything he could think of. His favorite use, though, was at the lake to splash water: 2010-06-11 15.20.21.jpg The lake really was his favorite feature. He loved to throw rocks and sticks in it with me, to splash himself, and to stick his feet in. Oh, and to splash me. IMG_4057.JPG The pier was also a great thing for him he at first thought it was a boat, then really wanted to go. I made him hold my hand the whole time, and he liked walking on it. But he was frustrated that he couldn t reach the water. Somehow, Jacob acted as if he could sit in the hot sun for hours, just making small splashes with a stick. I, on the other hand, felt the 90-degree heat strongly, and eventually we found a shady spot to play in the lake. Oliver enjoyed crawling around on a blanket or on the grass. Though Terah put a stop to that after she noticed that he came across a pile of fish heads and was about to reach for one and put it in his mouth. We cooked over a campfire Friday night and Saturday morning. It took me a lot longer to start a fire than normal. Part of the problem was that there had been a lot of rain in the area, and it was humid, so there was little kindling to be found. Plenty of larger pieces of wood, so once the fire got going, it burned nicely. We cooked brats, brought along some homemade bread, had grilled foil-wrapped potatoes, and had stir-fry vegetables. Oliver got to eat with us too, of course: IMG_4022.JPG Terah is a big believer in smores, so after supper we made some smores Jacob predictably got sticky from the marshmallows and chocolate. Jacob started asking when I d set up the tent almost as soon as he found his stick. All afternoon he kept asking. Finally we got it set up, and of course he was so excited that he played inside it for an hour before he fell asleep. Terah had bought a $4 lantern at Walmart to give to him to use in his tent. I told him that there would be a surprise lantern in his tent for him to use. And he loved his lantern. It could turn on, off, and flash red. At one point he asked me, Dad, do you have a surprise lantern too? No, I will just use my flashlight. He looked a bit sad about that. For about 5 seconds. Then he turned on his lantern again. Here he is with it, still playing happily about 2 hours after his bedtime: IMG_4100.JPG And in the morning, of course he was still wanting that, but also wanted to play with his digital camera (a kid s version that also has a simple game or two on it). Without leaving the tent, of course. IMG_4105.JPG Oliver was getting hungry while we worked on breakfast, so I gave him some bread to munch on. IMG_4119.JPG We used our cast iron skillet to fry some bacon for breakfast. Then Terah made some pancakes in the skillet (with the bacon grease). Greasiest and best pancakes ever. After that, we had some fried and scrambled eggs. After that, we had more smores (I wasn t kidding about Terah being a big believer in them.) Jacob decided that he wanted to play in the other tent. He enjoyed playing with Terah, Oliver, and the air mattress (that Terah appreciated as much as I thought it took up too much space in the car). There s a little window on the back that can open to a screen or open completely. Jacob and Oliver enjoyed looking out of it while open. Or rather, Jacob enjoyed that, while Oliver enjoyed licking it. IMG_4161.JPG I had my Droid with me to keep an eye on the weather. The forecast for several days had called for a 20% chance of storms on Saturday. I checked Saturday morning at 7, and it still called for 20% chance of storms after 1PM. We decided we d pack up our tents after breakfast so we could stay as long as we liked or leave on short notice if we preferred. Clouds seemed to be building, though, so I checked the forecast again at maybe 9. Now it called for 60% chance of thunderstorms and heavy rain before 1PM. Guess I shouldn t have been surprised; it is Kansas after all. As I had the first tent about 90% put away, it started to rain. We rushed to get the rest of the stuff in the car, and by the time we did, it was raining heavily. We had planned to spend at least part of the afternoon there, but decided we d look for another place to stop on the way home. We stopped first at Garnett s North Lake, as the rain had let up for awhile. We spotted a fishing pier that Jacob wanted to walk on, but the bridge out to it was underwater, so we passed on that. While Terah fed Oliver in a shelter, Jacob and I played on some swings. Then we walked down to that lake. Jacob carefully came to an abrupt stop and looked both ways at each disused road between us and the lake, saying OK when it was clear to go. The rain picked up again, so we started heading towards home. It got quite heavy, with thunder and everything, which Jacob didn t care for at all. Both boys went to sleep, though. We stopped at Marion Reservoir on the way home. Jacob hadn t been able to play in the lake at Garnett (the place we stopped had a bank that was too steep) and so we played there. He waded into the water at the swimming area, and predictably enjoyed yes throwing rocks into the lake. When we got home, I set out the wet tent and tarps (it s not good to store that stuff wet) to dry there hadn t been rain at home yet. Camping s a lot of work, but it was a good family activity. I m looking forward to our next time, and hope we can choose a weekend a little less hot and damp.

13 June 2010

Gunnar Wolf: World Naked Bike Ride 2010 Mexico

For the second time (First time was in 2008; I didn't join in 2009 as I travelled to Nicaragua on that date), I took part of the World Naked Bike Ride. The WNBR is a global effort, where people in ~150 cities all over the world go cycling nude on the streets of our towns, with varied demands, including: I love my bike! One of the things I most like about WNBR is its diversity. Not everybody goes for the same reasons. As people who read me often will know, I took part because I believe (and act accordingly!) that the bicycle is the best, most efficient vehicle in by far most of the situations we face day to day, but we need to raise awareness in everybody that the bicycle is just one more vehicle: On one side, we have the right to safely ride on the streets, like any other vehicle. On the other side, we must be responsible, safe drivers, just as we want car drivers to be. Ok, and I will recognize it before anybody complains that I sound too idealistic: I took part of the WNBR because it is _tons_ of fun. This year, we were between 300 and 500 people (depending on whom you ask). Compared to 2008, I felt less tension, more integration, more respect within the group. Of course, it is only natural in the society I live in that most of the participants were men, but the proportion of women really tends to even out. Also, many more people joined fully or partially in the nude (as nudity is not required, it is just an invitation). There was a great display of creativity, people painted with all kinds of interesting phrases and designs, some really beautiful. Oh, one more point, important to me: This is one of the best ways to show that we bikers are not athletes or anything like that. We were people ranging from very thin to quite fat, from very young to quite old. And that is even more striking when we show our whole equipment. If we can all bike around... So can you! Some links, with obvious nudity warnings in case you are offended by looking at innocent butts and similar stuff: As for the sad, stupid note: 19 cyclists were placed under arrest in Morelia, Michoac n because of faltas a la moral (trasgressions against morality), an ill-defined and often abused concept. Also, by far, most of the comments I have read from people on the media, as well a most questions we had by reporters before or after the ride were either why are you going nude (because that's the only way I'll get your attention!) or But many people were not nude! (nudity is not a requirement but only an option.

Petter Reinholdtsen: Lenny->Squeeze upgrades, removals by apt and aptitude

My testing of Debian upgrades from Lenny to Squeeze continues, and I've finally made the upgrade logs available from http://people.skolelinux.org/pere/debian-upgrade-testing/. I am now testing dist-upgrade of Gnome and KDE in a chroot using both apt and aptitude, and found their differences interesting. This time I will only focus on their removal plans. After installing a Gnome desktop and the laptop task, apt-get wants to remove 72 packages when dist-upgrading from Lenny to Squeeze. The surprising part is that it want to remove xorg and all xserver-xorg-video* drivers. Clearly not a good choice, but I am not sure why. When asking aptitude to do the same, it want to remove 129 packages, but most of them are library packages I suspect are no longer needed. Both of them want to remove bluetooth packages, which I do not know. Perhaps these bluetooth packages are obsolete? For KDE, apt-get want to remove 82 packages, among them kdebase which seem like a bad idea and xorg the same way as with Gnome. Asking aptitude for the same, it wants to remove 192 packages, none which are too surprising. I guess the removal of xorg during upgrades should be investigated and avoided, and perhaps others as well. Here are the complete list of planned removals. The complete logs is available from the URL above. Note if you want to repeat these tests, that the upgrade test for kde+apt-get hung in the tasksel setup because of dpkg asking conffile questions. No idea why. I worked around it by using 'echo >> /proc/pidofdpkg/fd/0' to tell dpkg to continue. apt-get gnome 72
bluez-gnome cupsddk-drivers deskbar-applet gnome gnome-desktop-environment gnome-network-admin gtkhtml3.14 iceweasel-gnome-support libavcodec51 libdatrie0 libgdl-1-0 libgnomekbd2 libgnomekbdui2 libmetacity0 libslab0 libxcb-xlib0 nautilus-cd-burner python-gnome2-desktop python-gnome2-extras serpentine swfdec-mozilla update-manager xorg xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-kbd xserver-xorg-input-mouse xserver-xorg-input-synaptics xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati xserver-xorg-video-chips xserver-xorg-video-cirrus xserver-xorg-video-cyrix xserver-xorg-video-dummy xserver-xorg-video-fbdev xserver-xorg-video-glint xserver-xorg-video-i128 xserver-xorg-video-i740 xserver-xorg-video-imstt xserver-xorg-video-intel xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic xserver-xorg-video-nsc xserver-xorg-video-nv xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-radeon xserver-xorg-video-radeonhd xserver-xorg-video-rendition xserver-xorg-video-s3 xserver-xorg-video-s3virge xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sis xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-tga xserver-xorg-video-trident xserver-xorg-video-tseng xserver-xorg-video-v4l xserver-xorg-video-vesa xserver-xorg-video-vga xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9 xulrunner-1.9-gnome-support aptitude gnome 129
bluez-gnome bluez-utils cpp-4.3 cupsddk-drivers dhcdbd djvulibre-desktop finger gnome-app-install gnome-mount gnome-network-admin gnome-spell gnome-vfs-obexftp gnome-volume-manager gstreamer0.10-gnomevfs gtkhtml3.14 libao2 libavahi-compat-libdnssd1 libavahi-core5 libavcodec51 libbluetooth2 libcamel1.2-11 libcdio7 libcucul0 libcupsys2 libcurl3 libdatrie0 libdirectfb-1.0-0 libdvdread3 libedataserver1.2-9 libeel2-2.20 libeel2-data libepc-1.0-1 libepc-ui-1.0-1 libfaad0 libgail-common libgd2-noxpm libgda3-3 libgda3-common libgdl-1-0 libgdl-1-common libggz2 libggzcore9 libggzmod4 libgksu1.2-0 libgksuui1.0-1 libgmyth0 libgnomecups1.0-1 libgnomekbd2 libgnomekbdui2 libgnomeprint2.2-0 libgnomeprint2.2-data libgnomeprintui2.2-0 libgnomeprintui2.2-common libgnomevfs2-bin libgpod3 libgraphviz4 libgtkhtml2-0 libgtksourceview-common libgtksourceview1.0-0 libgucharmap6 libhesiod0 libicu38 libiw29 libkpathsea4 libltdl3 libmagick++10 libmagick10 libmalaga7 libmetacity0 libmtp7 libmysqlclient15off libnautilus-burn4 libneon27 libnm-glib0 libnm-util0 libopal-2.2 libosp5 libparted1.8-10 libpoppler-glib3 libpoppler3 libpt-1.10.10 libpt-1.10.10-plugins-alsa libpt-1.10.10-plugins-v4l libraw1394-8 libsensors3 libslab0 libsmbios2 libsoup2.2-8 libssh2-1 libsuitesparse-3.1.0 libswfdec-0.6-90 libtalloc1 libtotem-plparser10 libtrackerclient0 libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java libxerces2-java-gcj libxklavier12 libxtrap6 libxxf86misc1 libzephyr3 mysql-common nautilus-cd-burner openoffice.org-writer2latex openssl-blacklist p7zip python-4suite-xml python-eggtrayicon python-gnome2-desktop python-gnome2-extras python-gtkhtml2 python-gtkmozembed python-numeric python-sexy serpentine svgalibg1 swfdec-gnome swfdec-mozilla totem-gstreamer update-manager wodim xserver-xorg-video-cyrix xserver-xorg-video-imstt xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga zip apt-get kde 82
cupsddk-drivers karm kaudiocreator kcoloredit kcontrol kde kde-core kdeaddons kdeartwork kdebase kdebase-bin kdebase-bin-kde3 kdebase-kio-plugins kdesktop kdeutils khelpcenter kicker kicker-applets knewsticker kolourpaint konq-plugins konqueror korn kpersonalizer kscreensaver ksplash libavcodec51 libdatrie0 libkiten1 libxcb-xlib0 quanta superkaramba texlive-base-bin xorg xserver-xorg xserver-xorg-core xserver-xorg-input-all xserver-xorg-input-evdev xserver-xorg-input-kbd xserver-xorg-input-mouse xserver-xorg-input-synaptics xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video-apm xserver-xorg-video-ark xserver-xorg-video-ati xserver-xorg-video-chips xserver-xorg-video-cirrus xserver-xorg-video-cyrix xserver-xorg-video-dummy xserver-xorg-video-fbdev xserver-xorg-video-glint xserver-xorg-video-i128 xserver-xorg-video-i740 xserver-xorg-video-imstt xserver-xorg-video-intel xserver-xorg-video-mach64 xserver-xorg-video-mga xserver-xorg-video-neomagic xserver-xorg-video-nsc xserver-xorg-video-nv xserver-xorg-video-openchrome xserver-xorg-video-r128 xserver-xorg-video-radeon xserver-xorg-video-radeonhd xserver-xorg-video-rendition xserver-xorg-video-s3 xserver-xorg-video-s3virge xserver-xorg-video-savage xserver-xorg-video-siliconmotion xserver-xorg-video-sis xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-tga xserver-xorg-video-trident xserver-xorg-video-tseng xserver-xorg-video-v4l xserver-xorg-video-vesa xserver-xorg-video-vga xserver-xorg-video-vmware xserver-xorg-video-voodoo xulrunner-1.9 aptitude kde 192
bluez-utils cpp-4.3 cupsddk-drivers cvs dcoprss dhcdbd djvulibre-desktop dosfstools eyesapplet fifteenapplet finger gettext ghostscript-x imlib-base imlib11 indi kandy karm kasteroids kaudiocreator kbackgammon kbstate kcoloredit kcontrol kcron kdat kdeadmin-kfile-plugins kdeartwork-misc kdeartwork-theme-window kdebase-bin-kde3 kdebase-kio-plugins kdeedu-data kdegraphics-kfile-plugins kdelirc kdemultimedia-kappfinder-data kdemultimedia-kfile-plugins kdenetwork-kfile-plugins kdepim-kfile-plugins kdepim-kio-plugins kdeprint kdesktop kdessh kdict kdnssd kdvi kedit keduca kenolaba kfax kfaxview kfouleggs kghostview khelpcenter khexedit kiconedit kitchensync klatin klickety kmailcvt kmenuedit kmid kmilo kmoon kmrml kodo kolourpaint kooka korn kpager kpdf kpercentage kpf kpilot kpoker kpovmodeler krec kregexpeditor ksayit ksim ksirc ksirtet ksmiletris ksmserver ksnake ksokoban ksplash ksvg ksysv ktip ktnef kuickshow kverbos kview kviewshell kvoctrain kwifimanager kwin kwin4 kworldclock kxsldbg libakode2 libao2 libarts1-akode libarts1-audiofile libarts1-mpeglib libarts1-xine libavahi-compat-libdnssd1 libavahi-core5 libavc1394-0 libavcodec51 libbluetooth2 libboost-python1.34.1 libcucul0 libcurl3 libcvsservice0 libdatrie0 libdirectfb-1.0-0 libdjvulibre21 libdvdread3 libfaad0 libfreebob0 libgail-common libgd2-noxpm libgraphviz4 libgsmme1c2a libgtkhtml2-0 libicu38 libiec61883-0 libindex0 libiw29 libk3b3 libkcal2b libkcddb1 libkdeedu3 libkdepim1a libkgantt0 libkiten1 libkleopatra1 libkmime2 libkpathsea4 libkpimexchange1 libkpimidentities1 libkscan1 libksieve0 libktnef1 liblockdev1 libltdl3 libmagick10 libmimelib1c2a libmozjs1d libmpcdec3 libneon27 libnm-util0 libopensync0 libpisock9 libpoppler-glib3 libpoppler-qt2 libpoppler3 libraw1394-8 libsmbios2 libssh2-1 libsuitesparse-3.1.0 libtalloc1 libtiff-tools libxalan2-java libxalan2-java-gcj libxcb-xlib0 libxerces2-java libxerces2-java-gcj libxtrap6 mpeglib networkstatus openoffice.org-writer2latex pmount poster psutils quanta quanta-data superkaramba svgalibg1 tex-common texlive-base texlive-base-bin texlive-common texlive-doc-base texlive-fonts-recommended xserver-xorg-video-cyrix xserver-xorg-video-imstt xserver-xorg-video-nsc xserver-xorg-video-v4l xserver-xorg-video-vga xulrunner-1.9

11 June 2010

MJ Ray: Koha in Book Industry Communication

Our co-op has joined Book Industry Communication as an associate member, mainly in order to voice experiences of the Koha community and ourselves about RFID tag standardisation and related sustainable development. I want us to give the Free and Open Source Software library world and our charity and academic clients more input in developing this big change to libraries. Even so, it wasn t an easy decision to join. I still believe that RFID standards development would be better done in an open forum, but there doesn t seem to be a perfect choice and I don t think we can create one. BIC already has cross-sector support and seems much more open than the so-called RFID Alliance . Pragmatism was enough, this time, and so far BIC seems friendly and welcoming. I see that a larger service provider co-operative, OCLC (UK), is also a member, so hopefully that means it s safe for co-ops. I think most of the readers of this will be free software developers, koha users and/or members of other co-ops. So, I ask you, what do you think of this move? Leave me a comment on our blog or email me if you prefer to keep it private.

10 June 2010

Rog rio Brito: A version of xpdf with the poppler backend available

Well, it s been some time since I last wrote here and things are quite hectic, due to some real-life happenings. Announcement For those people that are insterested in a small PDF viewer, based on an actively maintained backend, and that doesn t bring your computer to a halt when you try to zoom your documents when you need to see some details, then you might want to give this version of xpdf a try. I already received some reports for some bugs and fixed them, with one of them being a problem related by a kind user of Gentoo. Motivation Some people have asked me why this even needs to exist in the first place and I agree that it would be better if it didn t: I would love to spend my time actually using my computers rather than fixing my computers for better tasks (read: studying Mathematics, etc). The upstream maintainer of xpdf uses it as one source of income and keeps it running across many system (even legacy ones). I imagine that this one of the reasons why he tries to keep xpdf almost self contained, with many parts that could be delegated to other libraries, and with some abstraction code that makes the code compile even in the presence of very broken compilers. Of course, this means, in part, that as long as you take more duties, maintaing the code becomes more and more complex. He told me that he doesn t offer an open development tree because he wants to give his customers some advantages over the public version and his reasons are perfectly justifiable, of course. He also manifested the interest of possibly basing xpdf on a more modern toolkit and, when I asked him what that would be, he mentioned that, perhaps, it would be Qt. The development of xpdf will, quite probably, take newer directions. Unfortunately, xpdf has not seen a new upstream release since 2007-02-27. It did, though, have some patchlevel updates released. Taking care of the maintainance of the code is a high concern for distributions. Some people, though, would like to keep it simple (me included). Unfortunately, some efforts to maintain it had not had the necessary coordination and duplication of effort has occured. Proposal I am willing to become a patch aggregator for the code in xpdf with a poppler backend. I would love to give it some refactoring too, drop some of the legacy code that is not used (and only serves to make the code hard to read), and adopt some good coding style standard (I particularly like the one from the Linux Kernel with the proper adaptations for C++). I have already contacted the people at Gentoo, and I would love to get people from Fedora, Ubuntu, and Suse involved also. Alas, the last time I tried to mail their mailing lists, I got messages telling me that my messages were rejected or waiting for moderation, because I was not a subscriber. I never heard back, since. I appreciate it if you could help spread the word. Thanks.

9 June 2010

Gerfried Fuchs: Battle for Wesnoth 1.8

Some people still ask me from time to time when I'll upload Battle for Wesnoth 1.8. My usual answer is that it's there already since before the official announce went out in the wesnoth-1.8 package. The longer answer which also answers Why the name change? goes like this: People asked for a way to be able to install different branches side-by-side so that they can keep the old stable branch around for finishing started campaigns there while still being able to play with their friends multiplayer games using the new stable branch. Also people using the development version wanted to not having to get rid of the stable version just to use the development branch. So there it is! Enjoy! There though is still something missing though, and that's why the question where the 1.8 version of Wesnoth is still pops up: There is no transitional/meta package yet. This requires a bit more work including adding alternative handling (so one can still run wesnoth and not have to use the versioned wesnoth-1.8 binary name) and for that some dpkg-divert magic about the historical unversioned wesnoth packages. Given that my release is requesting quite some support overhead I can't tell yet when these things will be done, but a similarly related support contract will run out by the end of the month so potential I'll be able to find some time next month to finish this for good. If you want to have it done earlier or feel like helping out, feel free to send in patches after talking with me about the fineprints and potential approaches. Thanks in advance!

Next.

Previous.