Search Results: "rul"

19 December 2007

Neil Williams: First working version of em_installtdeb in Emdebian SVN

Emdebian SVN r2618 includes my first working implementation of em_installtdeb. Barring a single annoyance message from dpkg, the script works. :-)
The warning arises from the need for a modified "source" tarball that can be uploaded alongside the .deb, containing only the sources needed for this specific translation: debian/control, debian/changelog, po/$lang.po /* if any */ and po/$GETTEXT_PACKAGE.pot. Where a package contains more than one po directory, all POT files are included and all po files for the requested translation. This allows translations to be updated independently of the upstream package.
I would advise using a test directory if you do want to try it, not your main package building directory. ;-)
Output (using gpe-expenses as the demo package) in translator mode:

$ em_installtdeb sv
dpkg-deb: building package gpe-expenses-locale-sv' in ../gpe-expenses-locale-sv_0.1.4-1_all.deb'.
dpkg-source: warning: .orig.tar name gpe-expenses_0.1.4.tdeb.tar.gz is not _.orig.tar (wanted gpe-expenses_0.1.4.orig.tar.(?:gz bz2 lzma))
dpkg-source: building gpe-expenses using existing gpe-expenses_0.1.4.tdeb.tar.gz
dpkg-source: building gpe-expenses in gpe-expenses_0.1.4-1.diff.gz
dpkg-source: building gpe-expenses in gpe-expenses_0.1.4-1.dsc
dpkg-genchanges: including full source code in upload
Format: 1.7
Date: Fri, 07 Dec 2007 00:08:39 +0000
Source: gpe-expenses
Binary: gpe-expenses-locale-sv
Architecture: source all
Version: 0.1.4-1
Distribution: unstable
Urgency: low
Maintainer: Neil Williams
Changed-By: Neil Williams
Description:
gpe-expenses-locale-sv - sv translation for gpe-expenses
Changes:
gpe-expenses (0.1.4-1) unstable; urgency=low
.
* New upstream release
* use machine operable debian/copyright, migrate to standards 3.7.3
Files:
781a60eccc4396ee3f0f86a01150e755 316 misc extra gpe-expenses_0.1.4-1.dsc
f9dd946db27ff6077f8e85f7100d3ea4 5863 misc extra gpe-expenses_0.1.4.tdeb.tar.gz
894f5789ee0348abfa61a5e7342ed6a7 20 misc extra gpe-expenses_0.1.4-1.diff.gz
56f8d22c30cb5502633ff4d26862db78 4532 misc extra gpe-expenses-locale-sv_0.1.4-1_all.deb
Package-Type: tdeb
Changes file: ../gpe-expenses_0.1.4-1_tdeb.changes
signfile ../gpe-expenses_0.1.4-1.dsc 0x28BCB3E3

You need a passphrase to unlock the secret key for
user: "Neil Williams (Debian) "
1024-bit DSA key, ID 28BCB3E3, created 2002-01-27


signfile ../gpe-expenses_0.1.4-1_tdeb.changes 0x28BCB3E3

You need a passphrase to unlock the secret key for
user: "Neil Williams (Debian) "
1024-bit DSA key, ID 28BCB3E3, created 2002-01-27


Successfully signed dsc and changes files
neil@holly:gpe-expenses$ dpkg -c ../gpe-expenses-locale-sv_0.1.4-1_all.deb
drwxr-xr-x neil/neil 0 2007-12-19 14:37 ./
drwxr-xr-x neil/neil 0 2007-12-19 14:37 ./usr/
drwxr-xr-x neil/neil 0 2007-12-19 14:37 ./usr/share/
drwxr-xr-x neil/neil 0 2007-12-19 14:37 ./usr/share/locale/
drwxr-xr-x neil/neil 0 2007-12-19 14:37 ./usr/share/locale/sv/
drwxr-xr-x neil/neil 0 2007-12-19 16:09 ./usr/share/locale/sv/LC_MESSAGES/
-rw-r--r-- neil/neil 6419 2007-12-19 16:09 ./usr/share/locale/sv/LC_MESSAGES/gpe-expenses.mo
-rw-r--r-- neil/neil 1796 2007-12-19 16:09 ./usr/share/locale/sv/LC_MESSAGES/qofexpensesobjects.mo

Hmm, that isn't right - need to check on the ownership of those files - might be enough to use fakeroot.

$ dpkg -I ../gpe-expenses-locale-sv_0.1.4-1_all.deb
new debian package, version 2.0.
size 4532 bytes: control archive= 302 bytes.
230 bytes, 9 lines control
Package: gpe-expenses-locale-sv
Source: gpe-expenses
Version: 0.1.4-1
Architecture: all
Maintainer: Neil Williams
Installed-Size: 44
Section: misc
Priority: extra
Description: sv translation for gpe-expenses


em_installtdeb is a debhelper add-on created by Emdebian to create translation packages (tdebs). em_installtdeb is intended to separate out the individual translation files from the current Debian packages into packages without any translation files and a series of tdeb locale packages, one per translation. Generated packages use the syntax: $package-locale-$language_code_$version_all.deb
Certain language codes need to be modified to make acceptable components of a debian package name. Underscores are converted to hyphens, '\@' is converted to '+' and all codes are made lowercase. These changes only apply to the package name, the installation location is unchanged.
The locale package must use GETTEXT_PACKAGE for the eventual filename of the binary translation file - not the $dh MAINPACKAGE . GETTEXT_PACKAGE is determined by upstream, not Debian. When building the whole package, the binary translation file may be in debian/tmp/usr/share/locale/$lang/LC_MESSAGES but when in translator mode, this location is not available. Instead retrieve GETTEXT_PACKAGE from the POT filename. debian/control is needed for various dpkg and debhelper calls only.

The "source" for translators therefore includes:
debian/control
debian/changelog
po/$lang.po /* if any */
po/$GETTEXT_PACKAGE.pot

Note that no rules file exists. (i.e. dpkg-source -x will complain when trying to extract it later so a new wrapper is needed (not difficult).)
em_installtdeb will try to generate the necessary POT file(s) and then create a $package_$version_tdeb.tar.gz containing the source files.
The default action is to process all available po files.
The above example uses translator mode where LANG_CODE is passed to only handle that language. In translator mode, em_installtdeb builds a tdeb package, a source tarball, a .dsc and a .changes file (and signs the .dsc and .changes). In default mode, em_installtdeb builds the package(s) but leaves the source, .dsc and .changes to the rest of the build process.
LANG_CODE can either be the name of the locale as specified in the PO filename (fr, en_GB, sr@Ltn etc.) or the name of the locale as specified in the eventual package name (fr, en-gb, sr+ltn etc.).
If a po file already exists for this locale, em_installtdeb processes just that one translation and builds a single tdeb package.
If the po file does not exist, em_installtdeb exits with an error. (Copy the POT file from the original source to create a new po file for the new locale and edit it to include the new translation, then run em_installtdeb again.)

