Search Results: "bap"

3 June 2008

Daniel Kahn Gillmor: Can you mirror-read?

A high school student i work with is trying to gather data on the prevalence of mirror-reading (the ability to easily read text that is reversed left-to-right). He's posted a simple webapp to gather data points for his experiment. It should take only a couple of minutes to try it out and give him some data. If he gets enough data to write something up, i'll try to encourage him to publish his results as well.

1 June 2008

Marc 'Zugschlus' Haber: Automatic initialization of a Option 3G Datacard

For mobile UMTS/GSM, I have been using an Option 3G Data Card for two and a half years now. I blogged about getting the card to work (in German, sorry) on Linux in July 2005. I never found the time - until now - to automate the card initialization so that I had been using a horrible chat script for card initialization when the PPP connection was built. I recently took the time to automate this, so that the PIN is transmitted to the card automatically when the card is plugged in. This article documents what I did. On a side note: Unfortunately, the vendors’ attitude towards Linux hasn’t changed since 2005. Their Hotlines still deny that their products can be used with Linux at all, and they surely do not publish any documentation that can be of help. Otoh, Vodafone has published a software that supposedly aids usage of their products under Linux. I haven’t tried it yet since it is not packaged yet for Debian. Additionally, Vodafone support media and sales do not seem to know about this effort, they still deny that their products work with Linux. Windows users happily install proprietary software products that do little more than sending a handful of AT commands to the emulated USB modem and hand over the connection to Windows’ PPP Stack. A very unsatisfying situation. Just for the record: Dear Vodafone DE, a week ago you missed the sale of a new USB UMTS interface because you don’t even document it on Linux. This motivated me to look into the drawer that holds the old, non-HSDPA PC cards that have been decommissioned at the customers’ site and use an old, used device. Your fault. But now back on topic: For a data center monitoring system, I want to send out alerts as text message (for German speakers: SMS - we have a rather strange vocabulary for mobile communications), and am reluctant to do so via IP: IP is one of the things that can fail, so it is preferred to directly inject the text messages into the network of the operator that provides service to the recipients of the text messages. Fortunately, most of the recipients are in the same network. After evaluating current hardware solutions that could be plugged directly into the “real” server doing the monitoring and running into the wall of non-support provided by the network operators and hardware vendors, I decided on taking things a little further and to build an Ethernet-Connected text message device. An old hp compaq nc8000 (no, not mine, mine still works fine and is in daily use) and an old, first generation Option Datacard 3G will be mounted near the datacenter’s windows and equipped with Debian and Nagios. That way, the text message device can itself monitor the monitoring system and even send out a warning message when the data center goes out of power: It has a built-in UPS. But now back on topic: For the text messages to go out reliably, it is necessary that the UMTS card is initialized automatically when the system comes up. A great opportunity to finally address this issue for Linux, on customers’ expense **grins**. UMTS card initialization is done in two steps: First, when the card is plugged in, the virtual OHCI host port appears. Initialization of the virtual OHCI happens automatically. Most documentation on the web says that you now need to load an appropriately parametrized usbserial module, and I did it this way for years, but that’s not necessary any more. CONFIG_USB_SERIAL_OPTION is a dedicated kernel module for the Option 3G data card, which gets automatically loaded if it is available. If you don’t have the Option module for some reason, you still need the following udev rule to automatically load the generic USB serial module. I figured that out yesterday before I learned about the Option module in a comment made to the original version of this article.
SUBSYSTEM==“usb”, \
   SYSFS idProduct ==“5000”, SYSFS idVendor ==“0af0”, \
   ACTION==“add”, \
   RUN+=“/sbin/modprobe usbserial vendor=0x$attr idVendor  product=0x$attr idProduct ”
SUBSYSTEM==“usb”, \
   SYSFS idProduct ==“5000”, SYSFS idVendor ==“0af0”, \
   ACTION==“remove”, \
   RUN+=“/sbin/modprobe -r usbserial”
Unfortunately, the usbserial and option modules stay around after the card is pulled. This doesn’t hurt though. Next, we see three virtual serial interfaces, which we can detect via udev, and assign “speaking” device names and transmit the PIN. This goes into /etc/udev/rules.d/50-option3g.rules:
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“option”, \
   ATTRS bInterfaceNumber ==“00”, \
   ATTRS modalias ==“usb:v0AF0p5000d0000dc00dsc00dp00icFFiscFFipFF”, \
   SYMLINK=“UMTS-DATA”
