# View a specific SVN revision on web

I just found this out, so I'm posting it, since it might be useful both as a reminder, and for others to read.

Suppose you have a "classical" Subversion web interface, like svn.openstreetmap.org. This will show you the last revision by default.

What if you want to see a particular revision? I found this by googling a bit:

http://<yoursvn>/!svn/bc/<revision>/<path>


So, say, using the above example, you want to see the sites/ directory of revision 20000: here you are (compare with current).

This obviously works with files too.

# Optional argument with \newcommand in LaTeX

In LaTeX, it seems like you can't define a command with a really optional argument, using \newcommand. You can make commands with arguments having a default value though.

Now, I found myself in need of having such a functionality. I had to google a while, but finally found it, so I'm posting it here, both to share knowledge and to remember it in future :)

Suppose you want to do something like \mycmd{foo} and \mycmd{foo}{bla}, doing different things (in my case, I needed to add the second argument enclosed by parenthesis in the TOC and other places, but only if it was present)

Here's the code:

\def\mycmd#1{\def\tempa{#1}\futurelet\next\mycmd@i}% Save first argument
\def\mycmd@i{\ifx\next\bgroup\expandafter\mycmd@ii\else\expandafter\mycmd@end\fi}%Check brace
\def\mycmd@ii#1{...}%Two args
\def\mycmd@end{...}%Single args


In the last two lines of the code, use \tempa for your first argument, and #1 for your second optional argument. If you need spaces there (maybe as part of some text), be sure to escape them with a backslash \.

I think it's expandable for additional arguments, but I haven't tried, and I don't feel like getting my hands dirty with TeX yet ;)

# Feliĉa Zamenhofa Tago!

Sorry for the triple-language post ;)

Today, Dec. 15, it's Zamenhof Day. Let's everybody celebrate Esperanto!

Oggi, 15 Dicembre, è lo Zamenhof Day. Festeggiamo tutti l'Esperanto!

Hodiaŭ, 15-a de decembro, estas la Zamenhofa Tago. Festu ĉiuj la Esperanton!

# New team member in bash-completion

I'm glad to announce that we accepted a new member in bash-completion's upstream team: Dan-Leonard Crestez. He's an active guy in the F/OSS world, and I'm glad he's now in our team. :)

Welcome on board!

# WICD 1.7.0~b3 in experimental

I just uploaded WICD 1.7.0~b3 to experimental. This was supposed to be the last pre-release before the official one, but a ~b4 has just been released, adding one more patch I'm keeping in debian/patches/. Luckily enough, my previous big hacking to split the source code (to make it easier for packagers to have separate binary packages) has been merged upstream! So one less patch for me to maintain :)

It would be cool if experienced people (this is not (yet) for the faint of heart!) could test this package, before 1.7.0 gets released as stable and I upload it to sid. Or maybe you could just want to help us :)

Let's find bugs now!

# gmtkbabel 0.1

Version 0.1 of gmtkbabel has just been released! :)

It consists of a set of shell scripts, which use zenity to give a nice GUI over mtkbabel.

System Message: WARNING/2 (<string>, line 14)

Explicit markup ends without a blank line; unexpected unindent.

Future improvements might include providing a Qt alternative (and the "g" in the name might just mean "GUI" instead of "GTK" then), and whatever users need. It might also become something more serious, written in a more complex language, who knows :)

Many thank to Elena of Valhalla'' Grandi, who started this project to help some users on #osm-it@oftc.

# JOSM in Debian now supports OAuth authentication

Finally we have the same exact features as the upstream precompiled one. YAY!

Here's the story. JOSM supports the OAuth authentication method since the SVN snapshot rev. 3094. At the time (the package was uploaded on Mar 18, 2010), we didn't have some needed dependencies in Debian for that. So I had to disable it, by patching the source code.

In the meanwhile, I started filing RFP/ITPs, to fulfill the missing dependency chain. And it turned to be a *long chain*. Here it is:

JOSM missing dependencies graph

Looking at it now, that it's all done, it doesn't seem that long. However, I had to face the infamous Maven buildsystem, which I didn't know at all and pretended to download every dependency in a "local repository". Then I found the maven-debian-helper and maven-repo-helper packages, and started understanding it. Unfortunately, it seems that maven is only being used by CDBS people, so I had to override some debian/rules targets to get the work done with dh7.

Once the chain was fulfilled... JOSM didn't even compile. Then I discovered that JOSM had code working with oauth-signpost 1.1, but 1.2 (which I uploaded to Debian) broke the API. So I had to port it to the new API, and I could finally upload it.

Now we're at the end of this adventure. Debian JOSM users will have the choice of OAuth re-enabled, and I learned to master a new (to me) beast.

Enjoy :)

I recently saw a couple of bugreports all complaining about debian/watch files failing with GoogleCode. Since I'm myself maintaining some packages whose upstream authors use Google as their hoster, I felt it was a good idea to offer a service for uscan(1) and DEHS.

You can reach the service at http://googlecode.debian.net.

To use it in your debian/watch, just use:

For example:

The source code is available at debian-it.it (you should give this url to git clone). This service is currently in beta testing; suggestions and patches are more than welcome! Also, feel free to report any issue you might encounter!