Output in default mode:
$ em_installtdeb
dpkg-deb: building package gpe-expenses-locale-cs' in ../gpe-expenses-locale-cs_0.1.4-1_all.deb'.
dpkg-deb: building package gpe-expenses-locale-de' in ../gpe-expenses-locale-de_0.1.4-1_all.deb'.
dpkg-deb: building package gpe-expenses-locale-pt' in ../gpe-expenses-locale-pt_0.1.4-1_all.deb'.
dpkg-deb: building package gpe-expenses-locale-sv' in ../gpe-expenses-locale-sv_0.1.4-1_all.deb'.
dpkg-deb: building package gpe-expenses-locale-vi' in ../gpe-expenses-locale-vi_0.1.4-1_all.deb'.

Next stage is to fold this into emdebian-tools so that the emdebian patch files can be cleaned up and various complex patches to debian/rules can also be cleaned up.
Finally, note that this only supports gettext and only supports program translations. This is an Emdebian script written with an eye on usage in Debian but primarily intended to meet Emdebian requirements. As outlined before, Emdebian does not want language packs or translation grouping. One locale, one package.
See also langupdate in Emdebian SVN.

17 December 2007

Neil Williams: catching up

The blog has been quiet but I'm not. :-)
Sometimes things happen in a flood but, in my life, that only happens after a prolonged period of thinking, planning, breaking, fixing, swearing and testing. Right now, I'm in one of those intervening periods when lots of things are just concepts and it also coincides with a period of more-than-usually stressful paid work. (Those who are familiar with healthcare will be aware of the national panic that ensues when things close down for just two days).
So what am I conceptualising?

I've got a few minor things to do in the meantime but expect another flurry of visible activity towards the end of the week.

13 December 2007

Raphael Geissert: HOWTO create and maintain a repository using reprepro and DeBaBaReTools

DeBaBaReTools seems to work good enough that writing an early-stage HOW TO seems to worth the time :)

The first thing to do is of course fetch the sources:
$ svn export https://neo.yahostme.com/svn/DeBaBaReTools/trunk/ DeBaBaReTools


Build and install the package:
$ cd DeBaBaReTools; dpkg-buildpackage -b; dpkg -i ../debabaretools_0.2_all.deb


$ dpkg -L debabaretools
/.
/etc
/etc/DeBaBaReTools
/etc/DeBaBaReTools/common.conf
/usr
/usr/bin
/usr/bin/wannaBuild
/usr/bin/needsBuild
/usr/bin/needsReBuild
/usr/bin/buildQueue
/usr/bin/checkSums
/usr/bin/wannaUpload
/usr/bin/processIncoming
/usr/share
/usr/share/doc
/usr/share/doc/debabaretools
/usr/share/doc/debabaretools/copyright
/usr/share/doc/debabaretools/ENV
/usr/share/doc/debabaretools/changelog.gz
/usr/share/doc/debabaretools/TODO
/usr/share/DeBaBaReTools
/usr/share/DeBaBaReTools/backends
/usr/share/DeBaBaReTools/backends/config
/usr/share/DeBaBaReTools/backends/config/reprepro.sh
/usr/share/DeBaBaReTools/backends/probe.sh
/usr/share/DeBaBaReTools/backends/fetch
/usr/share/DeBaBaReTools/backends/fetch/dget.sh
/usr/share/DeBaBaReTools/backends/verbosity.sh
/usr/share/DeBaBaReTools/backends/lock
/usr/share/DeBaBaReTools/backends/lock/default.sh
/usr/share/DeBaBaReTools/backends/setDefault.sh
/usr/share/DeBaBaReTools/backends/buildQueue
/usr/share/DeBaBaReTools/backends/buildQueue/plaintext.sh
/usr/share/DeBaBaReTools/backends/signature
/usr/share/DeBaBaReTools/backends/signature/gpgv.sh
/usr/share/DeBaBaReTools/backends/check
/usr/share/DeBaBaReTools/backends/check/default.sh
/usr/share/DeBaBaReTools/backends/build
/usr/share/DeBaBaReTools/backends/build/pbuilder.sh
/usr/share/DeBaBaReTools/backends/upload
/usr/share/DeBaBaReTools/backends/upload/dput.sh
/usr/share/DeBaBaReTools/backends/parsers
/usr/share/DeBaBaReTools/backends/parsers/default.sh
/usr/share/DeBaBaReTools/backends/repository
/usr/share/DeBaBaReTools/backends/repository/shared.sh
/usr/share/DeBaBaReTools/backends/repository/reprepro.sh
/usr/share/DeBaBaReTools/backends/misc.sh
/usr/share/DeBaBaReTools/backends/codenamesTable
/usr/share/DeBaBaReTools/backends/codenamesTable/release.sh
/usr/share/DeBaBaReTools/backends/codenamesTable/reprepro.sh
/usr/share/DeBaBaReTools/backends/config/default.sh
/usr/share/DeBaBaReTools/backends/fetch/default.sh
/usr/share/DeBaBaReTools/backends/buildQueue/default.sh
/usr/share/DeBaBaReTools/backends/signature/default.sh
/usr/share/DeBaBaReTools/backends/build/default.sh
/usr/share/DeBaBaReTools/backends/upload/default.sh
/usr/share/DeBaBaReTools/backends/repository/default.sh
/usr/share/DeBaBaReTools/backends/codenamesTable/default.sh


Now you have to create a base reprepro repository. I strongly recommend setting the REPREPRO_BASE_DIR ENV variable if possible.

A recommended repository structure is (in repoitory/):
.:
./build:
./build/cache:
./build/data:
./build/data/logs:
./build/tmp:
./conf:
distributions
incoming
options
tiffany.py
uploaders
./db:
./debian:
./debian/dists:
etch
oldstable
sarge
sid
stable
testing
unstable
./debian/dists/...
./debian/pool/...
./incoming:
./incoming/accepted:
./incoming/new:
./incoming/rejected:
./pub:
./pub/UploadQueue:

Note that the build/, incoming/ and pub/ directory structures are DeBaBaReTools' defaults, if you want to change them you will have to set some variables at the configuration file ($HOME/.DeBaBaReToolsrc).

The distributions file must at least contain the Codename, Suite and Architectures entries for DeBaBaReTools to work correctly. Note that the current code used to correlate the suites with the codenames greps for the given codename/suite including two lines before and two after the match, so the entry must be on that scope.
E.g.
$ cat conf/distributions
Codename: sid
Suite: unstable
Architectures: i386 amd64 source
Components: main contrib non-free
Uploaders: uploaders
DebIndices: Packages Release .bz2 .gz .
DscIndices: Sources Release . .gz .bz2
Contents: .bz2 .gz .
Tracking: minimal includechanges keepsources