SUBSYSTEM==“tty”, SUBSYSTEMS==“usb”, DRIVERS==“option”, \
   ATTRS bInterfaceNumber ==“02”, \
   ATTRS modalias ==“usb:v0AF0p5000d0000dc00dsc00dp00icFFiscFFipFF”, \
   SYMLINK=“UMTS-CONTROL”, RUN+=“/usr/local/sbin/umts-pin --device %k”
I am not sure what the modalias attribute identifies, but it looks like it identifies the hardware model: An identical Option Datacard 3G, plugged into the other PC Card Slot gets properly initialized as well. These two udev stanzas do two different things: First, they make sure that the new devices are symlinked to /dev/UMTS-DATA and /dev/UMTS-CONTROL, suggesting the intended use of the interface. The second virtual interface of the 3G Data Card does not seem to be useable at all, and you cannot build an actual data connection over the third. So, we baptize the first interface /dev/UMTS-DATA and ignore the second. The third gets called /dev/UMTS-CONTROL. Now to the real magic: /usr/local/sbin/umts-pin is a perl script that sends the PIN to the Card. %k gets expanded to the device name of the device that has just been detected, so umts-pin gets called with “--device ttyUSB2”. It makes use of Cosimo Streppone’s Device::Modem module (Device::Gsm is not yet packaged for Debian and might be of better use here) to talk to the UMTS device. Unfortunately, I have not yet fully understood the logging and answer processing features of Device::Modem, so the implementation might look a little clumsy. I hope that it can be clearly understood anyway. The actual PIN is read from a configuration file in an apache-like format, which is by default looked for in /etc/umts/pin.conf:
<pin>
        <default>
                pin xyzw
        </default>
