|
|
Hi (again), I'm Zack, and this is my blog.
Have a look at the most recent posts below, or
browse the tag cloud here on the right.
Archives are
available as well.
You can leave comments on my posts by following
the relevant link associated to each post. Alternatively, you can
mail me comments; note that
unless otherwise requested, I will add mailed comments in the
comment feeds.
The blog is mostly in English while sometimes in Italian; there
is a (tiny teeny) tag cloud to choose the
language.
RCBW - #24
Some pause, and here we go with another RCBW issue. The pause has involved
various Debian-related work, such as preparing
OCaml batteries included for Squeeze and of course preparing
my DPL platform.
Without any further ado, here are this week's squashes:
- bug #566568 - mysqmail -
fix piuparts install failure (sponsor upload for Thomas
Goirand)
- bug #569455 -
ocaml-batteries - new upstream release, which also fix old
FTBFS
- bug #529040 - magit -
add missing deps (mixed NMU / sponsoring for Marius Vollmer)
- bug #549590 - magit -
avoid installing install.info (mixed NMU / sponsoring for Marius
Vollmer)
- bug #567003 -
firestarter - lower severity+unreproducible, user should use gksu
or equivalent
- bug #571454 - gmerlin -
fix missing-dep FTBFS on kfreebsd, patch by Christian Marillat
- bug #562039 - ecasound -
fix Emacs deps in the -el package
Random points:
-
thanks to Thosrten which replied to my call for help and
squashed bug #559822.
BTW, there's one more RC in that bug set: bug #559808 (hint hint!), but
you need patience as gnash took ages to build ...
-
tip of the week: removing a DELAYED upload when
you don't have the .changes around anymore can be daunting (in
fact, all combinations of dcut commands I've tried failed). If that
happens to you, remember that http://ftp-master.debian.org/deferred/
can come to the rescue: it stores .changes file of DELAYED uploads
(properly unsigned)
-
a lot of new participants: let's welcome on the
RCBW board Emilio,
Marco, and
Rafael
OCaml Batteries Included 1.1.0 has arrived in Debian
I've just uploaded the Debian package of OCaml
Batteries Included 1.1.0 to the Debian unstable
archive; hopefully, it will quickly enter testing to be released
with the next Debian stable release. This is the first release in
Debian of the "new generation" of Batteries Included, which has
followed a strict diet, and now has Camomile as its only
external dependency.
It took me a while to package it due to an intertwining
transition to OCaml 3.11.2 (during which we have fleshed out the
last remaining few bits of transition to
our new dependency system). Also, I had to fix some typical
build issue with upstream, which kindly coordinated with me to have
the fixes included in 1.1.0.
So go, enjoy Batteries 1.1.0, and let me know your feedback:
# apt-get install ocaml-batteries-included
(check that it will install 1.1.0 though, it might take a
few days to hit your favorite architecture and mirror)
Tip: starting from this version you will need
the following to use Batteries in place of the legacy standard
library in your sources:
open Batteries_uni
for multi-threaded programs you should rather use open
Batteries. Check the FAQ file installed under
/usr/share/doc/libbatteries-ocaml-dev/ for more quick
start information.
RCBW - #23
Wacky week, last week.
Not only I've (almost) completed my moving to the new house, but
we have also had guests in the lab for some
full-immersion-paper-writing. That had left very little time for RC
squashing, but I've catched up a bit in the week-end.
Without any further ado, here are this week's squashes:
- bug #516336 -
haskell-utils - requested removal (superseded by
haskell-devscripts)
- bug #547278 - elvis -
downgrade, unwarranted RC severity
- bug #559833 -
imagemagick - libltdl CVE, investigated and closed as false
positive
- bug #567706 - mailcrypt
- drop support for emacs flavours older than 23
- bug #547810 - ccsm - fix
FTBFS with python 2.6
- bug #571185 - padre -
requested removal from testing
- bug #561524 - pyjamas -
fix FTBFS with python 2.6 (Ubuntu patch by Fabrice Coutadeur)
Random points:
-
call for help, if you are a libtool guru there
is some work for you: bugs like bug #559822 need your help
(very old code, using very old libltdl stuff, need to be ported to
recent, non-buggy libltdl code and to use the system copy of the
library ...).
-
my
personal RC bug monitor (hence very biased) currently reports
278 RC bugs. Also, I've the impression that the ratios of new bugs
coming in vs ancient ones getting fixed equate. If that is true, it
would be a pity not to freeze this month.
... what are you doing here? still reading this blog post? go
squash a RC bug!
In totally unrelated news: I've bought my ticket for
DebConf10
(YAY!), according to my usual debconf customs: 4 days of debcamp +
all the conf. See you there (in a while). ... and congrats to Adnan
for the winning DebConf11
bid!
RCBW - #22
With a mini-rush in the week-end, I'm now back on
track to the weekly schedule of RCBW; here are this week's
squashes:
- bug #565274 - tex4ht -
test and close bug fixed by recent binNMU
- bug #553553 - phpsysinfo
- fix dir-or-file-in-var-www, based on a patch by Mats Erik
Andersson
- bug #553496 -
doc-central - fix dir-or-file-in-var-www, sponsor NMU by Mats Erik
Andersson
- bug #559821 -
libtunepimp - fix libltdl CVE (bonus fix bug
#476378), patches by Yavor Doganov
- bug #568982 -
sqldeveloper-package - port from dos2unix to fromdos, patch by
Michael Musenbrock
- bug #534721 -
libhpricot-ruby1.8 - error in printing tags to stdout (fixed
upstream in a version already in Debian)
- bug #564680 - gnugk -
rebuild against firebird 2.1, as requested by Damyan Ivanov
(important bug blocking RC bug #549062)
About this week highlights:
-
In his latest RC-bug
statistics, Tolimar has
pointed to the RCBW
description as inspiring. That's good, I hope
more and more people can find it inspiring (in fact, that's why I
wrote it). A handful of people doing RCBW is pointless, unless as a
side-effect we manage to change the culture of our project
in order to be more collaborative on how we reach a
release.
-
I've been amazed by how many RC bugs are "stuck" just because no
one took care of establishing communication among
the appropriate people. That of course happens when the maintainer
of the bug has been unresponsive, but some investigations of the
bug is usually enough to make the appropriate people (upstream,
porters, related package maintainers, ...) aware of it ... and then
the bug will "mature" all alone.
-
Josselin has
announced the Debian/GNOME bug
weekend for the next weekend (27-28/02/2010): an
initiative to collaboratively triage
GNOME-related bugs in Debian. For large-enough packages (and
GNOME fits that definition for quite some different notions of
"large"), such efforts are as badly needed as RC squashing: if you
liked RCBW, you can't miss the GNOME bug weekend 
RCBW - #21
I've accumulated one more day of delay, but here is a full
RCBW issue. Still, I've a
nice good excuse for the extra delay: I've changed
house in Paris, the new one is very small (a chambre de
bonne), but also very comfortable.
Without any further ado, here are this week's squashes:
- bug #555325 - gq -
requested removal from testing
- bug #567265 - tinyproxy
- clarify ambiguous debian/copyright
- bug #569391 - gmetadom -
fix CDBS include order, to ensure proper generation of
${ocaml:Depends}
- bug #559814 - hamlib -
libltdl privilage escalation (sponsor upload for Kamal
Mostafa)
- bug #567192 -
ircd-hybrid - apply patch from DSA-1980-1 (thanks Steffen
Joeris)
- bug #563883 -
python-dmidecode - avoid shipping /usr/local/ stuff (sponsor upload
for Nima Talebi)
- bug #561904 -
python-dmidecode - fix file clash w/ -dbg package (ditto for the
sponsoring)
And here are the usual highlights:
-
a quote from #debian-devel, on 10/02/2010:
(11:41:49) Zhenech: zack, damn you, now you infected me with the nmu virus :P
(11:42:08) zack: Zhenech: yay, another one \o/
(11:42:30) zack: Zhenech: can I quote you? ;-)
(11:42:45) Zhenech: zack, only if you don't sell it to elsevier ;)
(11:43:12) zack: deal!
-
in some particular cases RC bugs can be "fixed" by requesting
the removal of a package from testing (when it is
not appropriate to remove the involved packages completely
from the archive, which is often the case). As I didn't that much
often in the past, I forgot how to do that: just file a
bug against release.debian.org respecting the usual
removal
conventions
-
gregor hermann is my hero
-
bernd zeimez posted on planet an impressive summary of
Moenchengladbach's
BSP
RCBW - #20
With a couple of days of delay, here are this last week squashes, by yours truly:
- bug #567767 - nxml-mode
- request removal, integrated into emacs23
- bug #546764 - d-feet -
add missing dep on hicolor-icon-theme
- bug #566290 -
php-wikidiff2 - add missing dep/substvar on phpapi-*
- bug #567860 -
php-net-ping - sponsored fix (+ upstream release) for DM
maintainer
- bug #248275 - anteater -
proposed removal
- bug #536285 - mirage -
avoid tricking users to delete the wrong file (patch by Evgeni
Golov)
The delay is due to FOSDEM, it's hard to squash bugs when you
are: (1) having fun (best FOSDEM ever, if you ask me), (2)
connected with very poor network connectivity (let's say:
FOSDEM-quality network). Also, there are just 6 squashes, but last
week there were 8, so ... (I know, I suck).
Among the main highlights of the week, I just want to cite
Mehdi
Dogguy: he was with me at JFLA 2010 last week and I've
managed to grab him into the "RCBW tunnel". With a handful of
well-targeted NMUs, he has fixed about 10 RC bugs in the few days
of the conference. He is too shy to blog about that, but since I'm
evil, I'm disclosing it here Welcome on board,
Mehdi! (now you're doomed: you must continue
doing that!)
Tra gli scrittori che più mi hanno appassionato e divertito
negli ultimi anni, c'è indubbiamente Gianrico
Carofiglio: ha importato il filone "legal thriller" nella
narrativa italiana ed il suo personaggio chiave (l'avvocato Guido
Guerrieri) è oltremodo coinvolgente.
Nell'ultimo romanzo (Le
perfezioni provvisorie, Sellerio, 2010), un flusso di
coscienza del Guerrieri regala questa perla, chiaramente rivolta a
se stesso, subito dopo avere utilizzato l'espressione «non c'è
problema»:
Non c'è problema? Ma come parli, Guerrieri? Sei impazzito?
Dopo non c'è problema ti rimangono tre passaggi: un
attimino, quant'altro e piuttosto che
nell'immonda accezione disgiuntiva. A quel punto sei maturo per
andare all'inferno, nel girone degli assassini della lingua
italiana.
Veramente snob, pignolo, insopportabile.
Ciò nonostante mi piace ed inevitabilmente mi strappa un
sorriso.
Ecco cos'è: mi ricorda qualcuno.
Idee?
remember Mutt's mail in Org-mode and jump back to them
As already
anticipated, I've been implementing my own Getting
Things Done work flow. This post documents one of its main
bricks: the integration between Mutt and Org-mode.
As a geek, my main incoming stream of TODO items and information
in general is email. As emails hit my INBOX, I either deal with
them immediately (reply, archive, delete) or I need to store them
elsewhere, possibly adding extra information such as a deadline, a
personal note, the associated next action, the context in which it
is actionable, etc. This need of adding extra information is what
defeats the usage of my mail client (Mutt) as a list manager (in
the GTD sense), and that's where I plugged Org-mode in. My main
goals are:
-
create Org-mode notes from Mutt, referencing
the current email, and possibly inlining some of its metadata (e.g.
subject, sender)
-
quickly retrieve referenced emails from Org-mode
notes; ideally that should happen in my usual email
environment (i.e. Mutt), so that I can process the retrieved mail
as usual (e.g. to inform the sender that I did something about
it)
In fact, both would be straightforward to achieve if I
were using some Emacs-based mail client such as Gnus, but I resist the
Emacs operating system syndrome, and therefore I
insist in using my beloved Mutt.
Let's see how the two parts of the interaction between Mutt and
Org-mode work.
(1) Mutt → Org-mode (there
...)
The interaction from Mutt to Org-mode happens via org-protocol.
Using it external applications can feed content to Org-mode note
templates, which are then interactively edited (via emacsclient), and
finally filed away.
The Mutt glue macro from my ~/.muttrc is as
follow:
macro index \eR "|~/bin/remember-mail\n"
The remember-mail
script is trivial: it parses the fed mail from STDIN (using a
couple of legacy Perl modules) and then invokes org-protocol.
The relevant configuration from my ~/.emacs is
reported below; the comments explain the various parts:
;; standard org <-> remember stuff, RTFM
(org-remember-insinuate)
(setq org-default-notes-file "~/org/gtd.org")
(setq org-remember-templates ;; mail-specific note template, identified by "m"
'(("Mail" ?m "* %?\n\n Source: %u, %c\n %i" nil)))
;; ensure that emacsclient will show just the note to be edited when invoked
;; from Mutt, and that it will shut down emacsclient once finished;
;; fallback to legacy behavior when not invoked via org-protocol.
(add-hook 'org-remember-mode-hook 'delete-other-windows)
(setq my-org-protocol-flag nil)
(defadvice org-remember-finalize (after delete-frame-at-end activate)
"Delete frame at remember finalization"
(progn (if my-org-protocol-flag (delete-frame))
(setq my-org-protocol-flag nil)))
(defadvice org-remember-kill (after delete-frame-at-end activate)
"Delete frame at remember abort"
(progn (if my-org-protocol-flag (delete-frame))
(setq my-org-protocol-flag nil)))
(defadvice org-protocol-remember (before set-org-protocol-flag activate)
(setq my-org-protocol-flag t))
The result is that when you hit ESC-R in Mutt,
emacsclient will be fired up in place presenting a note template
that already contains relevant mail information (date, subject,
from) and lets you add extra information before going away.
Additionally, the email message-id will be hidden in the note as a
mutt: hyperlink with anchor text "mail".
(2) Org-mode → Mutt (... and back
again)
Going back means that clicking on a "mail" hyperlink within an
Org-mode note should bring up a Mutt instance showing the original
message, in its context (e.g. its own mailbox). Achieving that
consists of 2 separate steps:
- looking up a specific message by
Message-ID
- firing up Mutt on the looked up message
For the first part I use maildir-utils
(AKA mu): a
Xapian-based mail indexing tool, which nicely integrates with Mutt;
check out my
previous blog post on the subject for a sample setup. Using mu,
Message-ID lookups are as simple as:
zack@usha:~$ mu find -f p m:E1NbJad-0007x9-B7@ries.debian.org
/home/zack/Maildir/Debian.project/cur/1264883664_0.9472.usha,U=6320,FMD5=2284e927bb93d8a2ec434f5614dc04ba:2,S
Note: I'm relying upon maildir-utils version 0.6
or greater, for all presented scripts.
For the second part I use the mutt-open
script which fires upon a Mutt instance on the maildir containing a
specific message, and then "hits" the appropriate keys to open the
message and shutdown the sidebar (if
desired). It is a nicely reusable script, which I've being using
elsewhere too.
The needed glue on the emacs side is just a function to invoke
mutt-open in a brand new terminal, and its declaration
as the handler for mutt: URLs.
(defun open-mail-in-mutt (message)
"Open a mail message in Mutt, using an external terminal.
Message can be specified either by a path pointing inside a
Maildir, or by Message-ID."
(interactive "MPath or Message-ID: ")
(shell-command
(format "gnome-terminal -e \"%s %s\""
(substitute-in-file-name "$HOME/bin/mutt-open") message)))
;; add support for "mutt:ID" links
(org-add-link-type "mutt" 'open-mail-in-mutt)
Voilà!
Download
Summary of scripts and configuration snippets discussed
above:
RCBW - #19
Back with the "ordinary track" of RCBW, here is this week
squashes by yours truly:
- bug #546492 - djvulibre
- provided patch implementing
get-orig-source to strip
non-free specification docs
- bug #550394 -
courier-imap - not affected/responsible by the imap-server virtual
package mess
- bug #550397 -
kolab-cyrus-imapd - not affected/responsible by the imap-server
virtual package mess
- bug #550380 - uw-imapd -
provides and conflicts with imap-server, fixing
file-overwrite errors
- bug #559698 - rox - drop
useless build-dep on libxtrap-dev (which will be gone soon)
- bug #559829 - synfig -
disable vulnerable embedded libltdl, fix CVE
- bug #520557 - lemon -
proper version tagging, already fixed
- bug #547726 -
myspell-el-gr - forcibly orphan the package, "fix" maintainer
address
The attentive reader have noticed that there is one more than
usual, the reason is the mighty BSP in
Mönchengladbach, which has powered all above squashes.
I've enjoyed the BSP a lot, my first in Mönchengladbach, which
won't be the last. I recommend checking it out at least once in the
future, even only for tasting Formorer's chili 
The main highlight of the week is my personal award to the
best feedback ever from an NMU-ed maintainer, the
award goes
to Jonas, kudos for your attitude.
niente di nuovo sotto il sole
Chi ha parlato con me di concorsi truccati che
impediscono ai "giovani ricercatori"™ di essere assunti in Italia
ha difficilmente trovato terreno fertile. La mia disciplina
(l'informatica scientifica) è relativamente nuova e quindi più
fortunata di discipline più antiche: le cosiddette baronie si
stanno si affermando, ma in buona parte d'Italia (e limitatamente
ai dipartimenti che ho avuto modo di conoscere) è ancora possibile
trovare concorsi da ricercatore in informatica che siano
specchiatamente meritocratici. Badate: non ho detto che sia la
norma, ma ... «piuttosto che niente, è meglio
piuttosto».
Nel mio ambito di interesse dunque, il problema della assunzione
dei giovani è dominato più dalla scarsità di posti
che non dal malcostume dei concorsi truccati. A parità di
competenze scientifiche ed età, la Francia è in grado di assumere
ogni anno molti più ricercatori in informatica di quanto
non sappia fare l'Italia. Per questo è piuttosto comune imbattersi
in laboratori di ricerca francesi dove i ricercatori italiani sono
statisticamente sovra-rappresentati rispetto ad altre
nazionalità.
In altre discipline e/o in altri piani della gerarchia
accademica, le carte in gioco sono molto diverse. Riporto a questo
proposito la (yet another) horror story
dell'assunzione di 2 professori ordinari per trasferimento a Roma
Tre. Niente di nuovo, ma questa ha avuto immeritatamente poca
risonanza e la riporto con piacere.
Breve rassegna stampa:
-
l'articolo iniziale di Roberto Perotti sul Sole, che introduce
la vicenda.
(Per chi non lo conoscesse, Perotti è autore del bellissimo
libro
l'università truccata, uno dei più belli ed
equilibrati testi che io abbia letto sulle "sventure"
dell'università italiana.)
-
(i tentativi di) risposta degli attori del concorso, sempre sul
Sole
-
infine,
l'analisi di Michele Boldrin sui meriti scientifici dei
candidati in gioco per la cattedra di Economia Politica
(Shameless plug per i cater-fan: Boldrin è l'economista di
riferimento di Caterpillar.)
I miei highlight sulla vicenda sono i
seguenti:
-
In molti, ed io tra loro, ritengono non sia possibile stabilire
un unico strumento di valutazione automatico per
l'attività di ricerca (i.e. PoP non è la soluzione). Ciò
nondimeno, le personalità scientifiche attive in specifici ambiti
possono facilmente smascherare i candidati impresentabili ad un
concorso, grazie semplicemente alla loro cultura su quali siano le
basi dati (motori di ricerca, indici di riviste, conferenze note,
...) scientificamente affidabili da consultare. Non è altrettanto
facile garantire che vinca il migliore , ma smascherare gli
impresentabili costituisce un contributo fondamentale a minimizzare
i danni per l'università che assume il vincitore del concorso (e
quindi per la collettività).
-
Uno dei punti (ricorrenti) di Perotti resta la chiave di
tutto:
In qualsiasi paese moderno nessun esponente accademico si
sarebbe esposto in una vicenda così imbarazzante: la tradutio
manuale dei titoli, la clamorosa disparità di valore scientifico di
vincitori e sconfitti, le parentele, il cerchiobottismo politico.
Inoltre, rettore e preside, e l'intera università con loro,
avrebbero perso molto di più in immagine e prestigio di quanto
avrebbero guadagnato in altre dimensioni.
Perché questa totale indifferenza? Il motivo è sempre lo stesso:
nell'università italiana si procede solo per anzianità, nessuno
paga per le scelte sbagliate e nessuno viene premiato per operare
bene. Che io promuova un premio Nobel oppure l'amico o il parente,
il mio stipendio e la mia carica continuano esattamente come
prima.
In tale contesto di deresponsabilizzazione generale
nessuna isola felice può durare a lungo, le
avvisaglie sono tristemente note.
|