conf/incoming must name at least one rule. This is because when installing, DeBaBaReTools will grep for all the rule names and execute them one by one.
The rest of reprepro's setup is trivial.

When building packages with pbuilder, DeBaBaReTools expects the basetgz's to be named like $PBUILDER_CACHE/$CODENAME.tgz where $PBUILDER_CACHE is an environment variable defaulting to /var/cache/pbuilder.

Tweaking DeBaBaReTools:
Because we are using reprepro and pbuilder we'll give some hints to DeBaBaReTools so it uses a reprepro-specific and/or pbuilder-specific backend where possible.

$ echo 'HINT_ALL="reprepro pbuilder"' > $HOME/.DeBaBaReToolsrc


The .DeBaBaReToolsrc file is sourced by all scripts, so you might even set variables like $REPREPRO_BASE_DIR there.

/usr/share/doc/debabaretools/ENV documents only some of the multiple environment variables that can be specified to customise DeBaBaReTools' behaviour. It is important to say that variables which are empty will be filled with a default value.

You may now want to modify .dput.cf by adding a 'local' target for your repository:
[local]
fqdn = localhost
method = local
incoming = /home/raphael/Deb/repository/pub/UploadQueue
allow_unsigned_uploads = 0
run_dinstall = 0


So let the fun begin! :)

To make sure everything is ok let's run processIncoming in verbose mode:
VERBOSE=1 processIncoming
processIncoming v0.1 started.
processIncoming v0.1 stopped.

Not getting that output means something is not ok.

All the scripts will try to source a file called $HOME/.$ APP_NAME rc, where $APP_NAME is the name of the script, e.g. processIncoming. This can be used to customise them even more.

Tweaking the scripts behaviour:

processIncoming offer some options such as:


wannaBuild:



When you should call which DeBaBaReTools script:
processIncoming takes care of accepting package uploads and installing them when told to do so.
needsBuild processes the .changes files accepted by processIncoming and tells the build queue manager that a given package needs to be built, or when the binary package is also uploaded, or is already built.
wannaBuild only takes care of building source packages (note that arch: all-onnly packages WON'T be built, they must be uploaded together with the source package).

So the workflow is:
processIncoming -> needsBuild -> INSTALL=1 processIncoming

A package won't be installed in the repository if it isn't handled before by needsBuild.

Here's a demonstration (note the usage of VERBOSE=1):
$ dput local kcometen3_1.1-1_source.changes
Checking Signature on .changes
...
Uploading to local (via local to localhost):
Successfully uploaded packages.
Not running dinstall.
sh: /usr/bin/mini-dinstall: No such file or directory
Error while executing command.
Continuing...

The package is now at pub/UploadQueue

$ VERBOSE=1 processIncoming
processIncoming v0.1 started.
Processing /home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1_source.changes...
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1.diff.gz" to "/home/raphael/Deb/repository/incoming/accepted/"
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1.dsc" to "/home/raphael/Deb/repository/incoming/accepted/"
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1_source.changes" to "/home/raphael/Deb/repository/incoming/accepted/"
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1.orig.tar.gz" to "/home/raphael/Deb/repository/incoming/accepted/"
processIncoming v0.1 stopped.

After checking sums and signature, the upload is accepted.

$ VERBOSE=1 needsBuild
needsBuild v0.2 started.
Architectures: i386 amd64 all
Now processing /home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1_source.changes
Adding kcometen3 to be built in i386 for the sid distribution
Adding kcometen3 to be built in amd64 for the sid distribution
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1.dsc" to "/home/raphael/Deb/repository/incoming"
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1.orig.tar.gz" to "/home/raphael/Deb/repository/incoming"
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1.diff.gz" to "/home/raphael/Deb/repository/incoming"
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1_source.changes" to "/home/raphael/Deb/repository/incoming"
needsBuild v0.2 stopped.

The package is now marked to be built on i386 and amd64 for sid (note that distro to codename conversion is performed) and moved to incoming/ so processIncoming is able to install it.

$ VERBOSE=1 processIncoming
processIncoming v0.1 started.
processIncoming v0.1 stopped.

There's nothing under pub/UploadQueue and nothing is installed (do you remember the INSTALL=0 option? :))

$ INSTALL=1 VERBOSE=1 processIncoming
processIncoming v0.1 started.
No distribution found for 'kcometen3_1.1-1_source.changes'!
There have been errors!
No distribution found for 'kcometen3_1.1-1_source.changes'!
There have been errors!
No distribution found for 'kcometen3_1.1-1_source.changes'!
There have been errors!
making diffs between /home/raphael/Deb/repository/debian/dists/sid/main/source/Sources and /home/raphael/Deb/repository/debian/dists/sid/main/source/Sources.new:
generating diff
Exporting indices...
processIncoming v0.1 stopped.

The errors can be safely ignored, it is just that reprepro couldn't install kcometen3_1.1-1_source.changes for the specified install rule (I've one for each distro, that's why).

$ VERBOSE=1 wannaBuild
wannaBuild v0.1 started.
Fetching list of packages to be built for unstable
Fetching source package kcometen3 v1.1-1
Use of uninitialized value in string eq at /usr/bin/dget line 377.
cat: /home/raphael/Deb/repository/build/data/needsBuild.unstable: No such file or directory
Starting build backend...
Executing sudo pbuilder --update --basetgz /var/cache/pbuilder/unstable.tgz
Starting build process
Verifying signature of /home/raphael/Deb/repository/build/kcometen3jb3362/kcometen3_1.1-1_i386.changes...
gpgv: no valid OpenPGP data found.
gpgv: the signature could not be verified.
Please remember that the signature file (.sig or .asc)
should be the first file given on the command line.
Fetching list of packages to be built for testing
Fetching list of packages to be built for stable
Fetching list of packages to be built for oldstable
wannaBuild v0.1 stopped.

There are still some things that need to be fixed (e.g. the no such file or directory message).
Other than that, the output is just fine: the package wasn't automatically signed so when trying to check the signature it failed to find it thereby not uploading the package automatically.

Now we cd to build/kcometen3jb3362/, review the build log, the .changes file, and we finally sign it.
Afterwards, we upload the package and install it:

$ VERBOSE=1 processIncoming
processIncoming v0.1 started.
Processing /home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1_i386.changes...
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1_i386.changes" to "/home/raphael/Deb/repository/incoming/accepted/"
mv'ing "/home/raphael/Deb/repository/pub/UploadQueue/kcometen3_1.1-1_i386.deb" to "/home/raphael/Deb/repository/incoming/accepted/"
processIncoming v0.1 stopped.

$ VERBOSE=1 needsBuild
needsBuild v0.2 started.
Architectures: i386 amd64 all
Now processing /home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1_i386.changes
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1_i386.deb" to "/home/raphael/Deb/repository/incoming"
mv'ing "/home/raphael/Deb/repository/incoming/accepted/kcometen3_1.1-1_i386.changes" to "/home/raphael/Deb/repository/incoming"
needsBuild v0.2 stopped.


$ INSTALL=1 VERBOSE=1 processIncoming
processIncoming v0.1 started.
No distribution found for 'kcometen3_1.1-1_i386.changes'!
There have been errors!
No distribution found for 'kcometen3_1.1-1_i386.changes'!
There have been errors!
No distribution found for 'kcometen3_1.1-1_i386.changes'!
There have been errors!
making diffs between /home/raphael/Deb/repository/debian/dists/sid/main/binary-i386/Packages and /home/raphael/Deb/repository/debian/dists/sid/main/binary-i386/Packages.new:
generating diff
Exporting indices...
processIncoming v0.1 stopped.


done :)