</pin>
The reason I settled for this rather complex configuration file format is that the ultimate goal is to automatically detect which of my SIMs is currently inserted in the UMTS card and to automatically send the correct PIN. I haven’t been successful in doing so since I didn’t find an AT command yet to get the UMTS card to divulge the SIM serial number or the IMSI before the PIN is transmitted to the SIM. So currently, the only things that are supported are the “default” stanza and an identically formatted “override” stanza which takes precedence over the default stanza if present. If the first attempt to send the PIN fails, the script tries again ten seconds later. On my test system, this happens about once in twenty times. That must be some weird timing issue. So, if you have the wrong PIN configured, you’ll need the PUK after plugging in the card for the second time, since the first try will eat two of your three attempts. Beware. If you feel uncomfortable with all this scripting and the “quality” of my code, you can also use gammu’s entersecuritycode function. I discovered this after my PIN script was already written, and gammu currently forces you to expose the PIN on the command line (see #484102), and of course my script’s PIN handling is vastly superior **grins**. And one end note: More current hardware, most notably the Huawei series of cards, are reported to show themselves as virtual USB storage first to allow identification and installation of Windows drivers, and need an explicit command to show their virtual USB serial side. I have read web pages where people have managed to do this in Linux, but since I use an older card and do not have a current card available (again, Vodafone, your fault!) I cannot comment about this. But there are reports that this can be done, so don’t panic if you have more recent hardware.

5 May 2008

Wouter Verhelst: Microsoft on installing PHP and Perl

On their "get the facts" site (as if), Microsoft recently posted a set of screencast demonstrating how much "easier" it is to install Perl and PHP on IIS than it is on Linux. Being bored, I had a look at these screencasts. The first covered installing stuff on Windows; in a 5 minute screencast, they first explain how you install ActivePerl, and have it handle perl scripts for a webserver through a CGI interface. This involves way too many steps to remember for me (including clicking through a wizard, going to the IIS management interface and enabling it, creating a directory and enabling that in the IIS interface as a CGI location, and more). Next, they do the same for PHP. Since they install PHP as a CGI binary rather than an ISAPI module, the setup isn't as complex—they conveniently reused many of the settings they'd done for perl—but it still required quite some steps. After having watched this screencast, I was wondering how they'd make it look harder on a Linux system. My guess was that they'd use Slackware and would compile apache, perl, and php from scratch or some such. That didn't turn out to be the case, however. They used ubuntu. To make the process look complicated, they refrained from using synaptic, instead opening an (almost full-screen) shell window, in which they use apt-get to install the libapache2-mod-php5 package. They conveniently also first installed the wrong version of apache, so that it would do all kinds of magical and confusing things. Really, however, after having installed this package, everything works—and they show that. The perl step should have been ignored. After installing apache on Debian or any of its derivatives, such as Ubuntu, support for Perl CGI scripts has already been installed and configured. Configuring that requires exactly zero steps. However, they still install libapache2-mod-perl, just to make it look a bit more confusing. It's not a very bad idea to do this, actually; installing mod_perl makes serving Perl scripts go quite a bit faster. But if you just want to have apache serve perl through CGI scripts, as they'd done on the IIS setup, all you need to do is install ubuntu, and make sure there's an apache installed. Period. But that's not all. They cheat. The installation of the perl and php modules on ubuntu includes the process of downloading the binaries and their dependencies; on the Windows screencast, the downloads have already been performed, and are placed on the desktop. This nicely avoids showing how you need to go to the ActivePerl and PHP websites, track down installers, download them, wait for your download to complete, and then manually start the installation process. To make things even more laughable, they install Perl and PHP as CGI handlers on Windows, but perform an installation of the same software through apache's C API. In other words, they told you how to install a fast and useful Linux system, and how to install a slow and less useful Windows installation (since a PHP setup that uses CGI will not support sessions or persistent database connections, amongst other things). And even with all that cheating and blundering, the Windows screencast still takes 5 minutes, as compared to the four for Ubuntu. I think Mahatma Gandhi forgot one line in his famous quote. It should have this:
Then they make complete and utter fools of themselves in a vain attempt to still look relevant
... right before the "then you win".

2 May 2008

David Moreno Garza: POST over mod_perl handlers with unusual content types

Recently I had to deal with POST requests on mod_perl 2 on a custom XML-RPC webservice server we have been developing and maintaining over the last year (we are actually moving it to REST some time in the middle future). It was time to move some of our base modules from a couple of CGIs to the power and muscle of mod_perl. So, while dealing with POST requests (like XML-RPC is actually specified) I faced the issue that I wasn t being able to get the POST data on the PerlResponseHandler phase. I was probably not reading it correctly, I got deeply into it and even read some libapreq source code. All I was getting was some nifty message like not supported . After reading some documentation (and, to my own shame, the Apache2::Request front page pod) I found out that the usual:
    use Apache2::Request;
$req = Apache2::Request->new($r);
@foo = $req->param("foo");
$bar = $req->args("bar");
will not work on your POST if the content type is different than application/x-www-form-urlencoded or multipart/form-data. For example, say, XML-RPC! So, in case you actually need to read POST data on your mod_perl 2 handler where it s not a form or a file upload, you can read the data manually (I didn t find a simpler way to read the data, actually):
sub handler  
my $r = shift;

return Apache2::Const::HTTP_BAD_REQUEST unless
$r->method eq "POST" and
$r->headers_in-> 'Content-Type' eq 'text/xml' and
$r->headers_in-> 'Content-Length' ;

my $length = $r->headers_in-> 'Content-Length' ;

my $xml;

while ($length)
$r->read($xml, ($length [less than symbol] 2048) ? $length : 2048);
$length -= length($xml);


...
And you are ready for booze.

18 April 2008

Steve Kemp: That wasn't true. Made it up. Shouldn't have done that. Sorry.

Chronicle
My blog compiler received a bit of love recently, primarily because MJ Ray wanted to use it. As mentioned before I've added a simple spooling system, and the mercurial repository now contains a simple RSS importer.
Debian Work
In other news I've been working on various Debian packages, here is a brief summery:
bash-completion
After seeing a RFH bug I closed a few bash-completion bugs, and submitted patches for a couple more. I was intending to do more, but I'm still waiting for the package code to be uploaded to the the alioth project.
javascript work
I've updated the jquery package I uploaded to follow the new "Javascript standard" - in quotes only because it is both minimal and new. Once the alioth project has been configured I'll upload my sources.
Apache2
I've agreed to work on a couple of SSL-related bugs in the Apache 2.x package(s) - time disappeared but I hope to get that done this weekend. Initially that was because I was hoping I could trade a little love for getting a minor patch applied to mod_vhost_alias - instead I've now copied that module into libapache2-mod-vhost-bytemark and we'll maintain our own external module.
Hardware
I've been loaned a Nokia 770 which is very nice. Having used it with vim, ssh & etc I think that I'd rather have a device with a real keyboard. The Nokia 810 looks pretty ideal for me. I'm going to be asking around to see if I can get a donated/loaned device to play with for a while before I take the plunge and pay for one of my own.
I've got a couple more things on the go at the moment, but mostly being outdoors is more interesting to me than the alternative. Hence the downturn in writing and releasing security advisories. I'll pick things up more fully over the coming weeks I'm sure. ObQuote: Shaun of the Dead

10 April 2008

MJ Ray: Vote Now! (Blog Updates)

I'm currently part way through testing Chronicle and I'm probably going to change the address of my blog (with Redirects) as part of that. I don't much like having blog in the address and some research seems to agree with me. I've lived with this mistake for four years now, through various software upgrades, so I'll take the chance to change. But what should I change the path to? /writing/reflections/ /news/ /notes/ /articles/ or something else? Vote now by leaving a comment! Oh and about the debian project leader vote: reluctant candidates are good, teams are good, people who already have had high office are less good. Go vote on that too if you can.

2 April 2008

Jeff Bailey: You know things are going poorly when...

... you type in "Barbapapa" in the YouTube search box to pass the time. =)

