Planet Debian
Joerg Jaspert: Testing ChangeLog
I just merged a nice work from another ftpteam member, Luca Falavigna. He wrote dak make-changelog, which is intended for generating the changelogs for stable point releases.
I took the chance and asked if he can extend it a bit, which he did, so today I could merge that work. Besides that we are able to generate ChangeLogs between all suites we have, we now generate a ChangeLog on every time we import a new set for testing, listing only the changes done in that run, by listing the changelog entries from the package, or in case of removed packages just listing their name with the removed version.
We keep 4 rotations of that ChangeLog, you can find it (with the next mirror push) on all Debian mirrors in the dists/testing/ directory. This should be especially interesting for those people following testing on their systems, to easily see what got changed. :)
Vincent Sanders: You shall go to the ball!
Perhaps a bit more explanation is warranted about that last statement! We travelled back from France last Saturday. We were on the 12:15 (CET) ferry so had to be awake and on the road for the five hour France drive at "oh my gosh its early" time. The crossing to Portsmouth was slow as it was very choppy and we were leaving the Port at 15:30 at which point Melodie was good enough to let me go play with my friends while she drove home.
I did have the "fun" of doing the Portsmouth->London->Cambridge trip on UK public transport but it went pretty smoothly. Walking from Cambridge station to the BBQ location was a bit dumb, next time I am taking a cab!
The BBQ was excellent fun and big thanks for Steve for holding it again. Its always fun to meet the usual suspects. We also got to set a new occupancy record at Steves house Saturday night and discovered that certain members of Debian UK snore rather loudly (I think at one point we could measure it on the Richter scale).
Back home now of course. Work is the same as when I left so no change there and the Boys first day back at school seems to have gone smoothly too.
Evgeni Golov: Using plugins.svn.wordpress.org with Git
So I got SVN access to plugins.svn.wordpress.org, but I hate SVN. Let’s just use Git instead of SVN, especially when I already have my plugin as Git on github.com :)
git svn clone -s -r283636 https://plugins.svn.wordpress.org/statusnet-widget/ git remote add -f github git://github.com/evgeni/wp-statusnet-widget.git git merge github/master git svn dcommit
(note the -r283636 – it’s very important, if you ommit it, git svn will fetch 280k revisions which takes ages, if you put it to something AFTER your repo was created, the log will be b0rked)
Done! Now you can work as usual, push to github and commit to svn via dcommit :)
PS: Dear WordPress.org Team, you have working SSL, why do you still have http-links in your mails?
Evgeni Golov: The joy and pain of WordPress
As you may not have noticed, I migrated my site to WordPress some time ago as I did not want to maintain the old piece of crap I wrote myself when I was “young” ;)
Today I want to tell you a story of the development of a plugin for WordPress.
As the title says, it’s much about joy and pain and I think I should start with the pain :)
WordPress is written in PHP, so are the plugins for it. And PHP is REAL pain (but there is no decent blogging software for Django or Zope that would fit all my needs). It is especially pain when you work with Python every day. What the heck are those curly braces and dollar signs and “$this->”? That’s just not the way Guido indented it ;)
Additionally my last contacts with PHP were some time back in 2008 when I hacked on SysCP, which today result in commits like this:
- if (is_int($new_instance['max_items'])) $instance['max_items'] = $new_instance['max_items']; + if (ctype_digit($new_instance['max_items'])) $instance['max_items'] = $new_instance['max_items'];
But I have to admit that the WordPress API is pretty good. Not very well documented (the wiki pages at codex.wordpress.org are sometimes outdated), so you have to read the source and google a bit, but when you found the needed sources, it’s pretty straight forward.
My plan was to write a simple widget, displaying my Twitter and identi.ca timelines. Yes, both together, not one widget per service. The reason for this is the fact that I mostly post via identi.ca and the messages get synced over to Twitter and only the local replies and retweets/redents differ.
The basic WordPress widget would look like this (source: http://codex.wordpress.org/Widget_API#Developing_Widgets_on_2.8.2B):
class My_Widget extends WP_Widget {
function My_Widget() {
// widget actual processes
}
function form($instance) {
// outputs the options form on admin
}
function update($new_instance, $old_instance) {
// processes widget options to be saved
}
function widget($args, $instance) {
// outputs the content of the widget
}
}
register_widget('My_Widget');
One only has to modify the widget() function and here you go.
From some other Twitter plugin I knew that I only had to include rss.php and call fetch_rss(url) for every feed URL to get the timelines as an array via MagPie. But when looking at rss.php, you notice the deprecation message in the header, saying one should use SimplePie now. Some google later I knew that I had to include feed.php and call fetch_feed(url) to get a SimplePie object representing the feed contents. But SimplePie is even cooler: I can call fetch_feed(array(url1, url2)) and get a merged feed, containing both.
Now I added a duplicate filter to elliminate the messages posted to both, twitter AND identi.ca and my widget was ready.
You can find the result on http://github.com/evgeni/wp-statusnet-widget and soon on http://wordpress.org/extend/plugins/statusnet-widget/ :)
Wouter Verhelst: Frans Pop
I'm shocked to learn that Frans has died.
Even more shocked to learn that, due to me sitting with my head in the sand, I almost missed it.
You'll be missed, Frans. I didn't always agree with you or your methods, but I deeply respected you for who you were, what you did, and what you were willing to do.
May you rest in peace.
MJ Ray: KohaCon10
Russel Garlick writes on behalf of the KohaCon10 Organising Committee:
“KohaCon10 starts on October 25th in Wellington, New Zealand. We have an exciting line up of speakers on a range of topics related to Koha and [Free and] Open Source and Open Standards in libraries. See our programme for details.
KohaCon is an opportunity for the entire Koha community, librarians and developers alike, to come together, meet each other, swap ideas and learn something new.
The conference is split into 2 parts.
The community conference will be held over 3 days – 25-27th of October. This is not just a developer’s conference. There will be presentations from librarians and developers alike.
The second part of the conference is the Hackfest for Koha developers that will be held from 29th-31st of October.
For more information see our website
KohaCon10 is a free conference (that is right it will cost nothing for you to attend), but you still need to register to reserve your place.
Registrations from the international Koha community have been very strong. Over half of all available spaces are already taken.
If you have been holding off on the premise that you will have plenty of time to do this later, then please register now. Please do not rely on there being free spaces on the day.
Registration is quick and easy via the website.
We look forward to seeing you in Wellington!”
Our co-op will be represented there. Will you?
Russell Coker: Raw Satire Usually Fails on the Internet
Sarcasm and satire usually don’t work on the Internet. One cause of this is the lack of out of band signalling via facial expression or tone of voice. Another issue is the fact that in real life people usually know something about the person who they listen to while on the Internet it’s most common to read articles without knowing much about the author. So the reader can’t use “I know that the author isn’t an asshole” as a starting point to determine whether a message should be interpreted literally.
This is really nothing new. The standard in printed communication for a long time has been to use Emoticons (Wikipedia) to indicate emotion and other interpretation that might not be deduced from a direct reading of the text. The Wikipedia page cites examples of emoticon use dating back to 1857 – although the combinations of characters used for different emotions has changed significantly many times. The common uses that we now know on the Internet date back to 1982.
In my experience the symbol :-# is commonly used to note sarcasm or satire. Unfortunately it seems that none of the Internet search engines allow searching for such strings so I couldn’t find an early example of this being used. While I haven’t found a reference describing this practice, I regularly receive messages annotated with it and find that people generally understand what I mean when I use it in my own email. But that is usually applied to a sentence or two.
For a larger section of text a pseudo-HTML tag such as </satire> can be used to signal the end of satire. It seems that a matching start tag is optional as recognising the start of satire is a lot easier once the reader knows that some of the content is satirical. In spoken English a phrase such as “but seriously” may be used for the same purpose, but such a subtle signal may be missed on the Internet – particularly by readers who don’t use English as their first language.
Another way of signaling a non-literal interpretation is by using Scare Quotes – the deliberate usage of quotation symbols to indicate that the writer disagrees with the content that is written. That is common for the case of referencing a phrase or sentence that you disagree with, but doesn’t work for a larger section of text.
A final option is to make the satire or sarcasm so extreme that no-one can possibly mistake it for being literal. This is not always possible, Poe’s Law holds that “Without a winking smiley or other blatant display of humor, it is impossible to create a parody of Fundamentalism that SOMEONE won’t mistake for the real thing” [1]. I think that Poe was understating the case, it is impossible to create a parody of religion that most people won’t mistake for the real thing without signals or context. For an example read LandOverBaptist.org and Chick.com, of course if you know those sites then you will know whether they are satirical or serious – but I expect that most readers of my blog won’t invest enough effort into either of those religious sites to determine whether they are serious or satire.
But satire and sarcasm without signals or a reputation usually fails. One example of success is The Onion which is a long running and well known satirical news site [2]. But even The Onion it is regularly mistaken for being serious – the number of occasions when people forward me Onion articles for amusement are vastly outnumbered by the number of occasions when I see people taking it seriously.
Even when material is known to be satirical it can still fail grossly. An example is the Chaser’s satire of the Make A Wish Foundation [3]. Even material that is well known to be satirical seems to fail when it attacks bad targets or attacks in a bad way. One difficulty is in satirising bigoted people, to effectively satirise them without attacking the minority groups that they dislike can be a difficult challenge.
Finally, when you write some satire and members of your audience don’t recognise it you should consider the possibility that you failed to do it properly. If you can’t get a hit rate close to 100% for people with the same background as you then it’s probably a serious failure.
Christian Perrier: 100% for debconf in squeeze: 6 languages can make it
Swedish, Russian, French, German, Portuguese, Czech can make it (have you noticed that French is not leading?). For lenny, French and German succeeeded in this.
You have no idea about the tremendous and constant effort it requires for the teams...(and a little bit for me) to reach this.
So, if you're the maintainer of wireshark gnumeric tripwire request-tracker3.8 bugzilla tomcat6halevt ifetch-tools isc-dhcp foomatic-filters mailgraph gitosis fts qmail, think about it. You can make 1 to 6 people happy..:-)
Debian News: DebianDayPT 2010 in Aveiro, Portugal
The next 4th of September, the Portuguese Debian community will gather at the University of Aveiro for the third edition of the DebianDayPT
There will be several talks about about Debian/Free Software in Portuguese and as special guest, Martin Michlmayr will deliver a couple of talks titled “Contributing to Debian” and “Project Management in Free Software”. Like last year, there will be DVDs with Debian Live so people can discover, try and install upcoming Debian stable ‘Squeeze‘.
You can find more information of the event and information of how to arrive at: http://debiandaypt.debianpt.org/.
Amaya Rodrigo: Dear Frans
It is a privilege to have met you. Debian is privileged for the effort and time you put in it.
Your contribution will remain with us and will inspire others for a long time.
You made a difference in this world, one that will last and outlive you. I can only thank you.
Rest in peace, my brother. See you at the other side of the Firewall, and thanks for all the FLOSS ;)
Gunnar Wolf: Cycling, cycling everywhere!
I have been wanting to post for several days already, at least since this last Sunday. I have repeatedly bragged about taking part in the Ciclotón: The last Sunday every month, the city's government closes to automotive transit a ~33Km circuit, for cyclists to enjoy. And by cyclists, I mean people from all expertise ranges — Well, the very elite bikers will not take part of such a massive thing, but there are people pedalling a couple of blocks, people taking their small kids to drive a bit, and I recognized an amazingly large proportion of people doing the whole route.
Well, this last Sunday one lap was not enough for me — I did two laps, ~65Km.
(oh, and just for keeping the complaint current: After all, SportsTracker did release a version of thier software for the N95... But it requires Flash for using the webpage at all. I have several pointers at other applications... but am time-starved right now to start reviewing :-/ )
Anyway, I decided to do this double ciclotón in order to train for next week. If you are anywhere near Mexico City, you are invited - this is meant to be a large group ride, and looks very fun!
Doble Maratón Ciclista Urbano del Bicentenario
We are two weeks away from the 200 year conmemoration of the beginning of the Independence War in Mexico. A group of cyclists came up with the idea to organize a Double Marathon to celebrate! 84Km of biking in Mexico City:
For some reason, the distance numbers in that map were made... in miles :-P Anyway, the planned route will be:
- Jardin de los periodistas ilustres (Delegación Venustiano Carranza)
- Aeropuerto Internacional de la Ciudad de México
- Circuito Bicentenario ( antes circuito interior )
- Monumento a La Raza - Hospital La Raza
- Río San Joaquin
- Viaducto Bicentenario ( carril confinado sin interrumpir la circulacion )
- Torres de Satélite 50 aniversario
- Presidencia municipal de Tlalnepantla
- Presidencia municipal de Naucalpan
- Anillo Periferico Sur
- Secretaría de la Defensa
- Bosque de Chapultepec 1ª y 2ª sección
- Segundo Piso del Distrito Federal
- Ciudad Universitaria patrimonio cultural de la humanidad
- Insurgentes Sur
- Miguel Ángel de Quevedo
- Calzada de Tlapan
- Zócalo centro historico del distrito federal
- Calle 16 de septiembre fin del recorrido
It looks very fun. Besides, although it is not that flat, it is one of the flattest long distance routes you will ever have. The toughest part will be IMO the Northern part of Circuito Bicentenario and possibly some bits of Periférico towards Naucalpan. Then, a long flat stretch, with one long but not steep way up in Segundo Piso (near Las Flores), and a little stretch towards Ciudad Universitaria. Other than that, it looks very doable if you are in a moderately decent condition. And taking part in such a thing is very very worthy!
As a final note... This same Sunday, it has been somewhat publicized the first Día Nacional de la Bicicleta (Bycicling National Day) will be held all over the country, kickstarting the National Cycling Crusade. Sounds nice, right? Even impressive? Yeah, but... If you look at the published information (in the page I just linked), you will see several cities are opening cyclist circuits. For one day only, which means, it does not build awareness among the population on how easy, how convenient and how fun it is to use the bicycle as means of transportation. And not only that — The cyclist routes clearly make a point that cycling is a good way, at most, to have fun... But not a general habit we should all embrace. Lets see, as an example, the distances offered (only for the cities quoting route length):
- Guerrero: Chilpancingo, 2Km; Chilapa de Álvarez, 4.5Km
- Sinaloa: Culiacán, 4.7Km
- Nuevo León:Monterrey, 1.9Km
- Querétaro: Querétaro, 3.2Km
- Sonora: Nacozari, 1.5Km; Naco, 1.5Km; Huasbas, 1Km; Granados, 1Km; Imuris, 1.5Km; Huatabampo, 1.5Km; Yecora, 1.5Km; Sahuaripa, 1Km; Caborca, 2Km; Navojoa, 3Km; Santa Ana: 2Km; San Luis Río Colorado: 2Km; Cd. Obregón: 3Km; Hermosillo: 3Km; Nogales: 4Km; Magdalena: 3Km; Guaymas: 4Km; Empalme: 2Km
- Morelos: Cuernavaca: 2Km
...And so it goes. As you can see, several very important cities (i.e. Monterrey, Chilpancingo, Cuernavaca) put only a 2km route. 2Km by bike is... Nothing. 2Km is done at a leisurely pace in less than 15 minutes (I often sustain 20Km/h, which would mean 2Km in 6 minutes). And, in this short sample (the linked page has the information for several other states, but the pattern holds), most states are only making this in the largest city or two, completely forgetting the bulk of their territories. In my opinion, this "effort" was done backwardsly, and ends up delivering the exact opposite message to what should be done.
Russ Allbery: git-pbuilder 1.16
Getting the git-pbuilder script included in git-buildpackage has significantly increased the usage, which means lots more people finding new features and facilities that they need. I love that part of free software work. Here's a new version with a few new facilities.
Since the previous release announcement (for 1.13), this adds:
New support for an ARCH environment variable, which sets the architecture to use for the build chroot. This appends the architecture to the base directory name and passes the --architecture flag on to cowbuilder and pbuilder.
When called with update, create, or login, pass any additional arguments to cowbuilder. Patch from Svend Sorensen.
Say what distribution and architecture we're building for if DIST or ARCH is set. Error out if /usr/sbin/cowbuilder isn't available, telling the user to install the cowbuilder package. Based on patches from Guido Günther.
You can get the latest version from my scripts distribution page.
Petter Reinholdtsen: My first perl GUI application - controlling a Spykee robot
This evening I made my first Perl GUI application. The last few days I have worked on a Perl module for controlling my recently aquired Spykee robots, and the module is now getting complete enought that it is possible to use it to control the robot driving at least. It was now time to figure out how to use it to create some GUI to allow me to drive the robot around. I picked PerlQt as I have had positive experiences with the Qt API before, and spent a few minutes browsing the web for examples. Using Qt Designer seemed like a short cut, so I ended up writing the perl GUI using Qt Designer and compiling it into a perl program using the puic program from libqt-perl. Nothing fancy yet, but it got buttons to connect and drive around.
The perl module I have written provide a object oriented API for controlling the robot. Here is an small example on how to use it:
use Spykee;
Spykee::discover(sub {$robot{$_[0]} = $_[1]});
my $host = (keys %robot)[0];
my $spykee = Spykee->new();
$spykee->contact($host, "admin", "admin");
$spykee->left();
sleep 2;
$spykee->right();
sleep 2;
$spykee->forward();
sleep 2;
$spykee->back();
sleep 2;
$spykee->stop();
Thanks to the release of the source of the robot firmware, I could peek into the implementation at the other end to figure out how to implement the protocol used by the robot. I've implemented several of the commands the robot understand, but is still missing the camera support to make it possible to control the robot from remote. First I want to implement support for uploading new firmware and configuring the wireless network, to make it possible to bootstrap a Spykee robot without the producers Windows and MacOSX software (I only have Linux, so I had to ask a friend to come over to get the robot testing going. :).
Will release the source to the public soon, but need to figure out where to make it available first. I will add a link to the NUUG wiki for those that want to check back later to find it.
Sylvain Le Gall: OCaml 3.12 with Debian Sid right now!
Some careful readers of Planet OCamlCore should wonder why the OCaml packages in Debian has not yet been upgraded to 3.12.0. For the Planet Debian readers, this is the latest version of the Objective Caml programming language.
The answer is simple: Debian Squeeze froze on 6th August. This means that Debian folks focus on fixing release critical bugs and avoid doing big transitions in unstable (Sid). In particular, the Debian OCaml maintainers has decided to keep OCaml 3.11.2 for Squeeze, because the delay was really too short: OCaml 3.12 was out on 2nd August.
A great work has already been done by S. Glondu and the rest of the Debian OCaml maintainers to spot possible problems. The result was a series of bugs submitted to the Debian BTS. This effort has started quite early and have been updated with various OCaml release candidates.
S. Glondu has also built an unofficial Debian repository of OCaml 3.12.0 packages here.
Let's use it to experiment with OCaml 3.12.0.
schroot setupFollowing my last post about schroot and CentOS, we will use a schroot to isolate our installation of unofficial OCaml 3.12.0 packages.
approxapprox is a debian caching proxy server for Debian archive files. It is very effective and simple to setup. It is already on my server (Debian Lenny, approx v3.3.0). I just have to add a single line to create a proxy for ocaml 3.12 packages:
$ echo "ocaml-312 http://ocaml.debian.net/debian/ocaml-3.12.0" >> /etc/approx/approx.conf $ invoke-rc.d approx restart
approx is written in OCaml, if you want to know how I come to it.
debootstrap and schrootWe create a chroot environment with Debian Sid:
# PROXY = host where approx is installed, debian/ points to official Debian repository of # your choice. $ debootstrap sid sid-amd64-ocaml312 http://PROXY:9999/debian
We create a section for sid-amd64-ocaml312 in /etc/schroot/schroot.conf (Debian Lenny):
[sid-amd64-ocaml312] description=Debian sid/amd64 with OCaml 3.12.0 type=directory location=/srv/chroot/sid-amd64-ocaml312 priority=3 users=XXX root-groups=root run-setup-scripts=true run-exec-scripts=true
Replace XXX by your login.
And we install additional softwares:
$ schroot -c sid-amd64-ocaml312 apt-get update $ schroot -c sid-amd64-ocaml312 apt-get install vim-nox sudoOCaml 3.12 packages
Now we can start the setup to access OCaml 3.12.0 packages.
The repository is signed by S. Glondu GPG key (see here). We need to get it and inject it into apt:
$ gpg --recv-key 49881AD3 gpg: requête de la clé 49881AD3 du serveur hkp keys.gnupg.net gpg: clé 49881AD3: « Stéphane Glondu <steph@glondu.net> » n'a pas changé gpg: Quantité totale traitée: 1 gpg: inchangée: 1 $ gpg -a --export 49881AD3 > glondu.gpg $ schroot -c sid-amd64-ocaml312 apt-key add glondu.gpg
The following part is done in the schroot:
$ schroot -c sid-amd64-ocaml312
# PROXY = host where approx is installed
(sid-amd64-ocaml312)$ echo "deb http://PROXY:9999/ocaml-312 sid main" >> /etc/apt/sources.list
(sid-amd64-ocaml312)$ cat <<EOF >> /etc/apt/preferences
Package: *
Pin: release l=ocaml
Pin-Priority: 1001
EOF
(sid-amd64-ocaml312)$ apt-get update
...
(sid-amd64-ocaml312)$ apt-cache policy ocaml
Installé : (aucun)
Candidat : 3.12.0-1~38
Table de version :
3.12.0-1~38 0
1001 http://atto/ocaml-312/ sid/main amd64 Packages
3.11.2-1 0
500 http://atto/debian/ sid/main amd64 Packages
(sid-amd64-ocaml312)$ apt-get install ocaml-nox libtype-conv-camlp4-dev libounit-ocaml-dev...
That's it. The apt-policy command shows that OCaml 3.12 for the ocaml-312 repository has an higher priority for installation.
Good luck playing with OCaml 3.12.0.
Raphaël Hertzog: Free and opensource software to Flattr
Since I published “How to make 110.28 EUR in one month with free software and Flattr”, quite a few people joined the movement and I had less troubles finding projects to Flattr. That’s great!
Without further ado, here are my recommendations for september:
- Smuxi is an IRC application that integrates from the start the need to be permanently connected. You can run the “engine” on a server and the graphical interface connects there. The engine has all the intelligence so it remembers what message you last saw in each channel (including highlights) and you won’t miss anything. I recently switched to it and I like it. It’s not perfect but it’s improving quickly. The next version even supports Ubuntu’s messaging indicator for better integration with the desktop.
- Geshi is a PHP class used by many other software to provide enhanced views of code on web pages by coloring the various parts based on the syntax of the respective programming language. It’s used by Wikipedia, many blog plugins and lots of other web applications.
- Git-buildpackage is a set of tools developed by Guido Günther to make it easier to maintain Debian packages in Git repositories. I use it for several packages that I maintain.
- Mixare is an augmented reality browser. Take your Android phone and it will incrust information in the (camera) view of the environment. Impressive video on the website.
- Lightspark is is a modern flash player implementation targetting ActionScript 3.0 support (while Gnash only supports older versions). It’s one of those few projects that are really needed to get rid of the non-free Adobe plugin that almost everybody installs because there’s nothing else that work well enough.
This article is part of the Flattr FOSS project.
6 comments | Support my workRussell Coker: Optimising the How To Vote Process
One comment noted that at one polling place “all the volunteers for different candidates had combined into a single team, handing out all the cards together“, which makes sense. There is some advantage in forcing cards on people, some people decide who to vote for once they are inside the polling booth based on information on the HTV cards (a couple of voters stated an intention to do so which disappointed the politically aware people who hand out the HTV cards). But for most voters there is no benefit in competing to hand them a HTV card.
Some of the comments expressed a dislike of being subjected to people handing out HTV cards. As a voter I don’t particularly like having a group of conflicting people wanting to hand me a HTV card either. Also it is obviously a waste of resources to hand out so much cardboard that goes to waste (particularly the Liberal and Labor parties that use glossy non-recycled paper).
I think that the ideal solution would be to have the officials at the polling booths hand out HTV cards on request. A voter would have to specifically request the card from a party and the poll officials would not be able to offer them a selection, “sorry I can’t tell you who is running for election, but if you express a desire to vote for a particular party I can give you a card instructing you how to do so“. The parties would be responsible for providing the HTV cards (according to strict specifications regarding the acceptable sizes), and if the supply runs out then the officials would decline requests.
This could even be made self-financing by making the parties who want their cards distributed pay for a fraction of the wages of the people who hand out the cards, if each polling place had one person handing out the HTV cards at a salary of $500 for the day and there were 5 parties cards to hand out then each party would have to pay $100. The reduced print runs for HTV cards would probably save each party more than $100.
Something like this should satisfy the real need of voters who want advice on how to support their preferred party while not annoying the voters who know how to vote without any assistance. I expect that most members of the parties would be in favor of this idea. The only reason we go to the significant amount of effort and expense to hand out the HTV cards is because everyone else is doing so.
Cyril Brulebois: SD: Travel with your bugs
(For Those Who Care About An Introduction: Christine Spang gave a talk during DebConf10 about Simple Defects (SD), and blogged about it later on.)
Folks maintaining Debian packages are already able to partially-clone bugs.debian.org’s bug database thanks to the local-debbugs tool. But what about upstream’s bug tracker? Taking a (shamelessly self-centered) example: X.Org packages are hosted on FreeDesktop.org’s bugzilla. Thanks to SD, it’s possible to fetch bugs from there as well! Here’s the obligatory picture:
This means that you can browse/search them locally while being offline (or well-connected, but without having to use that !$\§%$^ bugzilla web interface). Many of the replica types support both reading and writing, meaning you can also queue some changes locally, and push them later. Currently, sd help sync says that read-write support is available for RT, Hiveminder, Trac, Google Code, and GitHub. There’s also read-only support for redmine. Debbugs is being worked on, see Christine’s blog post about her SD talk for more info.
Given there was no support for bugzilla, I had a quick look and reported my findings. The main point being: \o/ Bugzilla’s XMLRPC \o/
A little while later (I’m not exactly fluent in Perl…), I came up with a tentatively-mergeable branch adding preliminary read-only support for bugzilla. There’s still a lot of work, but I’m trying to work on it on a regular basis, adding support for more properties, and fixing bugs (tests should be written some day, too).
Maximilian Attems: fjp
Frans Pop contributions to Debian has already been honoured: Frans Pop obituary by Steve McIntyre. One less known fact is that he hacked in upstream linux-2.6 too. Latest linux-2.6 git lists him with 80 commits. A bigger part of his work was testing latest linux-2.6 on different architectures. There are lots of patches with "Reported-by: Frans Pop <elendil>" and "Tested-by: Frans Pop <elendil>". Also in this field he was aiming for big coverage and a special responsive tester.
I am very sad to have missed the opportunity to meet you in person. You are missed. Rest in peace, my friend.
John Goerzen: Life snippets
#1: Dreams of a (almost) 4-year-old
Yesterday, Terah had something going on in the evening, so it was just Jacob, Oliver, and me. Due to how the logistics worked out, she brought them to the office after work and I took them from there. We went to the post office, pharmacy, and a restaurant. Jacob and I had this conversation at the pharmacy.
Jacob: Ooo! We are at the Goessel pharmacy! *claps happily*
Me: Hmmm… Actually Goessel doesn’t have a pharmacy. This is the Hesston pharmacy.
Jacob: *gets a serious look on his face* Dad, actually Goessel has a pharmacy…. Look! A fire station!
Me: That’s right. And what can you see inside it?
Jacob: FIRE TRUCKS! They are all still.
Me: I guess there isn’t a fire.
Jacob: I think the Goessel pharmacy is on fire! Shall they go there now?
Me: I hope it’s not on fire. (what are you going to say to that?) Were you wanting to see a fire?
Jacob: YEAH! I think it IS on fire. Shall we go see?
So now he has an imaginary pharmacy with an imaginary fire and he wants to go see. Fortunately he was OK with just going inside Hesston Pharmacy instead.
#2: The Songs on a Ceiling
I read a book and sing a song to Jacob for bedtime every night. Over the weekends, sometimes I do that for him at nap time too. This weekend, he wanted us both to get on his bed, lie on our backs, and look at the imaginary songs on his ceiling. He gave me a whole tour, pointing to various (to me, nondescript) parts of the ceiling as he did so.
“Over there is a song about railroad tracks. There is one about trains. That train is upside down. That other one is stuck. There is a song about Word World. There is a song about preschool. There are the train tracks. There is a train on them. It might bump into the other train. Shall you sing a song about two trains on the tracks and they bump into the other train and go BLAM?”
He appeared to have a whole map in his head of his songs. The train songs were all at a specific place on the ceiling.
#3: Younger Brother
Oliver has really been changing lately. He occasionally will take a few steps by himself, and he has started to say a few parts of words. He communicates really well, though, especially with things he wants. He has a deep, vigorous nod to say yes, and sometimes it’s accompanied by “yesh” for extra emphasis. His face is incredibly expressive too, and he has a distinctive Yoda-like expression at times. I almost expect to hear him say one day, “Like that green bean I do not. Watermelon better is.”
Jacob, of course, is a lot bigger and sometimes is rough with Oliver. But they also have started to play together. Sometimes Jacob will put his head by Oliver’s face. Oliver will grab fistfuls of Jacob’s hair in both hands and pull. Both of them apparently find this hilarious and laugh on and on about it.
#4: Viruses and Stomachs
Sunday Jacob was complaining of a stomach ache. We were driving home, and shortly after we got home, he vomited on the driveway. Jacob really doesn’t like throwing up. It’s unpleasant and maybe a bit scary for him. He was about to start crying after vomiting, except…
One of our cats was hanging around. Claire came over, sniffed Jacob’s vomit, and started eating it. Jacob was so fascinated by what was happening that he stopped sniffling and stood there staring at the cat, then gave an excited report of events to Terah and me.
That evening, he was afraid he would throw up in bed. So we had a large bowl he held *directly* under his chin during story time. But then he didn’t want to lie down, since he was afraid he’d throw up in bed. Terah pointed out that he could have the bowl close while he slept. I went up and checked up on him an hour or two later, and he was sound asleep, face in the large bowl.
#5: The Jukebox
After the pharmacy, Jacob saw Skoops, a local 50s greasy spoon diner place across the street. He really wanted to eat there and get the “birthday cake” ice cream flavor. So we did. He was jabbering about getting a corn dog as we walked over, so that’s what he had to eat. I don’t know how he knew Skoops had them, as I don’t think he’s ever had a corn dog. Oh well.
There’s a jukebox inside Skoops, and every fifteen minutes or so, it’ll spring to life and play a random song even if nobody put coins in it. This was very exciting for Oliver. He’d twist all around in his highchair to watch it. And, most amusingly, he’d start bopping his head. Not really in time with the music or anything, but it was cute to watch. Sometimes he’d get really excited and pretty much his whole body was dancing. Well, as much dancing as you can do when you’re 1 and strapped into a high chair, at any rate.
One time, he heard the music, started “dancing”, and looked at me expectantly. So I started nodding in time with the music, and then Jacob saw us both and started sort of flailing about, somewhat in time with the music. All three of us wound up laughing after that.
Jordi Mallach: De mar a mar, hiking across the Pyrenees
Two weeks ago, Maria and I completed one of our dreams when we arrived in Cap de Creus, where the Pyrenean range sinks in the Mediterranean. To get there, we walked hundreds of kilometres during a month, crossed dozens of steep valleys and enjoyed one of the richest experiences of our lives.
We managed to complete this challenge without facing major problems or pains, and after the first five our six days, our legs seemed to have gotten used to the daily effort and it started to be easier and easier. Our morale kept growing as days passed and we advanced east. When I started walking on a cold and rainy morning in Hondarribia, after barely no rest in the night bus to Irún, I thought for myself that it was improbable that we'd manage to get anywhere near Catalunya, that one of us would get injuried way before, or we'd just give up and go for the easy beach vacation in the Basque Country.
Biadós refuge, under Posets
But we didn't, and after a somewhat painful start, with our boots soaking wet during the stages that crossed the enchanting Selva de Irati which ended up with me getting the biggest blister I've ever seen, we started to walk farther every day, extending the stages when we felt strong after reaching their official end. When we crossed from Nafarroa to Aragonese territory, the mental wall that I had built over the toughest stages in our quest started to fall apart. Days later, we found ourselves climbing down to Pineta, leaving Ordesa behind and enjoying a feeling that our adventure could not go better. The weather had been perfect for over a week and our legs and back were strong to go all over the way to the sea.
Cañón de Añisclo, on our way to Pineta
When we finally saw that huge blue stain on the horizon, the day before getting to the last mark, we got really excited. We had made it, but as we walked towards the cape, happiness slowly got mixed with melancholy. An unforgettable adventure was about to end, and we didn't want to face our return to the city and our routines. It had been many days surrounded only by awesome landscapes, and living without watches, with only sunlight and weariness marking the time to get in our sleeping bags.
At the very last red and white mark of our journey
We've had plenty of time to meet great people. Starting with the Navarrian brothers we met in the early stage, which provided us with a good pace to follow while our leg muscles were still building up; or Kike and Ana, who drove from Pamplona to visit us during the first Aragonese stages (thanks for the supplies!). Tomàs and Roger, young hikers from Mataró, surprised us with their maturity and experience as mountaineers; we had the pleasure to join forces during four days, walking a really cool variant through the Infiernos and Collado del Letrero which avoided going through the ghost city of Panticosa. Roger and Tomàs, we really hope to meet you soon! Andreu, Manel, Ghandi and Gaŀla visited us at the Vall de Núria and were unlucky to suffer a frightening hail and thunder storm when they left our shelter on their way back to their car. Thanks! All of you have been a very special part of our experience!
This adventure through GR 11 has been incredibly positive for us for several reasons. We've learned a lot about ourselves and strengthened our relation, and now I know how powerful drive can be; to get somewhere, no matter how far, it's really easy if you just believe you can do it and desire to get there.
Maria and I are proud of what we've done, and no wonder we're looking for new challenges. An obvious one would be repeating this experience, going through the French side of the Pyrenees, but for now, the Corsican GR 20 seems the most appealing. We'll see, next summer!
|
ลิขสิทธิ์ของบทความเป็นของเจ้าของบทความแต่ละชิ้น ผลงานนี้ ใช้สัญญาอนุญาตของครีเอทีฟคอมมอนส์แบบ แสดงที่มา-อนุญาตแบบเดียวกัน 3.0 ที่ยังไม่ได้ปรับแก้ |