We can now setup some cronjobs:
*/10 * * * * processIncoming
*/5 * * * * needsBuild
@daily INSTALL=1 processIncoming

needsReBuild and uploadQueue still need to be written, so don't expect them to do anything right now.

I hope people start using it so I receive more feedback :D

Michael Prokop: Checklist for 1:1 clone of a Debian system

When cloning a Linux/Debian system 1:1 you should have a checklist of what’s important to change on the cloned system. For cloning I use the grml Linux Live-CD of course (the following tips are part of grml-tips as well). To create a 1:1 clone I boot grml on the systems (usually using the ssh=password bootoption to be able to access the system remotely as well) and use something like:
Listener:
# nc -vlp 30000 > /dev/sda1
Source:
# dd if=/dev/sda1 bs=$VALUE   nc -vq 0 $IP_OF_LISTENER 30000
When I have to leave the place where the clone process is running and if the CD-ROM doesn’t reinsert CDs on reboot automatically (usually that’s the case for server systems) I can use my remote-reboot procedure via ssh later on like:
eject &>/dev/null
umount -l /cdrom
eject /dev/cdrom
echo b > /proc/sysrq-trigger
But stop: before executing the last steps to reboot the server you should take care of a few important steps, otherwise rebooting might fail and you won’t be able to login via SSH. ;-) That’s my personal checklist: Tip: I highly recommend the use of a version controll system for maintaining /etc, for example etckeeper and mercurial should do the job for you.

11 December 2007

Steve Kemp: Your trumpet's blowing for far too long,

So I run a blog. You might have read bits of it in passing, probably more due to syndication than actual desire. Initially I started off using Wordpress, but that was later purged once I bit the bullet and decided I'd rather be blogless than install PHP upon any server I cared about. To replace my blog I looked for different solutions and eventually decided to try something built upon Ruby (on Rails). That lead to me trying Typo. After a little bit of pain I decided this wasn't a great solution. So in the hunt for something new I moved to Mephisto, but over the past few months I've noticed that my virtual machine has been running low on memory - and the culprit has always been the Mongrel isntance which was running the blog. So once more into the breach. This time I had a new plan. I'd actually use a piece of blog software which I wrote for a couple more sites, a static system which outputs RSS & HTML files - with no dynamic-fu at all. That system is the chronicle blog compiler. In performing the migration I accidentally flooded a couple of Planet-Planet installations. It took me a moment to work out why, and that was because my RSS feeds didn't include valid "pubDate" files for the entries.. So now I've made a new release of chronicle which supports valid RSS feeds, as tested against the feed validator and all is well. Well almost. Users no longer have access to post comments, and whilst I've successfully migrated 700+ entries through to four different blogging engines I've managed to lost most (all) comments along the way at different points in time which is a real shame. In the future I'll setup a simple CGI system to write comments to text files, and then allow them to rsync'd and merged into the entries. I just don't have the concentration to manage that right now. In the meantime hello to Planet Sysadmin - never heard of you before, but thanks for carrying my feed. I'm suprised I qualify, but I guess at the very least I'm spreading interesting lyrics... (Remind me to post the mod_rewrite rules I'm using now; I've kept all links at the same location through successive blog migrations which means I have numerous mod_rewrite rules which are probably obsolete, but I just don't want to touch them because cool URIs don't change....)

7 December 2007

Chris Lamb: Maintainership of SWI-Prolog