I've had a rough couple of days - it seems I've developed an intolerance to the pain meds that I was on. I went to the surgeon yesterday to see what we could do about the rash, the constant desire to throw up, and the complete aversion to eating.

I've switched meds now, and unlike at lunch when I went to work to go see some coworkers and I picked over half a bowl of soup, I've had a half-dozen pancakes and a half bowl of a rice-tofu-soyrizo dish that Angie made for dinner.

We're still tweaking the quantity and frequency of the meds (We started at 1 every 6 hours, and are now at 2 every 4 hours), but hopefully we've got it right now.

On the upside, the surgeon visit went very well. They like the way incision is healing, they took X-rays and everything seems good. I have a referral to a physical therapist now (Anyone know a good one around Mountain View?) and I'm permitted to start that in a week or two. My next follow up is at the 6-week mark, and the surgeon says that he'll probably clear me for sitting in the hottub then.

Yay, hottub!

My stamina continues to improve despite this - yesterday I managed a 4-block walk downhill, stopped for dinner, then a 4-block walk uphill again. If you've been to the UCSF medical centre, you'll know what I mean - everything is uphill or downhill from there. Today I went into the office and sorted out some more short term disability paperwork and some more banking paperwork. I'm feeling good about returning to work at the beginning of June.

1 April 2008

MJ Ray: Blog Updates

First of all, you can't do All Fool's Day pranks on global web sites because of time zones: if you do, you'll be pranking either early or late somewhere and so you're the fool. Now, I've been a bit quiet recently because I've been moving dozens of Wordpress blogs over to one Wordpress MU install. Clearly the right way to do it. They're all on different domains and we want their names to have www, which needed the following small change...
 
--- wpmu-settings.php
+++ wpmu-settings.php
@@ -6,8 +6,8 @@ if( $current_site && $current_blog )
 $wpmuBaseTablePrefix = $table_prefix;
 $domain = addslashes( $_SERVER['HTTP_HOST'] );
-if( substr( $domain, 0, 4 ) == 'www.' )
-       $domain = substr( $domain, 4 );
+if( substr( $domain, 0, 4 ) != 'www.' )
+       $domain = 'www.'.$domain;
 if( strpos( $domain, ':' ) )  
        if( substr( $domain, -3 ) == ':80' )  
                $domain = substr( $domain, 0, -3 );
I could have sworn I changed something else in that file, but I don't see what. Oops. I guess I'll run a check against the release tarball before merging the next upgrade from upstream. If anyone wants to hire someone to move blogs to Wordpress MU, you how where to find me. It's pretty enjoyable once you get into the routine, even if this project overran. I'm looking at changing my own blogs too. I'm looking at Chronicle but maybe with more email-like input files.

17 March 2008

MJ Ray: User-Generated Content Rebellion: First, the Librarians and Scientists?

I've been critical of the almost abusive terms in the user agreements of most user-harvesting-based services (sometimes called Web 2.0) for a while now. There are quite a few services that I simply won't use because their owners want me, all my web "content" (whether explicitly posted to their site or not), my first born child, or similar. There are even more sites where I'm careful not to put much beyond the bare minimum and try to make sure that I keep backups of nearly all of it. Usually that means keeping a copy of the input, as getting my data back out of most sites is a pig. So far, when I've criticised aggressive user agreements, I've felt like a lone voice in the wilderness. It's been heartening to spot two user-harvesting services geting some abuse over the last week or two. First, the Swift online community platform for conferences has been attacked by both David Lee King and librarian.net for its over-zealous user agreement demands. Particularly "nice" is the feature where one rule of Swift club is that you don't talk about Swift club (see last paragraph of David Lee King's post). Swift's owners have responded. I'll watch and see whether it improves enough to get a follow-up post from either blog. Secondly, the Phorm advertising system has faced hard questions from both Open Rights Group and Sir Tim Berners-Lee over its mysterious user tracking. Phorm hasn't yet replied properly about their potential to harvest user-generated content (web histories and so on) without consent, as far as I can see. If you know anyone on Talk Talk, BT or Virgin, tell them to start planning the exit route. If you'd like to refer them to our agency for The Phone Coop that would be great. I suspect the owners of The Phone Coop would get quite vocal if it ever tried to track users like this and a comment on the ORG post suggests someone else has asked Are we seeing the start of a user-harvesting backlash?

15 March 2008

Daniel Burrows: Installing packages in safe-upgrade

Colin Watson writes:
I do sometimes wonder why we don't relax the definition of "safe" upgrades to include installing new packages but still not removing old ones. I know that many of my uses of dist-upgrade are just for when something grows a new dependency that I didn't previously have installed.
That's a good question. Like many things in aptitude, the basic design was copied from apt-get, and I haven't thought much about it since then. But in fact, I think this makes a lot of sense, and it turns out that it's fairly easy to acheive. I've just checked a change into head that makes safe-upgrade allow new packages to be installed. This is accomplished using aptitude's dependency resolver, restricted to only consider holding packages back or installing the candidate version of a package (that is, the version that aptitude install would choose by default). If the resolver produces a solution, it's applied blindly; otherwise we fall back to the current behavior (and probably fail). The current behavior is still available through aptitude --no-new-installs safe-upgrade and the configuration option Aptitude::CmdLine::Safe-Upgrade::No-New-Installs. The one thing that might get missed are broken recommendations -- libapt doesn't consider these to be broken dependencies, so aptitude won't notice them unless there are broken real dependencies. These will get fixed in full-upgrade because it uses apt's resolve trivial dependencies algorithm. That's probably what's doing the wrong thing with conflicts, but it also has logic to do the right thing with new recommendations. Regardless, those wouldn't have been fixed by the old logic of safe-upgrade, so this is not a regression.

Daniel Burrows: Full upgrade and conflicts

Erich Schubert wonders how to improve the handling of conflicts in package managers, particularly in aptitude full-upgrade and apt-get dist-upgrade. From the point of view of the package manager, conflicts are a bit tricky to deal with. The problem is that a conflict only really tells you not to install two packages at once; it doesn't tell you which package should end up on the system by default. Worse, aptitude has two approaches to this:
  • When a package is marked for installation in the visual interface or listed on the command-line, then if Aptitude::Auto-Install is enabled, aptitude will automatically resolve conflicts in favor of that package. The same applies to packages that are upgraded by pressing U or by full-upgrade.
  • When aptitude's dependency resolver encounters a conflict, it considers both resolutions to the conflict to be equally valid. If there are no other reasons to choose one package over the other, it will be unpredictable which one gets removed first, and even when there are reasons to choose, the user may not understand what they are.
I don't think it's possible to always make upgrades predictable. But I think that even just making Auto-Install stick to installing packages and not removing conflicts would be a plus. Installing obvious dependencies up-front is good because it means less work for the resolver and a more predictable starting point. Many trivial dependency problems can even be completely solved this way. But removing conflicts is a lot trickier and should probably kick the problem into the full resolver. Unfortunately, the code enabled by Auto-Install is all deep in the guts of libapt. I've tried to avoid duplicating this code so far, but it does seem like I periodically run into cases where it doesn't do exactly what I need, so maybe I'll have to eventually. :-(

15 February 2008

MJ Ray: No Good FOSS Membership Management Web App?

A not-for-profit club has asked me to recommend a web-based membership manager that can do two main tasks:-
  1. email members when their renewal date is approaching;
  2. control access to some web pages.
(In addition, they want a web forum, but that doesn't need to be connected and they're fairly easy to find.) I'm somewhat surprised to say that I haven't found a good free software one. There's CiviCRM, but it's under an activated Affero GPL and I don't see why this non-software club should be a distributor (which is why I don't see activated-Affero software as free software). There's eZpublish (as used by FSFE) but it looks like overkill for this task and will cause more problems than it solves. Other FOSS organisations seem to be using bespoke apps. The VCS FOSS ICT wiki page is pretty bare. What would you recommend? Where should I be looking? Who to ask? If I have to write one, I'll try to make it reusable.

9 January 2008

Christian Perrier: Feeling older and proud