As of today I am the new maintainer of the SWI-Prolog package in Debian:
swi-prolog (5.6.47-1) unstable; urgency=low
  * New upstream version (Closes: #295209, #308325, #425580)
  * New maintainer (Closes: #422576)
  * Bump Debhelper compatibility to 5
  * debian/rules:
     * Update config.sub and config.guess from autotools-dev
         (Closes: #408076, #414181)
     * Desist from blindly ignoring "clean" target
  * debian/control:
     * Use $ binary:Version  instead of $ Source-Version 
     * Add new Homepage: field
     * Add XS-Vcs-* fields
  * Change ".menu" sections from
       "Apps/Programming" -> "Applications/Programming"
  * Documentation:
     * Remove some SGML documentation now missing from upstream
     * Add Sicstus and SWI-Prolog v4.8 -related XPCE documentation
  -- Chris Lamb < _ @chris-lamb.co.uk>  Sun, 02 Dec 2007 23:26:00 +0000
There are still a few issues with the package, but I felt that getting the new upstream release and fixing the RC bugs was the primary goal. It will be of a superior quality to the current one anyway (which was removed from Etch). UPDATE: Oh, I forgot to mention #423322. Too many bugs!

Mario Iseli: QA Extremadura 2007, my Health, new Job

Sunday afternoon I came back from the QA meeting in M rida (Spain). I host some of the pictures on my machine: http://www.marioiseli.com/stuff/qa-extremadura-2007/ (thanks to Cyril Brulebois for the pics) As I have written to debian-devel-announce yesterday, I was mostly working on MIA stuff, it was also great to have some personal discussions with several DDs. I hope that there will be such a great meeting again, maybe next year. :-) Monday in the evening I got a phonecall from the company where I had a personal interview last tuesday. They can adopt my apprenticeship. Yay… There are several reasons why I want to leave my current workplace (Stadt Grenchen): I have almost nothing to do, I learn nothing anymore, some people in my team were an interpersonal catastrophe, noone knows what the work “responsibility” means. I don’t want to go into the detail, but at least they reached that I got several nervous breakdowns, ending at the doctor wednesday afternoon. As I told, my nerves are down, I can’t sleep during the night here, motivation for life was down in the cave. This week I don’t need to work at all (medical certificate) and the next 2 weeks only 50%, so enough time to relax and get healthy again. Also thanks to my girlfriend Lisa for always being there for me… Tomorrow we will be a pair for already 4 months, Tempus fugit…
01.02.2008 I will start then my new job as a Systems Administrator and Networking-Dude for an ISP, more details will follow :-) Regards,

6 December 2007

Sam Hocevar: Bits from India

Incredible !ndia As Christian already stated, we are currently in this lovely city with friendly people whom we French people have great trouble understanding, totally insane traffic and colourful taxis you find nowhere else, and dangerously spicy food. And no, it s not Mexico City. My first talk at FOSS.IN/2007 in Bangalore, India (Giving back to the community: how does Debian perform?) was an attempt at explaining to upstream developers what Debian did with their software, and where to proactively find information about the changes we do, the bugs that are reported, etc. I did this talk because Bangalore has this incredible ratio of software developers per square kilometer, while at the same time we have so few Indian DDs despite the 1.12 billion inhabitants. So I expected to find people doing much development but not necessarily familiar with Debian. With Christian s two other talks about translation works in Debian and how to contribute to Debian, we did quite a thorough coverage of Debian for a novice audience. My second talk, in the main conference track, will be on Saturday and will be an even more general presentation of Debian. Of course, my slides are not ready yet, what did you expect? Debian business cards There has been great interest in my Debian business cards, so I m providing their SVG source (to be loaded and printed in Inkscape, for they make extensive use of the blur effect which is an Inkscape extension) for anyone interested. They use the Sexsmith and Sans Condensed Uralic fonts, available in Debian packages ttf-larabie-straight and ttf-uralic. Sam s Debian business card Sam s Debian business card (back) Sam s Debian business card (sample) I don t know enough about SVG scripting and object cloning, so to do the text shadow you will have to edit the same object twice. Sorry about that. Here are the files: background image (PNG), generic DD front (SVG), custom DPL front (SVG), back (SVG). The background image was cropped from Ayo s Debian Expo wallpaper. The rest of the design should be considered public domain. Just a note about the different languages I ve been using at the back: I know I could have used more fancy languages with beautiful glyphs to show how truly universal our system is, but I did not know which to choose. So I just put the languages I personally vaguely understood.

5 December 2007

Biella Coleman: Rethinking Blogs: The importance of fewer posts and preaching to the choir

It is hard to believe that I have been blogging for over five years. And what is clear is that being an assistant professor is not all that conducive for blogging and this is materially evident in my sparse posting pattern over the last few months. It has been particularly bad in the last month thanks to a week long international trip, back-to-back sickness over Thanksgiving week, and finally going to Washington D.C. for the AAAs. But this retreat from blogging as well as teaching on so-called Web 2.0 software, like blogs, has made me rethink the value and limits of the craft of blogging and so I am going to take some time (that I feel like I don t really have, but oh-well..) to write them down as I am preparing a short piece for on the politics of Web 2.0 and I hope I can transfer some of these ideas there. So as I have already mentioned, I am an now infrequent blogger. Prior to the era of RSS, this could have meant the death of my blog because if people went to visit my page and there was no new post and then this happened a few more times, they would just stop visiting. The magic of RSS is that it brings the blog post to you and this alters the landscape of possibilities within the context of what has been nothing short of a seismic explosion of blogs. What I am finding and this will be no surprise to anyone is that it is just too difficult to keep up too many of a certain class of blogger the prolific poster who posts medium to long posts and worse, nearly everyday! To make a point about the effects of this, allow me to tell a story: Two blogs I really like are Joe Reagle’s blog on Open Communities as well as Tenured Radical. Both provide captivating posts but I recently unsubscribed to Radical Tenure and not Joe Reagle s. Why? My decision was purely pragmatic. Because she posts way too much, I just can t keep up. If I stop reading her blog for 2 weeks, and then pay a visit via bloglines, I am faced with a blogolanche and I am trying to avoid, at all costs, overwhelming situations. On the other hand, if I stop reading Joe s blog for 2 weeks, there may be one or two posts so I feel like I can spare the time to continue reading. Ironically, I will now visit Tenured Radical every month, much as I did prior to the RSS era, just to take a quick scan and see if there is anything I must read. There is another class of blogs, such as Sivacracy, that update their site frequently but the posts are tidy and short and so I can usually keep up and they provide important news for my projects. But the type of blog that provides longer ruminations has proliferated (and I really like reading those) but I suspect that as the blogosphere has expanded, less people can commit to those types of blogs. In other words, today, you may hang on to more readers, if you only blog 1 to 2 times a week instead of 3-5 weekly posts that are medium to long in length. Now I may be completely OFF the mark with this by generalizing my own experience so I would be interested in hearing people s experiences or better, if anyone could point me to someone who studies these types of pattern, I would really appreciate it. On a related note, last week I taught a now famous piece by Cass Sunstein on political balkanization on the Internet that is in part secured by blogging. His core argument, which I think stands to some degree, is that the blogosphere is less an arena where people with different inclinations and views meet to debate, and thus change their views, but is an arena where your pre-existing ideas are reinforced because you are simply reading and debating with people who hold your worldview. As I mentioned, I think this is true in so far as you don t see people on the left and right engaging in some debate that substantially transforms their ideas. But the argument is faulty or missing something crucial about the nature of politics, in so far as that the so called left or right or so called liberal and conservative positions are truly not unitary so that if different types of liberals/lefties are engaging with each other to change positions and ideas within that group, well then, the critical function of blogging is in fact well and alive. To state using an example, there are plenty of liberals who, in my opinion, could use a little radicalization and perhaps this is happening in the blogosphere because people come across a spectrum of ideas and positions from within their political pole. Finally and this point really is not mine but I am poaching it from Jeff Juris who made it last weekend at the AAA meeting during his presentation on activist videos. One of his findings was that activists were the only ones watching video s documenting protests when hosted on radical political sites like Indymedia. When they were placed on Youtube, the audience expanded considerably: conservatives were also watching them, but they effect was not to make their more sympathetic toward the left and their political points, but simply to reinforce their position, which is evident in the archived comments expressing their great distaste of the left. This is a perfect example of the Balkanization that Sunstein talks about but with an important reversal: it comes from confronting difference not avoiding it! But Jeff made the excellent point that there is a critical function in preaching to the choir: it ensures that the choir will not stop singing! That is, your political passions are not simply ensured, they must be renewed and given the massive amounts of apathy peppering our population, renewal by confronting what you believe in, is vital. So my advice is keep producing posts, keep reading even if it tends to be stuff you already believe in BUT please, post less. Less, I think, is really becoming the new more….

Russell Coker: The Meaning of Godwin s Law

A widely cited unofficial rule on the Internet is known as Godwin’s Law [1]. In it’s original form this rule states that “As an online discussion grows longer, the probability of a comparison involving Nazis or Hitler approaches one“. Mike Godwin noted that “overuse of Nazi and Hitler comparisons should be avoided, because it robs the valid comparisons of their impact“. The purpose of noting and publicising this is to reduce such false comparisons. It’s often used as a rule for conduct in various fora where it’s regarded that if you compare your opponent in a debate to Hitler or unjustly call them a Nazi then the debate is over and you have lost. In more recent times due to successful application of Godwin’s Rule the frequency of inappropriate comparisons has dramatically decreased. This combined with the small number of people on the net who are interested in discussing historical events that happened ~60 years ago (and the even smaller number of people who are interested in learning about them) means that the possibility of robbing valid comparisons of their impact is small. Now a large part of the use of Godwin’s rule is because it’s regarded as an ad-hominem attack that distracts everyone from serious discussion more than most such attacks. To see examples of this you merely have to do a Google search for “Bill Gates” and “Hitler” (currently 597,000 web pages have both those terms). Note that the original reason for avoiding such false comparisons is given to sustain the impact of legitimate comparisons. It is quite legitimate to use the term Nazi when describing anyone who wants to implement mass-murder and slavery on a national scale (or any of the other awful things that the Nazis did), or the propaganda and other mechanisms that the NSDAP used to gain power. It is also legitimate to make historical comparisons, comparing Stalin to Hitler is historically valid (both were awful tyrants that committed a similar range of crimes) - I’m not going to compare them in this post but I merely note that such a comparison is valid (and is the subject of much debate by people who are interested in history). I’ve just had a religious zealot named Elder Dave accuse me of breaching some new version of Godwin’s Law. I believe that my mention of the fact that his religious group (which wants to deny homosexuals the same legal rights as all other people) has some beliefs in common with the Westboro Baptist Church [2] is valid. The Westboro Baptist Church seems to be the leading organisation in the English-speaking world for demanding legislation to discriminate against homosexuals. Anyone else who demands such legislation IS trying to achieve similar aims and should expect this to be noted by everyone who has any knowledge of what is happening in the world. Religious groups are given a lot of freedom to discriminate internally (EG “Priest” is one of the few jobs that can be denied to a qualified woman without any legal recourse). Also I think that most people will agree that it’s acceptable for them to advocate self-repression (EG the book What Some of You Were [3]). But when they try and get legislation enacted to institutionalise such discrimination I believe that they are going too far. As for why the 95% of us who aren’t gay should be bothered about this issue, there’s the famous poem by Martin Niem ller which is known by the line “First they came for the Jews” [4] (actually there are a few versions of the poem some of which don’t mention Jews - check the link for details). Here’s another Wikipedia link for the same poem [5].

Fathi Boudra: the wait is over: DAM has created accounts.

Congratulations to Yves-Alexis Perez (Corsac), Nicolas Fran ois (Nekral) and Sune Vuorela (Pusling) too \o/ Finally, some accounts (~30 ?) were created and i’m in. Thanks to all people involved in Debian and Kubuntu. In particular (no order) my co-maintainers, sponsors, helpers and application manager:
* Pierre habouzit (Madcoder)
* Mark Purcell (msp)
* Ana Beatriz Guerrero (Ana)
* Enrico Zini (enrico)
* Gustavo Franco (stratus)
* Lo c Minier (lool)
* Jonathan Riddell (riddell)
* Sarah Hobbs (hobbsee)
* and many many others But I don’t forget other people who missed this train: Cyril Brulebois (kibi). Next time, it’s your turn ! (i hope soon).

4 December 2007

Sylvain Le Gall: Solving the dmraid and "attempt to access beyond end of device" problem

Yesterday, i decided to activate the so-called RAID 0 support on my P4P800 mainboard, to increase the performance of my 2 Seagate SATA disk -- bought for this purpose. The first unfortunate event was to discover that there is 3 levels of hardware RAID: controller, accelerator and fake. Of course fake RAID is not the better category and it is the one provided by my mainboard. Once, i have understood that i must use the package dmraid to activate my RAID, i fall into a syslog flood of messages concerning "attempt to access beyond end of device". The problem is simple, the partition table are stored on the first disk of the RAID. Linux believes that he can reach the end of the device defined in the partition table of the first disk. But since, the partition table is for the whole RAID, it cannot access the last partition. In fact, the solution is quite simple and described here . You must add files to udev and hal rules to ignore the partition found in the partition table of the first disk: /etc/udev/rules.d/000dmraid.rules
KERNEL=="sda1", OPTIONS+="ignore_device"
KERNEL=="sda2", OPTIONS+="ignore_device"
KERNEL=="sda3", OPTIONS+="ignore_device"
(where sda1/2/3 are the partition stored on my RAID) /etc/hal/fdi/preprobe/000dmraid.fdi <?xml version="1.0" encoding="UTF-8"?>
<deviceinfo version="0.2">
  <device>
    <match key="scsi.model" string="ST3160811AS">
      <merge key="info.ignore" type="bool">true</merge>
    </match>
  </device>
</deviceinfo>
(where ST3160811AS is my two Seagate disks) You should not ignore the whole disk in udev -- as i think it is suggested in the spanish web page (i don't speak spanish so i really don't know what it explains). After adding this two files, you must update your initrd:
update-initramfs -u
If you have problem with this configuration (you have ignored too much things), you can go back to the former initrd from grub command line, by editing the menu entry and editing the standard initrd to add ".bak" at the end.

At least, i got what i want:
~$ sudo hdparm -Tt /dev/mapper/isw_dhgabfaiad_RAID_Volume1
/dev/mapper/isw_dhgabfaiad_RAID_Volume1:
 Timing cached reads:   1354 MB in  2.00 seconds = 676.78 MB/sec
 Timing buffered disk reads:  426 MB in  3.01 seconds = 141.51 MB/sec
Not that bad for an old P4.

Ond&#345;ej &#268;ert&iacute;k: M rida - wrap up

From November 28 till December 2, 2007, I attended a Debian QA and release teams work session in Extremadura, which is an autonomous community of western Spain, that managed to install Debian on 90000 computers in every school (technically a Debian based distribution called gnuLinEx) and Junta de Extremadura also sponsored this meeting.

I took photos of all participants, see my first, second and third posts. When I arrived at the Madrid airport where we first met, I set myself a goal to remember all names and faces, so I used my blog to help me and I think I succeeded in the end. :)

See also our wiki page that we used prior and during the meeting.

So what did we do besides throwing candies?


Lucas Nussbaum will send a summary email soon about the meeting, so I'll just speak for myself:


I worked with Gon ri on svnbuildstat, that is a service for building packages and show statistics about lintian/linda/piuparts checks. It for example contains all packages of the Debian Python Modules Team (that I am a member of) and many others. We discussed and started to work on how to create robust buildbots, that can be installed as a regular Debian package with zero (if possible) configuration, so that many people can just install them without pain, thus providing a huge scalability to the project.

We wrote a preliminary patch to pbuilder for killing the build if it exceeds given memory/disk usage. I had to learn the internals of pbuilder and I lost quite some time squashing some stupid bug I caused while writing the patch.

I spent most of my time with svnbuildstat, mostly learning and discussing things. This will be important for the future, but to also have some real results, I also fixed some packages I comaintain:

Together with Kumar Appaiah we fixed the python-numpy package and I had it uploaded, then I learned how to work with quilt instead of dpatch to handle patches in Debian packages, thanks to Holger's webpage, that contains a nice tutorial. Then I switched from dpatch to quilt in python-scipy and backported a patch from upstream svn to fix a segfault bug and had the package uploaded.

Then I finished the Cython package and had it uploaded. Cython is a marvelous package to speed up Python programs and interface C/C++ programs. I greatly recommend to try. If you don't like it, you can try some of at least 10 other ways to wrap C code in Python. I also used quilt in there to backport a patch from the upstream Mercurial repository to implement parsing @classmethods. Quilt is really a pleasure to work with.

Impressions from the meeting

I've been using Debian since 2001 as my only operating system on all of my computers, so I am not a complete beginner. But it never occured to me I could get involved in Debian more than a user and an occasional bug reporter. What a mistake.

I started packaging new things and fixing packages that I need for my work and that didn't work. This got me involved quite a bit in Debian. But in M rida it was the first time I could dring a beer (well, especially wine) with Debian Developers and I found out they are really cool people. They are all very skilled. Also something, that I love about Debian, is that the people involved in it share two common features, that are very important for them - respect to democracy and personal freedom. When I think about it, those are probably the first two items on my presonal list of values.

Of course, everytime there is a group of 1000+ people, there are good and bad people, more and less skilled, but important is the overall atmosphere - and that is as I described. I think Debian is truly unique. There is Gentoo, that has maybe 40 (?) active developers. There is Ubuntu, that has maybe 100 (?) developers, but it's basically a comercial distribution and there is not so many interesting work for non employees of Canonical. There is opensuse and fedora, where I am not sure about the numbers. The atmosphere in Debian can change in the future, one never knows, but as of the end of 2007, I think it's very cool to get involved.

Maybe it's not for everyone, but it's the right place for me.

Ond&#345;ej &#268;ert&iacute;k: M rida - remaining photo

This post is dedicated to dato (blog), whose picture I forgot to take (thanks Cyril Brulebois for taking this one).

From left to right: Gon ri Le Bouder, me, Lars Wirzenius, Holger Levsen and Adeodato "dato" Sim !

Evan Prodromou: 13 Frimaire CCXVI

I'm organizing a micro-coworking session here in Montreal for 6 December (15 Frimaire). "Micro-coworking session" is just a fancy way of saying "hanging out together and working at a caf ". Folks will be meeting in the back of Caff ArtJava from about 9AM to about 5PM. More info on the subStation Coworking event page on Upcoming. The event is for people interested/involved in (or supportive of) Station-C, the incipient Montreal coworking facility scheduled to open in February 2008. But everyone's welcome to come by -- heck, we'd have a hard time keeping you away. tag:

Private and public life in the age of Facebook One of the things I find interesting about life on the Internet is the distinction between public and private life. So much of our lives are on-line today; for many of us, the Web is where we make our living, make our friends, enjoy our social life, and plan our off-line activities. But what about those personal activities that don't jibe with our intended professional image? If we have out-of-the-mainstream political or religious views, or unorthodox social activities, how do we keep them to ourselves? How do you talk about things on-line with friends that maybe you don't want your parents or other family to know about -- or vice versa? How do we preserve our reputation in more than one sphere, in situations where those spheres are very different? I think there are a number of strategies for doing this.
  1. Be discreet. In other words, just don't put personal stuff on the Web. Keep up your professional image at all times, and don't use Web sites or tools to make connections in more private ways. This is probably the safest strategy, and the one that most privacy groups and media recommend. But there are some downsides, too. You miss out on the Web's power to enhance your life as a well-rounded human being -- your personal life languishes for the benefit of your professional one. You give up on some important opportunities to connect with other human beings in a deep and meaningful way. Especially if your interests are shared by only a small percent of the human population, it's unlikely you'll run into other people who share them off-line. I also think there's something unhealthy about stifling your personal side for your professional life's benefit.
  2. Use pseudonyms. Another way of being "discrete" -- here, I mean separated into different parts. I think this is one of the most common ways to deal with the problem. Use your "real name" for activities, groups, and opinions that you feel safe presenting to the world at large, and use made-up names or handles for activities you might not feel like discussing at a job interview. This can be very successful, but also nerve-wracking. What parts of life require a "secret identity", and what parts don't? What if one part of your life leaks into another? It can also be tedious to set up, say, two or three different Flickr accounts, two or three Facebook accounts, umpteen blogs, etc. Or, you keep a LinkedIn account for work and a MySpace one for your partying set, and hope that Google doesn't make a link between the two. But you can get sick of managing them, and other people don't know which name or pseudonym to use and when to "out" you to their other friends.
  3. Integrate. By this I mean: let your personal and professional life grow together. Decide what parts of your personal life you're willing to make public, and bring them into your public persona. Parts of your life that you don't feel you can integrate, consider letting go of. I think this can be risky and difficult, but ultimately I think it's the most healthy psychologically for people who spend a lot of time on the Web. Most often, these people either work for themselves and don't have to answer to others, or they work in industries where offbeat or out-of-the-mainstream lifestyles are tolerated or encouraged (or the need for highly-skilled people makes those "quirks" easier to ignore). Or they just gamble that nobody at their work or in their family is really checking (quite often the case).
  4. Wait for better software. I think the main reason that this is a problem is that social software developers aren't very good sociologists. Or, rather, we focus on the software rather than on the social. It would be nice to see the next generation of Web services support the multiple facets of a person's life. I'm an Open Source fanatic, a Web developer, a wikitista, an entrepreneur, a father, a Burner, a Montrealer, a man, a prankster, a partier and a cook -- among many other things. How can social software, or a federation of services, let me reflect these different aspects of my personality to my friends, coworkers, colleagues, relatives and strangers? Could I define finer-grained relationships with others than just "friend", and choose what parts of my life to feature or downplay with each? It's a fascinating design and implementation question, and my hope is that someone will take on the challenge in the future.
I think this is a situation where our society and our software both need to evolve and change. It would be nice -- very nice -- if edgy politics or weirdo culture didn't hurt your chances of advancing in your chosen field. And if friends, family and colleagues could accept us all for who we are, in all our parts. But it will also be nice if software and software usage patterns on the Web let us find a way to adapt to that, too. People have lots of different parts and lots of different personae that they inhabit at different times and in different contexts -- it would be great to match our social software more to that reality. tags:

One-liners Some other things to note:
  • Montr al has had an insane amount of snow in the last few days. I dug out our car for about 90 minutes this morning, and drove for hours in snow-blind traffic. Not an easy time, but boy the city is lovely like this.
  • I'm doing a talk on extending MediaWiki at the PHP Qu bec meeting this Thursday, Dec 6. Meeting info is here.
  • Pictures from Montreal Santarchy are available on Grimmwire's Santarchy Montreal 2007 set. Great group, fun crowd, loooooong night. Oh boy.
  • Speaking of SantaCon, Santarchy in Second Life sounds totally nutso.
  • My server overload problems seem to be getting better. I moved Vinismo to its own server on Amazon Elastic Compute Cloud. I also moved SonaUiki and the Br leurs site to GoDaddy, where I have a ridiculous number of free Web hosting credits. It worked surprisingly well, and GoDaddy supports PmWiki out-of-the-box. Nice! Update: Apparently GoDaddy adds a whole bunch of ads in on their free Web hosting. I didn't notice; I have Adblock Plus installed. Gar. I'll have to move these sites back pronto.
  • My light and convenient Toshiba Port g R200 has been throwing I/O errors. So I gotta get a new hard drive. Good news: the thing's still under warranty (yay!). Bad news: I gotta drive through this miserable weather to a place in St. L onard to get the HD replaced. Boo!
tags:

1 December 2007

Andrew Pollock: [tech] MacOS 10.4 setup rant

We popped out and bought a MacBook Pro for Sarah today, as her PowerBook G4 is starting to really fall apart. Despite Leopard being well and truly out now, it came with Tiger preinstalled, but included a Leopard upgrade DVD. No big deal. So we fired up the laptop, and went through the final install steps for Tiger. I was trying to preempt any networking problems by adding the MAC addresses to my DHCP server and wireless access point before it went to try and connect to the network. I have a whitelist of allowed MAC addresses in my access point, and DHCP server is only configured for static reservations on that interface. The onboard Ethernet MAC address was easily determined. It's printed inside the battery cavity. Finding out the wireless Ethernet MAC address is another story altogether. Basically I couldn't, so I gave up, hoping maybe the access point would log the unauthorised MAC address, and I could then add it where it was needed. Well, the access point didn't appear to log anything useful. The Mac did however pop up a dialog box saying something the effect of the laptop needing to be added to the wireless access point's access control list. The one piece of useful information to display at this point would be, you guessed it, the very MAC address I need to be adding to the access control list! I ended up temporarily disabling MAC address restrictions in the access point and then the DHCP server happily logged the MAC address that didn't have a lease, and we were able to proceed. Maybe preinstalled Leopard does it better. We'll never know. Update Aww crap. Seems I didn't study the box closely enough. There's a sticker with all that pertinent information on it.

30 November 2007

Stefano Zacchiroli: pts DM and lowNMU

PTS again: LowThresholdNMU and Debian Maintainers As promised, the PTS is now able to show two new pieces of information about a given package: Both information are shown as unary "tags" (i.e. they can either exists or not, but they don't have any associated value) in a new field in the general information section of the page called "Maintenance info". Now both tags are implemented as "acronym" HTML elements, but if you are good at graphics don't hesitate to contact me, that would be the right place for two fancy icons!

29 November 2007

Ond&#345;ej &#268;ert&iacute;k: Debian meeting in Merida, Spain

Right now, some Debian Developers (and also not yet Developers, like me:), are on
the work sessions in Extremadura, I am on the QA and release teams meeting.

We started in the morning with presentations (see also the schedule). Any comments and suggestions welcomed, please add comments below the post.

Lucas Nussbaum presenting:


Most of us:



And in details, names from left to right. Cyril Brulebois, Gon ri Le Bouder:


Luk Claes, Marc 'HE' Brockschmidt, J rg Jaspert, Lars Wirzenius:


Fabio Tranchitella, Bernd Zeimetz, Mario Iseli, Luk Claes:


Filippo Giunchedi, Stefano Zacchiroli, Tzafrir Cohen, Simon Richter, Faidon Liambotis:


And again, so that Faidon is visible:

26 November 2007

Russell Coker: Pentium-3 vs Pentium-4

I recently was giving away some old P3 and P4 machines and was surprised by the level of interest in P4 machines. As you can see from my page on computer power use [1] the power use from a P4 system is significantly greater than that of a P3. The conventional wisdom is that the P4 takes 1.5 times as many clock cycles to perform an instruction as a P3, the old SPEC CPU2000 results [2] seem to indicate that a 1.5GHz P4 will be about 20% faster than a 1GHz P3, but as the P4 has significantly higher memory bandwidth the benefit may be significantly greater for memory intensive applications. But generally as a rule of thumb I would not expect a low-end P4 desktop system (EG 1.5GHz) to give much benefit over a high-end P3 desktop system (1GHz for a desktop), and a 2GHz P4 server system probably won’t give any real benefit over a 1.4GHz P3 server system. So in terms of CPU use a P4 doesn’t really offer much. One significant limitation of many P3 systems (and most name-brand P3 desktop systems) is the fact that the Intel chipsets limited the system to 512M of RAM. This really causes problems when you want to run Xen or similar technologies. I have a few P4 1.5GHz systems that have three PC-133 DIMM sockets allowing up to 768M of RAM (it seems that PC-133 DIMMs only go up to 256M in size - at least the ones that cost less than the value of the machine). Another issue is USB 2.0 which seems to be supported on most of the early P4 systems but none of the P3 systems. 512M of RAM is plenty for light desktop use and small servers, my Thinkpad (my main machine) had only 768M of RAM until very recently and it was only Xen that compelled me to upgrade. The extra power use of a P4 is significant, my 1.5GHz P4 desktop systems use significantly more power than a Celeron 2.4GHz (which is a much faster machine and supports more RAM etc). Low-end P4 systems have little going for them except for 50% more RAM (maybe - depends on how many sockets are on the motherboard) and USB 2.0. So it seems strange that people want to upgrade from a P3 system to a P4.

22 November 2007

Adam Rosi-Kessel: MBTA Followup

This Universal Hub thread and Boston Globe article sum up my several MBTA complaint postings nicely (1 2 3 4 5 6 7 8 9 10 11). The “work to rule” comments are particularly interesting. Okay, if I’ve really written twelve entries on this topic, I’m done for now. Technorati Tags: ,

Next.

Previous.