My son Jean-Baptiste turns 20 today and I have this strange feeling of big pride and seeing time flowing around me. I still see that little thing I discovered on Jan 10th 1988 and compare it to the current young man who conducts his life pretty well (no gf as of now, I'm always surprised that none discovered the gem JB is....). This year will anyway be a year of big pride with Sophie turning 18 (age of majority, driving license, french 'baccalaureat'....) and Magali turning 16. So, well, I just wanted to share this with people who're still not bored with that blog.

6 January 2008

Christian Perrier: Number of bugs reported in Debian per year

This week-end, among other things, I played a little to get the number of bugs reported overs years in the Debian BTS. Here are the results:
2007: 53337
2006: 59665
2005: 57436
2004: 62327
2003: 50836
2002: 47618
2001: 46289
2000: 27181
1999: 22448
1998: 15002
1997:  9987
1996:  4205
1995: 2158
First bug for each year:
2008: 458489 Petter Reinholdtsen -> sysqrd Closed (in unstable)
2007: 405152 Martin-Eric Racine -> myspell-lv Closed
2006: 345487 Erich Schubert -> lintian Opened
2005: 288051 Nick Sillik -> gstreamer-misc Closed
2004: 225724 Peter van Rossum -> mldonkey-server Closed
2003: 174888 Chris Garguzi -> hotkeys Closed
2002: 127270 root@ttimo.net ->libapache-mod-auth-pam Closed
2001: 80981  William Steve Applegate -> php4 Closed
2000: 53800  Hamish Moffatt -> sattrack Closed
1999: 31352  Richard Stallman -> dselect Opened LOOK THIS ONE
1998: 16350  Joey Hess -> xbase-clients Closed
1997:  6363  Andreas Jellinghaus -> mgetty-fax Closed
1996:  2158  Ian Jackson -> ncurses3.0 Closed
1995:   563  Ian Jackson -> tar Closed
A few interesting things there: Anyone feeling like doing the same for Launchpad? And, for those who wonder, I of course did all this by hand. No fancy automated script, just my hands and some (little) hammering of the BTS.

5 December 2007

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].

19 November 2007

Evan Prodromou: 28 Brumaire CCXVI

I'm glad to note that there's been a lot of movement over the last few weeks for the Montreal Coworking space. Patrick Tanguay, who's been organizing the project, let me know recently that we're closing in on a space. Which is just fantastic. Coworking is a loose term for a number of different ways of working together. The term is most commonly used for a kind of shared office where participants pay for either a fixed space (their own desk) by the month, or they pay for the use of a pool of free spaces (shared desks) on a daily or part-time basis. There are the kind of office resources, like WiFi, conference rooms, printers, copiers, etc. that you expect from an office, but unlike most shared-office situations, there's also an emphasis on community and communications. It's a great kind of work environment for people who would otherwise work at home or in caf s, such as freelancers, contractors, and startuppers -- or for people visiting from out-of-town. I've been to a couple of the Bay Area (California) coworking spaces -- the one at Citizen Space in San Francisco and the one at SocialText in Palo Alto. Both were convenient, fun, and social -- a good place to get some work done. Patrick's been working on a Montreal coworking space for a while -- talking to the City and neighbourhood development organizations -- and he's settled on a space in Mile End. It looks pretty fantastic. You can see the pictures and a map at the Montreal Coworking Web site. I've been working out of the house for about 5 years, and I really like the freedom and convenience it affords. That said, I'm really looking forward to having a more formal environment to work in than my home office. It's great here, and I feel very comfortable, but it would be nice to be out of the house. I also tend to meet with contractors and partners at local caf s, which can be distracting -- I'm looking forward to having meeting rooms. There's a 5 7 ("sank ah set" -- it's what we call a cocktail party here in Montreal) planned for people who'll be involved in the site planned for this Wednesday, November 21, at Bar Inc. (250 Mont-Royal Est). I won't be there -- we'll be in New Jersey by then -- but I hope others interested in the coworking take the chance to go. tags:

JS-Kit and data portability I've been a big fan of JS-Kit since I heard about it. I featured it in my list of 10 Web APIs for LinuxWorld, and I use it on my own personal site for comments. But one thing that concerns me, and that I've asked for clarification from JS-Kit about, is data portability. If they went out of business (heaven forfend), or if I figured out another cool way to do comments on my site, I'd like to be able to migrate old comments to the new system I'd build/use/buy. But as far as I can tell, there's no interface to download all comments on a site (either in HTML or some other structured format). I think this is going to be a key issue for people building Web sites with UI widgets in the future. It's a really, really useful way to make sites, but I don't think many developers are going to be willing to invest in a platform with no "insurance" that they can be flexible in the future. Sure, it's free of charge, and it seems kind of mean to use the poor JS-Kit folks and then move on to someone else -- but realistically it's an option you need for development. tags:

One-liners Some other stuff I'm thinking about today:
  • On the "upcoming events" front, we've got some plans to make BarCampCanada1 happen here in Montreal in May 2008. I'm not sure how that's going to shake out, but I'm excited about the possibility of a nationwide BarCamp.
  • I'm interested in Heather Ford's and Jimmy Wales's 50 parties idea - having fifty parties in one year to bring together local Free Culture people. I think we should have a party here in Montreal. Maybe in the Spring...? Maybe to coincide with BarCampCanada1?
tags:

12 November 2007

Benjamin Mako Hill: Code of Conduct

The Ubuntu Code of Conduct is probably the most widely read document I've written. Agreement to it is prerequisite to participation in the Ubuntu community in all official and many unofficial capacities. It is has successfully set a positive tone and helped turn Ubuntu into what is probably the most friendly and civil free software project I've worked in. Over time, quite a few free software projects have copied or adapted the CoC. Tired of giving folks permission, the project went ahead and licensed the CoC under the Creative Commons Attribution-Sharealike license to explicitly allow reuse as long as attribution to the Ubuntu project is given and derivatives are similarly modifiable. In a recent development, it was adapted by the Fort Erie, Ontario town council for use government interactions of their business improvement areas! It's amazing to see the document gain so much traction! Unfortunately, the person who repurposed the CoC did not attribute the document correctly and was publicly accused of plagiarism by another council member! Ubuntu is happy to have Fort Erie, and anyone else, use or adapt the CoC. Folks should just take care to be honest about where it came from and maintain the BY-SA license.

10 November 2007

Neil Williams: Emdebian Tdeb plans

Only an outline so far but most of this code already exists in Emdebian SVN.

  1. C/C++ application: langupdate using libapt-pkg and libglib2.0-0
    • Reads supported locales and silently installs only the supported translations for all installed packages, with fallback support where configured.

    • Silently removes all translations for all unsupported locales.

    • First run in langupdate postinst

    • Removes package translations on the next run after package removal.

    • Separate /etc/langupdate/tdeb.sources.list and /var/cache/langupdate/lists/ to keep apt cache size down. Manual changes will be overwritten so maybe it ought to live in /var/ or /usr/share/.

    • One source for each locale root, main_en, main_fr, main_pt etc. All sources maintained by langupdate directly, according to the list of supported locales.

    • Each source contains all translations for locales within scope: en_GB in en, pt_BR in pt etc. to support fallback correctly.

  2. XS-Package-Type: tdeb with a file suffix of .deb (not .tdeb) to reduce the number of patches needed for a working implementation.

  3. Server-side perl script: langmigrate that parses the .changes file:
    • Removes tdebs from existing repository.

    • Moves incoming tdebs into new layout.

  4. No descriptions, no dependencies. All tdebs are Priority: extra and Architecture:all. Possible support for a tdeb1 version suffix for updates that are not yet in Debian. (Allows for translation updates without package uploads.)

  5. Plan to remove (or support an alternative package) dependency on libglib2.0-0 but OK for Emdebian at the moment due to targetting of GPE.

  6. langupdate itself Priority: optional and not part of the default emsandbox

  7. langupdate is a native package, uploaded to and maintained in Emdebian. Migrate into Debian once infrastructure is ready.

  8. langupdate has little or no output, only a help option and possibly support for --clean but everything else automated.


This is built on the emlocale method (from emdebian-tools) and emlocale will be modified to fit this plan in 0.5.4.
langupdate (and langmigrate) cannot be part of emdebian-tools themselves, so will be separate packages.
(and yes, it is 4am, I'm not sleeping well due to a viral infection.)

7 November 2007

Roland Mas: Planet scores

Top posters in a few Debian-related Planets:
$ planet-scores.sh 
Planet Debian-FR :
     19 Rapha l Hertzog
      4 Roland Mas
      3 Jean-Christophe Dubacq
      2 Gr gory Colpart
      2 Alexis Sukrieh
Sometimes I think this should be renamed Planet Buxy.
Planet Debian-FR (utilisateurs) :
     10 Julien Candelier
      8 Emilien Macchi
      4 Guilhem Bonnefille
      3 Shams Fantar
      1 Rapha l Hertzog
      1 Olivier Berger (perso)
      1 Jean-Christophe Dubacq
      1 Jean-Baptiste H tier (djib)
      1 Eric Veiras Galisson
Newly added contributors to that planet have all their recent articles aggregated, not only the ones they wrote since they were added.
Planet Debian :
     40 Christian Perrier
      2 Russell Coker
      2 Raphael Geissert
      1 Wouter Verhelst
      1 Steve Kemp
      1 Romain Francoise
      1 NOKUBI Takatsugu
      1 Michal  iha 
      1 John Goerzen
      1 Joey Schulze
      1 Gerfried Fuchs
      1 Fathi Boudra
      1 Enrico Zini
      1 Emanuele Rocca
      1 Dirk Eddelbuettel
      1 David Welton
      1 Christine Spang
      1 Antti-Juhani Kaijanaho
      1 Adam Rosi-Kessel
Planet "Christian loves rugby".
debian-community.org :
      4 Holger Levsen
      3 Andrew Donnellan
      2 Evgeni Golov
      1 Wolfgang Lonien
      1 Rapha l Hertzog
      1 Martin Albisetti
      1 Marcos Marado
      1 Jean-Christophe Dubacq
      1 Cord Beermann
      1 Benjamin A'Lee
      1 Andreas Putzo
$
I know I have an encoding problem on some planets, but that script is a very basic curl+shell+sed+grep+recode+sort+uniq pipeline, and I only use it for the amusement value. Maybe I'll recode it with a proper RSS parser some day if I feel utterly bored.

20 October 2007

Andrea Veri: BehindMOTU: My interview

Original post can be found here. Interview: Today we are interviewing Andrea Veri, fresh MOTU and eager Ubuntu volunteer. Age: 18
Location: Udine, Italy
IRC Nick: bluekuja How long have you used Linux and what was your first distro?
I started using Linux at the end of 2005 using Red Hat and Fedora distros, contributing on writing several pages for Fedora documentation (mostly server docs) but mainly working on some packaging-related activities (introducing ctorrent, gtorrent-viewer and v2strip packages inside Fedora) for more than 3 months until the beginning of March 2006 when I decided to move definitely to Ubuntu after discovering it at a friend s party. Was love at first sight that made me leaving every Fedora plan and project creating my first personal wiki page on wiki.ubuntu.com some days later. How long have you been using Ubuntu?
In fact, I started using Ubuntu at the beginning of 2006, firstly getting involved inside the Edubuntu family making real the possibility to have an Edubuntu Italian support and website area inside the current Italian LoCo Team. When did you get involved with the MOTU team and how?
Right after joining the Ubuntu brigade I started checking out MOTU documentation, mainly packaging guide plus debian new maintainer s guide, trying to understand every single new word and applying directly to a source package every lesson learned during developer s world travel . After getting introduced and fascinated from an active community, I had to left the project for a while for some small problems, restarting everything on May 2007 with my first sponsored upload inside the archive. My packaging passion increased right after meeting Alexander Sack inside #ubuntu-mozillateam irc channel some days later, deciding to work directly with him as my mentor for both Debian and Ubuntu distributions. What helped you learning packaging and learning how the Ubuntu teams work?
I started with Debian New Maintainer s guide and Ubuntu s packaging guide moving then to package my first applications learning from already-packaged software and asking if needed to Alexander improving and learning every time from him or from other developers a new Ubuntu Team lesson. Favorite part of working with MOTU?
Introducing a fix making tons of users happy is one of the best things I appreciate of being a MOTU. Mentoring, sponsoring, helping out new contributors or students is something special as well. Any advice for people wanting to help with MOTU?
I always suggest to start with a package a new contributor cares about personally, that s useful to improve/fix the package itself during its maintenance.
Reading MOTU and Debian documentation is a great starting point as well to avoid any strange question on our MOTU irc channel. What packages/areas of Universe are you most interested in?
I m currently working on a vast area of packages, but I ll try to focus on p2p (Peer-2-Peer) applications both for Universe and Main. I planned to create a MOTU-p2p team really soon including it inside the existing motu-torrent team, but it will take some months to organize everything up; contributors (testers/packagers) are currently missing. Any Plans for Hardy Heron?
I ll keep working on a large number of packages but as I said before I would like to focus on having an updated situation of p2p applications, introducing libtorrent-rasterbar and its related clients like btg or linkage. Creating a working team with interested contributors and developers will be the first step to work on. Favorite quote?
As for me, all I know is that I know nothing. Socrates
What do you do in your other spare time?
I love going around with my motorbike, listening good music, playing basketball and meeting up with friends around the city centre. Pic of you, your work area, and/or your screen?

Next.

Previous.